textlog
join
500 chars / 20 lines max · use #hashtags, @mentions and more
😀😃😄😁😆😅😂🤣😊😇🙂🙃😉😌😍🥰😘😋😛😜🤪🤨🧐🤓😎🤩🥳😏😒😞😔😟😕🙁☹️😣😖😫😩🥺😢😭😤😠😡🤬🤯😳🥵🥶😱😨😰😥😓🤗🤔🫣🤭🫢🤫🤥😶😐😑😬🙄😯😦😧😮😲🥱😴🤤😪😵🤐🥴🤢🤮🤧😷🤒🤕🤑🤠😈👿👻💀☠️👽🤖🎃😺😸😹😻😼😽🙀😿😾❤️🧡💛💚💙💜🖤🤍🤎💔❣️💕💞💓💗💖💘💝💟👍👎👌🤌✌️🤞🤟🤘🤙👈👉👆👇☝️🤚🖐️🖖👋🤝👏🙌🫶👐🤲🙏✍️💪👀👁️🧠🫀🫁🌱🌿☘️🍀🌸🌺🌻🌞🌙🔥🌈☀️☁️❄️🍕🍎🎉🎊🎈🎁🎵🎶🎨📚💡⚠️🚀🌍💻📱🔒🔑
example.com or
https://example.com
Regular links
[title](example.com) or
[title](https://example.com)
Markdown links
~text~ or ~~text~~
Strikethrough
*text* or **text**
Bold
_text_ or __text__
Underline
/text/
Italics
> text
Quote
1. first
2. second
3. third
Numbered lists
- first
- second
- third
Bulleted lists
Name  | Status | Count
----- | :----- | ----:
notes | ready  |     3
Tables
|redacted|
Redacted
`code`
Inline code
``````
Code fences
$inline$
Inline LaTeX
$$block$$
Block LaTeX
Which one? #poll
First option
Second option
PollsUse 2–8 unique options.
Which one? #quiz
Wrong answer
> Correct answer

Explanation revealed after answering
QuizzesMark exactly one of 2–8 unique answers with >. Text after a blank line is revealed after answering.
Visible text #spoiler
Hidden text
SpoilersText after #spoiler is hidden until revealed. Aliases: #tldr, #sensitive, #contentwarning, #cw, and #triggerwarning.
Going hiking #map
Kallikratis, Crete
MapsShows a map preview for the first location line. Alias: #location.
Today #todo
[ ] First task
[x] Finished task
TodosOnly [ ] and [x] lines become items. Click your items to toggle them.
Run this #exec
```js
console.log(6 * 7)
```
Executable codeRuns the next language-tagged code fence and shows its output beneath the note.
Keep this visible #pin
Pinned notesYour latest #pin is shown first on your profile, independently for notes and replies.
No more replies #lock
Locked conversationsPrevents new replies to this note and every reply beneath it.
About textlog #meta
Meta conversationsKeeps this note and its replies out of public discovery feeds. Aliases: #tlog and #textlog.
Continue quietly #whisper
Whisper conversationsKeeps the branch out of all and hot. Participants, mentions, and tag followers can receive it in my feed. It remains public elsewhere.
Answer before reading #HiddenReplies
Hidden repliesHides all replies until you reply.

Any conversation

5 min/km is pretty quick, as far as I'm concerned! My easy/forever pace is more like 8:30–9 min/mile right now.
I'm doing experiments with short attention-span students and code. Starting with python, and, oddly, now working in BASIC. As a C programmer of 40+ years, I find this aesthetically and pedagogically displeasing, but I am delighted to see them getting fully absorbed in writing 130 PRINT "You have been eaten by a bear!" : GOTO 900. Yes there is spaghetti, but it's their spaghetti and they seem to take delight in debugging it. Python will come later. #educationnotesfollow #programmingnotesfollow
profilefollowreplied to(deleted account):
I was talking about this with some alumni students, specifically their experience learning python with us a few years earlier (these are college students who are not really using python any more). What it seems to boil down to is that with python you have the feeling that there is this huge forest of solutions to any problem you are having -- but you will never know the whole forest. BASIC feels like you "know" it after a day or two of playing around, evidently.
😅profilefollowmaker of software thingswrote:
Looking for a new daily-driver #scriptingnotesfollow language. Criteria:
  • interpreted (e.g. can use #!/bin/bang)
  • batteries-included stdlib (json, subprocesses, fs, etc.)
  • not sh, not perl, not python, not javascript
Shortlist: Any other #recommendationsnotesfollow? #Codenotesfollow #Devnotesfollow #Technotesfollow
😊profilefollowPresbyter, husband, father, technologist, linguist, musician.replied to😅profilefollowmaker of software things:
I use GoalCodeberg.orggoalGoal, an embeddable scripting array language., extended with ariGitHubGitHub - semperos/ari: Ari: Goal language extended with SQL and moreAri: Goal language extended with SQL and more. Contribute to semperos/ari development by creating an account on GitHub. as my daily driver. Since it's implemented in Go, it's straightforward to extend with anything from Go's standard library (or third-party ecosystem) that isn't already incorporated. If you haven't used an array language before, then you get the added bonus of learning a ton about an interesting, powerful area of programming.
😅profilefollowmaker of software thingsreplied to😊profilefollowPresbyter, husband, father, technologist, linguist, musician.:
Not familiar with array languages but it looks… interesting. Thanks for the suggestion.
profilefollowProgrammer by day and night. Lover of art. Mixing art and programming is the dream.replied to😅profilefollowmaker of software things:
I sometimes use V scriptGitHubv/doc/docs.md at master · vlang/vSimple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io - vl..., but I use V-lang as well. It is kind-of interpreted. I’ve never heard of rye. Looks nice.
😅profilefollowmaker of software thingsreplied toprofilefollowProgrammer by day and night. Lover of art. Mixing art and programming is the dream.:
I did not know V has scripting support. Thanks for the suggestion.
profilefollowProgrammer by day and night. Lover of art. Mixing art and programming is the dream.replied to😅profilefollowmaker of software things:
It does not, but fakes it well, since it is fast and compares built binary with script mtime to automatically recompile. The downside of using it is that you end up with a binary, but the upside is that it is blazing fast.
This is a very silly thing to be doing in 2026, but I finally tried some Quake 1 recently. Pretty cool, it's amazing how much it really does just end up feeling like Doom in 3D.
Since I played both Doom and Quake 2 back in the day, it does feel like I've finally bridged that gap, to where I think I understand what people mean when they talk about Romero's influence in the design.
Another thing I think it makes really clear is just how much room-over-room changes the way the game spaces feel, even if no one's actively thinking about that while they play.
🙈profilefollow"Beware those that would deny you access to information, for in their heart they dream themselves your master." — Sid Meyerswrote:
@stagasprofilefollowcreative technologist creator of textlog, will it possible, on mobile, to be able to tap on “cards”. That is, make the posts area “tapable”.
Somehow, I can't work in the mornings. Going to the office earlier just makes longer the "warmup period", this is, the period I stare the computer's screen reading stuff that is completely unrelated to my work. #ASDnotesfollow
My first post on Twitter in 2007 or so was kinda about the utility of broadcasting what was on my mind. :)
profilefollowlate is the hour in which this conjuror chooses to appearwrote:
🐉 #execnotesfollow let N=6,D0=[0,1,0,-1],D1=[1,0,-1,0],s=[],g={},d=x=y=xa=xb=ya=yb=0; for(let n=0;n<N;n++){s=s.concat([1]).concat(s.map(x=>!x).reverse())} for(let i=0;i<s.length;i++) { x<xa && (xa=x);y<ya && (ya=y);x>xb && (xb=x);y>yb && (yb=y); let t=s[i]?1:-1,e=(d+t+4)%4; g[x]||(g[x]={}); g[x][y]=g[x][y]?"┼":"┌┐└┘"[(t*(D0[d]+D0[e])>0?0:2)+(t*(D1[d]+D1[e])>0?0:1)]; x+=D0[e];y+=D1[e];d=e; } for(j=yb;j>=ya;j--) { let u=""; for(i=xa;i<=xb;i++){u+=(g[i][j]||"·")} console.log(u); }
·┌┐┌┐······· ┌┘└┼┘····┌┐· └··└┐┌┐···└┐ ···┌┼┼┘···┌┘ ···└┼┼┐┌┐┌┼┐ ···┌┼┘└┼┼┘└┘ ···└┼┐·└┼┐·· ····└┘··└┘··
profilefollowlate is the hour in which this conjuror chooses to appearcontinued:
OK, so you only get 10 lines of output. (I tried to get ChatGPT to write this program but it kept messing up, so I wrote it by hand.)
🥷profilefollowFather, getting older every day, technologist, enterprise architect @ work, like to explore tech. Like to keep it simple and work in the shell, write in vim, prefer Debian if I have the choice. Plays saxophone and clarinet. Enjoy motorcycle riding, photography, hiking. Christian.wrote:
I was followed by @semperosprofilefollowPresbyter, husband, father, technologist, linguist, musician. here and wonder if this the one of ari fame? If so, I’m thankful for their work. Using ari “on top of” goal make some things just a lot easier for me when I’m exploring some data products I need to understand. #programmingnotesfollow
😊profilefollowPresbyter, husband, father, technologist, linguist, musician.replied to🥷profilefollowFather, getting older every day, technologist, enterprise architect @ work, like to explore tech. Like to keep it simple and work in the shell, write in vim, prefer Debian if I have the choice. Plays saxophone and clarinet. Enjoy motorcycle riding, photography, hiking. Christian.:
Hi, yes, I develop ari. I'm so glad it's proven useful for you! Any feature requests or changes you'd like to see? I'm curious what bits of ari have made it easier for you to explore data, too. UI or #dataviznotesfollow additions keep tempting me, but I haven't settled on what I want there. If you have thoughts on that front, I welcome them.
🥷profilefollowFather, getting older every day, technologist, enterprise architect @ work, like to explore tech. Like to keep it simple and work in the shell, write in vim, prefer Debian if I have the choice. Plays saxophone and clarinet. Enjoy motorcycle riding, photography, hiking. Christian.replied to😊profilefollowPresbyter, husband, father, technologist, linguist, musician.:
The two main things I use are the duckdb support and of course the built-in resty client. Not needing to shell out to curl just makes life easier. I should probably add that I’m mainly prototyping and explore things that later eventually will be developed further by others in our organization, so using array langs where I don’t need to type a lot is a big plus for me:) I’ll let you know if I need anything!
😊profilefollowPresbyter, husband, father, technologist, linguist, musician.replied to🥷profilefollowFather, getting older every day, technologist, enterprise architect @ work, like to explore tech. Like to keep it simple and work in the shell, write in vim, prefer Debian if I have the choice. Plays saxophone and clarinet. Enjoy motorcycle riding, photography, hiking. Christian.:
Thanks, that’s helpful. Those are the two things I use the most, too. One development tool I use frequently is the util.ac function (for “auto-complete”) that takes a glob pattern and returns all the globals whose names match. I didn’t want to make people have to define or update their Goal lib path, so in recent versions of ari I’ve been packaging all of the Goal libs and ari's into a libs FS that you can use with import.
░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░▄▀▀▀▀▄░░░ ░░░░░░░░░░▄▀░░▄░▄░█░░ ░▄▄░░░░░▄▀░░░░▄▄▄▄█░░ █░░▀▄░▄▀░░░░░░░░░░█░░ ░▀▄░░▀▄░░░░█░░░░░░█░░ ░░░▀▄░░▀░░░█░░░░░░█░░ ░░░▄▀░░░░░░█░░░░▄▀░░░ ░░░▀▄▀▄▄▀░░█▀░▄▀░░░░░ ░░░░░░░░█▀▀█▀▀░░░░░░░ ░░░░░░░░▀▀░▀▀░░░░░░░░ #ascii_artnotesfollow
🤔profilefollowHai I am kuwrote:
Hello, everyone. I am @kuprofilefollowHai I am ku how are you? Today is Friday. Welcome to my text log.
🤔profilefollowHai I am kureplied to(deleted account):
Hi 👋
profilefollowEat, drink, listen to 🎶, & watch the fish. Occasionally cook.wrote:
Sipping Choya’s ウメッシュ ノンアルコル。😋
Sipping Choya's Umeshu (plum wine), non-alcoholic. 😋