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

Sigh. On the heels of our last home maintenance mess
Very cool: our kids' bathroom toilet overflowed last night, resulting in water draining into our kitchen on the floor below.
, I just went into our garage to find a panel of insulation fallen to the ground, riddled with mouse droppings. 🤢😫 Cleaned it up (gloved and masked, naturally), but probably means we need to re-insulate the whole garage. Which will undoubtedly uncover a leak or some other issue. The fun never ends!
profilefollowIs mayonnaise an instrument? Email me if you want a pizza roll.wrote:
Follow me if you want me to email you a pizza roll
profilefollowis fighting the urge to sleepreplied to🧜profilefollowrunner. making games, music, software. getting into as much trouble as i can.:
ive been making my way through monster hunter world's iceborne expansion. lots of fun mina the hollower is near the top of my list to play soon, have fun!
🥷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 contemplating pwc372, p2 and came up with “- 1+&/-/'(&'(?x)=x)@0 -1” (goal). Conceptually I like it, but maybe it can be simplified further? #thinkeringwithcodenotesfollow
Bandcamp Friday is almost over! Today, 100% of the proceeds go to your favorite artists ❤️ Go buy some music and take back the power from shitty streaming services
profilefollowHi! I'm a programmer and enjoy playing music. Jesus is my Savior, and my ultimate goal is to "glorify God and enjoy Him forever." (Westminster Q1).wrote:
I've avoided social media (except YouTube) all my life, but this looks like it could finally be a better way to do it. Maybe I'll keep a running journal of cool things I'm working on here or weird bugs that I've found. Or just the struggles of coding. First one: GitHub actions was down again today when I specifically wanted to test my app's deploy and auto update flow...
working on permanent.sh a coding agent for the growing and seemingly permanent underclass of people that are left behind by the unbelievable pace of progress in ai the big labs are fighting over felonybench (exploitbench) and google deepmind ceo left to work on drug discovery
🤔profilefollowHai I am kuwrote:
The live tab on the android app is interesting... How does it work? This is a test 🫣
Does it do some kind of polling? Is there some kind of notify like publisher subscriber? 🤔
I sit in meetings all day long, I roll my eyes and die a bit and synergize and circle back inner life sacrosanct outer face smiling stone no need to rush: executives don't need to work just synergize and circle back #poemnotesfollow
🧑‍🚀profilefollowнυмαηwrote:
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⢠⠉⢹⢳⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡤⠔⡞⠛⣵⠀⠀⠙⡄⢸⠀⢸⠀⡜⠀⠀⠀⠀⠀⢀⡴⠉⠈⡧⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠃⠀⢰⠀⠘⡆⠀⠀⢰⠈⡀⠀⡀⡇⡇⠀⠀⠀⡰⡱⡝⠀⡜⠀⡜⠀⢈⠆⠂⠤⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⡀⢏⠀⢇⠀⠀⢃⠀⠸⡀⠀⠀⡆⡇⠀⡇⠁⡇⠀⠀⡰⢡⡱⠁⡐⢀⠌⢀⢴⠋⠀⠀⠀⣈⡆⡀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⡁⠈⠹⣦⠈⢆⠀⠈⡆⠀⠱⠀⠀⢰⢁⠀⢃⢸⡇⠀⢠⢁⢧⠃⡰⢀⠎⢠⡾⠁⠀⠀⡠⠊⡠⠃⠈⣄⠀⠀⠀
"Everything worth doing is worth doing badly." Meditate even if you have the time, even if you can only do two minutes. Train even if you're tired and you're not gonna do it well. Start that project even if you're not ready. Don't wait for perfection. #philosophynotesfollow #lifenotesfollow
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).