I thought Python was a big language, Julia is fricking huge! Like they just want every feature!
In applying multiple dispatch, the question comes up: to what extent do you try to standardize your function calls? Do you try to ensure that the more specific type comes first? Do you try to only define methods (function implementations) that actually get called? And I after reading more Julia documentation, they don't seem concerned with redundancy or inconsistency. I would guess they would say, "define as many methods as you feel like."
I started a list the other called "The Imperfections". It's a list of everything that I want to fix. It's really fricking long. I didn't
realize I was storing ~50 issues/projects in my head, more or less in RAM. Like the data structure that was being stored in my head was a linked-list, where 1 item reminded me of similar problems. I think it's been effecting my productivity (for my entire life). Of course, writing it down helps a little bit. But it's almost worse because now I just want to sit down and start tackling the list. (I wrote a Gemini the 28th because "a perfect Gemini client" was one of The Imperfections. Still working on that one.)
*Why?* Is Thu? The *only* language to come up with single-instantiated types?
Oh, you know, Java has that syntax sugar for defining callback functions that technically creates a single-instantiated class with an over-ridden method that is called as the callback. That's exactly what I want.
(Hm, maybe OOP was a bad idea altogether and we should switch on the type of all arguments *cough* multiple dispatch *cough*)
Edit (2023): Other languages call this a singleton-type.
I have a set of features that I want in a Gemini server. I am not aware of any servers that support all of those features, although all
features are supported by at least one Gemini server. So of course, I'm tempted to write my own Gemini server. But that Gemini server would then be the most feature complete Gemini server, and I am not ready for that.
```C
/* The request_rec pointer is passed in here only to ensure that the
* filter chain is modified correctly when doing a TLS upgrade. It
* must *not* be used otherwise. */
```
Just learned about the Oroville Dam spillway collapse
I recommend looking up it up on youtube, it’s pretty cool.
Before, during, and after pictures of the spillway, that I screenshot from 3 different Youtube videos and hastily combined.
Hyper (https://hypercore-protocol.org/) is a p2p protocol that's almost web-like. It's really cool, a lot easier to use/setup than most.
(Golem, BitTorrent, Ceramic, etc are all confusing as hell.) Hyper is super simple, there's a browser called Beaker that lets you open `hyper://` webpages and seed your own content just by giving it a directory.
*There's no fricking content*. I'm in the Discord server with these people and they're posting all these Github links to mirrors and browser and tools and I'm like okay, is there any content currently being served on this protocol? If there is, I cannot find it. My own Hyperdrive is: hyper://dd33a1d922616afa2c94b220fa20c097d15b7be1e2f0db5a71f0f1639999cd3e. No one else has linked to theirs.
(Gemini doesn't have a lot of content. There are maybe a few hundred operational Gemini pages. But there are half a dozen pages that list active Gemini capsules or recommend pages. http://geminiquickst.art doesn't even recommend gemlogs, it recommends sites that curate lists of gemlogs.)
I FOUND ONE! I found a single blog hosted on hyper, here you go: hyper://94f0cab7f60fcc2a711df11c85db5e0594d11e8a3efd04a06f46a3c34d03c418
Wait I found a second. Only this page is being seeded right now: hyper://6900790c2dba488ca132a0ca6d7259180e993b285ede6b29b464b62453cd5c39/blog/the-free-speech-dog-whistle.md
This Thought is now the premier curator of Hyper content.
A small part of it is of course that since it's p2p what people are seeding is limited. But a lot of it is that I can't find addresses. There's got to be a list somewhere, right? Or a way of discovering things?
When I say MLM here, I’m referring more broadly to a growth strategy sometimes called “incentivized sharing.” It covers MLM schemes, but also things as basic as ‘get $5 dollar credit to refer a friend.’ Twitch has used it successfully—streamers are incentivized to get viewers onto Twitch. This term/model doesn’t include normal word of mouth recommendations, like Rust evangelism, for example.
Gemini evangelists are rewarded with an expanded Geminispace, and more content that is readable from the comfort of browsers designed to render text documents.
*Interestingly, my definition of "impulse" is just doing something without planning out every step in advance. Some people live their whole lives like that. Both of the text messages I just sent I had thought about sending earlier today.
I'm going to move forward with the current version of Next.js and consider the 67kb wart a cost of the framework.
If I find I'm not using any features of the framework and -all- my pages are static then I'll switch to Gatsby or roll my own solution with Preact's render to string or something.
So I'm working on a website with Next.js, and the beauty of Next.js is that it server-side renders static content. But even with a wholly
static page it includes React and about 63.8kb of JS. And the Next.js people are like, that's not a lot, but it's insane when the page content is a 1kb static html page. Like, I'm going to "switch to Preact" which is insane, because I'm not rendering *anything* on the client side.
Honestly, who the frick thought it was a good idea to create an alt social media with "Brought to you by FACEBOOK" in big letters on the front page. Could have been cool other than that
I just got my computer back from the Apple Store. It's one of the last ones made with the butterfly switches. The keyboard gets a lot of hate for its close-to-0 travel and its infamous unreliability. But I love it. It's so fricking nice to type on. (I also haven't typed on any full-sized keyboard in close to 2 weeks. So i'd also probably be happy to type on a Microsoft freebie.) It feels even better than I remember, I wonder if it's actually nicer because it's brand new.
Apple's lack of modularization means that since I was having issues with the display on the Touch Bar, they replace the whole top part of bottom half of the computer, giving me a brand-new TouchBar, keyboard, trackpad, and battery.
Battery Cycle Count: 1
This is why I always pay for AppleCare+. Like-new computer for free for 3 years after purchase.
Matthias’s programming language of the day is APL and its dialects like K, J, and Q.
It aims for very concise syntax, and while it might at first glance be mistaken for a code-golf-language, that is not why it was invented. The creator just wanted to remove all fluff, in order to create a language that more accurately reflected thought. It’s an array-oriented language, which, uh. Let’s move on. It makes use of special symbols to denote operations, so you can use as few characters as possible. It also means you never have to worry about your variable names conflicting with the standard library. It also means you have to configure a special keyboard layout and install a font before you can begin. It has been criticized as being unfriendly to beginners. However, I have been assured that this is only because it is different, and that if we had all learned APL as a first programming language, we would find it perfectly intuitive. Here’s an example program which implements the Chinese Remainder Theorem.
```apl
crt←{m|⍵+.×⍺(⊣×⊢|∘⊃{0=⍵:1 0 ⋄ (⍵∇⍵|⍺)+.×0 1,⍪1,-⌊⍺÷⍵})¨⍨⍺÷⍨m←×/⍺} ⍝ From APL Cart
```
More on APL, whether you want to laugh at it or learn it:
=> https://xpqz.github.io/learnapl/intro.html
It doesn’t matter at what level/scale you’re working at. The system is imperfect at every level and it’s impossible to make something
perfect at any level. All you can do is make the best thing you can at the level you choose (including trying not to make it more difficult for people at other levels).
(If you don’t see it, this is profound.)
People on Hacker News are like, ‘why would you buy a Playdate for $180 dollars when you could buy a cheap android phone or an old Gameboy?’
(Because those things aren’t a Playdate? IDK)
Another common take is, ‘people are only buying this because it’s made by a popular brand.’ Like, how much brand loyalty do you think Panic has? They make Mac-only developer tools, last I checked. I guess Untitled Goose Game was big but like, Panic didn’t really get publicity from that.
Of course, I’m not even going to consider getting a Playdate myself until Panic can actually manufacture them, which is apparently a lot to ask.
Yeah so Safari doesn't properly* calculate the width of the content of inline-block `pre`s if that content includes other inline elements.
*I haven't read the spec to know what is proper, but Safari doesn't do what I want, and Chrome and Firefox do.
So my solution is to not inline-block code blocks on here and OJSE. Which might look bad on desktop. But I don't know what to do aside from asking you to use Gemini.
I want a phonograph “capable of producing any and all sounds.” I want perfect software.
“If any record player—say Record Player X—is sufficiently high-fidelity, then when it attempts to play the song” designed to produce vibrations which destroy it, “it will create just those vibrations which cause it to break…So it fails to be Perfect. And yet, the only way to get around that trickery, namely for Record Player X to be of lower fidelity, even more directly ensures that it is not Perfect.”
- G.E.B. 77
Somehow I got it in my head that there was this cool new JS framework for dynamically server side rendering React, when like, it was Next.js
I spent like an hour searching for vague terms like "server side rendering javascript framework" before I searched for a specific comment I remember seeing on the Hacker News post I had read about it. I found the comment quickly on a post about Next.js. Funky.
Not installing `ag` earlier was a mistake. I had a tool that accomplished something similar by running `grep -R` with a long `--exclude-dir`
```sh
g () {
grep -nIr --exclude="*.min.*" --exclude-dir={node_modules,.git,dist,.cache-loader,OurEnv,bower_components,.idea,.wine,.virtualenvs,.local,.gnupg,venv,site-packages} "$@" .
}
```
But The Silver Searcher's approach of just following `.gitignore` works better most of the time. And has a nicer output format.
The problem with the school system is that it is blind to enthusiasm.
In the real world, attitude matters. But we don’t test for it in school.
Maybe this isn’t a problem, but it certainly seems weird now that I’m thinking about it.
Why would I be afraid of not being alone? Yet I am.
I hate the awkwardness of conversation. I hate the jarring feeling of isolation that comes when I share what I'm thinking and no one understands. I fear being good at conversation because I fear being popular. I fear people looking at me, expecting something from me, and me not having anything to give. I fear being asked to defend myself. I fear making mistakes, but moreover, I fear being seen making mistakes. I hate having to come up with things to say while someone looks and waits for me because I have nowhere to run if I say the wrong thing.
It's killing me. I haven't seen a friend in person for 2 weeks. There is an expanding balloon in my chest.
Cancel culture is not letting your toddler watch Numberblocks because the BBC doesn’t let their journalists attend controversial marches.
I understand being frustrated that the BBC won’t let their news reporters publicly support political issues. https://www.theguardian.com/media/2020/oct/29/bbc-no-bias-rules-prevent-staff-joining-lgbt-pride-protests
But I don’t understand that conclusion that you should boycott a children’s show that is produced by a connected organization. Like, I’m not going to boycott Phineas and Ferb because someone on ABC said something offensive that I politically disagree with.
But I can’t argue with it. What am I supposed to say? ‘BCC is so big you should ignore them being homophobic sometimes’
I mean, at some point, just boycott the BBC because they are the product of an imperialist empire. Just boycott everything that is produced in England and support business in developing countries.
This is what’s weird about “cancel cultural.” It tries to define everything that’s bad but sets the bar so high that’s easier to define what’s good.
Bucket list item: walk into a Barnes and Noble, pick up a book, read it all the way through without paying for it.
Inspired by https://xkcd.com/294/ obviously, but it wouldn't be that hard to do intentionally. It only takes me like 2 hours to read 100 pages. Take a Saturday, save yourself the cost of the book.
I've been browsing the web for years and I've never once seen a website actually use a parameter.
Okay okay I searched my browser history. In 2020 I visited `https://projecteuler.net/archives;page=14` I'm horrified.
Feb. 2020, a bunch of unaffiliated websites using `PAGE;jsessionid=REACTED?PARAMS`. I wonder where that comes from.
Few more random ones including a Google ads redirect. But mostly auth/sign-in redirects it looks like.
Man, I wish AirPower existed. I have like 50 cables on my floor
My phone, watch, second phone, computer, display, and speakers all need power.
Honestly, I don't use the external display or speakers, I should probably get rid of them.
"Why do you need Gemini? Just write simple HTML??"
Because HTML collapses adjacent white-spaces.
I had a paragraph here about how the way browsers did this was dumb, but I tested it and was wrong. However, I think the fact that it is impossible for me to understand these rules is just as effective an argument as criticizing the rules themselves.
(I think browsers collapse U+0020 and then convert U+00A0 into U+0020, without collapsing. But the question then is, is it possible to get U+00A0 into a browser? I don't know, let me know if you do.)
### Filters
Need to convert line breaks to `<br>` (without CSS, `white-space: pre-wrap` doesn't work and `pre`s look bad)
Linkify (Otherwise, links need to be copy-pasted, bad UX)
Typographer quotes! (I notice straight quotes and they annoy me) (double and single quotes, exclude code blocks)
### Block
Fenced code blocks (Gemini strictness)
### Inline
Italics (for MLA titles, or emphasis) (including the ability to escape asterisks)
Inline code (useful for distinguishing between references to programming-specific uses of English words)
# Notable omissions:
Bold (Doesn't have any semantic meaning, only stylistic.)
Underline (Ditto)
Block quotes (even Gemini has these!) (Styling these well is very hard.)
Unordered list (again, even Gemini) (It's very easy to parse these wrong. See: https://thoughts.learnerpages.com?show=bc51ad8a-07f5-49bb-9a35-8d636dafc6fa)
Ordered list (CommonMark ordered lists are lame because I can't easily start them at dynamic numbers.)
Headers (On this website, posts are supposed to represent a single thought or a train of thought. If this was a blog, I would include them.)
Unicode ellipses, em dash (I have shortcuts to type these, so it's not really necessary. You could I guess.)
Math blocks (I probably should/would include if I talked about math on here.)
I might have forgotten something, but most things that aren't in "Notable omissions" are just too complicated. Tables? Masked inline links? (Nested lists are awful. They're hellish to parse in the way the author intended them to be.)
There are a couple issues with unordered lists in markdown, Gemini, and Apple notes, surrounding how you indicate them.
CommonMark dictates that a list block can be started with no padding and a single item. I've written this intending to source a quotation. I don't want a bullet here. My solution would be to require at least 2 items for a list, but this obviously adds backtracking complexity.
```md
"Hello, world"
- Matthias
```
This brings me to the second issue: CommonMark allows for unordered list items to begin with either an asterisk or a hyphen-minus. This is annoying because both get translated into a bullet.
This third one is the big one. If I'm formatting a document in ASCII, i.e. without any markdown, I would like to indicate a list by starting items with " - ", that is, space, hyphen-minus, space. This objectively looks the best since the hyphen-minus has padding on the left, and is vertically centered (where a bullet would floats above the mid-line). This doesn't work in Apple Notes, which disallows a leading space. This doesn't work in Gemini, which requires `* `. And, as mentioned, in CommonMark this is converted into a bullet.
```md
This is a test list:
- Cookie
- Bread
- Apple
```
```md
This is a test list:
* Cookie
* Bread
* Apple
```
Looking at this, it's clear that the easy solution here is just for me to stop being different and start my lists with `* `, which works perfectly everywhere except for raw-text. But I have to look at it before post-processing is applied. Sad.
The thing about GitHub copilot that no one is talking about, is that it's developed by "GitHub," ostensibly, but is available for VS Code
and not Atom.
I feared the GitHub acquisition would spell the death of Atom, as Microsoft pulled the Atom team to work on VS Code and I'm taking this as confirmation that that has happened.
It seems like literally nobody is trying to solve the speed+complexity problems that the web has.
There are dozens of people that recognize that the web has complexity problems, but their minimalist (minimalist is not simple) solutions, don't address the speed problem.
And there are dozens of people that recognize the speed issues, but their solutions are so complicated as too be unintelligible to me.
It is literally impossible for me to keep track of all of these JavaScript frameworks and build tools. It is impossible for me to keep them
all in my brain.
Someone will be like, 'Vite, a fast JS builder' and I'm like, okay, so something that's competing with esbuild. And then, no, Vite and esbuild work together. Thanks a lot.
Can you hear me? Can you hear me? Can you hear me? Can you hear me? Can you hear m e? Can you hear me? Can you hear me? Can you hear me? Can
Your hear me ? Can you hear me? Can you here me? Can you hear me? Can your grade me ? Can you hear me? Can you hear mev? Can you hear me? Can you hear me? Can you hear me?
I don't know if I made that decision intentionally or not. Because like, I try to support no-JS browsers as best as I can, but I apparently don't try to support older browsers. It's weird.
Hopefully everything moves to server-side rendering soon :tm:
Sometimes I do think interjections like "frick," but other times I will think curse words, even words that I've never said. These words normally get filtered when I say them out loud, without me having to think about it. In the same way that you don't have to think about the pronunciation of a word, I don't have to think about filtering my words.
So it was shocking to me when my personal monologue (I talk to myself frequently), included a word I don't normally say.
Today, in the age of client-side web apps, React, and extreme JavaScript APIs, it's difficult to remember that the web before JS wasn't
static.
Let me back up a little bit. The internet is splitting at the seams into 2 factions—those that want a document-based web and those that are building web apps. The former makes the argument that documents don't need to be Turing complete, and that webpages should serve primarily text. The latter group is supporting WebUSB, because they see the web as a distribution platform for ephemeral applications, ala XKCD 1367: https://xkcd.com/1367. (Personally, I fully support this schism. I like the idea of having two different clients, one that let me run sandboxed applications and one that lets me view text.)
Gemini is a product of the first group. For all of Gemini's "forced simplicity," it doesn't address dynamic server-side generation of pages. Without Javascript buttons, you can implement dynamic functionality by generating the page every time the user visits, having links that log actions, and re-direct you back to an updated version of the page. Gemini doesn't support POST or form elements, but it supports clicking links and taking user input as text. And this where, functionality wise, it's quite possible for me to build a capsule that has user accounts, posts, votes, etc. on Gemini.
What concerns me is that the pro-document group doesn't remember that before JS functionality, the web did look like this. And if Gemini gets any significant traction, these types of pages will appear. And suddenly your lack-of-features only hurts the user experience.
Now, in practice, this isn't going to happen. The web will always exist and people will chose to build dynamic sites on the web instead of on Gemini because the web is the better platform for it. But it's still weird to realize that Gemini's "forced simplicity" is really just accomplished by making dynamic pages a poor user experience, and not precluding them.
I'm very interested to see GitHub Copilot on the top of HackerNews, and surprised at the glowing comments.
There's a quote that goes, “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” Even supposing that GitHub could auto-generate a perfect solution to the problem for me, it's more difficult (even if it's not more time consuming) for my mind to parse, read, and verify that code works, than for me to come up with the solution myself.
I guess, people are comparing this to an improved, complicated, tab-completion. I use tab completion very rarely. In the last year, I've written more code in Vim (with minimal plugins) than IntelliJ. So a lot of the arguments come back to that, whether any sort of assistance is a good thing. My stance is that if your language or library has so much boilerplate that autocomplete is useful, then your language/library is bad.
I don't know, I'm tempted to download VS code and give it a shot, because I do want to write code quicker. I guess what I'm saying is that my bottleneck is not the speed of my keystrokes, so I don't know if this will speed anything up. On the other hand, GitHub claims that working with this assistant is a good way of learning an unfamiliar language.
Something just occurred to me. Gemini is different from simple HTML because you don't have to design the site yourself.
Conceptually, you can write simple HTML and end up with something that is similar to a page served over Gemini. And it might even be more difficult to set up a Gemini server than writing the HTML and CSS, especially if you're already familiar with those languages.
But at some point, HTML has this conception that you're responsible for laying out your own site, and choosing good colors, and positioning the elements on the page. Gemini frees you from that responsibility! Gemini's beauty is not that it is simple! Rather, the genius of Gemini is that it shifts the burden of complication to the client instead of embedding it into the document or the protocol.
Of course, this idea isn't Gemini's genius alone. We used to know this about the web. I don't know why we forgot. The issue with web browsers today is that I have to write CSS. If I don't, if I just serve an HTML page, it looks bad.
I wonder if I have anxiety, or like, acute onset stress* or something.
(*This isn't a real thing, I just made it up, and I don't even know what "acute" means except in regards to angles.)
‘Have to sneak into a party’ is one of my absolute least favorite tropes.
If you think your characters need some space, some down time, give us that. That lets me relax as a reader as well. But the high-stakes party-heist masquerading as a chance for your characters to chat is somehow boring and stressful.
Even when I was a kid, I wondered, why didn't websites just load a big list of all of their content? I really like that this website
questions the convention of having 10 items on the page and then a new page. Obviously, it's partly done out of laziness, but I do love having all the content on one long page, even if it's impractical to scroll through sometimes.
People sometimes ask me if I think there will be computers in heaven.
They see that I am passionate about programming, and are curious if I’ll miss that after I’m dead.
They misunderstand. I am an artist. I want to create things, to create beautiful things. Perhaps the greatest tragedy of my life is the best medium I have found for the type of art I want to create is computer programming languages.
I hate lithium ion batteries. When you put a lithium battery in a product your admitting that you’re designing it for 2 to 5 years,
the batteries just don’t last longer than that. I guess that’s acceptable a lot of the time, but think about the implication of that when it effects every device. I would buy an iPad if I could use it to take notes and have confidence that it would store those notes for the rest of my life, but I have to use paper. It’s weird that paper is better than digital for permanence, only because of the batteries.
Google just emailed me complaining about this website.
If you find the text on this website too difficult to read on mobile, I officially recommend downloading a mobile Gemini client and connecting to
=> gemini://thoughts.learnerpages.com
Seriously, what the heck. Why is Python so bad? Why does a language with list comprehensions fail so spectacularly in list manipulation?
The challenge:
```py
input = {"a": {"x": 1, "y": 2}, "b": {"x": 3, "y": 4}}
# Becomes
[1, 2, 3, 4]
```
You only need to go 2 levels deep.
Javascript:
```js
Object.values(input).flatMap(a => Object.values(a))
```
Python option 1:
```py
from itertools import chain
chain.from_iterable([a.values() for a in input.values()])
```
Python option 2:
```py
[b for a in input.values() for b in a.values()]
```
I *do not* understand how that second python example parses. I don't know whether b or a is the inner loop variable. I can't use that code. I have to add an import line to flatten a list. I'm sorry Python. The fact that you technically can golf a nested list comprehension to approximate `flatMap` doesn't count. And the worst bit! Is that the "readable" itertools solution is still opaque. Ah yes, my go-to list-flattening function, `itertools.chain.from_iterable`.
There has to be a better way of doing this. Maybe I can flatten the dicts first and then `.values`? I'm going to keep researching because Python is such a huge language.
I wonder if my fear of social scenarios is balancing my lack of fear of physical things.
Maybe I’m just interacting primarily with people online? Maybe this isn’t a thing and I’m reading way too much into a few online comments.
Fear is an interesting thing.
I understand conceptually that there are a lot of programming languages and that there are programming languages that I don't know about, but I'm still not mentally prepared to open a Github repository and find code written in Crystal.
A man can you hear me inquires of an empty room can you hear me upon receiving no reply can you hear me he concludes can you hear me that he is mute can you hear me
Watched the Veritasium video on Gödel's Incompleteness Theorem. He spent a lot of time on Turning completeness and the halting problem,
which I don't think was really necessary. That question is well discussed without reference to Gödel's theorem. Gödel's theorem is a big deal even without Turning.
*Just watch the video:*
https://youtu.be/HeQX2HjkcNo
For readers who aren't familiar with either, it might not be immediately obvious that I have to compare this to *Gödel, Escher, Bach*. But they both deal with extremely similar topics. Muller (the Veritasium guy), cites quite a few sources, but doesn't mention G.E.B. This surprises me.
I once said that G.E.B. "dares to venture closer to insanity than any other work of reason." The Veritasium video provides a very sane explanation of the ideas involved. In some ways, this doesn't do them justice. There's a certain irony in logically explaining a theorem that bounds logic, and Hofstadter plays with that irony. Muller doesn't.
I figured out that I'm pronouncing Gödel wrong. With the German ö, it's "gurdle," not "go-DELL."
In some ways I'm tempted to dismiss Veritasium in the same way that I would dismiss a high-level explanation of a technical topic in mainstream media, (imagine a news anchor trying to explain a computer issue). Veritasium goes to a similar depth at times, hand-waving concepts. But that's not really fair, because the news anchor really only has a high-level understanding. Veritasium's saving grace is that if you look closer, everything they say is correct. Veritasium will cut to B-role of equations floating on the screen, like a news channel, but Veritasium uses the correct equations for the topic, even if they don't explain them.
Overall, I highly recommend watching the video, especially if you haven't read G.E.B. Unfortunately, watching the video won't grant you access to the exclusive club of arrogant people who have read G.E.B. (I think there definitely is a way to make a video on Gödel's theorem that communicates the same surreal, metaphysical air. It's probably a good thing that Veritasium didn't make that video.) Like, Veritasium takes the "math" that you know, and says, 'hey this isn't perfect.' Hofstadter creates this new system from nothing, which is obviously imperfect, and then proves that it is the same as the mathematics that you know. So they explain some of the same material, but Veritasium doesn't give you the same paradigm shift.
Hofstadter would be ticked off at me right now, because I'm pretending like his book is about Gödel's theorem, when that's only a part of it. He also deals with a *ton* of other issues!
They told me Gemini was minimalistic. I didn't believe them. But wow.
text/gemini, the native file type, is like Markdown without support for in-line links, bold, italics, or anything else inline, because 'character-by-character parsing is too hard.' No images on the page. No fricking anything. The entire format is: text, link lines, code blocks, headers, lists, and quotes. No nesting of anything.
The content transfer protocol is similarly minimalistic. No support for compression. HTTP status codes are too complicated, we have 2-digit status codes, and so on.
I'm going to try to get this site to support Gemini at some point soon.
I'm shutting down my KA mod action logger ("Programs KA doesn't want you to see"). I'm not maintaining it, and it's breaking.
It gave a couple of interesting take-aways:
0. The hot list doesn't move that fast. Only 2,000 programs in 4 months.
1. KA hides around 2 programs a day, ~14% of programs that spend any time on the hot list.
2. People are confused. Many programs had edits questioning what had happened
3. The most interesting IMO: Of all the programs "caught," none were malicious or explicit. I expected at least a little bit of language, but most programs were hidden just for being low-quality.
I scraped the first page of the hot list every 10 minutes (right after it updated), for 143 days (over 4 months). I logged 1,973 unique programs.
275 programs were hidden from the hot list.
168 programs were completely hidden.
239 programs were marked as definitely not spam.
127 programs were deleted by their owners.
166 programs were hidden from the hot list and completely hidden.
61 programs were hidden from the hot list and marked as definitely not spam.
18 programs were completely hidden and marked as definitely not spam.
I shouldn't need to explicitly disclaim this, but these numbers are amateur—they didn't come from KA. In particular, it's possible that I manually entered programs into the database for testing purposes and then forgot about them. (I don't think I did, but I wrote code at one point to let me.) Also, it's possible there were bugs around users deleting programs.
This should really be a KA Hearth post, but I need to go to sleep.
Okay, the about page for this site is on its 4th iteration. I think it is ready to be shared, but adding links to it is coding
that I don't feel like doing right now. I suppose you can check it out at /about but you're going to have to type that in.
It's roughly 10,700 characters, putting it slightly over Rigby's 10,000 character limit.
Bought some Prosus the other day, after they bought Stack Overflow.
SO is far from a well-run company, they've mismanaged their community a couple of times. But that means that it's unlikely that Prosus can screw it up that much. Prosus also owns like 20% of Tencent.
-Welcome to the Internet, Bo Burnham
(I have a project in my notes with "Welcome to the Internet" as a working title. At the time no one else had used it.)