< Back to the archive

Like what you see? Subscribe here and get it every week in your inbox!

Issue #321 - May 4, 2025

If you are looking for work, check out this month's Who is hiring? and Who wants to be hired? threads.

Here are the top threads of the week, happy reading!

Top comment by tetris11

A tree cutting tool.

Take photos of the tree from 6 different angles, feed into a 3D model generator, erode the model and generate a 3D graph representation of the tree.

The tool suggests which cuts to make and where, given a restricted fall path (e.g. constrained by a neighbors yard on one side).

I create the fallen branches in their final state along the fall plane, and create individual correction vectors mapping them back to their original state, but in an order that does not intersect other branch vectors.

The idea came to me as a particularly difficult tree needed to come down in my friends yard, and we spent hours planning it out. I've already gotten some interest from the tree-surgeon community, I just need to appify it.

Second rendition will treat the problem more as a physics one than a graph one, with some energy-minimisation methods for solving.

Top comment by WorkerBee28474

There's a story that goes: A man was tasked with hiring an employee. He got hundreds of resumes. His friend looks at the stack and asks him "how are you going to decide among all those?" The man grabs half the stack, throws it in the garbage and says "Simple, I don't hire unlucky people".

Degrees matter when employers don't have the time and/or ability to make a reasonable decision for every candidate. They need ways to eliminate chunks of the applications. Illogical ways of eliminating candidates are acceptable because they are better than having no way. One method that's not completely illogical is to only look at candidates who have degrees.

You can get degrees for <15K. For a BSCS you can do WGU for 5/10K. For a MSCS you can do GaTech OMSCS for 7K. Those numbers are small enough that they're almost definitely worth it. But those also cost time, which you will have to decide for yourself if you want to spend.

Top comment by khaledh

Check out Nim. I'm using it to build an x86-64 kernel¹ (Fusion OS), and it satisfies a lot of the low-level system programming requirements with an elegant and expressive syntax. For memory management you can choose between ARC/ORC and/or manual. It has two downsides though: small community, and the BDFL can sometimes be rough to interact with.

¹https://0xc0ffee.netlify.app/osdev

I, too, have been looking for a unicorn systems programming language, but it doesn't exit yet. Here's what I looked at so far (only languages that don't rely on a GC):

- C: lots of UB, less safe (memory- and type-wise)

- C++: too complex, not a big fan of OO

- Rust: too complex, gets in the way when writing mostly unsafe kernel code

- Zig: Good, but syntax is too noisy; lacks interfaces/dynamic dispatch

- Swift: Doesn't have a good bare metal story

- D: Seems interesting, I may be looking at it (although need to use betterC mode, i.e. not all language features)

- Odin: Game programming focused, small but growing community

- Ada: Strong candidate, but it has too much ceremony

- Pony: I like the capabilities model, but tiny community

- Hare: Also tiny community, lacks polymorphism

- Hylo (Val): Experimental (mutable value semantics), too immature

- Vale: Experimental (regional memory management), seems stalled

- V: Good candidate, but mixed reviews on its claims vs. reality

- Austral: Experimental (linear types), tiny community, not much progress

- Jakt: Built for Serenity OS, not sure if it's getting enough attention

- Jai: Focused on game programming, good reviews, but currently closed source (beta)

- Mojo: (Python-like) Seems very interesting and I'd give it a try, but too focused on GPU/parallel programming; also too early for adoption

Top comment by aristofun

I see much more histeria and false but extremely high hopes, than real deal from where I sit (deceloper at faanglike high tec company).

Looks like the higher the management, the farther away from real engineering work — the more excitement there is and the less common sense and real understanding of how developers and llms work.

> Are you 10x more efficient?

90% of my time is spent thinking and talking about the problem and solutions. 10% is spent coding (sometimes 1% with 9% integrating this into existing infrastructure and processes). Even with ideal AGI coding agent id be only 10% more efficient.

Imagine a very bright junior developer. You still are heavily time taxed mentoring him and communicating.

Not many non technical people (to my surprise) get it.

Based on posts and comments here there are plenty “technical enough” people who don’t understand the essence of engineering work (software engineering in particular).

Spitting out barely (yet) working throwaway grade code is an impressive accomplishment for TikTok, but it has very little to do with complex business critical software most real engineers deal with everyday

Top comment by TheOtherHobbes

MS are notorious for blacklisting IP ranges from providers like Linode, which makes it impossible for a small biz to run its own commercial system.

I'm not surprised they also keyword block, because Outlook flags Microsoft's own marketing messages as spam.

There really needs to be some kind of global Digital Bill of Rights which provides legal recourse from these giant sclerotic algo-run oligopolies.

MS, Meta, Amazon, YouTube and Apple all have policies that can nuke SMEs on a whim without consequences, often without even noticing, after their algorithms make a wrong decision about imaginary "abuse".

Top comment by mac3n

You don't say what kind of software and for whom. One thing I suggest, if you haven't done it, is working on software, but for companies that don't ship software or software services. Stay away from the big tech companies, look for something small and somewhat local. You don't want to be the FAANG "cattle, not pets"

One of the most enjoyable jobs I had was working for a small company that made [digital] audio equipment (before that was possible on a PC) - we had sound systems in every office and a small recording studio in the basement. Most of the engineers were also musicians. We had software people, analog people, and music and radio production people.

Top comment by shikon7

Don't forget about the startup that went from "Twitter" to "X" to "AI-powered X"

Top comment by hnfong

Personally it feels like every issue gets shoved under the "imposter syndrome" umbrella, but I'd say you are just feeling a bit of cultural shock or cultural mismatch.

The other thing is software developed by large teams tend to be complex, and a new-comer needs more time to understand what's happening. Onboarding can be a very chaotic process especially for teams who don't specifically put a lot of effort into making it smooth for new-comers. This isn't imposter syndrome but rather something that your team probably needs to do better.

The complexity you are probably going to have to get used to. Maybe some of it is unnecessary, but just like the naïve developer trying to refactor/rewrite a complex piece of code realizes, the extra exceptions and special cases were added for some reason and without them the code breaks in various niche situations. (Or maybe they're really unnecessary! The thing is until you get a full grasp of the code, you won't know)

Otherwise just give it a couple months and see how well you adjust. I think just keep an open mind and don't assume things only because other people have different backgrounds from yours. (I mean, what does age have to do with this? You're only a couple years older than those "fresh 20 year old kids", not even "old"...)

Top comment by lappet

I am working on an app to track grocery purchases from online receipts. My goal is to track the effects of inflation on prices, and build something like Mint, but with itemized transactions from receipts.

Top comment by rbanffy

For me, it's the default and, therefore, the one I use. I miss xkill, but that's about it. The other day I was a bit annoyed when I ssh'd into my other laptop downstairs and an app I started there (don't remember what) started there instead of forwarding the window to my desktop. This is the feature I miss the most, and I'm sure it'll eventually get there.