# vim: noexpandtab:shiftwidth=8:tabstop=8:softtabstop=8 # # | |___ _| |___ _| |_ # | __\ \ /\ / / __\ \/ / __| # | |_ \ V V /| |_ > <| |_ # \__| \_/\_/ \__/_/\_\\__| # # Twtxt is an open, distributed # microblogging platform that # uses human-readable text files, # common transport protocols, and # free software. # # Learn more about twtxt at # https://github.com/buckket/twtxt # # Spec: # https://twtxt.readthedocs.io/en/stable/user/twtxtfile.html#format-specification # # -------------------------------- # # nick : xand # url : https://xandkar.net/twtxt.txt # client : https://github.com/xandkar/tt # lang : en # # email : siraaj at khandkar dot net # web : https://xandkar.net/ # github : https://github.com/xandkar # # os : void linux # pl : rust, racket, ocaml, erlang # # o # o # ooo # 2019-12-05T15:02:20-05:00 hello txt world! 2019-12-05T15:41:12-05:00 testing tweet-and-sync wrapper script 2019-12-05T16:01:07-05:00 next thing you know i'll be setting up gopher or something... :) 2019-12-05T20:09:30-05:00 Had the best/simplest idea for khatus re-design yet: simply create and select on N numbered fifos. 2019-12-05T20:10:00-05:00 Starting to sound an awful lot like ii ... 2019-12-06T05:27:56-05:00 Centralization is coherent, but is dishonest/corruptible. Decentralization is honest, but incoherent. 2019-12-06T05:27:57-05:00 Abandoning one, de-values the other. It's a symbiotic relationship and it is good for each to be fed. 2019-12-06T05:38:47-05:00 My kids taught me of Gnome Chompsky - most hilarious thing I heard this week 2019-12-07T16:47:41-05:00 Discoverability life hack: https://duckduckgo.com/?q=twtxt+filetype%3Atxt 2019-12-07T18:44:32-05:00 Admittedly, Google finds more https://www.google.com/search?q=twtxt%20filetype%3Atxt 2019-12-07T23:53:31-05:00 tscrape is awesome! Textify all your twitterz: https://www.codemadness.org/git/tscrape/file/README.html 2019-12-09T16:02:50-05:00 Signature file. Perhaps the most-controversial feature in OCaml. I miss it most in other langs, and other-lang-devs, upon early contact with it, feel it to be the most annoyingly redundant antifeature. 2019-12-09T22:22:33-05:00 What do you wish you could see, but aren't sure how and/or in what form it would even make sense to? 2019-12-11T14:01:33-05:00 Just stumbled upon exa, a pretty sweet and colorful ls _and_ tree alternative: https://the.exa.website 2019-12-11T14:07:06-05:00 @ Thank you and you're welcome! :) 2019-12-11T23:28:14-05:00 @ Love those shower ideas! Keep em coming 2019-12-12T00:06:06-05:00 OCaml: FP people adopting objects. F#: OOP people adopting functions. Neither changed their original worldview. 2019-12-12T00:18:32-05:00 It's interesting that a type has 2 simultaneous meanings: 1) how it can be accessed; 2) what part of your domain model it represents. 2019-12-12T09:58:38-05:00 Realizing that complexity-management is complexity. Now life feels broken. 2019-12-12T17:20:57-05:00 @, @: Sweet! This is more or less what I had in mind. Except my filename ideas were not as clever! :) 2019-12-12T17:40:43-05:00 @ also lol @ the MS in "MS Github" - gives it such a different feel 2019-12-12T18:05:49-05:00 One of peripheral reasons I enjoy using Debian is serendipitous discovery of interesting pkgs. Today I searched for 'timestamp' and found 'strip-nondeterminism' 2019-12-12T18:06:44-05:00 Sure, one could also search Github or another distro or whatever, but: 2019-12-12T18:08:49-05:00 1/2) serendipity - I don't go looking for it, but just stumble on interesting stuff while looking for something expedient (Debian has the most pkgs); 2019-12-12T18:10:05-05:00 2/2) quality - Debian pkg is much more likely to just work. 2019-12-12T22:32:06-05:00 @ I just outlined a basic idea for a peer-discoverer/crawler at https://xandkar.net/twtxt_peer_discovery_proposal.ml.txt 2019-12-12T22:35:26-05:00 @ the code is fairly pseudocody, but not far from what a valid OCaml would be. 2019-12-12T22:40:45-05:00 @ I'll see if I have time to implement a prototype over the next week or so. 2019-12-12T22:55:49-05:00 @ very cool! 2019-12-14T02:17:31-05:00 It feels surprisingly connecting, to find pencil notes and markings from a previous book owner. But a f#%(!ng HIGHLIGHTER? What savage committed this jarring atrocity?!! 2019-12-15T02:11:02-05:00 Blocking particular browsers is most-definitely evil. I'm done with Google for good. 2019-12-17T00:45:27-05:00 Minimalist screen temperature adjuster: https://github.com/Tookmund/setcolortemperature 2019-12-17T14:09:38-05:00 My 9yo: I'm thinking of a game where all pictures are made from letters. I want to call it "computer graphics". 2019-12-17T23:06:48-05:00 Did IRL shopping today. Such a quaint, multisensory experience: people, holiday music, browsing sausages in 3D, a strong touch of hobo smell on cafe seats... 2019-12-18T09:07:32-0500 Email is underappreciated as a generic message transport. A lot of interesting uses can arise if we think of handling mail messages like we do HTTP requests. Mail.app can be like curl in the hands of an average user. 2019-12-18T14:34:53-05:00 I have a hunch that phylogenetics could be applicable to distributed systems debugging... 2019-12-22T01:37:27-05:00 @ Thank you! Fixed. 2019-12-22T01:44:37-05:00 @kar just searched for Delta Chat - nice! Weird that this was not an obvious use-case to begin with: chat is just an alternative UI for messages 2019-12-24T10:48:44-05:00 Morning toilet philosophy: can a real number somehow map unto a (N?-D) surface by thinking of each recursive division step as a fork in the "road" of the surface? No idea what this means yet, just an association... 2019-12-24T10:51:14-0500 Morning shower philosophy: in a society where common-case given speech is blunt, a giver gains an advantage by sharpening it; while in a society where a sharp(er) speech is expected/required, a receiver gains an advantage by ignoring the requirement. 2019-12-26T21:33:38-05:00 telnet towel.blinkenlights.nl 2019-12-26T21:35:39-05:00 @ Indeed. Martin Jambon, on Twitter, pointed me at space-filling curves - which is looks exactly like what I had in mind. Very cool! 2019-12-28T15:36:15-05:00 "What I cannot create, I do not understand." - just for this reason alone, is AI a worthwhile intellectual pursuit. 2020-01-04T14:21:11-05:00 The real math education happens when kids divide pancakes among siblings. Theory shows us how to guess what will happen before it does. The assumption is that you're already burning with desire to guess and are deeply concerned about accuracy. 2020-01-04T17:27:37-05:00 The main thing I want to help my kids develop is consciousness. Logic is roughly just short-term memory ability. Consciousness is a certain level of self-awareness that we take for granted, but really shouldn't. I see majority of people lacking it. 2020-01-04T17:36:49-05:00 This is inspired by my current reading of Julian Jaynes' "The Origin of Consciousness in the Breakdown of the Bicameral Mind". An absolutely fascinating way of looking at the history of thinking. 2020-01-04T17:49:54-05:00 https://www.goodreads.com/book/show/22478.The_Origin_of_Consciousness_in_the_Breakdown_of_the_Bicameral_Mind 2020-01-04T18:08:39-05:00 This comment particularly stands-out to me: "Either a work of unparalleled genius, or completely out-to-lunch loopy." My heuristic for whether someone is clearly smarter is when I, without having domain knowledge of the topic, can't quite tell if they're bullshitting. 2020-01-04T18:09:23-05:00 I often feel that way about Taleb, Wolfram and Musk. Some things I see that they're spinning, but only because I know the things, but I can't tell about other things, while a car salesman is always obvious, even if I know nothing about cars. 2020-01-04T18:19:23-05:00 Another emerging heuristic: people that tend to lean heavily on "X is more empirical than Y" as an argument, lack awareness and/or honesty. 2020-01-04T18:39:20-05:00 @ I registered twtxt.club - plan to put a simple twtxt crawler and aggregator there when I get a chance. 2020-01-04T19:48:32-05:00 Program evaluation is topological sorting. An in retrospect obvious thought. 2020-01-04T20:05:16-05:00 Whenever I grasp an existing idea for the first time, I tend to feel a sort-of panicked embarrassment - "OMG! Everyone knew this, how could I have been so dense?!" 2020-01-05T13:13:21-05:00 The Freehackers Guild. Featuring esoteric Unix rites and master belts of parenthesis. 2020-01-06T02:55:39-05:00 @ systems to get rid of ideas - I'm stealing that one :) 2020-01-07T03:58:41-05:00 "Why do you glorify doing something new and stupid, when doing good things well is what people really should be admiring." https://www.realworldtech.com/forum/?threadid=96867&curpostid=96882 2020-01-07T21:27:16-05:00 I like this dude: https://en.wikiquote.org/wiki/Erik_Naggum 2020-01-09T17:05:27-05:00 As a personal tool, I still find a dead-tree planner most useful. An electronic calendar seems best as a group communication medium rather than a personal organization tool. 2020-01-09T17:07:50-05:00 Similarly with project planning/management. I prefer a single text file as the master source of organization, while a ticketing system is a communication tool. 2020-01-11T09:56:34-0500 Most who say "I'm democratizing X", really mean "I'm honeypotting surfs". Implementing is freedom, using is slavery. 2020-01-11T09:56:50-0500 It follows that 100% freedom is impractical, but must be nonetheless be aimed at. 2020-01-11T09:57:03-0500 From there, (at least) 2 more things follow: 2020-01-11T09:57:20-0500 1) it is useful to be conscious of our non-freedom; 2020-01-11T09:57:31-0500 2) what is truly important for the long haul is less-so hairball artifacts of implementations, and more-so clear communications of ideas through small examples and abstractions. 2020-01-11T10:01:33-05:00 @: (re: f) neat idea! I often wish for something like that, but then convince myself that "ok... typing {print $n} is not _that_ bad" (even if it kind of is... lol) 2020-01-11T10:09:19-05:00 @ He really had a way with words! In one of his C++-attacking posts he mentions having made a living as a writer at one point, which isn't at all surprising. 2020-01-11T10:37:39-05:00 Great read about idea-making: https://amasad.me/carmack 2020-02-17T18:26:06-05:00 This should be a legally-required reading for all those that think legally requiring anything is a good idea: https://en.wikipedia.org/wiki/Seeing_Like_a_State 2020-11-10T12:05:19-0500 Official twtxt client had a bunch of dependencies problems, so instead of debugging I decided to make my own: https://github.com/xandkar/tt 2020-11-10T12:07:31-0500 It is very much WIP, but already useful. Decided to show as an IRC-like log with RFC2822 timestamps. 2020-11-10T12:08:42-0500 Have a bunch of improvement ideas too. Like virtual "channels" based on hashtags and virtual timelines based feed-set combinations. 2020-11-10T12:15:51-0500 A nice backlog for rainy weekends :) 2020-11-10T19:32:30-0500 @ Looks good now! 2020-11-10T20:44:25-0500 Drew DeVault's "Mailing lists are resistant to censorship" https://sourcehut.org/blog/2020-10-29-how-mailing-lists-prevent-censorship/ h/t @ 2020-11-13T08:35:54-0500 peeve: use of double quotes in shell scripts where no expansion is desired 2020-11-15T10:47:49-0500 @ Sweet! It's very much half-baked at the moment though. No setup or usage instructions, lack of features (other than downloading and displaying a timeline), etc. I'll post a heads-up when it's a bit more usable. There're a bunch of TODOs at the top of the file. 2020-11-15T22:39:36-0500 There's something noticeably distinguished about the personalities I see involved in the circles of Lisps. A certain intellectual bravery and broadness of curiosity that just feels different from anywhere else, including other FP circles (some examples: Erik Naggum, Francois-Rene Rideau, range of topics and personalities at http://lisp.nyc/). 2020-11-17T07:11:02-0500 @ Checking-out how you guys used hashtags to track conversations - it is undoubtedly clever! It doesn't quite feel right to me though - too-heavyweight, too-specific and clutters the text-only reading experience. Plain old hashtags could still accommodate this use-case without these drawbacks (just postfix a hashtag with a unique-enough ID #for-example-hg7c3n). 2020-11-17T07:15:40-0500 @ Moreover, using a URI as the host/reference-point of a _conversation_ (which differs from a mention) - feels like it detracts from the goal of decentralization. I understand the desire to disambiguate context, but it seems to be an overkill with more drawbacks than benefits. 2020-11-19T07:44:34-0500 @ Have basic instructions and CI now: https://github.com/xandkar/tt . Note that it is only a reader at the moment. Takes a single argument: a file with lines. Your info it tries to read from the first line of ~/twtxt-me.txt - this is not meant to stay - will change to a more-thoughtful config system later :) 2020-11-19T07:55:58-0500 The main idea is to not have a master "following" file, but to choose a desired subset on each run, for example: tt <(grep foo following) 2020-11-19T12:07:02-0500 Poetry: "As the number of lines of code in your software shrinks, the more skilled you have become and the less your software sucks." - had a re-read of this today after referring a colleague to the site: https://suckless.org/philosophy/ 2020-11-19T20:49:19-0500 Whoa - just noticed that git detects that a file was copied and marks the operation as so. 2020-11-19T21:00:02-0500 Hmmm - having a hard time generating a minimal example... 2020-11-23T04:40:51-0500 It's that point on the Maya calendar cycle again where I get Emacs-curious ... https://github.com/xandkar/khome/commit/555542f35618fddf55eedfceae173ce0131814c4 2020-11-23T13:01:14-0500 A lot of random new things to get used to... evil mode is helping. I have to say though - Elisp is far more motivating than VimL! 2020-11-24T06:07:42-0500 The man responsible for the beautiful algorithmic art on the covers of "The Scheme Programming Language" editions, Jean-Pierre Hébert, is on Instagram: https://instagram.com/jeanpierrehebert/ 2020-12-02T18:57:13-0500 @ Welcome to the revolution! :) 2020-12-06T19:14:13-0500 I gave in to peer pressure and joined the online sensation: https://github.com/xandkar/aoc2020 2020-12-06T19:26:52-0500 @ How is the AoC leaderboard ordered, by completion time? I see 3 of us have all the coins, but different points. 2020-12-06T21:25:49-0500 @ Joined. Oh, duh! I see the "Ordering" section now... Thanks! :) 2021-03-16T09:33:54-0400 no doubts <=> no thinking 2021-03-17T21:23:45-0400 mpd/mpc hack to loop a segment within a long audio file - while it's playing, execute from shell: while :; do mpc seek $BEGIN_TIME; sleep $DURATION; done 2021-03-21T20:27:55-0400 [1/3] Made some tt improvements this weekend: fixed timezone handling, added subcommands, separated reading and downloading commands/stages, 2021-03-21T20:33:55-0400 [2/3] added a custom upload alias, added sort reversal, simplified install - now building a stand-alone executable: 2021-03-21T20:34:13-0400 [3/3] https://github.com/xandkar/tt 2021-03-23T13:40:32-0400 @ RE: RSM - I saw this tweet shared around - it blows my mind how people can reach these conclusions from what he actually said: https://twitter.com/mandylibrary/status/1172414099583406080 2021-03-23T13:43:30-0400 @ Seems more like some personal vendetta than rational engagement. 2021-03-23T15:35:16-0400 RSM's antiglossary is still up and is an interesting read: https://stallman.org/antiglossary.html - Can't say that I'm onboard with everything, but it's clear that he is actually thinking, which _is_ interesting, as opposed to the people shouting him down. 2021-03-23T16:39:14-0400 @ Somewhat lazy question: what is your polling strategy for such large numbers of twtxt.txt files? Interval + ETag check? Something more|less clever? 2021-03-23T16:41:33-0400 I want to add polling to tt and so far just thinking randomized intervals + ETag check. 2021-03-23T16:58:10-0400 General twtxt extension idea: instead-of|in-addition-to twtxt.txt file - we could have a directory for topics/channels with a file per topic: http://foo/twtxt/${topic}.txt 2021-03-23T17:00:59-0400 For a more IRC-like experience :) 2021-03-23T17:04:16-0400 @ Ah! Last-Modified is a good call. What are you thinking WRT to making it smarter? 2021-03-23T17:07:58-0400 @ Haven't thought of anything particular interesting yet, which is why I'm asking :) 2021-03-23T17:10:17-0400 @ Probably something respecting individual rate-limits would need to be done... :thought_bubble: 2021-03-23T17:26:24-0400 @ Yeah, I'm not crazy about the conversation grouping stuff. Simple #tags are good-enough and don't clutter the txt-only view of the timeline. 2021-03-23T17:29:32-0400 Simple, low-dependency viewing and parsing is what makes both twtxt and IRC so fun. 2021-03-23T17:31:51-0400 @ Are "distributor tags" something different from above? Where can I read about them? 2021-03-24T07:50:57-0400 Philosophy always ends predictably. 2021-03-24T12:01:59-0400 @ Hear, hear! Over the years, Thunderbird has consistently been the client I hate the least. 2021-03-24T15:25:31-0400 @ Please just use a human-readable #tag. Otherwise it is a terrible UX for people reading in plain text. 2021-03-24T19:48:52-0400 @ Thanks for the slatestarcodex link - interesting! 2021-03-24T19:59:43-0400 In earliest states there was no such thing as religion. What we call religion today, was just reality, just normal life things - state and religion were indistinguishable. 2021-03-24T20:12:33-0400 I'm starting to think that it is not just still the case today, but has always been that way and cannot be any other way. It is just that what we classify as "religion" is but narrow sample of the broader phenomenon. 2021-03-25T00:00:36-0400 @ RE: tags - doesn't have to be a single word per se, just that it is made of words from a human language, rather than some hash digest + platform-specific search URI 2021-03-25T08:54:12-0400 @ (#6ecbdxq) +1 on plain text readability! twtxt is a completely different beast without it. 2021-03-25T19:28:28-0400 @ Testing my new crawler... Oops - should probably run it as a different user than myself ... :) :thought_bubble: 2021-03-25T22:43:26-0400 Crawled ~1100 peers so far. Naively parsed from mentions and unverified, so many are invalid, inactive and/or near-duplicates. I'll update this list periodically: https://xandkar.net/twtxt/peers.txt 2021-03-25T22:59:15-0400 @ Nice! Good call on User-Agent too. (#fu3pmea) 2021-03-26T09:55:35-0400 @ lol @ "following = cuntass https://www.google.co.uk/robots.txt" 2021-03-26T10:59:38-0400 I used to think of meditation and "mindfullness" as newage hippie bullshit, until I accidentally came upon it's description in Siegel's book - turns out it's actually great. 2021-03-26T11:01:55-0400 Which now makes me wonder - what other deep and interesting ideas got a bad rep by vice of popular meme-ification? 2021-03-26T13:23:47-0400 @ This data is pretty low quality right now. I'll add verification of successful download and parse before submitting it. (#2yfxkra) 2021-03-29T11:23:38-0400 Xers and Mils are fast on their way to becoming the proverbial Boomers - the parrots of cliches. Could it be just people in general and nothing particular to any one generation? 2021-05-12T06:49:33-0400 @ RE: "way out of capitalism" - it's really interesting to read the slightly-expanded form of what you mean. People tend to have their own implicit associations with terms (like "capitalism", "anti-capitalism", etc.) and end-up arguing right past each other. There seems to be a lot more overlap than disagreement over the problems with the structures supporting modern life. Although that might not be too surprising. What is somewhat more surprising is that the final ideal seems to also be the same - honest relationships. The universal disdain seems to be toward systemic scams, which capitalize on accidental patterns and betray essential goals. 2021-05-12T07:24:21-0400 Updated list of unverified, discovered twtxt peers to 1140: https://xandkar.net/twtxt/peers.txt 2021-05-14T10:08:20-0400 Wolfram gets on the band wagon: https://www.wolfram.com/events/distributed-consensus/ 2021-06-08T08:39:17-0400 Updated list of unverified, discovered twtxt peers to 1162: https://xandkar.net/twtxt/peers.txt 2021-07-20T08:34:15-0400 Updated list of unverified, discovered twtxt peers to 1180: https://xandkar.net/twtxt/peers.txt 2021-10-21T12:55:55-0400 Updated list of unverified, discovered twtxt peers to 1373: https://xandkar.net/twtxt/peers.txt 2021-10-26T01:03:13-0400 @ I know - my list is completely unverified - just parsed mentions and follows. There're completely bogus entries, like twitter and google. I know what needs to be done, just haven't prioritized doing it yet. 2021-11-26T15:32:15-0500 Finally added validation to discovered peers! The list of now-VERIFIED, discovered peers, with at least one valid message is now at 703 (out of the 1449 unverified - a lot of garbage mentions are out there). https://xandkar.net/twtxt/peers.txt 2021-11-26T15:37:26-0500 Sorry if I missed replying to you. Besides time constraints, my client is currentl stupid and does not accumulate messages - if you trimmed your timeline - I lost the trimmed messages forever. I _might_ work on improving this over the winter vacation. 2021-11-26T15:49:09-0500 Hey @! Been busy with work and family and what not. How's it going? Also see my previous message. 2021-11-26T16:04:52-0500 (#thttegq) If a peer's URI is downloaded with 200 and at least one message is parsed from it - a peer gets the "verified" badge. 2021-11-26T16:20:40-0500 (#thttegq) Perhaps because I'm not limiting to just twtxt.net? I seeded with initial peers manually and from there keep spidering out to mentions. Also, there may still be dupes which differ only in nick and/or some alias URI that leads to the same place - need to design a de-dupping pass... 2021-11-26T16:58:34-0500 (#thttegq) Added my current peer set files here: https://xandkar.net/twtxt/ 2021-11-28T13:09:17-0500 Added deduping by URI, which trimmed the unverified set to 1244 and verified to 583: https://xandkar.net/twtxt/ . Still more refining to do, but it's starting to look more reasonable now. H/T: @ 2021-11-29T16:47:06-0500 @ logrotate feels like the right solution. Just need the client support and a convention for where to host the archives. 2021-11-30T20:48:59-0500 Tracking current/correct nicks was getting confusing, so I added a nick usage frequency count pass to the crawler, which also corrects a URL's nick to the one most-frequently mentioned for that URL. The collected nick data per (encoded) URL is here: https://xandkar.net/twtxt/nicks/seen/ 2021-11-30T20:54:00-0500 Updated and renamed peer set files: https://xandkar.net/twtxt/peers/ The superset is all.txt and the verified subset is downloaded-and-parsed.txt 2021-11-30T21:00:28-0500 The better thing is probably to pull the desired nick from metadata comments, but not everyone has it and usage frequency is still interesting on its own. 2021-12-01T21:21:12-0500 Also added a single-file version of the nicks usage frequency counts: https://xandkar.net/twtxt/nicks/seen.txt 2021-12-02T15:39:40-0500 @ ah, right - forgot to explain that one - that is indeed the unix epoch timestamp, of the latest message that nick was seen in.