You gotta get creative. Walking down the street I met this one guy who's like 70, eccentric, military vet, owns the house, and rents it out individual rooms for $550/month. He's paid off the mortgage, just needs to pay taxes, and he's clearly making a profit since he's retired and constantly has new projects working on the house. For context that's 1/3 asking price out here.
> Also, ICQ would say uh-oh when you got new messages
Wow, as soon as I read that, I heard it in my head, exactly as it was. Since I wasn't sure it was a false memory, I looked it up[1], and yeah, it was exactly the same, except in my head it was in a slightly lower voice.
Amazing. Instant audio time-travel just by reading a comment.
This is what JSX is great at, and it's why I wrote a new web framework that basically just uses JSX for server-side views, that work the way I always thought JSX should: it just returns an object that you can then render into a string if you want or transform first. This is also how I made it so you can put <script> and <style> tags into any component, and it'll de-dup them before rendering, so that you can keep your component scripts and HTML close by each other in source.
It's really interesting to have been on the internet for decades and have watched fads like this come and die so often. Like the one where everyone made their avatars be simpson-style, or the one where everyone started putting their pronouns in their profile, or that time when half the internet switched to ICQ and I'm still not sure how it was better than AIM but I was convinced it was. It's such an odd feeling to be outside these fads and seeing them so objectively.
A few months ago I went to install Notepad++ and the installer says "Software is like sex: It's better when it's free" so I closed and deleted the installer. (It still says that today.) Glad to see an alternative I can install!
I find that having one commit per logically-grouped set of changes really helps me to focus on those changes and not get distracted. Before I got into that habit, for years I would try to cram so many features in at once, and would have a really hard time keeping track of each of their progress and what's left to be done for each, because I tried to do them simultaneously. No more.
The main feedback I have is that I wanted to read this near the end of my lunch break, because I've been interested for years in the idea that a reasonably-restricted subset of TypeScript (who needs all that dynamism) can almost definitely be compiled to machine code and be made super fast, faster than V8 -- so I was looking for a TLDR in this article and spent a couple minutes looking for it and then just reading whole paragraphs and still don't really know what you've got here.
One argument against 100% test coverage that I've never heard articulated in my decade career as a professional software engineer is that we need to learn to just trust trustworthy software engineers. Yes, there will sometimes be mistakes because we're human. But I'm convinced 100% test coverage is a form of extremism. Once an engineer has proven their ability, and as long as they continue to prove their ability, then a test suite becomes a new kind of tool: not one to prove to management or stakeholders that the code works, but one to prove to the senior engineers that a certain spot of the code works as they intended it.
One pretty decent Magit alternative I found was lazygit. For a long time after quitting Magit/Emacs I just used git's CLI, but lazygit is pretty great.
What you're describing is a lack of engineering in modern software. That's not inherently a bad thing. Arguably a good thing, because we have more problems solved enough to be boxed/canned. But I'm not satisfied with a lot of these boxes/cans, which is why I started rewriting my personal website using completely new techniques based entirely on generic engineering and problem-solving principles [https://novocantico.org/]. My day job is still gluing other software together, but at least I'm able to try to innovate something in my spare time, and open-source it.
Sure you can. Open up your VS Code extension in a VS Code window and live-debug it. I'd bet the process is probably very similar when editing VS Code yourself, but the point of the extension system is that you usually shouldn't have to.
I used Emacs almost exclusively for half a decade and got pretty good at it. But I feel like VS Code is the natural evolution of all the great ideas of Emacs. So I use VS Code almost exclusively now.
Who knows, maybe someone who works on Chrome or Edge or Safari is reading this thread and will talk to their higher-ups about using it somehow. (Wishful thinking?)
Relating to it being the "oldest problem ever", there are some interesting philosophical properties of certain numbers. Augustine wrote about certain numbers quite a bit in his voluminous City of God (and probably elsewhere). If you can find it online, it's worth a read.
I try to lead as ordinary a life as possible, within reason, and use general problem-solving techniques for any issue I need to solve. 99% of the time, this doesn't happen by writing software. Which, it turns out, is actually a pretty good thing, because writing software is slooooow for most mid/big-sized problems, and overall if I'm not getting paid for it, it's usually a net loss. Plus it means more time off the computer, going out and actually being an active member in society.
First and foremost, have a purpose or goal that's worthwhile. Everything we do starts with where we're coming from and where we're going. What you're describing is essentially low-level burnout. The cause of burnout is that we internally realize that our goals aren't worth the time and effort we're putting into them. The right solution is to find goals that are. This is how many people have been able to push themselves far past "burnout" levels without burning out. Because their purpose is rock solid.