HNHacker News
TopNewBestAskShowJobs

almost

3,572 karma · joined August 15, 2007

tom at almostobsolete net

http://almostobsolete.net/ (Geeky website stuff) http://tomparslow.co.uk/ (Freelancer portfolio stuff)

I'm a freelance programmer in Brighton in the UK. I work in lots of languages but I seem to use Python and JavaScript the most. I spend most of my time working from a Brighton co-working space called The Skiff (http://theskiff.org/) which is very nice.

I was on Twitter @almostobsolete but who uses Twitter anymore?

Find me on Mastodon at @almostobsolete@mastodon.me.uk or on Bluesky at https://bsky.app/profile/almostobsolete.net

submissionscomments
almost··on AI models ran real businesses: They sent $12,431 in fake invoices, lost $3,200
It's weird how the author writes about all the antisocial and illegal things like they're not responsible for them. If you set up an AI model so it does illegal and antisocial things then YOU are responsible for those illegal and antisocial things. YOU spammed a bunch of strangers. YOU did unsolicited invoice fraud.
almost··on You Know Who Hates AI? Insurance Claims Adjusters
LLMs are really good when your primary goal is just to fob people off. So customer support when you don't care about your customers etc. I can imagine it's very appealing when you just want to come up with semi-plausable reasons to deny insurance claims. Who cares if it's wrong? They might give up anyway and you've saved paying out!

Not saying they're not good for other things, but the "waste people's time and make them go away" use is just so perfect for the capabilities of even cheap models.

almost··on What I love about Django
This is so important. I've been using Django for around 20 years and my current code base is 10 years old. Not having to do major rewrites or stick on outdated versions really matters.
almost··on Show HN: Katharos Functional programming and CSP-style concurrency for Python
It's probably worth being up front about what your do syntax actually does. A generator is not as general as "do", Python doesn't have call/cc or anything like that. I checked and you (or Claude I guess) do it by rerunning the whole thing each time for things like the list monad which is not something I think anyone would want for anything more than a toy.
almost··on Vint Cerf, “father of the Internet”, is retiring
Father of the web sure. But HTTP is not the Internet!
almost··on I want to wash my car. The car wash is 50 meters away. Should I walk or drive?
Also what I got. Then I tried changing "wash" to "repair" and "car wash" to "garage" and it's back to walking.
almost··on An Update on Heroku
For me Northflank have filled this spot. Though by the time I switched I was already using Docker so can't speak directly to their Heroku Buildpack support.
almost··on An Update on Heroku
I've been incredibly happy with Northflank since moving over a few years ago after Heroku got unreliable. Felt like an upgrade from Heroku and the support and reliability have been great.
almost··on Databases in 2025: A Year in Review
The reason you heard that was probably because they were talking about a more specific circumstance. For example SQLite is often used as a database during development in Django projects but not usually in production (there are exceptions of course!). So you may have read when setting up Django, or a similar thing, that the SQLite option wasn't meant for production because usually you'd use a database like Postgres for that. Absolutely doesn't mean that SQLite isn't used in production, it's just used for different things.
almost··on Confessions of a Software Developer: No More Self-Censorship
From my experience though I often do make logical errors in my code but not in my tests and I do frequently catch errors because of this. I think thats a fairly normal experience with writing automated tests.

Would having someone else write the tests catch more logical errors? Very possibly, I haven't tried it but that sounds reasonable. It also does seem like that (and the other things it implies) would be a pretty extreme change in the speed of development. I can see it being worth it in some situations but honestly I don't see it as something practical for many types of projects.

What I don't understand is saying "well we can't do the really extremely hard version so let's not do the fairly easy version" which is how I took you original comment.

almost··on Confessions of a Software Developer: No More Self-Censorship
This sounds very "the perfect is the enemy of good". Tests don't need to be perfect, they don't need to be written by different people (!!!), they don't need to cover 100% of the code. As long as they're not flakey (tests which fail randomly really can he worse than nothing) it really helps in development and maintenence to have some tests. It's really nice when the (frequent) mistakes I make show up on my machine or on the CI server rather than in production, and my (very imperfect, not 100% "done properly") tests account for a lot of those catches.

Obviously pragmatism is always important and no advice applies to 100% of features/projects/people/companies. Sometimes the test is more trouble to write than it's worth and TDD never worked for me with the exception of specific types of work (good when writing parsers I find!).

almost··on Brimstone: ES2025 JavaScript engine written in Rust
When it's a library it's fairly important what it's written (or at least written for)
almost··on React vs. Backbone in 2025
For something this simple that doesn't need to grow or interact with the rest of the system why would you need Backbone or React? And why would you expect any version to be shorter as it's mostly just the HTML and the data.

I remember writing Backbone applications with lots of deeply nested components. Trying to keep all the state in sync and reacting to events. It certainly wasn't simple and straightforward.

This just feels like a very silly article.

almost··on What would you do with 52 hours a week of discretionary time? (2023)
Wasting time is absolutely glorious. Don't let anyone tell you that you can't or shouldn't.

Or as Kurt Vonnegut put it "I tell you, we are here on Earth to fart around, and don't let anybody tell you any different"

(That being said if Tik Tok is making you sad delete that shit right away. Wasting time is glorious but feeling depressed sucks.)

