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

profilefollowI am just a grain of sand on your beach. www.gruntsoft.comwrote:
I got an email from battle.net to confirm my age. Apparently some content may be restricted to minors in the region my account is from. You would think that the account having been created 19 years ago, and with some CD-keys of games from the late 1990's having been added to it would be enough proof, but oh well.
profilefollowwrote:
ๅฏนไบŽๆ•ดไธชไบ’่”็ฝ‘ๅކๅฒ๏ผŒๆˆ‘ๅฏ่ฏดๅŸบๆœฌไธŠๆ˜ฏไธ€ไธชๆ—่ง‚่€…๏ผŒๆˆ‘ไธ€็›ดๅœจๆถˆ่ดนๅ†…ๅฎน๏ผŒไฝ†ๆ˜ฏๆฒกๆœ‰็”Ÿไบง่ฟ‡ไป€ไนˆๅ†…ๅฎน๏ผŒไบ’่”็ฝ‘ไธŠๆฒกๆœ‰ๆˆ‘็š„็—•่ฟน๏ผŒ่ฟ™ๆ˜ฏๆ„ๅค–ๅŽๆžœ๏ผŒๅ› ไธบไธญๅ›ฝ็š„่บซไปฝๅ’Œๅ†…ๅฎนๆ”ฟ็ญ–
Regarding the entire history of the internet, I can say I've been largely an observer. I've always consumed content, but I haven't produced any. There's no trace of me on the internet, which is an unforeseen consequence due to China's identity and content policies.
ๆˆ‘ไธๅคชๆ˜Ž็™ฝไธญๅ›ฝ็š„โ€œ้˜ฒ็ซ้•ฟๅŸŽโ€ๆ˜ฏๆ€Žไนˆ่ฟไฝœ็š„ใ€‚ๆฏ”ๅฆ‚่ฏด๏ผŒไฝ ๅˆฐๅบ•ๆ˜ฏๆ€Žไนˆ่ฎฟ้—ฎ่ฟ™ไธช็ฝ‘็ซ™็š„๏ผŸ ๏ผˆๆˆ‘ๆ˜ฏๅœจ้€š่ฟ‡็ฟป่ฏ‘่ฝฏไปถๅ’Œไฝ ไบคๆตใ€‚๏ผ‰
I don't quite understand how China's "Great Firewall" works. For example, how exactly did you access this website? (I'm communicating with you through translation software.)
โ€ฆ
This resonated a lot. Iโ€™m glad I read it now, before going totally insane lol. But I disagree that itโ€™s just a glorified spreadsheet. The UI/UX matters, how you present the data, how they can change and so on, all of those things play a role. The good thing with AI is iteration is cheaper than ever, so you can experiment and process the results quickly. But yeah sometimes I just do things here because I just have to be doing something, I canโ€™t leave it alone.
Agreed. The "just" makes the statement sound dismissive, but I do agree with the underlying sentiment that most software boils down to CRUD apps that help people organize information and complete tasks more efficiently. I think the path to developer enlightenment is realizing this truth without despairing over it.
โ€ฆ
Is this true? Sometimes, AI allows for socratic thinking, this is, the conversation with the machine allows the thinker to go further as the AI thorws ideas to the conversation. Many times, the AI reasoning is not good enough, but like a friend that says a funny think that sparks an idea, the AI can help our brain to see other possible paths. The AI doesn't need to be right to be helpful
โ€ฆ
๐Ÿง™profilefolloweat, get a new hobby, sleep, repeat maxine.devreplied to๐Ÿ˜Žprofilefollow:
that's only true if a) that "rubber ducky" entity is not leading the line of thinking down the wrong path, and b) the human thinker is actually doing the critical thinking, and not the machine. The latter is where my criticism of unbridled AI use is in this case, wherein the human becomes the rubber ducky instead of the other way around.
๐Ÿ˜Žprofilefollowreplied to๐Ÿง™profilefolloweat, get a new hobby, sleep, repeat maxine.dev:
Indeed. The AI throws back ideas, but it is the human who must do the heavy lifting. In this regard, the AI is a sort of mirror, it reflects what you send it, showing another side the object. But if the human messages are bad, the AI will respond with bad quality answers.
Today, I wrote a new Business Continuity Plan, worked with my SRE manager to improve responses to alerts, got a cringe email from HR and have to tell my staff to RTO 3-days a week if not classified as remote. Worked out for my 8th day streak, and cuddled in bed with my girl. Hello World
Choice is definitely a problem. We notice it when we go to our cabin, about a 2 1/2 hour drive away. The grocery store there targets #foodnotesfollow for its local community. It is beef-centric and often boxed foods -- which is not our diet. Access -- or lack thereof -- is the worst kind of problem. Food deserts in my townArcGIS StoryMapsFood Deserts in the Twin CitiesHistorical factors, health impacts, ArcGIS mapping, and a local nonprofit illustrate the historical and complex nature.
๐Ÿ’งprofilefollowgrand and intoxicating innocence always onlinewrote:
age restriction app on my phone doesn't let me turn off the picture in picture for YouTube T-T
profilefollow๐“…“ Today's rainbow is tomorrow's tamale.wrote:
I can't figure out what's leaking on my '73 F250. Shows up slowly at the back of the oil pan. It's pretty clear because I've recently changed fluids and scrubbed the engine. It was definitely brake fluid for a while after it was overfilled but that has evened out. The oil level is steady after when checking every 10 miles or so. I think anyway... hard to know with these ๐Ÿ˜ฌ #classicnotesfollow #carnotesfollow
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
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).