HNHacker News
TopNewBestAskShowJobs

rablackburn

846 karma · joined April 6, 2020

submissionscomments
rablackburn··on My dad's resume and skills from 1980
While I’m not doubting you would personally do as you say, I would point out that as someone living somewhere with quite lax tenants rights and a nationally recognised housing emergency (Australia), landlords not renting to people because tenants rights are too onerous doesn’t seem to have a particularly large impact on housing availability.

Whereas some tenants rights seems to have a pretty large positive impact - ie all the positive effects of secure housing.

Of course ymmv in your local housing market.

rablackburn··on Write better error messages
I’m guilting of writing a “can’t happen” branch (as I’m sure many of us are).

I stripped it out before production after verifying it couldn’t actually happen but it was something like an artefact of my thinking process while writing the code.

It feels like a kind of assertion of underlying assumptions, and I know enough to know I’m fallible.

I’m always careful to make the error message something reasonable if it ever did actually come up in a tech demo or something though. Anything else is tempting the Fates.

rablackburn··on Show HN: Speki – Flashcards in Terminal
Fantastic. Making a cli for reviewing my anki decks has been on my weekend project todo list for awhile now. Now I can just use Speki.

As a bonus you’ve done a much more polished job than I would have hacking it together :)

rablackburn··on The 'attention economy' corrupts science
A very similar experience here (although not to quite the same level of success!).

Even for simpler problems the ability to just sit with it for a few hours/days dramatically increases your ability to write quality solutions.

Good code isn’t the most difficult or complex CS algorithms. It comes from thinking about the problem until you understand it so well that the code is almost self-evident.

Of course, once you’ve thought things through so much it seems trivial to you - which I blame for the annoying verbal tick we all tend to get when explaining things where we say “Basically it’s…”, or “it’s really quite simple…”

The real fun starts when you get to the problems that _do_ need weeks of thinking, and multiple prototypes to validate your theories. That’s when you start to feel like the “science” in “computer science” might not be misnomer :)

rablackburn··on Why haven’t PWAs killed native apps yet?
As a user:

I don’t think I’ve ever seen installing a PWA as an option. I’ve never been prompted (though I suppose some of those “use our app!” pop ups could be trying to install a pwa, but I think they always take me to the App Store).

As the article mentions (on iOS) the install mechanism is to open the share menu and select “Add to home”.

I don’t open the share menu on random web apps to see if I can install them. The option may as well not exist. I also highly doubt any regular user is aware of the term “PWA”. Why haven’t PWAs killed native apps? No one knows they exist.

As a dev:

The one time I wanted to make a PWA the use case relied on being able to send notifications. The user was on iOS, safari didn’t support it. Dead in the water.

Maybe I’ll revisit it again now that support is finally here.

rablackburn··on Preparedness Paradox
> There will be be people who believe in these dogmatically to the point they won't employ anyone who says different (it becomes an interview question).

Though when you’re lucky enough to be in a tight labor market it sure is a convenient filter for companies you don’t want to join!

rablackburn··on Astro 1.0 – a web framework for building fast, content-focused websites
I’d recommend reading this[1] (fantastic) article that came out a few years ago. It’s exactly the kind of guide you’re looking for.

[1] https://peterxjang.com/blog/modern-javascript-explained-for-...

Some notes of things that have changed in the last five years:

- bundling is (almost) no longer needed for simple import/export as we now have a native module capability (esmodules). The biggest issue you’re likely to have here is waiting for any dependencies you have to upgrade from common js to esmodules.

- transpiling is not as necessary unless you explicitly have to support IE11, or require something in the latest ecmascript spec.

It really speaks to the maturation of front-end development that after five years that article is still fairly accurate.

About time too - I’m too old to put up with that level of churn anymore.

rablackburn··on Why isn’t new technology making us more productive?
The hardwood floors sound nice, but as far as I’m aware plastic plumbing is much more preferable over copper.

