Thoughts
If I lied I think I would lie about my age. Systematically tell everyone that I'm 5 years older than I actually am.
I have about 5 years more programming experience than you would guess if I told you my real age. And it would give me a bit of a buffer in case I ever feel like I haven't done enough for my age.
I love how in simple projects `git log --graph` looks like a line on the left but with just a little more complexity and activity you end
up with
The weird thing to me about Slack cutting down their free plan is that cost savings on the server side should be negligible.
Maybe it's not negligible, maybe Slack is using a single-server SQL database, and rather than scale up to a distributed KV-store like Discord did, they're kicking out the leeches.
Or maybe Slack's marketing about "this change effects a small number of servers" is just BS and their goal is actually to encourage people to upgrade to the paid plan, just because they can.
Anyways I think I would need another 3ish posts to the FPG series to tie up initial assumptions (the Pascal’s wager-style argument), the
theoretical maximum of logic isn’t truth (Gödelian argument), and allowing for useful sources of “truth” other than the material world (that is a-priori knowledge or Devine revelation).
The problem with FPG is that it rejects a lot of assumptions (like 1+1=2) (on the basis that they’re just assumptions and assumptions are
bad) and then it proceeds to make a bunch of assumptions (like assumptions are bad, or there is a universal Truth which is complete and consistent).
I think I can close off some of the assumptions by making Pascal’s-wager-style arguments. But it still feels weak. Because you have to make assumptions in order to make any argument at all.
It doesn’t help that FPG is complicated. It describes like 4 different versions of truth depending on the situation.
Mathematics is an arbitrary human invention. The concept of a number "1" is nothing more than a concept.
It is useful, as it relates to the real world, certainly, but single objects don't actually exist in the real world.
If you look at an apple, it's natural and easy for you to draw a circle around it in your mind and label it as a single apple. And once you've done that, it's natural and easy for you to say that one apple, and another apple, is two apples. But that's all happening in your mind. The atoms don't care whether they're in an apple or not. There's no formal definition of when two apples are "together" and become "two apples" vs. "one apple" and "another apple." The concept of 2 only applies to apples because you've chosen to use it.
To quote Hofstadter, "we don't apply number theory to cloud systems, because the very concept of whole numbers hardly fits. There can be one cloud and another cloud, and they will come together and instead of there being two clouds, there will still only be one" (G.E.B. 457).
So we have this concept of "one cloud" in our brain, that makes sense and is useful. But the mapping between the "pure" ideas in our brain and the real world is imperfect.
Honestly I think the most mind-blown I have ever been is the 4 and a half pages in G.E.B. describing the Supernatural Numbers.
I haven't even finished G.E.B. and I think I need to re-read it because I don't understand it.
Misali's sentence structure is awe-inspiring. I feel like the scripts for their videos are just poetry.
I'm tired I don't know if you can tell.
Somehow just noticed Ruby doesn't have first class functions.
It's actually really interesting because the language is designed in such a way that it doesn't feel crippling. You have a lot of options (passing procs or lambdas or blocks or a symbol representing the method), but you can't pass a method to a method.
One of my co-worked committed a function that takes a value, and returns a stable version of that value. How does it
know when to update the value? Well, um, there's a useRef, and useMemo and um those things are used to make things stable, so uh, the result is definitely stable, just trust me bro.
Edit (4:40): I asked him about it and his reply included "just some more garbage code from yours truly." This guy is like 10 years my senior; I feel bad.
What React should let you do is define custom equality comparisons for component props. So that you can say "the order of the items in this
array prop doesn't matter." Instead, the *enclosing* component is responsible for ensuring that the array doesn't change unless it's actually supposed to. Hence all this BS about "stability" and "memoizing."
One of the fun things about Dracula Daily is seeing just how different people's reading comprehension is. There are things that I miss that
other people pick up and things that are obvious to me that other people misinterpret.
I didn't even know what a cormorant was.
I didn't realize how insecure I was.
I'm like watching myself turn into an incel in real time this is fun.
(I'm having a hard time imagining that a girl would choose to date me over any extrovert.)
My favorite type of person are people who go into Twitch chats and talk about their relationships.
Or just like their real life in general.
Like I’m glad you have a life but why are you telling chat about it?
My least favorite bug is back. Moving the mouse off of a button in causes the pointer to be draw in the wrong place for a frame.
Edit: On second look, it's a macOS bug, not Chromium.
Ruby lets you leave off function parens, which I'm comfortable doing because of my time writing Lisp or Haskell. But sometimes you need to
then do something with the result of a function call, and to disambiguate evaluation order, you really need parens. Ex. `Thing.where name: "Matthias"`, but then you want to call a property of that, on the same line. And since I'm thinking like Haskell, leaving off parens, I go to write `(Thing.where name: "Matthias").exists?`. And while that works, the stylistic way of writing this Ruby is to add back the optional C-style parens: `Thing.where(name: "Matthias").exists?`
One of the things that I like about Sci-Fi or Fantasy, as opposed to realistic fiction, is that it allows you to describe a character that
I view differently from the people of the universe.
I love Valentine Jones because she's so different from the current conception of a football star. But in-universe, she's just a football star. So I wouldn't be interested in a story about a football star today, but I am interested in Valentine Jones's story.
I love breakfast food, I love IHOP, but they call their waffle a Belgian waffle when it is the most American waffle imaginable.
Free story idea (it came to me in a dream): Two characters are friends, and then a witch curses them. Now the main character remembers their
friend, but the friend treats them like a total stranger. Insert some drama here, where they're angry at each other. But the twist is that it's actually only the main character who has been cursed. It's not that the friend has forgotten anything, it's that the main character is experiencing time out of order.
I leave words out so fricking often oh my word. Like half of all my edits on here are because I just forgot to type a word.
My eyes are so tired. I don't know if I didn't enough sleep last night or what. I'm not even that tired, it's just my eyes.
The problem with discussing education is that it’s just too easy to argue for complete radial reform of the education system.
Edit (9:03): This makes it sounds like I'm opposed to radial reform of the education system. On the contrary, what I'm trying to say is that you can make very good arguments for abolishing everything after elementary school. But that makes it hard to discuss smaller and more realistic changes.
If you've never used Rails, I think it's well summed up by this code example: `Thing.where created_at: 24.hours.ago..DateTime.now`
I talk a big game with my whole "I don't lie" thing, but like, it kind of doesn't matter if I'm not trying to communicate effectively.
Like I'm not going to give you false information and then encourage you to reach false conclusions. But sometimes I will falsify facts in order to lead you to a correct conclusion in a more direct way, or I may present you with misleading (but true) facts and then encourage you to reach a false conclusion.
I hate doing code review because 100% of the time the code is not written the way I would write it
One of the good things about Dracula Daily is that it forces the people on Tumblr with ADHD and/or poor reading comprehension to read and
think about a small segment at a time.
I think to some degree, gen Z has taken tongue-in-cheek complaints about corporate America and said ‘working is bad.’
For example, many people in my generation were exposed to The Office, Dilbert, and our parents complaining about their bosses when we were kids.
And while the things being complained about are certainly valid, the solution isn’t communism.
It reminds me of some kids who look at boomer-comics about marriage, and go “wow, I’m never getting married.”
Beautiful.
=> https://medium.com/s/story/how-to-be-polite-9bf1e69e888c
In some ways, I'm exactly like Mr. Ford. I would never touch someone without their permission. I have a list of rules built up in my head governing many different expectations of social behavior. I try to very open-minded and very empathetic. But I'm also completely different. Most of the time I walk out of a conversation with the take-away that I don't like the person and that I regret talking to them.
The MusicKit API actually seems like, good, so I'm increasingly tempted to make my version-controlled-playlist website.
One of the interesting realizations about git is that deleting commits isn't really necessary. You can just reset your branch to before that
commit happened, and there's no way to reach it anymore. Git has a garbage-collection-like system that cleans up unreachable commits after 30 days.
On the other hand, if you save the commit's SHA hash, then suddenly it is reachable, and you can resurrect it with cherry-pick, for example.
Just set up Vivaldi on a new computer for the first time in, I don't know, four years. My word there are a lot of settings!
Watching *Fetch*, I'm telling you, it's basically the same thing as Tom Scott's channel.
They just met an ornithologist.
Snapped, I'm installing Vivaldi
It was periodic tab reloading. Spamming the refresh button makes me feel like a pleb.
I just fricking love body language. Body language gives me an analogue way for me to express how interested I am in talking to you, without
me having to say anything, and with you having the freedom to ignore my body language with complete plausible deniability.
I think the thing about remote/in-person work is that for me, communication in person is clearly superior. If we could teleport, if there
were no downsides, all other things being equal, I just would rather speak to you in person than over text or a call or Zoom. If my co-worker was sitting in the cubicle next to me, sometimes I would DM them instead of tapping them on the shoulder. For example, if it wasn't time-sensitive and I didn't want to interrupt, or if the my question hinged on a link that I wanted them to open. Then sure, start with a DM. But if my co-worker was sitting next to me my default is going to be talking to them face-to-face.
So if you're going to make a remote-first argument, you have to "play-defense," I think, by establishing enough benefit to overcome this initial hump.
If your pro-remote argument follows the lines of 'Slack is just as effective as talking face-to-face,' then you've lost me, unfortunately. Google Starline isn't available yet, we're not there yet.
To put it another way, humans have learned how to communicate face-to-face, and for vast majority of the population, they would have to re-learn the entirety of what they know about social interaction to work remotely. That includes me. I love text, I love learning and sharing things on the internet, I love talking to people online. But even my brain equates socializing with something that happens in person.
Now, the reason I think it's important to talk about this is there's a very different type of argument that you could make for remote work, which is that work shouldn't be social. These people like platforms like Slack for work precisely because it is less personal. It keeps people professional, cuts down on chit-chat, makes it easier to ignore personal feelings, etc.
But this is a very different argument to the argument that you can have the same socializing experience on Slack that you do in-person.
As an example, I got to sit down and eat lunch with the CFO of my company the other day, just because we were both in the break-room at the same time. This is someone who is 30 years older than me and in a completely different part of the company. But we got to have a nice, if awkward, little chat. This conversation was very much borne out of learned social-skills that apply in person (i.e. we totally could have ignored each other, but since we're both used to talking to people in person, we didn't). It also only happened because we were in the same physical space.
Some remote-work proponents claim that this type of conversation could totally happen online as well. You could totally have an online-work-place culture where those types of spontaneous interactions happen, through many different mechanisms. But any mechanism where this happens online would require us to learn a completely new set of rules for social interaction.
The other argument pro-remote-work argument you could make is that this interaction didn't need to happen. It was a distraction, it wasted both of our time, it was awkward etc. Here's where you get the "I want my work life and personal life to be separate." I don't understand this reticence.
The other thing that I've started doing recently, that is like something that computers have always supported, is selecting text by clicking
moving the mouse to somewhere else, then holding shift and clicking. This feels especially weird, but cool, in text that isn't editable.
It's so funny how I read The Count 4 years ago and literally have not stopped thinking about it. Like I've forgotten half the characters and
most of the plot, but the vibes are etched in my brain forever.
"localized undo" would be a cool feature. Like "undo the last change on this line"
Edit (Feb 2024): Emacs has this feature.
What I could do is configure WhisperMaPhone to output gemtext from Django and then write a Gemini to HTTP proxy.
You make a Gemini request to some website, it gets translated into an HTTP request, sent to an HTTP server, and then content gets sent back over Gemini. Kinda solid.
I think I don’t trust people because I hold them to unreasonably high standards and then they consistently disappoint me.
Hate Dracula Daily on days like today.
I got all excited when I saw it in my inbox and then, it’s a receipt.
From the person who brought you "Thoughts" and "Super Thoughts", get ready for "Ideas"
I wish I was joking.
I love thinking.
Okay fine fine, I'll keep the links, my word
It's just easy to leave them in place, just remove the top-level link to blog.
The web is ephemeral.
There's this idea that web urls should stick around for 20 years. And while I love consistency, it's just not in the nature of the web to do that. If I want to re-organize my website in such a way that given content isn't on my website anymore, sorry. Websites are like store windows, not libraries.
On the other hand, I'm not opposed to people scraping my websites for the purposes of archiving them. Archive.org is very impressive. Or I have content (e.g. for my blog) in Git, so I'm not saying I'm going to erase my writing from the face of the Earth.
But I'm going to shut down my "blog" and some links are going break. Cope.
I don't normally like non-English songs in my music library, but "99 Luftballons" is the exception.
Chrome fanboys explaining why Safari shipping CSS `:has` in January, 5 months before Chrome, doesn't count as "leading."
Playing around with Volta. It's a node version manager written in Rust. It's so fricking fast compared to nvm. It's insane.
I don't want to "hur dur bash is slow Rust fast" but like. The tool designed to be fast is faster than the tool designed to be a shell script. wow!
Meanwhile the nvm users are like, 'I can speed up shell loading time I only invoke nvm if I use zsh's pre-hook command to test if the command that I'm about to run is `node` and then initialize `nvm`.' Like I ran `volta setup` and then had to check if it worked because I didn't believe it. Volta setup runs once and takes 26ms. nvm runs every time you open your shell and takes 600ms.
And that's not Rust vs. Bash, that's a fundamental architecture difference, of which the language choice is just a symptom.
I've been using Firefox for the past couple of months, but I'm going to go back to Vivaldi. Do you know why? Control+t in text inputs
doesn't transpose characters like I expect it to. Also, mouse gestures don't work in a couple of places since they're not a native feature.
But that's, conceptually, in my mind, I have to remember that Firefox's text inputs are not native text inputs but merely inferior clones.
Okay so we're changing something. Previously, I said I was going to clearly disclaim content-effecting edits. However, I'm going to add the
exception that within 5 minutes of the Thought being posted, I'm free to edit it to hell. For example, the last Thought, I wrote the first line, hit Edit, and then typed in the extended text immediately. This is mostly just for readability purposes. Adding "Edit:" is ugly and if I created a new Thought, it would go above, not below, the thought I'm appending to.
I just spend so much time thinking and it's hard to remember that that doesn't count for anything.
Not "hard" as in, I forget, "hard" as in I don't like it. And of course, that the thinking doesn't matter at all, but just that I don't credit for it itself.
Although, what do I "get credit for"?
Make a user-friendly CLI-app (impossible)
But seriously, the terminal is just monospaced and doesn't have mouse support. That doesn't mean it has to be unintuitive. Or maybe it does, what do I know
Estimate on how long before Facebook includes a copy of Chromium inside their iOS apps? 3 years?
“The real God taketh heed lest a sparrow fall; but the God created from human vanity sees no difference between an eagle and a sparrow.”
-*Dracula*
(Reference Matthew 10:29)
In my opinion one of the biggest mistakes that the JS community made was deciding that adding methods to global objects
(e.g. `String.prototype.getRandomLetter = function () {return this[Math.floor(Math.random()* this.length)]}`) was taboo, and should be avoided. This idea, generally, allowing one piece of code to add properties/methods to a class defined elsewhere, is a really powerful one. If I try to explain too much here I'm going to give the impression that this is something I came up with, but it's like a thing. Languages like Swift and Ruby and C# advertise this as a feature over languages that don't support it, like C++ and Java. Anyways, JS totally has this, and it would make a lot of things easier. For example, Rails overwrites native Ruby classes to implement specific behavior, creating a really seamless integration between the language and the framework.
Oh my word, version control system for a music library.
Freak that's sexy. Get rid of a personal library and liked songs and playlists and just have collections of songs (call them "lists"). And they're public and they have owners but other people can create requests to add or remove songs, and back it by git. *biting my lip*
Cloned the Sentry docs, it is all over. I'm just going to start fixing things they can't stop me.
I can't argue in favor of in-person work because if I tried people would jump in with the "I used to commute an hour each way" and I'm like
yeah, that's miserable. You should never.
But, speaking for myself, I really like working in person.
Update: There is a thread of people on the video convinced Tom has uploaded this before. The human brain is so weird.
Okay so I've definitely seen the mail-jumping that was featured in today's Tom Scott video before. And if you had asked me yesterday where I
had seen it, I probably would have told you in a Tom Scott video, but that's obviously not the case. My second thought is that it was in an episode of my favorite television show which I haven't thought about in 5 years, Fetch! with Ruff Ruffman, but a quick search doesn't surface anything there.
Side note, Tom Scott's channel and Fetch! with Ruff Ruffman are like basically the same show.
The problem is that it could have been like any show. "Kid's show that features sending kids to places IRL" is a surprising prolific genre. My current plan is going to read all the comments and see if any are like "I remember this from X."
The last post about migrating to fossil was a joke, I have decided. Not worth learning a new CMS.
From what I can tell, Deno Deploy just runs your code, which is supposed to start an HTTP server to listen on port 8000 to respond to a
single request.
We need a standard like CGI but for modern serverless scripts so that you can move code between platforms. Something like JSON piped to stdin.
I still can't get over Ruby. `example "foo", value: 5` is syntax sugar for `example("foo", {:value => 5})`
One of the reasons you don't really need copyright to protect code is because if you want to, you can just not distribute the source code.
One of the things about being a perfectionist is that I'm bad at giving up. I just kind of float in this limbo where I say I'm trying to do
something but making no progress on it.
I still can't believe the portal-building meta changed in like the last month. We've been running this game for 10 years.
Apache has like thousands of lines of C dedicated to parsing and sorting and creating quality values based on heuristics.
I suspect other web servers just don't support content negotiation at all and ignore the header.
People (including me) are like, 'HTTP isn't that complex' and then. You can specify the response content you want, based on how much you
want it, with up to 3 decimal places of precision.
I would rate my desire to receive an HTML page with a score of 0.65 and my desire to receive a JSON response with a score of 0.21.
=> https://developer.mozilla.org/en-US/docs/Glossary/Quality_values
"I've been hunting for a kindly ear but couldn't find one near, and wound up talking to myself"
-Talking to Myself, Watsky
So many fools aren’t familiar with the concept of health insurance paying your bills. Yes, the hospital has sent you a bill for vast sums of
money. You don’t get to make a Reddit post complaining about the American healthcare system unless you don’t have insurance. Don’t know if you have health insurance? You probably do. 90% of the population does.
The hospital is not trying to screw you over with ridiculous prices, they’re trying to get paid by the insurance company. One of the reasons the hospitals charge what they do is because health insurance companies will negotiate. If you don’t have health insurance, you need to go back to the hospital and tell them that. Tell them that you can’t pay the sticker price, and they will work with you lower your costs.
If you are a college student, in most cases, your college will require you to have health insurance. In some cases, it will be included in your tuition. And in most cases you will covered by your parents’ health insurance.
Do not refuse treatment because you aren’t sure if your insurance will cover it.
There a lot of bad things about the American healthcare system. It is a mess. It is not intuitive. But please do that research before making a Reddit post with your 5 figure hospital bill.
Overthinking is going to be the death of me.
If I fail to accomplish something in this life it's going to be because I overthought it.
We write words not just to be understood or appreciated by others, but to bask in the warm glow of beauty.
(This is a riff on the Rails Doctrine quote I posted the other day. It feels weird to put any sort of quotes around it since I've competently changed the meaning but I can't exactly not attribute it when I stole all the words.)
Dracula Daily Tumblr is wildin and we haven't even gotten to the action yet. Oh my word they're not going to be able to handle it. I'm not
going to be able to handle it.
Popularity contests are an interesting thing. Somewhere along the line I become a lot more agreeable to the idea of the wisdom of the crowd
I didn't realize how few PRs I've actually made to open source projects on Github. I probably need to do that more often.
The SwiftUI tutorials are all building these puny example apps that don't do anything. Their "handling user input" example just like binds a
boolean value to an instance of the `Toggle` view. Like. Okay I need to run code on user input, I'm sorry. How do I do that?
=> https://rubyonrails.org/doctrine Source: The Rails Doctrine
Transcript
We write code not just to be understood by the computer or other programmers, but to bask in the warm glow of beauty. Aesthetically pleasing code is a value unto itself and should be pursued with vigor.
You want to check if a number is between 400 and 599 (inclusive). Do you, option A, `value >= 400 && value <= 599`, OR
`value.to_s.match('\b(?:4[0-9]{2}|5[0-9]{2}|599)\b')`.
I can't get over this line of code because not only is it using a regular expression to check the value of a number, the regular expression it's using is awful. It's equivalent to `'[45]\d\d'`.
Somehow all these songs ended up in my music library that aren't bangers and I don't know how it happened.
Python 2.7 and Ruby 2.7 both sticking around long after the respective version 3s have been released is funny to me.
Swift seems like it's very opinionated about things. Like there's a right way of doing things, and swift has no interest in making other
ways of doing things work, even when those ways are unambiguous and arguably just as intuitive. This wouldn't be too much of a problem except that the right way of doing any given thing changes every couple of years when Swift updates.
*Automatic for the People* is such an interesting album. It has so much passion but less energy.
I started working on Flying Balcony again and it's really exciting. I think I'm going to be able create a really interesting interface.
Survive through Europe. thrive, die, belief in something greater than yourself or even the sum of your parts.
It would be really cool if Akamai used their Linode acquisition to bring their edge-compute infrastructure to individuals.
One of the interesting things about the push to move everything to declarative instead of imperative systems (Swift UI, Terraform, React)
is that it reveals how bad computers were previously at understanding declarative instructions. Programs that can understand declarative code feels like an important step before any sort of more traditional difficult problem in computer science (e.g. AI or natural language processing).
People don't understand that docker is 3 things.
Given a Dockerfile (a declarative description of a machine configuration, especially
installed software), Docker lets you do three things with it:
* Run in on a Linux host in a low-overhead container
* Seamlessly configure a Linux VM to run it on Mac or Windows
* Upload it to DockerHub so other people can easily run it or build on top of it
It's a mistake to focus on any one of these aspects.
That’s got to be a problem, right? Like just a memory leak in V8 or node?
The thing that makes this weird is that IIRC the kernel can just decide to not free memory. Like the app calls `free` but sometimes Linux goes, “well no one else needs that memory, we’ll just keep it allocated to you.” So sometimes you see that, where an app’s memory goes up after a large operation, and then doesn’t go down, and it’s not a memory leak, it’s just the kernel trying to be ready for future operations. But a) 11GB is a lot. Surely the kernel should start actually freeing at some point and if it’s not at 11GB I don’t know when it is. And b) It should have been able to allocate a MB, and re-use that same MB for all the operations. I never did a 10 GB operation. I might have done 1,000 1MB operations.
Look at this. This is htop output from astronomical theater. I restarted it just a bit ago (TIME is 1.16 hours),
and made some test requests to this page over Gemini. (For a bit of context, the Gemini version of this page isn't paginated, so it's just 700KB of every Thought I've ever had.) Anyways, it's using almost 12GB of RAM. VIRT is virtual memory; the kernel is telling it it has 12GB if it needs them, but this is a VPS with 0.5 GB of RAM and 2 GB of swap. It doesn't actually have 12 GB of RAM. And my code doesn't actually need 12 GB of RAM, it's actually using 28kb of RAM (RES). But V8 just isn't designed to be memory efficient so it's going to aggressively ask for memory and since Linux doesn't want to fail until the very last minute, it's going to promise memory that it doesn't have. Anyways I don't know if this is an actual problem or just a consequence of using V8. I hate node.
```
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
995704 root 20 0 11.8G 28852 15604 S 0.0 2.9 0:01.16 node gemini/gemini.js
```
(This is why astronomical theater isn't open-source, by the way. I regret using node for it.)
Okay around a third of the time it seems like it's astronomical theater (my gemini server) crashing
There are so many Tumblr posts about Jerma and many of them make him out to be weird or unhinged in some way, but I watched like
half a Jerma video once and he seems like the most basic white guy twitch streamer imaginable.
I don't understand why people get so emotional about Gemini.
This is about Drew and Sean, of course. Kinda don't respect either of them.
Had a dream that I had to write a ycombinator in Haskell for Biden in order to get a diplomatic immunity in the Ugandan embassy.
On the other hand, I legitimately want:
* People who choose software licenses to understand what that license is asking
* To comply with the letter of the rules of what I'm being asked to do
* People to understand that "free software" or "open source software" has very particular meaning and you can't just see code on GitHub and assume you can do whatever you want with it
There's a culture born out of the popularity of open source software that takes open source as the default. On the user side, this looks like people assuming that if code is on GitHub you can do whatever you want with it. On the other side, people+companies upload their code to GitHub and slap a license on it without understanding what rights they're giving up, and without wanting to enforce the terms. This the idea that a "open source license" really communicates "I'm not going to sue you," and this leads to "open source" being used to virtue-signal. When people use it to represent "giving code away for free," without understanding what they've legally said.
On the contrary, I think it's important that we remember that the default (under law) is zero freedom to distribute or modify. To quote the GNU GPLv2, "nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License."
Am I baiting someone into asking me why I've included a notice of modification at the top of the file? Yes. Yes I am.
This is malicious compliance with the GPL.
The problem is that the less time I spend on social interaction the more of a "thing" it becomes and the more it stresses me out.
This isn't a bit. I actually was like "wow it would be really easy for someone to get accidentally bitten by that clause" and then I looked
and sure enough I hadn't payed enough attention to the license when forking xapian-haystack.
FRICK! I'm in violation of the GNU GPL! Gosh darn it!
Xapian-haystack is distrubuted under GPLv2
=> https://github.com/notanumber/xapian-haystack/blob/master/LICENSE
I maintain and distribute a fork of xapian-haystack
=> https://tildegit.org/matthias/xapian-haystack
GPL also contains a requirement that "You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change." which I didn't do!
Frick!
I might be able to argue in court that I didn't modify the files myself, I only resolved merge conflicts between two already existing forks, but I don't think that would stand up. I would consider that a modification. Dang it!
I'm convinced that no one who has used the Apache 2 license has ever read it
=> /?show=95bd38a1-5051-4113-8937-7e7a83c0ab82
Please tell me Sentry doesn't actually use the regular expression that they claim to use to detect credit cards.
=> https://sentry.io/security/
Then search for "regular expression"
`1 2-3-4-5-6-7-8-9-0-1-2-3-$`
Behold! A credit card number!
All I want is a text editor with syntax highlighting for every language.
And VS Code has that. And vim has that (and neovim by virtue of compatibility). But that's it. (Okay I imagine emacs has to as well, right?)
Vim Polyglot is freaking amazing. It just has syntax highlighting for 600 common languages. I install it once, and in 5 years of opening files the only things it hasn't been able to syntax highlight are IBM RPG and Gemtext. (And it's easy to find Vim syntax highlighting packages for both of those.)
=> https://github.com/sheerun/vim-polyglot Vim Polyglot
I just don't understand why that isn't priority number 1 for people making text editors.
Anyways this Thought was inspired by BBEdit bragging about supporting "over two dozen built-in languages."
Accidentally lost some code with git (`git reset --hard` instead of just `git reset`. I knew I didn’t know reset had 3 modes and I knew I
didn’t want `--soft`. But that’s not the point.) I managed to restore my changes by scrolling up in my unlimited scroll-back terminal until the last time I had run `git diff`. So I’m thinking about unconventional ways of syncing up with git again.
Words next to quotes just aren't indexed here for some reason. Makes searching for things infuriating.
I have to solve the path problem.
The path problem is named for a specific instance of the problem that arises when manipulating paths in a webserver. The webserver has to take a URL-path (e.g. `/static/images/example.png`) and know that static files are served from, for example, `/var/www/example.com/`. And so it has to return the file at `/var/www/example.com/images/example.png`. Now the problem is not that this is hard. There are std library functions in most every language to do these kinds of path operations.
The problem is that "a path" has several different meanings. It could refer to the entire raw URL-path from the client, or the URL path after it's been sanitized to remove any directory traversal attempts (e.g. `/static/../../../../etc/passwd` needs to be rejected at some point), or the relative path to the image (e.g. `/images/example.png`) or to the entire file system path. Not to mention that all of these have variants with or without trailing or leading slashes. These are all very different semantically.
But despite their semantic differences, they're represented by the computer in exactly the same way. They're all strings, or maybe in a language with a generous type system, they're all `Path`s. And you want to have utility functions that can work on all of them, right? There is similarity there.
But this means that if you're writing a static web server you have to keep in mind the intended semantics of every path-style value at all points in your code, because otherwise you could end up passing something that starts with a `/` to a function that expects a relative path and end up with a path traversal vulnerability.
That's not to say "coding is too hard," this isn't one of these posts. This path example isn't even a hard problem, it's quite possible for one person to solve. The larger problem is that there are always, in coding, these larger, undocumented, semantic, understandings about the behavior of functions. Even functions that, at first glance, look to be composable in every possible way; even functions that your type-checker says are compatible. (If one function expects a serialized file system path starting with a slash and you ever pass it something directly from the URL, that's a terrible error.)
I'm not sure what the solution is. Possibly a more powerful (Thu-like) type system. Possible a different style of coding from the functional or object-oriented paradigms. Possibly better documentation or comments.
“It’s time to begin, isn’t it? I get a little bit bigger than it. I admit, I’m just the same as I was. Now don’t you understand?
I’m never changing who I am.”
-It’s Time, Imagine Dragons
I’m just not a very reliable person. I need someone to stand in front of me and take my bursts of insight, my bursts of passion and
creativity and genius, and package them into something easily digestible by everyone.
It’s easy to look at popular culture and miss that they’re portraying a hyper-sterilized version of even the groups they are portraying.
There’s a scene in Agents of Shield (which I haven’t watched all of, only bits and pieces, but this scene stuck with me), where some character declares ‘I am a god’ and is met with the reply ‘there’s only one God, and He doesn’t look like that.’ Which is an extremely sharp contrast to the very similar famous scene in Avengers; “I am a god” / Hulk throws Loki against the ground / “puny god.”
And what’s very interesting to me is that my reply to Loki even in the Avengers movie is “these people are blaspheming.” And even within the Marvel universe there are people who agree with me.
My point is that Christians are no by any means an un-represented group in media. Yet, in the Marvel cinematic films, they go out of their way to avoid giving any of the characters religious stances and all. Blockbusters like that are designed to appeal to literally as many people as possible, and to avoid making anyone uncomfortable.
It’s like, in the same way that characters in movies don’t leave to go to the bathroom, they don’t go to church or do their prayers, and at some point you’ve gone beyond just “cutting out controversial topics” and you’re really portraying a character that doesn’t represent anyone.
I’m not even saying this is a bad thing, but it is definitely something something to keep in mind.
One of these days I’m going to explain Policy to someone and it’s going to become clear how deranged I actually am.
Easy fix, thankfully. s/(width|height)/min-$1/g
=> https://ourjseditor.com/program/k2cvZM Minimum reproduction case on OJSE
MatthiasPortzel.com has a browser compatibility bug. THIS IS WHY. WE CAN"T JUST "USE SIMPLE HTML." IT"S SO FRICKING SIMPLE.
Clicking on a time stamp to jump to a post is so unintuitive and such an anti pattern it’s ridiculous
I’m a pacifist because I desperately need other people to be pacifists towards me. My anxiety cannot handle the possibility that anything
that I do could cause someone else to lash out and hurt me.
Do you want to guess if I’ve eaten dinner yet?
Now entering my maniac pixie dream girl era.
I think what's going on here is that I ate like a couple handfuls of chocolate chips and I now have excess energy.
I'm enamored with the idea of a team that uses git but syncs up by sending patchsets over Slack.
Stackoverflow runs into a kind of opposite of the XY problem where the person asking the question can't get help because the "answerers" are
too focused on whether they've been asked a good question.
One of the weird things about React is that there's some sort of difference between `<Component />` and `Component`
Thinking about how to re-organize my website.
There are a couple of approaches here:
* A blog, doesn't need explaining. I want to highlight that it is fundamentally chronological.
* A book, describing me or the things I've done or whatever. Rather than a log with distinct entries, this format is conceptually a single document (even if it's split across multiple pages or chapters), intended to be read start to finish.
* A dictionary of opinions. The idea here is that for any topic, I can write ~500 words describing what it is, or my views on it. So I could create a "dictionary" where each entry is a topic that links to my post about it. It wouldn't be chronological, like a blog, and someone reading it could jump directly to a topic that they're interested it. It would be a collection of individual documents that could stand alone, unlike option 2 (which views the entire site as a single document).
What I really don't want to do is create a personal knowledge base, or a personal wiki. And my concern is that that's basically what I described in #3.
There are a couple of reasons I don't want to create a personal knowledge base. Mainly, I think that it purports to contain a representation of the things that I know. And I think it does a bad job at that, because my mind and even my knowledge is a lot more fluid and fuzzy than can be expressed in a collection of pages. Similarly, since I can't transcribe literally everything in my head, I'm afraid it would end up being wide but shallow. It wouldn't be better source for any topic than a primary source, and it wouldn't be good representation of my mind.
The difference between a PKB and the ideal dictionary of opinions that I tried to describe above, is that in the latter I'm giving you "an opinion on X," not "what do I know about X" or "what is my conception of X." The latter 2 questions are very hard to answer with words.
My last problem with a PKB is that it purports that my thoughts or my conception of a thing doesn't change if I'm not thinking about it. That's kind of a weird argument to make, and it's not fixed by other options. But just because I thought something once, doesn't mean I can't change as a person and hold a different view in the future. What this means is that every entry in a PKB is inherently ephemeral, even if I don't revisit the topic. Like if I wrote a post about Khan Academy a couple of years ago, it would be very different in some ways from if I wrote one today. But I'm not going to write one today, because KA isn't something that I think about that much anymore. I'm not sure what the solution to this is, aside from the obvious ones of dating everything and/or auto-removing things past a certain date. Neither of which seem very in the spirit of a PKB.
What I'm leaning towards is a listing of ~10 projects on the projects page where I can describe cool work that I've done, and ~10 opinions on an Opinions or Views page where I can post a small number of active "blog posts." But once I add a new one, old ones would get rotated out of the listing, archived, and hidden. And then I can also set up an RSS feed for changes to that page if I want to.
By inherently limiting scope, it would let me make sure that the active pages are up-to-date, and also avoid the illusion of attempting to wholly describe me as a person.
If I didn't have this page, I would be in favor of writing couple-sentence blog posts, as is common in Geminispace. But if I'm going to write something for matthiasportzel.com I want it to be higher quality, and if it's going to be higher quality, I don't want it to go out of date (where at all possible).
I don't understand why no one wants to invest in a universal application that can open any file. It is the future, it is going to happen.
There are extensions for VS Code to let me open and edit Excel files. I can almost use VS Code as a browser (there are extensions for it but these seem really bad.) Sooner or later someone is going to create an application that supports plugins to open any file type, and it is going to be incredible.
"Using Lynx is like wearing a really good pair of shades: cuts out the glare and harmful UV (ultra-vanity), and you feel so-o-o COOL."
-- Henry Nelson, March 1999
According to stackoverflow commenter blueberryfields The Unlicense isn't legally sound in Germany and you shouldn't use it!
All these arguments against public domain licenses seem to boil down to 'the license wasn't written by my lawyer' or 'it's impossible to public-domain code' or 'no one's ever proven in court that this license works.'
It's like, if you assume that no one else is acting in good faith and your goal is to avoid a lawsuit by whatever means necessary, then I don't know what you want from me. If you're going to assume that I'm going to try to sue you, and that the judge and jury are going to misinterpret anything I say now to hurt you in the future, then I don't know what I can say to convince you otherwise.
Like literally, The Unlicense is like 'you can use this code for any purpose' and people are like, 'I don't trust that, stackoverflow commenter blueberryfields said that's not a legal disclaimer under German copyright law.'
I'll update this post with the username of the actual stackoverflow user later, it wasn't blueberry but it was something like that. Edit (9:43): It was "blueberryfields"
My hopes for JetBrains Fleet are so high. I'm trying to control my expectations, but it's possible that it instantly becomes my favorite
I fricking love gen z youtubers+streamers who try to imitate the slang of the rest of the generation by making comments about "capitalism"
(since communist takes are just a part of the language of the many in our generation), but it comes off as "fellow-kids"-ish.
Like I'm not communist and I'm not trying to gatekeep being communist. I'm just saying that some of these people are clearly not communist and are just joking about it because they're trying to appeal to an audience that is.
There are certain things you can do with video discussion of statistics that are really cool. I don't think I'll ever get tired of graphs
that go off screen in a video such that the camera has to pan up.
It's my opinion that Apache's `RewriteRule` is an anti-pattern and it is frequently used as a crutch.
I'm thinking it might be assonance and not slant rhyme that contributes most to this
I really do believe that configurations of words that sound good together are valuable, regardless of what they represent.
It just feels like no one has looked at a website talking about Ruby in the past 5 years. Like all of the links are dead and all the
information is out of date. Which is just such a shame.
Love auto-generated documentation
=> https://ruby-doc.org/stdlib-3.1.2/libdoc/cgi/rdoc/CGI/Util.html
Edit (:49): actual docs are here:
=> https://docs.ruby-lang.org/en/3.1/CGI.html
I don't even know
I expect Vivaldi's level of customizability everywhere now. I don't mind the Firefox defaults but I'm honestly surprised when I go to change
a keyboard shortcut and Firefox doesn't the option to change shortcuts. (Maybe I can do it at the OS-level? Hmm)
Is it possible I have ADHD? I'm bouncing my leg, listening to breakcore, fidgeting with a rubber wrist band, and having trouble reading this
code.
I have an addiction to thinking in new ways. An addiction not to novelty of thought, but to novelty of thinking.
"came" / "profane" is so fricking good, one of the only good examples of slant rhyme.
I think for me to be willing to use any linter, you would have to be able to disable specific errors on a per-line basis *in a config file*.
It seems to me that should be table-stakes. But the feature-parity (last I checked) was that you could disable an error entirely in a config file (e.g. I could tell the linter not to check "too-many-arguments to function" period) or you could disable it for a line with a comment (e.g. "// eslint:disable too-many-arguments" on the line with the function declaration). I think it should go without saying why both of those are unacceptable to me. But apparently I need to spell it out.
I would be okay with the linter letting me know "hey you're using a lot of arguments here, that's an anti-pattern." I would then think about how I could refactor that section of code, and possibly come up with a better solution. But sometimes I wouldn't; sometimes I'd decide passing a lot of arguments is the idiomatic solution. It doesn't make sense for me to disable the error globally, since in this case there would just be one exception to the rule. And I don't want to disable it in-line because I don't want my linter config to be mixed in with my code. I'm here to write beautiful code and adding a linter-specific config comment that is unintelligible to anyone who hasn't read the linter docs or written a linter doesn't help my code readability. (What does `AbcSize` mean in `rubocop:disable Metrics/AbcSize`? Obviously Assignment, branch, complexity size. How do you calculate that? (It's not addition.) Rubocop delegates explaining that to a page that only talks about C++. Apparently "lint rules should be understandable by the person writing the code" is not a goal linters try to achieve.)
Okay okay, the conclusion of the trilogy, what if you had a language with no symbols and an operator to check string equality, wow
Getting emotional at the thought of how some people create, from nothing, music, and then other people learn how to play that music.
Watching the Safety Third with Tom Scott. It’s reminding me how much I like William Osman as a person. (By which I just mean that I don't
like his videos anymore.)
I wish JSX had a better way of optionally including components than the `{condition && <Component />}` pattern. I mean it's not awful...
Characters are just single-length symbols. Strings are lists of symbols of any length. Wouldn't that be weird.
Opened a Costco 64-pack box of soft + chewy granola bars today. Let's see how long it takes me to finish them.
The reason that it feels weird for me to say that I'm addicted to novelty is that I kind of love habits and things not changing. But I
realize that I like habits because I don't have to think about them, and I love thinking about novel things. It's weird to me when people think about or comment on things that I wouldn't consider novel.
I did start rewatching Etho's HC season 7, an episode a day. Binge-ing faster than that starts to get stale.
I need to try out https://remix.run/ and compare to Fresh, Next, and static.
I just haven’t bought the whole serverless thing. There are infinite options if you want to host a static site, but I’m scared of getting vender-locked if I build for one company’s serverless platform.
On the other hand, every time I've tried to open AWS I've concluded it's too complicated so mad respect to those who understand it
So funny to me how Dev Ops is a job. My understanding of it is like `rsync`ing the files to a server and paying the AWS bill.
I just don’t like fighting people. I don’t want to have to carve out my own space in the world, I want people to move out of my way.
Cannot convince myself that “practice making my bed so that I can make my bed perfectly” doesn’t belong on the TODO list
It's just hard to feel like I have no one to talk to.
Part of my problem is that my standards include perfectly meeting everyone else's standards as well so that no one can fault me.
A lot of my problem is that I haven't eaten dinner and I'm really fricking hungry please
The problem is that my desires and my standards are not in line. So if I do what I want I'm not happy because I haven't met my standards and
if I follow my standards than I'm not happy because I haven't done what I want.
And I think everyone has to some degree, probably, but it feels extreme for me.
I hate doing archeology on Tumblr. Like this stuff is there or on archive.org or somewhere but it’s a pain. Where did you go Lucy?
I’ve said this before but I want to reiterate that I don’t use mind-effecting substances, not even alcohol. The posts here are the sober
thoughts of a highly rational mind.
I think my AirPods are gone.
Back to wired headphones like a pleb.
Pro: volume adjustment on the wire
Con: Can't play music from my watch
Can’t believe Paul spent 2 years rewriting Dark in ASP.NET, when it’s not possible to have more than ~1000 objects because all objects are
pulled from the database and manipulated in memory—there’s no querybuilder or anything.
Edit (Aug 25): I asked Paul and he said there is now a query builder. There might have been when I originally posted this Thought.
I love the number line in Wolfram Alpha results. Like yes I needed to know where this number is relative to other numbers next to it.
No posts on https://www.kqwq.me/thots in 3 days. It's like he missed that the point is to spam things quickly.
Other people just don't feel real. I think it's because I've spent so much time online, my conception of what it means to be a real person,
what thoughts and feelings you have
no that's not it.
(Oh yeah side note, almost any time that I end a line without punctuation, I haven't forgotten punctuation, I'm indicating that I'm cutting myself off, stopping that train of thought. I use it in several places, including the About page. The exception is of course when I hit the character limit on the first line and move to the second like nothing happened.)
A fair amount of it is that I'm bad at talking. So I end up listening more than interacting with people—which is fine on Twitter, but does feel fake in real life.
I want conversations to move quickly and feel fluid. But I think slowly. That's why I actually enjoy talking to some people. When I'm talking to some people, I can keep the conversation on topics that I'm very comfortable talking about. Common ground like past shared experiences or programming or a specific kind of fluff. But that's like it. That's the limit of what I can talk quickly about.
I think it just takes time, with new people, for me to loosen up. To learn what things they're going to react positively or negatively towards. And right now I have no one in that sweet spot.
Apparently I can mirror my phone to my computer, so that’s pretty cool.
When I was a kid you had to pay like $$$ to the people that had an app that let you do that.
I’m so bored I’m going to bed.
I need to figure out how to write, or develop a hobby that isn’t code.
The wild thing about the web is that it is the world’s most platform for apps, documents, or computer programs in general.
I've been thinking for a while that a Lindsey Stirling + AJR collab would be amazing but I didn't know there's a mashup on AJR's Soundcloud.
=> https://soundcloud.com/ajrbrothers/ajr-lindsey-stirling-im-readytake-flight-mashup "I'm Ready/Take Flight Mashup"
Lindsey Stirling and Ryan are both iconic editors so having both of them on a song is overkill. And indeed, this sounds like Ryan just remixed Sterling into I'm Ready, with the violin as background. But it's still incredible, like ah!, Ryan with the up-tempo violin is great.
Edit (:17): I should make explicit that I'm working under the assumption that it was edited by Ryan based on the fact that it shows up on AJR's official Soundcloud.
Can't believe they're making me write CSS.
They're not of course, I just have to add the bootstrap classes to the things, but it's like the same thing.
Super Thoughts is such a fricking dumb idea, and I'm excited to share it with all of you tonight!
I honestly didn't know that GitHub lets people with write access to the repo edit comments posted by other people. Iconic. Hype.
Love arguing with my co-workers about code-style in GitHub issues. Truly the peak of productivity and expression
I might have to re-watch Etho's Hermitcraft season 7. That was fricking goated. Basically the golden age of Etho. Which feels wild to say
because Etho has been so consistently amazing for 10 years now. But season 7 was something different.
“My grandma managed to set up Signal and contact me on it without anyone explaining it to her, which if you knew her then you'd know how
much of a real technical achievement that was. That's an absolute win for privacy. Granted she did it accidentally because she thought Signal was replacing Facebook Messenger, but a win is a win.”
=> gemini://moddedbear.xyz/logs/2022-07-07-re-signal.gmi Modded Bear - Re: Signal
“You do not delight in sacrifice, or I would bring it; you do not take pleasure in burnt offerings. My sacrifice, O God, is a broken spirit;
a broken and contrite heart you, God, will not despise.”
Psalms 51:16-17 NIV
I think
Google.com in 2001 had 10 links. Google.com today has 15.
Many people, including at times myself, would claim that modern webdesign
has a inclination to minimalism. But that's a superficial preference at best.
Google has simplified its logo, but it hasn't simplified its homepage.
Love how I can open Snapchat for the first time in weeks and I have one snap and it's from Team Snapchat
I'm "having a real one", as the kids say.
Ohoohooh i don't even have to type words here.
uharugalouighey
semllt
huruahu
shape
/-\
| |
V
Hehe
```js
async do {
// code here
}
```
would be a cool bit of JS syntax sugar, equivalent to
```js
(async () => { /*code*/ })();
```
I want my life to point to God. I want to be the voice of one in the wilderness who says, prepare the way of the LORD.
gist.github.com has a notification bell at the top of the screen, but clicking it takes you to gist.github.com/notifications which 404s
Time to first paint literally doesn't matter if half the content on the screen are loading spinners.
I blamed strictly typed languages for having auto-generated "documentation" but Ruby does it too. It's utterly useless.
=> https://thoughts.learnerpages.com/?show=6df0758b-1669-4eec-a729-dffd7c96a9e3 "auto-generated docs that list the types of your values does not count as documentation."
Escaping a single-quote in a single-quoted string, in C, and most languages: 'they\'re'
Bash (and other shells): 'they'"'"'re'
The reason I don't make playlists is that it's really hard to get into the mindset that I was when I made the playlist so they don't stay
relevant.
I made a playlist years ago called "Electric Pop Hype" and it's fire but it's completely missing a bunch of songs and artists. But I don't feel confident about that to update it.
These people on HN are arguing that Apple has more money than Google to spend on making a web browser.
Like I know Apple has more money than pretty much any other company, but Google is right there with them, and Google has a lot more incentive to push the web forward.
Anyways Safari is dead, FireFox is dead, long live Chromium.
The thing that I can't stand about Elm is that it was created as this competitor to React, but they couldn't be bothered to come up with a
JSX-like syntax for DOM elements, so you're writing these Haskell-style arrays that represent HTML elements and it's ugly. It's ugly.
I have social anxiety so I have my own bug tracker in the Notes app on my computer so that I don't have to interact with other people.
"So this morning I took the coward's way out and shipped a cron job that will simply restart the server processes one at a time every 4
(subject to change) hours."
You know what's really scary? Almost all of these thoughts still exist in my head, along with a bunch of other thoughts that aren't here.
Man there are a lot of thoughts on this website! I know that was the point but it's starting to scare me.
Trying to get an emotional response out of me (the reader) by inflicting pain on your characters is like trying to make me laugh by
inflicting pain on your characters. I see a lot of dramatic writing as no better than slap-stick comedy.
Thinking I'll change the background color in the light mode to `#FFFDFA`. Dark mode might go back to standard.
The world will be worse off without Technoblade's dry humor and his passion for the game.
His dedication in getting 10 million subscribers, 9 years after he set his mind to it, is inspiring.
"Technoblade never dies"
The computer science industry has gotten as far as it has by taking a bunch of simple things and stacking them on top of each other. It is
important we do not forget that.
It's just frustrating that I have to keep up the illusion of my sanity for the rest of my life.
If my watch is connected to WiFi it can download and play songs from Apple Music. Which makes sense but for some reason I assumed you had to
pre-load songs on it.
Kind of can't believe I'm just unironically jamming to breakcore. Something about having chaotic music playing helps keep me from being
overwhelmed by what I'm looking at. Like it puts my mind in the mindset of "we have to focus!" keeps my mind from wandering.
The big difference that I want to emphasize between FPG and Plato's theory of forms is that in FPG the *true* version of an object can never
be comprehended by a human. Sometimes people use "Platonic form" to refer to "my conception/idea of the of the object, as opposed to the version of the object in the real world" but that's just the difference between the object and your idea of the object. I'm saying there's a third thing "the real object" which is unknowable.
What's so profound about the Frosted Pane of Glass epistemology is that it allows for a reconciliation of the statements "I 100%
believe X is true" and "It's possible I'm wrong." The epistemology recognizes, no! is founded on!, human fallibility. Because humans can't ever conceive the true nature of anything, and that is recognized, a statement like "I believe" is can be thought of as "I understand this to be true, to the best of my limited understanding."
I read this Reddit comment probably when it was posted 7 years ago and it made such an impression on me. I haven't reread
it until today, I don't think, but I've remembered, if not most of it a lot of it (should have taken the goat, women are better at climbing than men, the three-strike system, climbing is more expensive than you thought, suave motherfool (at the time I was using a browser extension (that I wrote myself (okay it was a bookmarklet)) that replaced curse words with alternatives like "fool"), the perfectly-nested multi-level parentheses, ah!).
This is deep in the Matthias Lore Archives.
"suavemotherfool" was a computer password of mine for a while.
=> https://www.reddit.com/r/AskReddit/comments/3157lu/comment/cpz2x14/?utm_source=share&utm_medium=web2x&context=3 content warning, strong language, sexual themes
Still not over the throw-away scene in *Check, Please* where he gets stuck talking like he's doing a post-game interview.
I complained about my computer being too slow so my company upgraded me to a 2.6 GHz 6-Core i7 MacBook Pro <3. But like switching to esbuild
would have made more of a difference.
The mouse just moving from one monitor to another is amazing. We totally could have ended up with one mouse per monitor and a keyboard
shortcut to switch.
Decided I want this on my wall
=> https://cdn.vox-cdn.com/thumbor/aJNFqf81ds9785AgmYkdWiboTNU=/0x0:2000x4286/fit-in/2000x4286/cdn.vox-cdn.com/uploads/chorus_asset/file/21967143/blazers.jpg University of Alabama Birmingham 19188 "Steamroller" formation poster
I'm serious, I'm copy and pasting these JSX components from Next.js to NanoJSX+Deno and the SOLC go from 4k -> 1k somehow
After examining many static site generators, I've landed on NanoJSX for my rewrite of MatthiasPortzel.com
Of course, NanoJSX isn't a static site generator, it just renders JSX to a string and I'm having to build all the loops to iterate over files and directories myself. :|
But it should give us very close to feature parity with cleaner code and 1/10 the page size.
So, I can't paste into the Chromium browser console.
*All I want is software that works.*
I'm sure the anti-paste thing has forgotten that I opted into that years ago and is now in a corrupted state where I can't paste but also don't see the prompt that tells you how to allow pasting. (Or maybe it's only FF that has that prompt, IDK)
This is your periodic reminder that Student Loans slaps so fricking hard
=> https://youtu.be/hv5Dzqoi6Xk
Kind of sick of people typing in all lower case to be hip. Like I never jumped on the trend because I kept expecting it to pass but
it's like the amount of lowercase required to be hip just keeps increasing.
Would it kill you to hit the Shift key?
(This is about the antisoftware.club manifesto which is 1,400 words of prose without any capital letters. If your Twitter username is lower case I don't care)
Grabbed @matthias on https://cohost.org but I don't have an invite link. If you have one hmu
hmu stands for "hit me up." That's what the kids are saying these days.
Firefox has a feature called alternate style-sheets, which allows websites to provide multiple stylesheets and users to select between them.
Theoretically, I could use this to provide you, my reader, with optional themes. But the problem is I don't want to give up that control. I don't want you to pick what my site looks like. I want us all to suffer together when I chose a psychedelic color theme.
One of the most important realizations that I've had is that mindless content consumption, reading Reddit, watching TV, requires mental
energy *afterwards* to process it. Even if I'm too tired to do anything except read Reddit, doing so keeps me tired after I've put my phone down and stopped.
In my opinion the weirdest git behavior is that if you have uncommitted local changes and try to pull, you have to stash, pull, then pop.
You wouldn’t set it in literally our world, you’d set it in a semaphore-punk world, where communication technology stopped developing past
the invention of the semaphore, so that you could include the telegraph monologue mostly as is.
Gritty, modern, adaptation of *The Count of Monte Cristo* where a black man has been unjustly convicted. Ah!
The web standards committees show no sign of slowing down.
I legitimately think the addition of features to the web platform will stop when:
* a browser like Chrome gains enough market share that it can start vender-locking websites until it gains 100% market share
* a browser like Safari uses its platform advantage to capture enough market share that it can refuse to add features and hold the other browsers hostage
* JS becomes so bloated and unmaintainable that it becomes impossible to write bug-free websites (sic, we’re here already and no one cares)
* something radically different (ten times better than the web) comes along and the web dies
> Error-driven development works like this: you write a piece of code and try to run it. If you get an error when you run the code, you
> write just enough code to fix that particular error, and nothing more. You repeat this process until you have the result you want.
This is exactly how I code
I just love undocumented DSLs. Absolutely amazing. Nothing better.
Just invent your own syntax, claim that the abstraction is not leaky,
don't describe what you're doing anywhere. Aghghahhh
At some point I need to do a meta-analysis of Thoughts where I talk about things I’m afraid of.
I need to figure out if my fear of being boring and my fear of losing control of my self both stem from a pride that keeps me from surrendering myself to God.
cmd+shift+f to open Github Code Search on the current Github repository is amazing, just try it
“I have no fear of drowning, it’s the breathing that’s taking all this work”
-Work, Jars of Clay
The best, bad, sequel titles:
* Breakin' 2: Electric Boogaloo
* 2 Fast 2 Furious
* Alvin and the Chipmunks: The Squeakquel
I know what you're thinking. 'Matthias, it is a crime, to put what is undeniably the best sequel pun, "squeakquel" at third place.' But one of the factors that I considered heavily when rating was the ability to parody. And "The Squeakquel" only works as an Alvin and the Chipmunks title, whereas you can throw "Electric Boogaloo" after anything that ends in 2 and it is hilarious.
Also I would like you know that there was a Breckinridge Jazz Hand named Wyatt Mason II and we called him 2 Wyatt 2 Mason.
We have so much fricking more we can still do with computers. We're not going to slow down for the next 30 years at least.
I'm just thinking about like IDE/code-analysis features—we could totally have a button in the IDE that simulates running the code and generates all possible outputs. Like IntelliJ will point out if you can transform a boolean condition into a simpler equivalent form (like `if not (not a and not b)` -> `if (a or b)`, if I remember DeMorgan's). Why can't we do that with the entire program?
And like, I hate IDE features like type checking—but mostly because they're bad. It seems like I get false positives from TypeScript type checking 30+% of the time and an acceptable false positive rate for a static code analysis tool IMO is close to 1%. But that's something we can bring down in the next decade.
The thing about pushing yourself hard is that it never feels like you're pushing yourself hard enough
Apparently this means Firefox raced the cache and the network and it was quicker to transfer 3kb over the network than it was to read the
page from disk cache. That's iconic. This laptop has an SSD. I mean it's not a good SSD but it's an SSD. It read the other content (images+scripts) from the cache, so maybe since that took a little while, it was able to complete the download first. Still, the whole page is only 300kb. The server is in Utah. The internal SSD is literally 0% of the distance. It's quicker to roundtrip a couple packets to Utah than it is to read 300kb from the disk.
The thing about React and even something like hotwire.js is that you run the risk of making your site *seem* slower, even if you've actually
improved time to first content paint. There's a certain advantage in using the browser's native loading mechanisms in that users think 'the browser is loading.' On the other hand, if you serve a static page from a CDN, the user very quickly gets to see your, branded, loading component, while dynamic content is loaded from the site. But this can mean that the user starts to associate your site with loading, regardless of the actual loading times.
It is my opinion that one of the most comfortable positions possible is sitting on the floor with your back up against a wall and I will
never survive in polite company.
I mean seriously, your legs are straight and not supporting your weight, you have something to lean back against. You can lean your head back, but it's not like you're in a recliner.
This might be my new favorite Chromium bug.
=> https://bugs.chromium.org/p/chromium/issues/detail?id=916460
First reported to Brackets in 2012
=> https://github.com/adobe/brackets/issues/2419 adobe/brackets #2419
Most recently reported to VS Code 12 hours ago
=> https://github.com/microsoft/vscode/issues/153061 vscode/issues #153061
Brackets, Atom, and VS Code blame Electron, Electron blames Chromium. Chromium blames macOS.
=> https://github.com/atom/atom/issues/1669 atom/atom #1669
=> https://github.com/electron/electron/issues/2617 electron/electron #2617
I feel like there's a lesson here but I don't know what it is (besides from "complex software is bad"). Maybe "vertical integration is good"?
```zsh
my-accept-line () {
zle accept-line
if [ ${#${(z)BUFFER}} -eq 0 ]; then
if [[ -e .git ]]; then
echo
echo -n ${"$(git -c color.status=always status)"[0, -1]}
fi
fi
}
zle -N my-accept-line
bindkey '^M' my-accept-line
```
If you'd like to follow along with my 1,100+ song library, I've copied it into a public Apple Music playlist.
=> https://music.apple.com/us/playlist/everything/pl.u-V9D7gq7FRvX7P7 Everything by Matthias on Apple Music
If you don't have Apple Music, just don't click that link. The Apple Music web interface does poorly with large playlists, and the songs that, by chance, ended up on the top are not, on the whole, reflective of my music taste.
A Stackoverflow developer survey respondent is more likely to say yes to "Do you use SVN" (5.18%) than "Are you a woman" (5.17%)
Only the hardest hitting analysis on Thoughts Learnerpages
I have no idea why VS Code is unhappy with me. I'm turning smart code completion back off, I take back what I said about wanting some types,
IDEs are dumb.
I thought I'd never say it but I'm now working on a codebase that is too complex for me to keep it all in my head and I wish *shudders*
that we could have just a little bit of TypeScript types on these objects.
Every lodash function is available as its own npm module. This is iconic.
=> https://www.npmjs.com/search?q=keywords:lodash-modularized
Apparently my Apple Watch has 32GB of storage space??
Brb downloading my entire 1000+ song library onto wrist so that I can leave my phone
at home.
Growing up both of my parents worked for non-profits. It was humbling to know that, indirectly, almost everything we had came from donations
The thing about making your book stressful is that at some point you’ve made it too stressful and I have no desire to continue reading it.
“Learning how to program is hard but most people can do it. There are two requirements, really: emotional regulation and patience.”
“Look at the birds of the air; they do not sow or reap or store away in barns, and yet your heavenly Father feeds them. Are you not much
more valuable than they?”
Matthew 6:26 NIV
Lewis talks about living in the present in *The Screwtape Letters*, something that is hard for me. I can feel what Lewis means, what the Holy Spirit is leading me to—not a sort of “do whatever you feel like right now” but “do what you know you need to do right now and trust that it will work out for you.” I know that sounds easy, but my perfectionism makes it difficult. Perfectionism is useful when making decisions but after the decision has been made you just need to roll with it.
This sort of perfectionist rejection of perfectionism ties directly to the idea of “doing whatever is easiest.”
I feel four emotions strongly. First of course, loneliness or longing, then pride, purposelessness, and one that is more difficult to
describe but which I would normally call the desire for perfection or frustration with imperfection.
“People want an authority to tell them how to value things, but they choose this authority not based on facts or results.”
Clive really argues that two people who f and then get married because they don't want to desecrate that sacred bond, even if they don't
really like each other, have a more solid relationship than two people who get married because they've fallen in love.
Remind me to edit with source/quote once I'm back near my copy of *The Screwtape Letters*
Edit (Jun 16, 9:05 a.m.):
For background *The Screwtape Letters* are an imagined collection of letters from one demon to another, so when it says "thanks to us" Lewis means "thanks to the work of the devil" and when it says "the Enemy" it means "the Christian God"
> The Enemy described a married couple as "one flesh." He did not say "a happily married couple" or "a couple who married because they were in love," but you can make the humans ignore that.
…
> The truth is that whenever a man lies with a woman, there, whether they like it or not, a transcendental relationship is set up between them which must be eternally enjoyed or eternally endured.
…
> Humans can be made to infer the false belief that the blend of affection, fear, and desire which they call "being in love" is the only thing that makes marriage either happy or holy. This error is easy to produce because "being in love" does very often, in western Europe, precede marriages which are made in obedience to the Enemy's designs.
…
> humans...can be deterred from seeking marriage as a solution because they do not find themselves "in love" and thanks to us the idea of marrying for any other purpose seems low and cynical. Yes, they think that. They regard the intention of loyalty to a partnership for mutual help, for the preservation of chastity, and for the transmission of life, as something lower than a storm of emotion.
-p 82-84
I think what's going on here is that Lewis is using a definition of "being in love" which today would be closer to "love at first sight." I don't think Lewis is saying that you shouldn't love your wife/husband. (Notice how he always quotes "being in love," I think to make it clear this isn't real love.)
Rather, I think he's defining "being in love" as the inherently childish, transitory, "storm of emotion" which exists only at the beginning of a relationship. And he further argues that basing a relationship on *that* feeling is a recipe for disaster. At another point, he describes how a new couple might be spontaneously moved to do things for one another which would be unreasonable and unsustainable for the entirety of a marriage.
But I just can't stop laughing at 'there's nothing wrong with getting married for the "preservation of chastity."'
The greatest advancement humanity has made since 1954 was realizing that Turing’s death was a tragedy.
Edit (10:32 pm):
=> https://thoughts.learnerpages.com/?show=97a82374-a097-4bf0-b70f-7eb98491382e Turing invented and then solved computer science.
Yeah having a Moment
Everyone on Reddit hates me because I don’t support abolishing the church and everyone in the church hates me because I mostly enjoy using Reddit.
Of course that’s not true. Of course not everyone hates me. I know that.
But normally it’s like there’s a big voice in my head that makes sense and sometimes the small voice says or suggests things that clearly aren’t true and the big voice is like, no. But sometimes the big voice is saying that everyone hates me and the small voice is like, “obviously that’s not true”
Anyways I ate sometime, took some deep breaths, and walked around, and I’m feeling better.
I have like these depressive Moments. It’s really hard to remember that they’re temporary, not normal, and I just need to ignore them as
much as possible.
Downvoted to -4 the other day for commenting on Reddit that telling kids about the existing of heaven and hell didn’t constitute child abuse.
A lot of my strict adherence to a moral code—I don’t lie, I don’t cheat, I don’t drink, etc. is motivated by ego more than morals.
I say I want to be at peace, but I don’t. I’m restless. I crave novelty. You could make some complex argument about novelty being from the
devil, but by necessity it is different and the only reason to want something different is if you are unsatisfied with what you have; and so, a desire for novelty and unsatisfaction go hand in hand.
(From the plane a couple days ago)
Someone gave me a MidJourney beta invite, this is too much power, please, I'm going to end up buying a subscription.
I’m postponing the migration of Tweets onto this website. I realized there’s no real point and so I’m not going to motivate myself to finish
the annoying parts of the code. That is to say, I’m going to work on this website when I feel like it, and not for any other reason.
Just watched a Love Death and Robots episode about how the 0.1% are going to escape the climate disaster by flying to Mars and leave
everyone else to die, and then at the end of the episode they drop a QR code for their NFT
What timeline are we even in.
The more I work on the Tweet migration, the more tempted I am to just refactor Thoughts on here entirely to support some sort of threading.
Thinking a lot recently about one of the best sermons I’ve heard, in which the pastor took a bike wheel, and said ‘God is the hub, and we
are the spokes. The closer we get to God, the closer we get to each other, and the closer we get to each other, the closer we get to God.’ (One of the things that made it memorable is that it was about 5 minutes and was delivered through pointing at pieces of paper and the wheel—no talking.)
Willard in *The Devine Conspiracy* argues something similar—that being a Christian means surrendering your own will and joining God’s “kingdom” (here defined as the sphere of God’s influence, where God’s will is carried out) and that teaming up with God in this way is the most effective way of aligning your will with others.
I think the thing that makes Tumblr so fun is that people can just keep adding posts until there’s a funny punchline.
Programming is a kind of fantasy land, in that it is a world distinct from our world, with its own set of rules.
“I miss people. The human interaction. Seeing the emotion in their face.”
This is normal. This is a normal website. This is a normal website with normal thoughts. Filled with the normal thoughts of a normal person.
That's me, a normal person, with normal thoughts. God is good. I am something else. The small pain of finite meaning in the face of the infinite truth of everything.
Insanity.
Freedom.
I can do whatever I want. I have complete control. complete and perfect control over myself.
Right?
Surrender.
Safari doesn't support regex look-behinds; the website I'm trying to use doesn't work; RIP, F, L, ratio
Safari's devtools are so buggy. It's a shame, they're so good.
I mean maybe it's not possible for anyone but Chrome to make a web browser anymore.
I'm going to be an old man using the Atom One theme. It's just so good. Especially Light is better than almost any other light theme.
I'm really excited for Catppuccin Latte to get ported places, because it seems pretty cool. But it's also hard to get sufficient contrast with those colors.
"Our software might have bugs, but at least I'm spending my time on the important parts of the job: custom slack emoji"
The keyboard-only people are trying to use the keyboard for everything to save time moving their hand to the mouse, but like, have you tried
moving the mouse closer to the keyboard. Save a bunch of time that way.
I'm employing a sophisticated debugging technique known as 'running the code and seeing what happens.'
Can't fricking wait for the Catppuccin iTerm and VS Code themes to update with a light theme.
Hm.
It occurs to me I could update them myself.
Hm.
I'm unfortunately not an infinite number of people. I want to be an infinite number of people but I'm only a finite number of people.
Lodash has practically created their own dialect of JS.
I don't even know
This Thought brought to you by `_.isNil`
"The first, is that God is better than the world's best thing.
God is better than the best thing that the world has to offer."
-How Great, Chance the Rapper
I just feel so sick to my stomach, so lonely. I have a headache every night. I'm too tired to do anything that I want to do.
I don't know, it could be worse. It has been worse. I just. uh.
“I think what we’ll remember most about BeReal is that we were so desperate to find a decent place to connect online that we were willing
to play by even the silliest rules of engagement. For the moment, it’s been pretty nice. I can’t wait until we ruin it for everybody else.”
Hot dang 😭
Two types of people in a Discord channel called #crimes, "I do not leave home without my carry pistol" libertarian and
"most police should be completely unarmed" liberal. They may disagree on gun policy but are willing to put that aside to insult the police.
Honestly I kind of miss TypeScript. I never thought I'd say it. I'm sure if I actually had to use Typescript I wouldn't be happy about it.
Moving Tweets over here has stalled since many Tweets have pictures associated with them. (I posted pictures more frequently on Twitter I
think.) So I need to write code to download those from Twitter. And of course some Tweets or threads (I wrote a neat bit of code to unroll Twitter threads into a single Thought) have multiple pictures, and I have no idea what to do about that (this site only supports one piece of media per Thought).
Pop quiz: You're a python programer. You have a web request that is one line with the Python standard library. No, what are you doing? Stop
pip installing requests. There's no reason to use requests. It's not. Ahhhhh
Banging my head into the wall.
requests is like jQuery for Python programmers. They just can't live without it and it looks exactly the same to me.
I have over 900,000 pixels in my web browser that Twitter.com can control and it shows me one (1) Tweet.
I'm working on migrating my old tweets into a backlog on this website. Wow. Re-reading is wild because I agree with most/all of them but had
forgotten most/all of them. As opposed to Thoughts, which I reread periodically frequently enough that I remember (or at least am not surprised at) most of them.
Need to stop trimming white space from the front and end of posts here, I don’t know why I thought that was a good idea.
I should make more art.
A salamander sitting on a rock by the beach.
A submarine and a police car with a hat.
Something about Python requiring whitespace and my belief in the subjective nature of beauty in code and PEP8 and Black and Ruby.
One of the things about being "good" (read: experienced) at programming is that I tend to favor debugging techniques that leave as little
room for error as possible. If I have a line of code that doesn't work, my style generally is not to look at it or think about it or even "rubber-duck" at this point. I tend to jump immediately to assuming nothing and either wildly printing variables or binary-searching between the present and a previous working state.
People complain about JS's date support but I have a date in the form "Sun Jun 07 06:57:25 2020" and Python just won't handle it.
Only ISO dates in Python I guess. Going to have to like call out to JS or something I don't know.
Edit: nevermind I missed `strptime`
I feel bad for the nvm maintainer. Because he's strongly opinionated that nvm should be written in bash. And I respect his opinion, but he's
wrong. And he has to deal with people coming in and telling him all the time that he should rewrite nvm in literally any language other than bash. And he has to explain to people that he actually really enjoys maintaining a 4,000+ line, single file, terribly slow, shell script.
I'm serious I don't know how to turn this off.
I disabled the Python VS code extension. I still have syntax highlighting somehow and that's
all I really need.
In what world is this a helpful debugging experience????? I'm trying to type a print statement! Suggestions are disabled! Inline details are
disabled! Code verification is Disabled!
I am sick and tired of scrolling through VS Code settings trying to turn off popup ads (or "auto complete suggestions" as they call them)
Stackoverflow does the thing where you lose karma yourself for downvoting someone, and I have to ask myself, ‘is it worth it to downvote
this jQuery user?’ And the answer is yes.
It makes me feel sad because I feel like it's a reflection on my character.
I don't regret my actions. Regret is not something that I frequently experience.
In short, I feel resigned to it.
I feel alone, both because I feel they don't want me, and because I know that my friends will be having fun without me and because I don't have another life setup, as much as I pretend that I do.
I'm scared. I don't know if I can do it.
"And, the trouble is, we don't know who we are instead."
“But Justo wasn’t crazy. He was just unwilling to submit to what most people considered normal.”
And
“He didn’t believe in perfection. How could he? Perfection was God. Unattainable. Perfection was really only the mask of ambition, and Justo wasn’t driven by ambition.”
Word dump
ah frick these are words from inside my mind boy i do not have the sanity to create the things that I want to never be destroyed on this earth or in the heavens beyond our comprehenious in time sheep yelow words flow from my mind like they've never had a chance to escape before and this is the opening of the floodgates that destroys a city and a town and the world and everyone behind thier own minds is light oh
I just touched the bottom of my mouth for the first time in a very long time. I was surprised at how soft it is.
"How do good men become a part of a regime? They don't believe in resistance."
-The Resistance, Josh Garrels
I have iTerm set to unlimited scrollback and I'm just running this process for days without closing it. I'm going to see at what point iTerm
gives up on storing scrollback but I'm currently at 29,000+ lines with no issues.
People assume that since Gemini doesn't have a lot of users it's free game to suggest things, and they don't understand that the protocol is
finished, people are using it, there is no intention to attract users, and there is no path to make breaking changes.
And the Gemini mailing list is called rude but I guarantee you if you go on the mailing list for any other project which is done and is in maintenance mode and suggest adding features the reply is going to be "no" in about that many words.
People criticize Gemini based off of how well it fixes their problems with the web. And it's like impossible to describe to them that Gemini
was designed to fix Solderpunk's problems with Gopher.
If you want to fix your problems with the web, make your own protocol.
This HN user is like 'Gemini does nothing to fix the problems with embedding LaTeX on the web!' And I'm like. No. It doesn't. Did you expect it to? Sorry?