HN user

rtpg

20,942 karma

real name: Raphael

blog: https://rtpg.co

Posts88
Comments6,044
View on HN
openmygov.au 5mo ago

Efforts to Get MyGov's Code Generator Source Code

rtpg
2pts0
notes.eatonphil.com 1y ago

Cheerleading

rtpg
3pts0
www.youtube.com 1y ago

Platform as a Reflection of Values (2017) [video]

rtpg
2pts0
blog.qiqitori.com 1y ago

Implementing "Tennis for Two" using op amps (2024)

rtpg
37pts2
github.com 1y ago

Next.js 15 Server Crash

rtpg
2pts0
longform.asmartbear.com 2y ago

Avoid blundering: 80% of a winning strategy

rtpg
1pts0
cohost.org 2y ago

Cohost – March 2024 Financial Update

rtpg
4pts0
www.mercurynews.com 2y ago

Software ‘death dates’ are sending schools’ Chromebooks to the recycling bin

rtpg
19pts15
thebrowser.com 3y ago

Learning to Juggle Cryptic Crosswords

rtpg
2pts0
useplanner.com 3y ago

Planner, a task manager designed for Linux

rtpg
13pts2
github.com 3y ago

DIYtouchpad

rtpg
47pts5
two-wrongs.com 3y ago

Predicting Resource Usage from Increased Traffic

rtpg
3pts0
rtpg.co 3y ago

How to Adopt Mypy on Bigger Projects

rtpg
2pts0
old.reddit.com 3y ago

The first step in the interview process at Canonical (2022)

rtpg
5pts0
projectf.io 3y ago

Exploring FPGA Graphics

rtpg
193pts42
docs.cypress.io 3y ago

Conditional Testing in Cypress

rtpg
1pts0
ghedam.at 4y ago

Getting Started with Home Manager for Nix

rtpg
3pts0
www.airticketshistory.com 4y ago

American Airlines Boarding Pass

rtpg
2pts0
rtpg.co 4y ago

A Conjecture About Adversarial Wordle

rtpg
3pts0
learnopengl.com 4y ago

Learn OpenGL

rtpg
3pts0
www.jeffgeerling.com 4y ago

Revisiting Docker for Mac's performance with NFS volumes

rtpg
3pts0
rtpg.co 5y ago

Black Handles Comments When Python's Grammar Ignores Them

rtpg
1pts0
rtpg.co 5y ago

The pedantic checklist for changing your data model in a web application

rtpg
310pts98
stackoverflow.com 5y ago

How do I split the date and time into two elements? (2016)

rtpg
2pts0
papers.ssrn.com 7y ago

Taxi Industry Regulation, Deregulation, and Reregulation (1996)

rtpg
2pts0
splinternews.com 8y ago

Make This Amazon Charade Illegal

rtpg
21pts7
brson.github.io 9y ago

The Rust Cookbook

rtpg
3pts0
dontdothisatwork.teliacompany.com 9y ago

Don't Do This at Work

rtpg
30pts3
www.technologyreview.com 9y ago

Mark Zuckerberg’s Long March to China

rtpg
5pts0
rtpg.co 9y ago

The Two Minute Guide to Simple E-Books

rtpg
1pts0

Folks who are okay with LLMs think the regression test suite is the spec and is the guarantee of stability. How else can it be? If you are depending on some behavior not covered in the regression tests, how do you know the next minor release won't break you?

I think this deserves a real response.

First, an analogy. I drive along a cliff with no guardrail. How do I not drive off the cliff? By knowing how to drive. Sometimes people mess up and drive off the cliff

In practice people are operating Postgres as a machine, more than an abstract spec. Minor releases exist, but the changes are made by people operating the machine and who have a fear of making the machine break.

There are also performance characteristics that are part of an informal spec. While you can definitely write regression tests on performance, theres loads of value in stability of internals because people who have problems look into the machine and discuss it.

The internals might change, but there’s a lot of friction. So… you can have a lot of informal knowledge about.

If everyone working on a software stack is bathing in this informal knowledge, then the decision making is based on that. Things like what is meant to be in a minor or major release is understood. And people make those judgement calls.

After all, even if you have regression tests if you’re making changes you’ll need to write new tests! How do you know your new tests are right? That the new behavior is right?

PG is the entire machine. Fortunately we have version numbers, migration strategies, etc. But “here’s a new binary that passes the test suite and… maybe changes everything not covered by tests maybe doesn’t”. Why bother suffering when there are totally reasonable gradual rewrite strategies?