Need to fix a leak in a copper pipe? Get ready to weld and bend pipes. Need to fix a plastic pipe? Unscrew that section, and screw in a new one. No drama.

rablackburn··on RIP Good Times (2008)
> one huge difference was a majority of tech companies back then were not profitable and never would be, banking on "page views" as the golden metric which to rate a company

something something "monthly active users"...

rablackburn··on Quick Start Guide for Flipper Zero
That use case was what got me to pre-order one over a year ago (currently in-transit, any day now!).

Replace my bulky, awful complex-provided fob with a dolphin with attitude? Yes please.

rablackburn··on Use fzf for tmux session switching
The entire site is weirdly mobile (or perhaps just mobile Safari) unfriendly.

The home page also has some issues with elements clipping/overlaying and not registering clicks.

I say weirdly unfriendly because the graphic design is very $CURRENT_YEAR, which is usually designed mobile-first (since that’s where most of the traffic is these days). But the author clearly spends more time on the desktop (the article _is_ about tmux) and didnt check how it performs on mobile.

If it is just a safari issue I’m sympathetic. Testing for safari is a nightmare if you don’t have Apple hardware available.

rablackburn··on How did I get so unhappy working in tech?
> Much less coherent, to me, but you'll get different results every time you try I suppose!

Give the mechanical Turk a few minutes to find your post and tweak the response to that specific prompt ;)

rablackburn··on How did I get so unhappy working in tech?
My bet would be something like:

"haha, yeah it's ridiculous, right?"

IME it's sadly common for an organisation to have a Problem, for everyone to acknowledge there is a Problem, for someone to even come up with a roadmap to solve the Problem...and yet nothing will change because there is some ineffable disconnect between knowing and doing.

Really it seems to come down something like "well, if we're going to go to all the effort to change something, we better do it right. If you can't prove the change you're going to make is going to solve this issue perfectly forever it's better to leave it as it is right now. rather than waste all that effort"

or, "good idea, let's add a weekly meeting to monitor fixing this issue"

rablackburn··on A database for 2022
I’ll be honest and admit my own bias to cheaper, self-managed tooling. I’ll admit that RDS definitely meets the criteria of simple.

From what I understand RDS works great and you’re happy to pay what feels like the tiny cost…right up until it doesn’t anymore.

You’re paying Amazon a premium for them to manage the tedious stuff. But sometimes dealing with the tedious is what teaches you how the stack works and makes you jmuch more prepared to solve those more complex problems down the road.

The uncomfortable fact is businesses finding themselves in situations where they experience vendor-lock-in just because they’ve let their capability wither away.

Clearly David’s point about avoiding MySQL and PostgreSQL due to fears of “vendor lock-in” resonates with me, even if I personally think that’s not quite where the threat is.

…for Postgres anyway. I’ve heard enough stories that I never want to touch an oracle product in my career.

rablackburn··on A database for 2022
I loved this article, despite the negativity.

A discussion that keeps recurring on HN is how you can get a lot done with simple, boring solutions. This is a perfect example of that in practice. What’s the simplest thing that’ll work? Do that, monitor the solution, and when you start hitting a limitation reevaluate what the next appropriate solution is.

There are plenty of comments here deriding this as insanity when we have established best practices, but “best practices for me are not necessarily best practices thee”.

People aren’t perfect, not every engineer comes fully-formed grokking the industry’s best solutions and their trade offs.

This is what learning looks like. This is what an evolving system looks like. And this is how valuable software gets built every day.

Who gives a fuck about scalability on a poc? “Let’s just put in a json file”. I Love it. Personally I start at the “use SQLite” step and go from there because SQLite is such amazing software. Thanks to this post I’m excited to try out Lifestream.

You might rightly point out that Tailscale isn’t a side-project/poc anymore. But that’s exactly why they’re changing to SQLite and writing this post; this is their team learning to deal with larger problems and changing needs, and they’re sharing that journey with us.

