HNHacker News
TopNewBestAskShowJobs

samhw

1,762 karma · joined October 9, 2020

submissionscomments
samhw··on Walmart Anticipates a Store Manager Shortage Despite $200k-a-Year Pay
Yeah, it mystifies me. One of my ex-boyfriends worked at a chain coffee shop. He was paid minimum wage, as the manager of several branches, for working insane hours, and (as he once said to me) the person three levels above him was paid about £50k (~$60k). That guy was in his 50s - that's how long it took to get promoted. And he was a smart guy: excellent programmer, wrote an emulator for some old games console, wrote and managed his own email servers and VPNs, filled in as an engineer for a few months at my former startup (for no pay, very kindly) when we were understaffed, etc. Could've easily worked as a programmer for 10x the pay, in other words. He was a massive coffee fan, and had tens of thousands worth of coffee equipment at his house, and I think he genuinely loved it and did it for that reason, but someone like that must be one in a million for them; I never had any fucking clue how they filled all the other positions... (I'd be fascinated to hear anything anyone else knows!)
samhw··on Walmart Anticipates a Store Manager Shortage Despite $200k-a-Year Pay
> the logical fallacy “X% of our floor workers become managers therefore if you join you have an X% chance of a promotion every year"

Aside from the problem of induction, why would this be a fallacy? (I'm assuming you meant to implicitly apply the 'each year' modifier to both or neither, because otherwise it would be such a boring and obvious fallacy that I'm pretty sure that's not what you meant.)

samhw··on Job interviews that go too far
That's become me, to be honest. Money has reached the point where it doesn't mean anything any more. For the last year or so I've taken cabs everywhere I've gone, even down the road to go to the shops. This sounds like a brag, but it's really not: I'm not rich, and it means I'm pinioned to my job and can't quit. I was addicted to heroin before, but I think quality-of-life addiction is possibly worse in some ways.
samhw··on We deploy to production over 100 times a day
I worked at Monzo a while back, and, while the 'Platform' (~= SRE) team were brilliant, and did what you describe along with much much more, regardless the performance impact of thousands of microservices could be characterised as approximately "what you would expect". Hundreds of thousands a month on AWS to service a few million customers, a whole team needing to work on a project for [I can't recall how many] months to write some bodge-y fixes so app load could be brought under 10 seconds, lots of pathological request paths efflorescing in the service graph, etc.

That being said, there was genuinely need for microservices, to an extent. A bank's architecture is very different from a CRUD web app. Most of the code running wasn't servicing synchronous HTTP requests, but was doing batch or asynchronous work related (usually at two or three degrees of separation) to card payments, transfers, various kinds of fraud prevention, onboarding (which was an absolutely colossal edifice, very very different from ordinary SaaS onboarding), etc.

So we'd have had lots of daemons and crons in any case. And, to be fair, we started on Kubernetes before it was super-trendy and easy to deploy - it very much wasn't the 'default' choice, and we had to do a lot of very fundamental work ourselves.

But yeah, in my view we took it too far, out of ideological fervour. Dozens of - or at most a hundred-ish - microservices would have been the sweet spot. Your architectural structure doesn't need to be isomorphic to your code or team structure.

samhw··on Job interviews that go too far
I assume they meant "many tech workers / job hunters / the kind of people on this forum", not orphans in darkest Africa or Christian Bale losing weight for a role.
samhw··on Long-term benzodiazepine use causes synapse loss and cognitive deficits in mice
On the bright side, has anyone else ever considered what an amazing amount of information there must be for mouse vets?
samhw··on SQLite in Go, with and Without Cgo
I'm very confused by this comment. Memory safety doesn't mean "can't crash the runtime"[0]. That would exclude the most basic, canonical examples of memory unsafety: use after free, buffer overwrite/overread, double free, race conditions, etc. The erroneous Go exemplar you posted is literally one of the first examples of memory unsafety on Wikipedia: https://en.wikipedia.org/wiki/Memory_safety. Go is not memory safe by any stretch of the imagination. It doesn't even claim to be. At most it incidentally prevents a narrow subset of unsafe memory uses, compared with C (not a high standard), in the sense of providing an array type (and concomitant string type) rather than just pointer arithmetic.
samhw··on Ask HN: Freelancer? Seeking freelancer? (May 2022)
Realistically, no one is going to use this. Google Forms provides 400 form submissions per minute, unlimited per day, free of charge, and still more with their $8/mo paid tier (and that also covers all Google services, not just Forms). You're selling 1000 form submissions per month for $10.

This would have been a saturated market in 2002. It's way beneath table stakes even for a free service today. Google Forms gives you 17,280x the quota for literally nothing, and a million neat integrations with various products (Sheets, Gmail, &c) which you can never hope to equal.

I'm sorry, I've been there, and it hurts, it sucks, but you will be considerably better off stopping now than driving yourself into the ground, selling something that nobody is going to buy, ever. If you need any current ideas, I'm happy to share some of the stuff I've been thinking of - probably not all of it will be good, but there'll be some good stuff in there (I just don't have the time to pursue all of them).

PS: I don't think you need to put 'Jamstack' on your landing page. No one cares what your tech stack is. At most it will worry or annoy some people (the language fanboy types and many more who believe what the former say), whereas it's not going to increase anyone's confidence or interest. In short, you don't want to brag about a necessary but not sufficient condition, especially when it's a highly arguable/contested one. It's an unforced error.

samhw··on The saddest “just ship it” story (2020)
Honestly, I say this as a big Rust user: ignore that shit. At the level of writing a desktop app, the truth is that you're already using a vast amount of CPU and memory, and eking out performance gains on that level is not going to make a vast difference. It's very likely that your Rust code would end up being littered with .clone() and the like, and likely less performant than well-written JS.

Also, V8 is an incredible piece of technology, and is not that far off being competitive with Rust or C++. In some scenarios GC (by which I mean tracing) can outperform reference counting, or even Rust-style malloc+free. The event loop architecture is also very naturally fitted to user interfaces.

Ignore the HN opinionmongers and build with whatever tools you can work with. You'll be much faster and more flexible, and you'll gain an understanding of what the bottlenecks are, which you can use to do targeted optimisation later on :)

samhw··on The saddest “just ship it” story (2020)
In other words, a story? An account of something that happened to that person? Does he have to state the names of every road he was on and every cafe he went to?

I like this site, but the one thing I'll never understand is the outrageously entitled attitudes of so many people when it comes to free content, like fat and delirious blog-reading Ubus.

samhw··on Meta Is Transferring Jest to the OpenJS Foundation
And good for them, but that doesn't affect the fact that they are doing you (/me, us) a favour, an act of supererogation.

In any case, my point isn't really about whether they are being kind or not. That's a fortiori. It's that they certainly aren't under any obligation to provide it, nor to maintain it on account of having provided it.

(Although to respond to your precise point: I'm severely doubtful of your claim that Facebook gets 'huge marketing PR' from an open source library. No one is signing up to Facebook because of the [apparently-existent] 'huge marketing' of the fact that they wrote React.)

samhw··on I/O 2022
Hmm, I think we're coming up against the weirdness of racial categories here. I'd say Ukrainians - to much the same extent as Hispanics - aren't quite considered white in American terms (which has virtually zero to do with one's skin color). Or not Caucasian, at least. (Yes, despite the fact that they come literally from the Caucasus, while Americans don't.) But it's impossible to come to an exact agreement on these things.

That interesting diversion notwithstanding, I think his being deaf is probably what accounts for his inclusion, which is consistent with the spirit of what that person was saying.

samhw··on Meta Is Transferring Jest to the OpenJS Foundation
> any expected future contributors deserve, in comparison, pennies?

No, they don't deserve pennies. Facebook has given its code to the world - if anyone wants to keep that code maintained, then they can do so, but (I'd have thought needless to say) Facebook does not owe them a penny to maintain it just because they were kind enough to donate that version of their code. They can update it if they benefit from doing so.

Seriously, is this where we've got to? You can't open source your code unless you're able to pay for its maintenance in perpetuity? How is this in the spirit of openness? And, more to the point, how in the hell does this (incomprehensibly entitled) attitude encourage open source development?

samhw··on Meta Is Transferring Jest to the OpenJS Foundation
I just don't see how it's less valuable than not using it. That seems analytically true to me: if ever the debits do outweigh the credits, then one simply doesn't use it. After all, it's not like it's a library doing some magical thing; it's a framework which operates on code written to a certain interface, and for which alternative 'compilers' (e.g. Preact) already exist.
samhw··on I/O 2022
Google's workforce is 53.1% white, and 36.3% Asian (so, not far). 2.5% is black. Their marketing graphics - to put it charitably - bely those demographics.

src="https://static.googleusercontent.com/media/diversity.google/..." />

samhw··on I/O 2022
Nah, watch the video, he's Hispanic. (Of course racial classifications have no real meaning, but ime Hispanic people are generally - bar some Spaniards - 'typed' as non-white, comparable to Asians or Native Americans. And certainly a minority in US terms.)

ETA: He's also deaf, fwiw, with regard to the minority point.

ETA2: Hmm, I may be wrong about the exact details. It looks like he's a research scientist at Google, and, judging by the name, possibly Russian. But the same non-Caucasian non-''white'' point applies. (The Spanish voiceover and subtitles confused me - it's not his voice at the start, whereas his own 'deaf voice' makes any accent hard to identify.)

