It’s one of those tools that’s well designed and you don’t need a thousand line configuration file to be productive. The modal editing style is also an improvement over vim/neovim because you do selection -> action rather than action -> selection. Lastly, it’s written in Rust, which is not a plus purely because of that but because it’s a lot easier to contribute code changes to or tweak a modern Rust codebase.
HN user
bgar
Pretty much every engineer needs to use Vim/vi when logged into any server, so from that point of view, this shouldn’t even be a question. I don’t think knowing how to use a modal editor in 2026 is a flex anymore, it’s just standard. But if you’re planning to commit to modal editing as a lifestyle, you should be using Helix, not Neovim.
Why quantitative? I have friends at most major tech companies and I work at a startup now. You shouldn’t write by hand what can be prompted. Doesn’t mean the hard parts shouldn’t be done with the same care as when everything was handwritten, but a lot of minutiae are irrelevant now.
Well, on the surface it may seem like there’s nothing being created of value, but I can assure you every company from seed stage to unicorns are heavily using claude code, cursor, and the like to produce software. At this point, most software you touch has been modified and enhanced with the use of LLMs. The difference in pace of shipping with and without AI assistance is staggering.
I empathize with this cause circumstances often force us to move to a less than ideal location, but with everyone doing RTO again since 2 or 3 years ago, you slashed a huge percentage of the job opportunities out there.
I would say you can take opposite route as well. Become even more of a T-shaped engineer than you were before. For me that meant transitioning to vertical roles (i.e., performance engineering) rather than backend engineering. Sure, an AI can understand every level of the stack but reasoning up and down at every level of abstraction still has a human element to it (at least for now).
http-request-validator is infinitely superior to “zephyr”
Is it though? How are you going to differentiate between 10 different variations of http-request-validator repos on GitHub? I think both have their downsides, but making the name super generic sounding is arguably worse. What I don't like about names like zephyr is that they're purely marketing-driven; people end up picking a zephyr over a http-request-validator purely because the name is sounds "cool" to them, even though http-request-validator might actually be the better library. And don't even get me started on people naming their projects random Japanese words.. it's like the equivalent of nicknames that Thai people use, which are just random English words like Ice Cream or Thank You.
Maybe the happy medium is, like you said, names that contain a hint as to what they do, like Actix (actor model). But TBH you kind of still have to look it up to know what it does, there's no way you're just going to infer that. Maybe later on it helps you remember what it was for though.
there’s a serious push to on-device inference
What push are you referring to? By whom?
IMO you should just transfer internally to a Deep Learning related team. That’s the path I’m taking, and while I wait for my new start date, I’m reading the important research papers etc. It shouldn’t take you as long as you think.
Any software developer can access GitHub and StackOverflow - can they do it in a single shot as quickly as GPT?
I think the answer to this question is yes? If the developer can find a working example that they can copy paste (which is what GP is saying GPT-4 is essentially doing).
It’s actually just as likely for GPT-4 to have pasted a broken code example than a working one; it doesn’t understand if the code is correct.
It seems like Asian cultures are much less likely to treat housing as an investment
Isn’t China one of the most prominent examples of using real estate as investment? There’s even whole ghost towns of apartment buildings that are constructed for this purpose.
Check out https://mitpress.mit.edu/9780262047760/essentials-of-compila...
Author has made complete draft PDFs for both the Racket and Python versions available here. https://wphomes.soic.indiana.edu/jsiek/
I would advise not looking at libraries as a beginner; because they’re meant to be as generic as possible, they tend to abuse the type system and are overall a lot harder to parse for a beginner. Stick to reading the Rust code for standalone programs.
Yeah, gRPC is mainstream at this point -- much better to generate API clients when you can, instead of hand-rolling your own, especially as the number of engineers and teams in an organization grow.
I think most people just use the AWS Console. By the way, compared to regular CloudWatch, CloudWatch Insights has faster searches and a SQL-like query language, so it's better to use that if you can.
The bay area doesn’t even have homes for 450k. In the bay area it’s more like 450k for each of the 4 friends :p
Correct, it means General Availability. It’s pretty common to abbreviate it (actually, I don’t think I ever see it written out).
Right. Then it might be worth applying to cloud software engineer roles in general, and be sure to ask your interviewers about what sort of architecture they work on. In your case, seems like you’ll be more keen to work on those teams that have multiple services, not those that have monoliths.
Kind of? I mean, if you’re working on an infrastructure or platform team, and building some distributed database or data pipeline, that would be more “distributed systems”, in the strict definition of the term. However, I doubt there are very many teams working on these sorts of problems —- it’s a very specific niche.
Edit: I might have misinterpreted your comment. The actual architecture of scaling by adding more hosts is quite common, if you’re processing independent messages.
Are you sure you’re specifically interested in Raft/Paxos/consensus algorithms? Distributed systems is more general than that. A lot of software engineers working on cloud services are basically doing distributed systems, if they are building multiple interconnected services. Where I work, our team has 10-15 services that communicate with each other, with databases, caches, and with other dependencies/consumers. This could also be considered distributed systems.
Over the years I’ve remade my blog several times but these days I try to keep it as simple as possible to maintain. I’ve come to realize the biggest obstacle when it comes to putting my writing on the web is the tendency to get sidetracked tweaking the html/css instead of actually writing.
I write in Org-mode.
To generate the static files I use org-publish with some handspun emacs lisp on top.
For hosting, just GitHub pages.
The first papers in the list explain the "why" of functional programming, and later on more concrete Haskell topics are covered. Papers shouldn't be the only resource but you can supplement them with tutorials and skimming Real World Haskell. This approach of reading papers is intended to be holistic, of course you won't be churning out Haskell code within a couple days, but when learning Haskell or FP, syntax shouldn't be one of the primary focuses imo. Unless you're learning lisp.
Learning Haskell by reading the most influential papers is also a good approach.
I'm also a Haskeller, and have been writing OCaml for a few months. Some things I liked include (1) really straightforward imperative programming (2) really straightforward mutable data structures like hash tables (3) module system (sort of like typeclasses but much more expressive) (4) named parameters (5) easy-to-understand/straightforward assembly (6) eager by default
I've toyed with the idea of vanishing completely, but nowadays employers often want to see a web presence.... if it weren't for that, and the convenience of Facebook Messenger, I might have disappeared already.
I was just thinking about how since one usually uses the same identity for many different accounts and interests online, it would be very easy to find someone by looking for people that match those specific sets of interests. You would have to make separate identities for every sort of interest, and never mention the other from a different profile.
Why would someone in elementary or middle school need to learn that though? I think anyone in high school could easily learn a bit of abstract algebra.
Hmmm but does the mail-client let you load code in without restart?
The Lua also might feel more natural just because of having used imperative languages more.
The thing is, the basics of abstract algebra are easy to grasp, and you don't need to spend a lifetime studying; it takes a couple hours to get started with these simple (but powerful) concepts.
Yup I've never seen functors mentioned in anything JS-related. I bet there's more Haskellers writing Scala than JavaScript though.
Being pedantic: functors don't return functions, functors let you map over structures.
Hmmm in hindsight you're probably right. Though he does refer to libraries using abstract algebra as having "meaningless terms," which doesn't really sound like a positive opinion about the subject. It's important to have the correct terms, and watering them down just creates ambiguity. If software abstractions stem directly from math, there's no reason to hide the fact. But, like you said, it seems like his point is that using abstract math in libraries raises the barrier of entry for new developers and that they shouldn't need to learn abstract math to be able to be productive, not that he personally dislikes the topic.
It's definitely is possible to go overboard with operators, making a codebase very confusing. Case in point: the lens library. Though those are optional, and the best practice is to just use the actual word functions.