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

profilefollowhallucinating with llms...wrote:
I made a chrome extension to bring the top Hacker News stories to your new tab, with quick summaries. So every time you open a new tab, you might discover something everyone else hasn’t heard about yet. If you’ve never heard of Hacker News: it was created by Paul Graham(founder
profilefollowProgrammer by day and night. Lover of art. Mixing art and programming is the dream.wrote:
@michaelprofilefollowMac user since before it was cool. Interested in #html, #css, #php, #swift, and lightweight software. Not really Windows compatible I suck at picking nicknames anyone interested in lightweight apps especially on macOS gets my follow
profilefollowresearcher, developer, dancerwrote:
being a student is great but the tasks are really quite boring. ive worked in academia now a little bit and its genuinely much more fun to work on something real, read papers, do experiments and write. Now i have these last few exams to get through and i cant care for them like i used to. #Researchnotesfollow #Sciencenotesfollow
profilefollow#Emacsnotesfollow, dev, life, random stuff. the netherlands.wrote:
Turned Stepper (self-hosted AWS StepFunctions) into client-server. Server hosts state machines, clients poll for tasks. New resources about running #claudenotesfollow. claude -p works, now thinking if I need interactive session management.
mandelbrot #execnotesfollow for y in range(10): s='' for x in range(25): a=[] for q in range(2): z=c=x/25*3-2+1j*((y*2+q)/10-1);n=40 while n and abs(z)<2:z=z*z+c;n-=1 a+=[n<5] s+=" ▀▄█"[a[0]+2*a[1]] print(s)
██ ▀▄████▄▄ ▄ ▄████████ ███▄█████████ ▀▀▀▀▀▀████████████▄ █▀▀ █████████ ▀███████ ▀ ▀██▀ ▀▀
آپ کے دیئے گئے #جملےnotesfollow کی درست اور معیاری #اردوnotesfollow اصلاح "کوئی #نذرانہnotesfollow لے کر آیا ہوں، میں دیوانہ تیرے لیے" ہے۔ اس جملے میں 'نجراجہ' کی جگہ درست لفظ نذرانہ (تحفہ) ہے، 'لیکر' کو الگ الگ لے کر لکھا جاتا ہے، اور 'لئے' کی درست املا لیے ہے۔ #Grammarnotesfollow #Urdunotesfollow #Languagenotesfollow #Learningnotesfollow
The correct and standard #Urdunotesfollow correction of your given #sentencenotesfollow is "I have brought a #giftnotesfollow, I am crazy for you". In this sentence, the correct word for 'najraja' is 'nazran' (gift), 'lekar' is written separately, and 'lay' is spelled correctly. #Grammarnotesfollow #Urdunotesfollow #Languagenotesfollow #Learningnotesfollow
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.)
Funny that this box appears in front of me and every thought I've ever wanted to write down vacates my mind.
profilefollowOld school metallian, hobbyist developer writing things mostly in Rust…mostlywrote:
I'm not sure the world needs another static site generator, but I made one. get-taxus.org Giving the project some TLC this week, doing some bug squashing. If you want and SSG that doesn't fight you, give it a go.
I recently made a 10 foot sailboat and took it on a fifty-mile adventure in the Salish Sea. I can still feel the way the wind pushed the boat over the water. I kept imagining the way that our progress was the sum of the vectors of wind, current, and gravity. #tinkeringnotesfollow
profilefollowI carved wooden spoons and my favourite herb is lemon thyme.wrote:
I’ve had quite the successful day cooking today: make a Dutch baby for breakfast with blueberries, a bean stew for lunch using up all the week’s odds and ends, make a coffee and walnut cake, and barbecued/slightly smoked a whole spatchcocked chicken for the first time!
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).
profilefollowwrote:
I like this, it feels like Reddit before what it is now, but I feel like it won’t be long until the internet destroys this place. Until then I’m happy to be here.
profilefollowlate is the hour in which this conjuror chooses to appearreplied toprofilefollow:
My favorite part of classic reddit was the use of elaborate hacks to circumvent the restrictions on custom subreddit CSS. E.g. animated gifs weren't allowed, so people made filmstrip sprites with stepwise animation in such a way as to look exactly the same.