samhw··on I/O 2022
> “In our research, we found that a lot of the time people feel they’re lumped into racial categories, but there’s all this heterogeneity with ethnic and racial categories,” Dr. Monk says.

"People think we're lumping them into racial categories. But we're actually lumping them into slightly narrower racial categories!"

samhw··on Meta Is Transferring Jest to the OpenJS Foundation
I think they meant 'the rest of the industry'?
samhw··on Meta Is Transferring Jest to the OpenJS Foundation
A white elephant, basically, you mean? I definitely understand that, but I'm not sure it applies here. Jest and React are exceptionally mature and well-maintained pieces of software. Many a startup has been built by gluing React to Express and Postgres with nary a glimmer of skill required. Hell, it has its own developer tools built into Chrome.
samhw··on Meta Is Transferring Jest to the OpenJS Foundation
It's not a question of 'sympathy', it's a question of recognising the neutral fact that a company providing its code to you free of charge is not further obligated - irrespective of whether you happen to like or dislike that company - to spend what you deem to be an 'appropriate' amount on maintaining the free software they provide you.

(And, even if any of the foregoing made any sense, the notion that an 'appropriate' amount is somehow measured relative to the company's revenue, rather than the factual costs of maintaining the software, is disqualifyingly silly in its own right.)

samhw··on Meta Is Transferring Jest to the OpenJS Foundation
They are providing their code to you free of charge. They are already doing you a kindness. So certainly they are under no obligation to spend $22k, let alone more than that. Christ, attitudes towards open source have become seriously warped over the last few years.
samhw··on The ACLU Has Lost Its Way
Rubbish. Bob from the car factory can take a sabbatical without the free world sliding into tyranny. In fact, very little that I have done in my life - if anything at all - has had any appreciable effect on free society. This is the kind of "I know this is rubbish but it conveys an ethos I want to convey" statement that's sending language and meaning into decline.
samhw··on Ask HN: WFH – will I be outsourced?
> I think a lot of people are in denial about how much remote work is setting the stage for a flattening of global engineering compensation.

Thank God someone said it. I have an odd quality – among my uncountable bad qualities – that I can’t lie to myself, and Lord almighty the number is shocking of otherwise-smart engineers who are capable of virulently believing something that’s plainly wrong, when the alternative is uncountenanceable for their psyche.

And yeah, the proposition “the incredibly high salaries engineers are paid (relative to the time, effort, intelligence, and miscellaneous skill demanded to pick up the metier) are a historical bubble – albeit a long one – and will not continue for our lifetimes” is without a doubt one such belief. People have different ways of rationalising their refusal to accept it, mostly either (a) that it’s gone on for decades already / you naysayers have been saying this for decades already[0] /c or (b) some miscellaneous argument for why our job is uniquely insusceptible of possibly being done by an Indian despite the evidence thereof (my favourite is the “but who will train the [robots/Indians/c]?”, as if self-hosting Indians will take centuries to be invented), but either way everyone has a reason. That old cliché that ‘it\’s difficult to get a man to understand something when his salary depends upon his not understanding it’ has never made so much sense to me as when I first asked this question.

[0] This is a weirdly tropical fallacy used to reject all manner of things. “Millennials are lazy/disrespectful/entitled/&c.” “Oh yeah? Well, people have been saying that kids are lazy/disrespectful/entitled for centuries!”

samhw··on Knitters got knotted in a purity spiral (2020)
Yeah, I think I'm the same. For years I kinda awkwardly put up with it, semi-understanding the dynamic (revolutional paedophagy?), but I've got bored of it over the last couple of years. I've seen the same in people I know, and even just people I've seen interacting online. Your characterisation of "a subtle but very significant change" is apposite, imo.

People are starting - albeit unevenly and at different stages and with considerable pushback – to realise that they don't owe an account of their morality to any old person on the internet, that they can be non-racist and not have to agree with (and genuflect to) every other self-styled non-racist trying to sell some wacky opinion to them, etc.

And - what makes me most happy of all - they are doing it, at least many of them, without falling prey to the "I disagree with someone from Not Racist FC so I guess all that's left to me is to sign up to Racist FC" non sequitur.

samhw··on (Yet Another) Lisp in Go
I think the real issue is that Go is its runtime, including garbage collection but also coroutine scheduling, syscall management (syscalls effectively enter 'gospace' before kernelspace), etc. Go's docs liken it to crt0, which is entirely dishonest. You can't have verifiable deterministic programs with a runtime like this which extends way beyond a small setup routine. That's generally 'fine in practice' for application development - especially the Python-level programs which are generally written in Go - but for building another language (interpreter) atop it, it strikes me as madness.
samhw··on When I tell the Windows Terminal team something is simple, I am "misguided"
Gosh this seems like a brilliantly effective next step in the TikTokers’ campaign to drain life of any and all colour and playfulness and spontaneity. As an autistic person, I’d cast my vote for ‘occasionally misunderstand things’ over ‘have ridiculous sarcasm warnings on everything so that you can’t actually be sarcastic, or anything but grimly solemn and annoyingly earnest 100% of the time’.

(Also, Lord save me from people who call themselves “allies”. It’s just called being a normal decent person, but that doesn’t let you brag about it or use autistic/black/etc people as fashion accessories, so I s’pose that’s off the menu..)

samhw··on When I tell the Windows Terminal team something is simple, I am "misguided"
Besides what pc86 wrote: there’s a difference between ‘not a real name’ and ‘a fake name’. A dog is not a fake cat. Being a fake entails pretending to be the real thing, which ‘pc86’ - as should hopefully go without saying - is not.
samhw··on Lies we tell ourselves to keep using Golang
Sorry - 'hit the nail on the head'. Literally: (you touched == tetigit (tangere)) ([the] point == rem (res)) (with [a] needle == acu (acus))'.[0] 'Point' (res) is already abstract - 'matter', 'thing' - not being used figuratively like the rest of the phrase.

It's one of those phrasoids which is permanently stuck in my head from Latin classes when I was a teenager, but I might've been wrong in thinking it was one of the more widely-recognised ones.

[0] 'You' is implied by the second-person verb ending on 'tetigit', 'with' is implied by the ablative case ending on 'acu' (the 'ablative of means'), while 'the' and 'a' are filled in altogether since Latin has no concept of definite/indefinite articles.

samhw··on Tailscale raises $100M
If they said "buy once, get upgrades forever" and didn't provide that, then yeah, that's definitely a very plain example of immoral dealing. The future service is exactly what the purchasers were buying - not a nice-to-have add-on.
samhw··on The Google incentive mismatch: Problems with promotion-oriented cultures
I don't really blame them, and I think any group would feel the same to hear one of their personal attributes referred to as intrinsically 'toxic'. If we simply described the personality traits that we meant, we might actually get somewhere (but, from everything I've seen, getting somewhere is not the objective).
← PreviousPage 4 of 28Next →