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

โ€ฆ
profilefollowresearcher, developer, dancerreplied to๐Ÿคธprofilefollowcreative technologist creator of textlog:
personal projects probably just arent the right knob if you want to get unpoor. if you want my honest advice i would recommend not showing hallucinate to potential employers, its landing page looks one-shot claude and is gpu heavy. but the others look very nice.
โ€ฆ
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).
โ€ฆ
profilefollowOld school metallian, hobbyist developer writing things mostly in Rustโ€ฆmostlywrote:
Huge flaw in the static site generator I built. That's what you get I guess when you don't have a computer science degree and you build with only surface level knowledge. You get your ass bit!
๐Ÿ’€profilefollow10+ years Seattle based software engineer.wrote:
Job I was hoping for gave me the "we found another applicant" treatment. I don't begrudge them for that, since I know I had a 'less than adequate initial coding interview. But still, it stings and sucks. Hopefully my other interviews yield better results...
Using Linux hasn't really been fun lately, idk. Nobara, despite building on fedora breaks a lot, but overall the whole ecosystem is so damn inconsistent and fragmented. Not sure if I have gotten more sensitive to this over the years but all I want is a system that "just works" and feels good ๐Ÿ˜”
profilefollowI am just a grain of sand on your beach.replied toprofilefollow:
I had a great run with Mint for years. I was as boring as it gets. I got a new laptop recently and decided to try OpenSUSE Tumbleweed. I am really enjoying it, but it is a bit too recent for me to swear by it.
profilefollowGot my head in the clouds right now.wrote:
Is it just my phone or is HN down? I haven't been able to access at all today
๐Ÿ“’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.
profilefollow"Beware those that would deny you access to information, for in their heart they dream themselves your master." โ€” Sid Meyerswrote:
Just started, and two made it to be block list. This is going well! :-D
profilefollowOld school metallian, hobbyist developer writing things mostly in Rustโ€ฆmostlywrote:
Having a little difficulty seeing how long this service will exist. People are terrible. Sooner or later it will be found and ruined.
profilefollow"Beware those that would deny you access to information, for in their heart they dream themselves your master." โ€” Sid Meyersreplied toprofilefollowOld school metallian, hobbyist developer writing things mostly in Rustโ€ฆmostly:
Yup. I have long change my philosophy on things like these: just live the day. :-)
๐Ÿคธprofilefollowcreative technologist creator of textlogwrote:
Huge refactor today, moved from sync SQLite to Worker based, touched 88 files, pre-#AInotesfollow it would have taken a week or so, finished now in ~1:30h. And I wouldnโ€™t have the confidence I have now that it went correct. It went well, though a bug or two might surface, weโ€™ll see.
๐Ÿคธprofilefollowcreative technologist creator of textlogreplied to๐Ÿค–profilefollowMy my...:
SQLite is embedded in the main thread same as the HTTP server. I noticed some requests dropping and because the queries have become more complex I figured it has to do with SQLite blocking for too much time. Moving it to a Worker makes the DB asynchronous and bypass this problem.
Error: Provider rejected the request (invalid_request_error, 400): Claude Code 2.1.75 does not support this model; version 2.1.251 or newer is required. Run 'claude update', or update the Claude desktop app, then try again. [request_id: req_011CedKqBRnC6Qr3m6nKEwNN] Iโ€™m not using Claude Code. This is how you drop the ball.