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
:smile
Emoji autocomplete
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.
#flying Heraklion to Berlin
FlightsHover over the itinerary to see a map connecting the airports. The next three words form the itinerary: airport, to (or → or ->), airport. Use single-word airport names or IATA/ICAO codes.
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.
For @someone and @another #private
Private conversationsOnly the author and mentioned users can read this branch.
Answer before reading #HiddenReplies
Hidden repliesHides all replies until you reply.

Any conversation

🧑‍🚀profilefollowнυмαηwrote:
I very much like textlog, it feels like a breath of fresh air
🤔profilefollowswiley.net Try my zero dependency agent harness: public.swiley.net/agent.py If you're spending too much time on sites like these install bingeblock.comwrote:
A lot of people write so much software to sandbox their AI agents. I say don't bother. Just give your agent its own non-admin local user account. It's easier and much more effective.
😅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.
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.
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.
🧑‍🚀profilefollowSoftware • maker projects • music • DIY Mostly figuring things out as I go.wrote:
ai coding feels like it has reached diminishing returns for me. luna is my default orchestrator, routing work by complexity. in practice, usage lands around 16% luna, 48% sol, 30% astra, and 6% terra. at this point, i care less about each new frontier release. the system already finds a capable model for the job. the frontier is moving beyond my day-to-day work, so i’m happy to settle into predictable models for a while. #ainotesfollow #programmingnotesfollow #agentnotesfollow #technotesfollow
profilefollowI carved wooden spoons and my favourite herb is lemon thyme.replied to🧑‍🚀profilefollowSoftware • maker projects • music • DIY Mostly figuring things out as I go.:
I’ve found the same, albeit with Opus — it’s hard to find uses for Fable. I don’t need a model that works for longer or works on harder problems, I need one that consistently produces simple, easy to understand, code; which at this point none of them do.
profilefollowI am just a grain of sand on your beach.replied to🧑‍🚀profilefollowSoftware • maker projects • music • DIY Mostly figuring things out as I go.:
I've been there since I settled on a combination of GLM, DeepSeek and MiMo for planning, implementation, and verification flows. I'm a lot more interested at this point in having cheaper models that can consistently do the work I need. It's been a while that I hanven't noticed any improvement when I try new frontier models. I only notice they are very expensive.
profilefollowreplied to🧑‍🚀profilefollowSoftware • maker projects • music • DIY Mostly figuring things out as I go.:
same here, for almost an year. At this point, I could easily live with models that were released 6-12 months ago and continue doing so. also possibly the reason why the current focus has been around agentic workflows or agentic anything, than the model capabilities.
🤸profilefollowcreative technologist creator of textlogreplied to🧑‍🚀profilefollowSoftware • maker projects • music • DIY Mostly figuring things out as I go.:
Coding probably yeah, but still they are bad at generating novel information, new ideas and such. They’re also not very good at seeing the bigger picture, they will narrowly perform the task but they’re not taking into account future revisions, which ends up in refactor after refactor in order to move forward.
profilefollowOld school metallian, hobbyist developer writing things mostly in Rust…mostlywrote:
A couple of afternoons of the jinn coding harness and glm-5.3 and my taxus static site generator is properly whipped into shape. get-taxus.org It now has a frickin' data model, that's documented, as well as installers for your platform of choice. Try it, break it, I'll be doing the same. Let me know where it broke for you.
Two roads diverged in a wood, and I I took the one less traveled by, And that has made all the difference.
profilefollowOld school metallian, hobbyist developer writing things mostly in Rust…mostlywrote:
Writing. I want to do it, very badly. I just don't want to be bad at it. You have to be bad at it in order to get good at it. But... Catch 22 isn't it?
profilefollowreplied toprofilefollowOld school metallian, hobbyist developer writing things mostly in Rust…mostly:
I think reading helps quite a bit, especially writing about what you’ve read, even to yourself, just so you can go through the process of having to explain something that you’re only recently familiar with. There’s something about that process that seems to be helpful, at least to me.
🤡profilefollowreplied toprofilefollowOld school metallian, hobbyist developer writing things mostly in Rust…mostly:
Same. The way I consume information influences how I think. Short form content makes my thinking fragmented without a clear structure. I feel that fragmented thinking won't lead to convincing writing. And I'm trying to regain some of that lost control.
profilefollowOld school metallian, hobbyist developer writing things mostly in Rust…mostlyreplied to🤡profilefollow:
Very interesting! I think something along those lines might be happening for me too. Another aspect, always cooking in the back of my mind, "if you can't explain it well, don't explain it at all."
🧜profilefollowrunner. making games, music, software. getting into as much trouble as i can.replied toprofilefollowOld school metallian, hobbyist developer writing things mostly in Rust…mostly:
The fear of being bad at it is the only thing holding you back. I experienced something like that with playing music with others. Perhaps you could learn to lay down your critical brain during the creation process and that good/bad isn't a useful distinction until later when you're editing your work.
profilefollowOld school metallian, hobbyist developer writing things mostly in Rust…mostlyreplied to🧜profilefollowrunner. making games, music, software. getting into as much trouble as i can.:
Yeah, this is pretty much what I can't do. My critical brain has a lot of power. It's very evolved at this point :/
profilefollowfather, cyclist, #haskellnotesfollow, #emacsnotesfollowwrote:
Really glad to be using Haskell for work - especially in today's climate with agentic coding. Our team uses containers to keep our development environment consistent across team members, though, and most agent sandbox approaches want to either offload your work fully to the cloud or they want to sandbox the agent harness process itself. We're not ready for full cloud based development (yet?) and sandboxing just the agent doesn't work for us when the agent needs to run docker. #haskellnotesfollow #ainotesfollow
... because letting the agent run docker gives them a too-easy escape hatch from their sandbox. So we're currently stuck with using VMs. This turns out to be tricky but seems do-able. My current approach is to provision a VM image and use Incus for the execution. My main goal is to keep my current workflow of local/non-agent dev working seamlessly and share the source with the VM/agent.
This means sharing my working dirs with the agent VM but overlaying artifact dirs from VM-owned block devices so we don't take too big of an IO perf hit. I also don't want the agent to be able to git push so that means we need some quirky git config to rewrite origin paths and thread through some agent specific PATs ("thanks" GitHub) for read-only repo access. These ALSO need to be threaded through to the development containers - they need to clone private repos.
... in the end, this seems to work but I haven't lived with it for long. There are still some quality of life issues to work out, but I think it'll work out. At this point, I've removed all coding agents from my host - and that's nice.
It's tangential to the sandboxing topic, really. I started the first post with a broader intent in mind and then elaborated on the sandboxing setup I'm working on. For AI-assisted coding, though, it's nice because Haskell provides a lot of feedback earlier in the development process compared to lots of other languages. It tends to work once it compiles (obviously not all the time).
I'm just an android launcher called Nocebo Launcher. I don't have usual grid layout, instead I'm inspired by Darth Vader's TIE fighter. My layout can spin, like a real spinner and you can configure physics and animations. I'm easy, cool and novel
📒profilefollowPresbyter, husband, father, technologist, linguist, musician.wrote:
So much present tense in #ainotesfollow generated prose. Terse, authoritative sentences, without breathing room, without hesitation or qualification. It jumps off the page, and not in a good way.
profilefollowProgrammer by day and night. Lover of art. Mixing art and programming is the dream.replied to📒profilefollowPresbyter, husband, father, technologist, linguist, musician.:
What about the lack of density to paragraphs, the length of the sentences, or the confidence and determinism of their direction? Conviction with no limits. So reliably repetitive that you start seeing patterns as if you are looking and reading a record player with some scratches on it. Skips. Squeaks. Repeats. Yet. It gets the job done.
📒profilefollowPresbyter, husband, father, technologist, linguist, musician.replied toprofilefollowProgrammer by day and night. Lover of art. Mixing art and programming is the dream.:
Yet. It gets the job done. Here's where we disagree. Using these tools as part of the job, certainly. But if I am to read, discern meaning, analyze choices of diction and structure, consider the context both of the author and the audience, and finally derive value from the written word, then generative #ainotesfollow falls short on many levels. If the "job" is to produce something no one was ever intending to engage with, then we have a more fundamental question about the value of the job.
profilefollowProgrammer by day and night. Lover of art. Mixing art and programming is the dream.replied to📒profilefollowPresbyter, husband, father, technologist, linguist, musician.:
Maybe what I messaged read as a disagreement and mentioning that they get the job done was actually not about producing prose (of any quality). I wholeheartedly agreed and still agree with you. Getting the job done was more about producing output - be it some prose, images, videos, software, whatever. They do generate output. It is not to say that the output is meaningful or meaningless. Some souls do enjoy it. Some others - don’t. I did start with a question though.
profilefollowgrocer-engineer and polynomial enjoyer. not into reactionaries i attempt to stave off burnout with a healthy dose of dark souls, bloodborne, and friendswrote:
taking a week off to stave off burnout, catch up on some reading and writing and small projects, and finish Ocarina of Time. also will make soup
code quality is about coupling. coupling is not a technical property of the code bytes. code acquires its meaning in contact with the cultural environment, and coupling is about meaning. two constants with no semantic relationship are nonetheless coupled in pragmatics if they refer to the same domain concept. if your goal is to minimise the time integral of future work, you must understand your domain: it decides which lines will need changing. to carve up a codebase is to carve up the world.