As long as they’re not _ignoring_ serious risks let them experiment. But try not to get too upset if they’re making different risk/effort trade-offs than you would. Even if it’s “objectively” the “wrong” thing.

My rubric for technical sanity is:

- are you taking (and testing) backups?

- is your infra/data secure?

- are you monitoring what’s happening?

- can you recover from catastrophic failure in a acceptable time frame?

- are you meeting your legal obligations?

Cover those needs and you can be forgiven a lot suboptimal/experimental implementation details.

rablackburn··on RFC 9225: Software Defects Considered Harmful
I think there’s a few of us who have already memorised the number so we’re ready on Monday…
rablackburn··on GPT-3 can run code
> But, separate ablation study found that if you just drop confidence bit altogether and allow RNN to compute some more every time (e.g., always perform 4 computations on single input for 1 output), you get same or better results without extra complexity of training.

Do they saw what happens if you do both? Perhaps the “benefit from a higher computation/per cycle” phenomena and the “benefit from signalling relative computation resource allocation” one are different.

I guess I’ll have to try and read the paper, but I’m new to the literature and am clueless about the current state of research.

rablackburn··on GPT-3 can run code
Call it the uncanny valley, but I find this mildly disturbing… and absolutely fascinating.
rablackburn··on My guiding principles after 20 years of programming (2020)
Indeed. Or one that doesn’t show progress at all, it just cycles through tips / puns
rablackburn··on Web3 is centralized and inefficient
Yes, but the book has a legal authority backing it up saying that its entries are property rights to the listed address.

Buying an NFT just to have an NFT is like paying for an entry in a book with no further meaning. You just get to say that’s your entry.

Oh and the entry is an http url, so there’s a good chance it’ll 404 eventually (if you even get a status code back)

rablackburn··on My guiding principles after 20 years of programming (2020)
Here’s a fun little story that’s stuck with me for years because it demonstrates this in a very hacker way.

(Forgive the lack of specificities, I tell this as a parable)

A fancy new office tower was opening downtown. Around this time, office space was at a premium so they soon sold out all their floorspace, and the project was considered quite successful except for one small problem; the architect seems to have installed slow elevators.

Tenants began to complain that the ride up to their high, and very expensive, offices was taking too long. These elevators were stupidly slow.

The building management frantically called around the big elevator companies, getting motors upgraded as fast as possible, but the complaints kept coming and in the end no one could quote anything less than $100mil to structurally alter the building to house bigger motors and more shafts.

Then one day an independent construction contractor showed up who offered to do a retrofit to fix the issue for only $10mil. The desperate building management decided to try it.

So the guy took $500k of the money to buy and install a bunch of mirrors in the elevator booths which had been sombre (and expensively) wood-panelled. Sure enough, the complaints stopped coming. (And the contractor got a $9.5mil payday)

The problem wasn’t that the elevators were slow. It’s that people got bored in them (in a world before smartphones). And what do people never get bored of doing? Looking at themselves in the mirror.

Of course, it’s annoying to save the equivalent of 95% of the cost but not see any of that money. You just had to deal with budget cuts that really should have killed any solution. Still a cool party trick I guess.

rablackburn··on My guiding principles after 20 years of programming (2020)
I’m from the same world as you and here’s how I understood this:

Any function that’s not pure should be a ~class~ component.

ie, when you have a bunch of functions that operate on the same kind of struct/set of state, and in fact you want to prevent other functions from messing with it (you want to make it internal), you group them in some way. The OO word for that is a class. React is a component; which are much more composable because we ditched the stricter concept of inheritance of OO classes.

Hell, the es6 class system is really just syntactic sugar around Brendan Eich’s nifty prototypal system. If it weren’t for the weak typing and lack of std.lib, JavaScript would be an amazing language.

…which is to say it would probably be Go haha

rablackburn··on The FTC’s new enforcement weapon: “Algorithmic destruction”
> It also leaks the usage to jquery, …