And of course… every bug in the world… got through despite a test suite! What software out there doesn’t have bugs?

And if the behavioral difference in the rewrite does affect people… I guess that’s something right? “Oh this isn’t a bug because it wasn’t covered in regression tests” is not that tenable.

Diving a bit more into databases than your current comfort level/current job demands remains a great way to level up.

I've worked with many web developers who get mental blockage around DB tooling (granted, I have similar mental blockage when it comes to some operations stuff like K8s), and you can go far in life without really having to ask _that many questions_.

But going in and finding out how your SQL turns into data gotten from disk/written to disk is very helpful in just "knowing" what might be a decent idea. That and understanding your DB's locking system (or lack thereof...).

Figuring that stuff out can help reduce the surprise level when you can't seem to get a "simple COUNT" working quickly in Postgres or the like...

Voxatron 7 days ago

I've been working in Picotron to go through this "program your own Puyo Puyo" book Sega published... it's a very fun environment to work in.

You can boot it up, fullscreen it and totally LARP programming... I guess an amiga with nicer color pallettes?

https://www.lexaloffle.com/bbs/?pid=166998#p strawberry_src is a fun editor to use for all of this

But it’s not the biblical story. At Babel, the loss of common language stops construction whereas in AI-assisted engineering, construction can continue after shared understanding has already collapsed. The lack of an immediate failure is what makes it curious and a bit disorienting. The tower does not fall, and so we do not notice what was lost. It just keeps rising.

I don't think we have hit a long enough timescale to say that we _can_ actually build on top of the AI-assisted engineering work. Tech debt tends to reveal itself later on in the process.

Personally I've totally witnessed AI-assisted work that is clearly heading towards a brick wall quite quickly. I think "mixed feelings" is my optimistic view.

People really discount how well _well engineered abstractions_ are required for AI tooling to not generate absolute garbage. And if people are relying on AI tooling for the abstractions... I think you're really tempting fate in the mid-term.

If reselling is allowed a market is created, pushing up prices. But that extra money doesn't go towards anyone involved in the creation of the product! It goes towards scalpers. Though there's a bit of price discovery value....

Without reselling scalpers have no reason to scoop up the tickets.

So if you prevent reselling... then concertgoers just have to do a lottery or something for the scarce resource and people who aren't interested in the concert have no reason to buy the tickets! Just a better experience for everyone except for the scalpers and I guess Taylor Swift cuz she won't know the price ceiling for tickets.

There's other web3 nonsense sprinkled about too. I agree with sibling's view on this (provincial SV mindset).

Wild to see NFT nothingburgers next to "real ideas". Also very bizarre to see 2026 thinkpieces floating around in the same space as Gates' internet memos.

Maybe these are more million dollar PDFs than billion dollar ones, if only because there's enough VC money churning around for "friends" to give any idea by people in a certain segment a minimum of funding no matter how bad it is.

Resetting Xbox 16 days ago

Buying Activision was a Phil decision. Not spending 67 billion dollars puts you in a different place

Not to minimise compcert's work nor to trivialise the equivalent kind of work in Rust but I wonder how much of the Compcert difficulty on dead code elimination is downstream of C semantic futziness. I know that CompCert has a whole notion of external visibility that it has to deal with that I _think_ would be way more straightforward in Rust.

My experience writing Roq (very limited!!!) is that it also lends towards kinda brute forcing your way through something. If you have your set of proof lemmas and you tie it all together there's not that much incentive to simplify the proofs (that are irrelevant anyways, according to the theories). So the 1200 LoC might be "oh we could have maybe done this in 400 with more thinking but ... well... this is working yeah?"

trying not to trivialize it all. Just kinda hoping that we do have a more provable future ahead of us, and that CompCert represents (hopefully) an upper bound of difficulty just due to the nature of the source language.

The issue was labeled p-critical and i-miscompile, out of +61K rust issues there only 7 (including this one) that are both p-critical and i-miscompile, to me those are the most dangerous kind of bugs a compiler can have, given that they violate the contract between the programmer and the language. They show that not every safe code you write is safe. And also more generally there are only 247 p-critical issues to begin with.

I don't mean this in a snarky way or the like... and I guess the fact there are so few of these are a good indicator that the current processes are working decently well... but I would be very curious on a post-mortem from maintainers on how this bug got through. Miscompiles feel like the scariest sort of thing.

Maybe the deep and dark secret is simply that compiler optimizations are just extremely prone to mistakes and we all are just lucky enough that most messed up optimizations will break _something somewhere_ early enough to not get merged.