almost··on Classic 8×8-pixel B&W Mac patterns
Nostalgic! Who needs a colar display or even a monochrome display when you've got a high res (for the time) black and white screen :)
almost··on We'd be better off with 9-bit bytes
360 degrees in a circle predates Plato by quite a lot (2000 years I think!). It comes from the Summarians more than 4000 years ago. They used a method of counting on fingers that goes up to 12 on one hand and 60 using both hands, so their numbering system was based on 60. 360 is 6 * 60 and also roughly how many days in a year.

Later societies inherited that from them along with 60 minutes in and hour.

almost··on Show HN: AgentGuard – Auto-kill AI agents before they burn through your budget
So it monkey-patches a set of common http libraries and then detects calls to AI APIs? Not obvious which APIs it would detect or in what situations it would miss them. Seems kind of dangeorus to rely on something like that. You install it and it might be doing nothing, You only find out after somethings gone wrong.

If I was using something like this I think I'd rather have it wrap the AI API clients. Then it can throw an error if it doesn't recongise the client library I'm using. This way it'll just silently fail to monitor if what I'm using isn't in its supported list (whatever that is!)

I do think the idea is good though, just needs to be obvious how it will work when used and how/when it will fail.

almost··on Show HN: Job Compass – AI agents that help you find jobs, not replace you
I haven't, but it sounds honestly really bad. Sounds like it sucks for everyone right now. I just think your product will make it worse, probably only very slightly worse but still worse.
almost··on Show HN: Job Compass – AI agents that help you find jobs, not replace you
Surely this now means now hiring managers (and people your code incorrectly identifies as hiring managers) now get spammed with loads of bullshit generated messages. Which obviously they'll ignore. But now you've made their jobs a bit harder by breaking a previously (maybe) working communication channel.

So you've put a effort in to build a product just to make the world slightly worse on net. Not hugely worse, but still it doesn't seem like the best way you could have spent your time.

almost··on Mistral Code
Yes, but how likely were you to spend tens of thousands of dollars or more on software?
almost··on The Practical Guide to Scaling Django
This sort of article seems perfectly poised to be useless to beginners (no context, doesn't tell you how to use the things) and experts (no nuance, just listing basic features) alike. Who is it for? Why does it exist? Why is it posted here?
almost··on CIL: C Intermediate Language
There are a finite number of names, and an even smaller number of good names. But apparently an infinite number of hacker news posters who comment on every new project to complain that the name has been used before for something else.

And even the fact that this is a fork of an earlier project and the name comes from that doesn't stop it!

(I'm aware I have chosen a very weird thing to be getting annoyed at over my breakfast crumpets this morning)

almost··on What’s new with Robinhood, our in-house load balancing service
Weird that a gambling app would take thename of a popular character from legend!

Or maybe not, try actually naming something sometime and you'll see. It's not easy to come up with something that fits all the requirements AND has never been used before.

And it's not like anyone is ever going to get confused and accidentally try and use Dropbox's internal load balancer to buy options on a stock or something. Or try and make a gambling app the star of their next hit movie for that matter.

almost··on Hoard of coins from Norman Conquest is Britain's most valuable treasure find
Coins used to be largely worth what they were worth because of what they were made of. So cutting them in half would lead to two seperate halves of the value. I'm sure there's more nuance than that but broadly I think that's how it used to work.
almost··on Reclaim the Stack
Not your comment specifically, you're one of many saying FUD.

Honestly if you accept that the comment was talking about real tradeoffs then I'm a bit baffled that you though it was FUD. It seems like an important thing to be talking about when there's a post advocating moving away from PaaS and doing it all yourself. It's great if you already knew all about all that and didn't need to discuss it, but just stare into the abyss of the other comments and you'll see that others very much don't understand those tradeoffs at all.

almost··on Reclaim the Stack
I run a business that is a long long way from a stock exchange or a payment processor. And while a few minutes of downtime is fine 30 minutes or a few hours at the wrong time will really make my customers quite sad. I've been woken in the small hours with technical problems maybe a couple of times over the last 8 years of running it and am quite willing to pay more for my hosting to avoid that happening again.

Not for Heroku, they're absolute garbage these days, but definitely for a better run PaaS.

Plenty of situations where running it yourself makes sense of course. If you have the people and the skills available (and the cost tradeoffs make sense) or if downtime really doesn't matter much at all to you then go ahead and consider things like this (or possibly simpler self hosting options, it depdns).But no, "you gotta run kubernettes yourself unless you're a stock exchange" is not a sensible position.

almost··on Reclaim the Stack
You really think that, incredibly lukewarm, argument for Heroku is so extreme that it could only have been written by some kind of undercover shill?
almost··on Reclaim the Stack
The fact that HN seems to think this is "FUD" is absolutely wild. You just talked about (some of) the tradeoffs involved in running all this stuff yourself. Obviously for some people it'll be worth and for others not, but absolutely amazing that there are people who don't even seem to accept that those tradoffs exist!
almost··on Sega Jet Rocket: The '70s arcade game with no computer or screen
If you find the idea of electromechanical arcade games delightful (and why wouldn’t you?) and you’re in London then I’d highly recommend visiting Tim Hunkin’s Novelty Automation Arcade (https://www.novelty-automation.com/). They’re all hand made with a satirical sense of humour, just so much fun to see and play with. And check out Tim Hunkin’s YouTube channel for his Secret Life Of Arcade Machines series where he shows you how they work (https://youtube.com/@timhunkin1?si=fwjrx87fUwNAFJ29). and while you’re there his Secret Life Of Components and his classic Secret Life of Machines (his BBC TV series from the late 80s) are worth a watch too.
almost··on Ready Player Mode
evil-mode has existed for years ;)
Page 1 of 34Next →