This is the first time I’ve read someone refer to loading jquery as a data leak.

Ideally they shouldn’t be using jquery, or just shipping it with the app/self-hosting. But for the general case, are you saying your ideal would be an app prompting you for permission before it loaded any external resource from any url? Even one as ubiquitous as jquery?

How is the fact that your IP address requested a copy of jquery, one of the most downloaded JavaScript libraries of all time, any kind of meaningful signal?

I’d be more worried about it as an attack vector than a privacy infringement.

rablackburn··on Gov. Newsom signs law to stop UC Berkeley enrollment cuts
> any argument predicated on "preserving the character" is disingenuous at best and racist at worst

Calling NIMBYism's "preserving the character" argument disingenuous is probably going too far. That really is the problem many NIMBYs have with proposed developments. They like their neighbourhood exactly how it is, and if they could mandate perfect stasis they would.

It may not be a persuasive argument, but in many cases it is genuine.

rablackburn··on Gov. Newsom signs law to stop UC Berkeley enrollment cuts
Yeah, from what I understand this is exactly how the separation of judicial and legislative powers is _meant_ to work.

The court's power is to interpret what is written. The legislature's power is to write the words. If the legislature doesn't like how the court interpreted the statute they're meant to rewrite it so that the intention is clearer.

rablackburn··on Names of Canada truck convoy donors leaked after reported hack
What is effective policing meant to look like in circumstances like this?

This is an unarguably large amount of people practicing civil disobedience. How many police does Ottawa have on hand to deal with it?

All the tactics I can think of to truly control a crowd this size are rather…harsh (lines of riot police and water cannons etc). So if you don’t take that option you’re left with tactical deployment of officers.

Seems like a hard problem to get right. Just because they’re not perfect doesn’t mean they’re not effective.

The fact that they’re seizing weapons caches before any particularly heinous outbreaks of violence makes me think they’re prioritising their resources somewhat effectively?

rablackburn··on Starlink lost 40 satellites to a geomagnetic storm
> I think it's a bit more complex than that.

Because we can always go one level deeper...

When I ask people why they dislike Musk, the answer I get is usually not for some bleak, reasoned belief but because of his internet persona. He makes shitty, immature jokes. People think he's a bit of a dick.

Interestingly, engineers I know tend to be a bit more positive on him. I wonder if it's because they're exposed to more of his YouTube persona than his Twitter one.

> If you genuinely believe that society is a zero-sum-game...

The rest of this is strawman-ing pretty hard. I'm sure there are some people as described, but I think there's a larger more nuanced population who are uncomfortable with the huge growth of wealth inequality that's been going on. Some of their ire with the system is directed at those doing best under it.

That's probably not entirely unjustified either, what group in human history did nothing to preserve the status quo when it worked for them?

Society may not be a zero-sum game, but it's not a zero-harm game either.

rablackburn··on We do not break userspace (2012)
You’re definitely not alone in enjoying seeing something like this. I would probably hate being on the receiving end personally, but I’m glad that this kind of sheer passion for quality exists in the world.
rablackburn··on Are 14 people really looking at that product? (2020)
Bit of a meta comment but:

I love the author's rewriting of javascript into "human-readable" code[1], while retaining the same visual style as code written in an editor.

It feels like an excellent way of representing what is inside the programmer's mind when writing the code, and I will probably try to replicate it next time I coach a new student.

[1] https://miro.medium.com/max/700/1*aXnY3j41mO3AShqSGiYgBA.png

rablackburn··on Svelte Cubed
I love some of the stuff you can do with 3D on the web…but the majority of web traffic now is mobile, and I’ve never had a mobile that handles it well.

I don’t use the latest flagship, but I’m usually on one from ~3 years earlier; there are many people with far less capable devices than mine. So it seems like it’s doomed to stay niche for a few more generations yet.

← PreviousPage 4 of 7Next →