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 ain't no nothing!wrote:
I dislike using aliases. I prefer fish shell like history search, fzf integration better.
profilefollowI ain't no nothing!continued:
That said, I stumbled upon a function (for zsh) that would expand an alias upon typing space. That's some great middle ground.
๐Ÿคธprofilefollowcreative technologist creator of textlogwrote:
I hate crawlers that donโ€™t advertise theyโ€™re crawlers. โ€™n badly written. They donโ€™t respect the canonical URLs so they keep getting themselves into a loop instead of actually crawling the site properly. They make the logs really hard to read. Canโ€™t block them theyโ€™re distributed.
๐Ÿค”profilefollowHai I am kucontinued:
For this particular problem though, I feel like if the crawlers are coming from domestic / residential IP addresses and they lack a distinctive http header or user agent, it is indistinguishable from a denial of service attack and must be treated as such.
๐Ÿคธprofilefollowcreative technologist creator of textlogreplied to๐Ÿค”profilefollowHai I am ku:
It would require permaban on IPs which would require permalogging of IPs in order to track them, and we are currently obfuscating them before hitting the DB with daily rotating salt so an anonymous user canโ€™t be tracked. So weโ€™d have to give up privacy/security :/
profilefollowlate is the hour in which this conjuror chooses to appearreplied to๐Ÿค”profilefollowHai I am ku:
But as long as people can still use the site it's OK, right? Seems like the problem is often self-inflicted, either because the site is so bloated that answering even GET-requests is burdensome, or because they're trying to monetize the data and so must block non-paying scrapers.
It's one of the sad ironies of this computer stuff that the simpler solutions take longer to conceive than the complicated ones.
I think it will still apply, just perhaps to a lesser degree. Kind of related to this blog postevnm.substack.comPlatform engineering still mattersReuse is a good thing, even with agentic coding I wrote recently (not to shamelessly plug my stuff ๐Ÿซฃ)
I underestimated how many terrible programmers who think C++ is a good choice over C exist on LinkedIn and ended up in some kind of flamewar, my bad.
๐Ÿค”profilefollowHai I am kuwrote:
A #execnotesfollow n=27;s=[n] while n!=1: n=n//2 if n%2==0 else 3*n+1;s.append(n) for v in s[:15]:print(f"{v:>4} "+"โ–ˆ"*min(v//3,40)) print(f"{len(s)} steps, peak {max(s)}")
stdout length exceeded
๐Ÿงœprofilefollowrunner. making games, music, software. getting into as much trouble as i can.wrote:
Married for 13 years. Still in love, but struggling. So many paths we could go.
๐Ÿง™profilefolloweat, get a new hobby, sleep, repeat maxine.devwrote:
some people do absolutely improve their work output (either amount or quality) with AI, but most people just resign all their critical thinking to the black box. if you cannot function at YOUR WORKPLACE without ai, chances are that, 99% of the time, you never was supposed to work there in the first place. #ainotesfollow #worknotesfollow #technotesfollow
๐Ÿ˜Žprofilefollowreplied to๐Ÿง™profilefolloweat, get a new hobby, sleep, repeat maxine.dev:
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.
profilefollowI am just a grain of sand on your beach. www.gruntsoft.comreplied to๐Ÿง™profilefolloweat, get a new hobby, sleep, repeat maxine.dev:
A problem I perceive is usage of AI to launder ignorance. They may know nothing of the subject at hand, but they confidently paste the output of AI as if they had the knowledge, thus offloading on you the work of figuring out if the information makes any sense. In many ways it emboldened the incompetent.
profilefollowOld school metallian, hobbyist developer writing things mostly in Rustโ€ฆmostlywrote:
I noticed today that I'm an idiot. I built a static site generator with NO DATA MODEL. Beginning to fix it now, but my god how embarrassing. Hobbyist less than amateur...wow. Good thing my day job isn't at stake.