I really wonder what "randomixed testing" looks like in practice. What is the measure of success/failure?

I undrestand for fuzzing you have a very basic "doesn't crash" metric. Property based tests.... you gotta write properties for the PBTs to work on. What is the randomized testing hitting?

There’s s fun subgenre of blog titles in Japanese like なんとか作ってみた/やってみた. Like “we tried something”/“we did something” etc

A great sort of tone setter title format. Basically you know you’re about to just read someone talk about their experience in a casual way. Feel like everyone should try writing blog post titles like that

“I installed Arch Linux on my toaster” “I dug a whole in my back yard” “We made a very big paper airplane” is going to lead to very interesting blog post vibes

2 is “fine”, or that’s just the status quo. The friction from copying over stuff from a tiny phone screen discretely is the cost to cheat as well

I don’t know about 1s practicality. In my schooling it would always be doable but I have the impression US schools are a different scale

I had to do "write code on paper" stuff as part of french engineering school entrance exams.

It's fine (tho annoying when you lose points to "typos"), but it limits what kinds of problems you can reasonably put on the exam. You'll definitely lean a bit more into theoretical stuff than practicals. Which is fine for some courses, I think a bit less interesting in other courses.

Remember, the hand written code is also harder for reviewers to grade! You have to manually run the code in your head, for example

Having said all that... "we've booked the computer room, you don't have internet, go type up all your stuff in this VM we have set up" feels fine if you don't like this constraint IMO

Is this true even for more targeted prompts that aren't about looking over an entire codebase or w/e? I just stick to my sub pricing and find good success on targeted requests, but I wonder if I would run up against things even then if not for subsidies.

the justification given for the ban (provided in other sources) is that Polestar's software stack is made in China. The theoretical spooky thing is China forcing some "evil" software update that stops all the Polestars.

The Volvo distinction is ... I mean maybe the Volvo software stack is in Europe or the US. Maybe it's also in China!

I do not really subscribe to this philosophy but what's going on isn't a "Polestar would be tar riffed" thing. It's an outright "you can't sell em" thing

Emacs in particular I suffer so much from basically guessing what needs to be escaped or not. I know `rx` exists[0] as an alternative but it's not really fun to use.

Even beyond the regex syntax itself, you often also start running into encoding problems when trying to actually use them. Typing the regex in a shell? Make sure to esacpe stuff properly. Regex in Python? Make sure it's a raw string. Etc etc etc

It's a modern miracle we're at least within rhyming distance of how to write regexes in most tools.

[0] https://www.gnu.org/software/emacs/manual/html_node/elisp/Rx...

I've had this idea of building a codec that would similarly overfit to specific images. But the codec itself would not be a fixed size transformer... instead you could just mess around with the sizing to get better quality/smaller size.

So the codec would be something like: <header describing image size + transformer layer shape> <transformer data itself>

I've seen experiments where people have a "fixed" pipeline but I think having something more dynamic would work quite well.

I think if you believe that the aids types give for refactoring are equivalent to structural editing, then you are the one who might not get the value of typing information (I say this as a Python person, and am totally willing to accept lack of typing info in plenty of situations)

REPLs are nice and good, but when you're working on large enough systems it's nice to have some static foundations for your facts.

There’s no “defederation” because there’s no analog of “community instances” that may fight with each other.

If Bluesky specifically wanted to just not have its user interact with some other entity in ATProto-land would they be able to?

My impression is that the answer to this is "yes", because people are signing up to Bluesky and relying on Bluesky to hold on to their posts etc.

Similar to how Email is all federated but in practice a bunch of people use email from one of a handful of large service providers who (in practice, not necessarily for nefarious reasons) do end up blacklisting certain email senders.

The RSS-reader example feels a bit different on the ground because for a given user, "store a list of websites you care about" is not a complicated endeavor.

For the "short-form social media with algorithmic timeline" usecase (which isn't all atproto is about, granted!) "users self-host a thing to scoop up enough of the world's posts to then make a local algorithmic timeline" doesn't... doesn't feel very feasible, right?

I guess the blogspot comparison is apt... but if "full" self-hosting requires a relay with quite some juice ($30 is "cheap" but... compared to a pile of files to host your own blog...), then in practice we're going to see a heavy amount of centralization anyways right?

as someone who deals with dep upgrades and forensics when trying to figure out a bug I would get _so mad_ if `git diff` didn't show the diffs to lock files.

I get what you're saying about it being line noise but when you need it you need it!