HNHacker News
TopNewBestAskShowJobs

caffeine

2,755 karma · joined May 27, 2009

submissionscomments
caffeine··on Lessons learned from the recent job hunt
I found the comment both slightly racist, and harmlessly humorous. Some stereotyping can be funny and acceptable.

I would’ve found it similarly both racist and harmlessly humorous if the author was going to a party and said “I channeled my inner Jamaican and tried to dance.”

Or if she was going to the interview and said “I channeled my inner German and got there exactly on time.”

Like, it’s fine. Good-humoured stereotyping is fine. Self deprecation is fine. We don’t all have to be passive aggressive all the time just waiting for people to screw up so we can dunk on them.

caffeine··on The diminishing returns of productivity culture (2021)
You are doing solo, technical, concentrated work.

I have seen a lot of people do more and better. But different work, not coding.

Like leading and managing people is very possible for some elite people to do for say 70 hours a week and mostly involves talking, persuading, answering emails and phone calls, and most importantly making good decisions.

The value of good leadership and good decisions is directly proportional to the number and quality of people being led.

So that could be a huge value. Doing twice as much of it could way more than double that value with compounding.

caffeine··on The diminishing returns of productivity culture (2021)
> As Elon, by virtue of his massive wealth now, is depriving an ungodly amount of people of financial resources and opportunities.

That doesn’t make any sense at all. His wealth isn’t made up of financial resources and opportunities that other people could have used - his wealth is the price that other people would be willing to pay him to own shares in the companies he created.

I think it’s a common misconception out there that paper billionaires like Elon and Jeff Bezos have like a giant pile of cans of food in a warehouse somewhere that they could give out to people but don’t because they like having the biggest pile.

That’s not really the case.

caffeine··on The diminishing returns of productivity culture (2021)
What’s true on average might not be true for certain individuals, and power-law mechanics might make those individuals more significant than everyone else who makes up the average.

Like imagine Elon Musk works 80 hours a week and he doesn’t suffer any negative consequence, he just becomes the most productive human ever according to the market.

And then a bunch of other people work 80 hours and they do suffer burnout and become slightly less productive than if they had worked 40 hours.

If you say “What’s the expected value of working 80 hours rather than 40?” in that scenario, it’s extremely positive, because the tiny chance you become Elon and have half the wealth in America offsets the very high probability you become a burnout who does no better than average.

caffeine··on Why do you waste so much time on the internet?
There is a great episode of Jocko podcast with Andre Huberman that just came out where he carefully addresses this specific issue. Worth listening to (it’s in the first hour or so, I mention it because it’s 5 hours long!!)
caffeine··on Bugs that the Rust compiler catches for you
I just wish there was an ergonomic way of saying “Please check if the following code can possibly panic, and fail to compile if it can.”

That would allow critical sections that happen to use a library not to need to audit all the code in the library for panics.

caffeine··on Including “And. And. And. And. And.” in a Google doc causes it to crash
Hey, I just wanted to say that your comments in this discussion are awesome and I’m having a lot of fun reading them. Thanks!
caffeine··on Master’s Degree in Computer Science
> Netflix, SpaceX, JPL

Interesting list of examples, I wouldn’t necessarily have grouped these together?

Have you applied for these at some point? I haven’t, but the emphasis seems quite different at each company

caffeine··on Master’s Degree in Computer Science
I think the author did the right thing here: pick an arbitrary cutoff like top 20, and assume that within that bucket they’re all pretty good, without worrying too much about the specific ranking of each school.
caffeine··on The $440M software error at Knight Capital (2019)
Back when Flash Boys came out, we all started calling each other Flash Boys. There was then a serious proposal to rename one of the strategies (the hedger, for added irony) Grandma Annihilator 3000.

When the KCG thing came out, one of the new grads was renamed “Power Peg” for a few weeks.

I miss the 2010s. It was a lot more fun when people leaned into stuff instead of being scared all the time.

caffeine··on Preventing Burnout: A Manager's Toolkit
How about:

* Listening to each person’s specific concerns carefully and in detail, and then applying as much creativity and empathy as possible to help them come up with a resolution?

* Giving people increased responsibility and increased autonomy as a response to signs of burnout?

* Quickly transitioning coddlers (who stifle growth), complainers (who destroy motivation), victims (who destroy alignment), braggarts (who steal credit and poison achievement) out of teams?

* Managing the team competently so that forward progress is actually happening and the whole team can see it and sense it and take pride in it?

* Ensuring that the team’s mission, the company mission, and business value are all aligned, and making the team stakeholders to give them agency?

Personally, I find saying “the employees have burnout, they should work less and celebrate more” is pretty naive. It’s likely to make things worse.

Burnout isn’t overwork. It’s more like hopelessness. Effort is being made but the emotional reward for visible progress towards a valuable goal is not forthcoming. It can feel like overwork, but it’s more the work to reward ratio that’s a problem.

caffeine··on The $440M software error at Knight Capital (2019)
The attitude that finance pays more is a leftover from a previous era. 10-15 years ago it was true: the profits from HFT were so also way, way bigger and split up amongst a much smaller group of firms.

Now those firms are all in a completely competitive industry squeezing each other for basis points.

Meanwhile the definition of a FAANG is that it has an effective monopoly, and these companies are taking in way more money than the HFT industry. (Netflix is losing its monopoly but we can’t really drop N from the acronym without a replacement..)

caffeine··on Distributed Systems Shibboleths
> They interpreted crashing as bad quality

The solution here is to rebrand it with some vague euphemism:

“Ah yes the component underwent a state calibration”

caffeine··on Ask HN: Do you rewrite pull requests?
Just wanted to say thanks for sharing these rules, I think they’re super helpful.

Do you have any particular rules about performance? I worry that accepting net improvements on functionality alone could result in “death-by-a-thousand-cuts” performance issues down the line (assume it’s a project where performance is one of the deliverables).

Would you ask a contributor to perform benchmarks or some other performance validation, for example?

caffeine··on Noto emoji, a new black and white emoji font with less color
I agree with your sentiment, in fact the skin tones especially are a massive liability. Like if you mis-click by a few pixels in your corporate Slack, and all of a sudden you send the wrong colour thumbs—up emoji, now it’s A Situation.
caffeine··on Noto emoji, a new black and white emoji font with less color
I think the point of this was to remove the genders, right? To avoid offending the people who get offended if genders like male and female are acknowledged to exist?
caffeine··on Zaplib post-mortem
Just a follow up on a practical way to actually do this: turn each “User” into a 30-minute conference talk with a slide deck showing techniques you used, performance metrics, etc.

Pitch them to the various JS conferences and go give the talks. Release them as YouTube videos, and blog posts. Mention the fact that you are available to help teams optimise their front end code, and love doing it.

I think this process would take 3-6 months and you would have a great brand from which to build your business.

caffeine··on Top navy admiral wants rust-free ships
To reply to those saying CPI inflation is up 60% over the period: S&P500 is a better measure of inflation, up 3x over the period, so navy budget roughly keeping pace.
caffeine··on Zaplib post-mortem
The two of you could probably bootstrap your expertise into a non-VC, multi-$M ARR Javascript performance consultancy, taking peoples code and finding 5-10X speed ups through better JavaScript.

You could have a great lifestyle and a great business after a few years of work and growing a team of skilled JS performance experts.

Eventually you would probably stumble your way into a solid product once you had solved enough customer problems to see the commonalities (or through your internal tooling etc).

caffeine··on Top navy admiral wants rust-free ships
I think that’s not keeping up with inflation over the same period?
caffeine··on PranaDB – A distributed streaming database, designed to be horizontally scalable
https://materialize.com/about/

Seems like they could’ve used that instead (plus a Kafka connector) and benefited from a lot of deep research into how to do this optimally

caffeine··on Low-Latency, High-Throughput Garbage Collection [pdf]
> I've talked with folks who just disabled the garbage collector

Yes we did this too for a while. In the end it slowed down dev velocity too much and we could afford to trade off some slight tail latency. Mind you this was back in like 2016, I haven’t used Java in trading for a while..

> it's going to end up stealing cache lines from the application core's L1 cache

This happened but in practice it wasn’t a big deal, it could be pretty effectively mitigated by consistently running the fast-path code to keep the caches hot.

caffeine··on Low-Latency, High-Throughput Garbage Collection [pdf]
You can enforce that the Linux kernel not do this with nohz cmdline options
caffeine··on Low-Latency, High-Throughput Garbage Collection [pdf]
Can’t speak for OP, but for certain low-latency applications like trading, one wants to isolate a core, pin a thread to it, and have that thread spinning hot on some condition (maybe network card, maybe IPC), for optimal latency in responding to a particular event.

In that scenario, you wouldn’t want the GC to run on that core, for sure.

caffeine··on Core i9-12900KS World Record: How I Hit 7.8 GHz on 8 Cores
Not nitrogen-cooled, but liquid-cooled overclocked rackmount servers (with consumer gaming CPUs rather than the usual Xeon CPUs) are a thing in HFT.

They’re crazy because they are so unstable that you basically can’t reboot them and expect them to reliably come back up, so you are stuck on that given kernel version and firmware etc (important for eg the custom network cards that often want firmware updates).

You just turn it on, run it for like a year, and then it dies and you trash it and get a new one delivered.

caffeine··on When hiring developers, have the candidate read existing code
I think this is a great interview. I do something similar.

I’ve done most of my interviewing in finance where:

1. The engineers are mostly really good

2. They almost never have side projects, and everything they have ever done is super secret and proprietary.

For this it makes sense to ask people to do a take-home, and then ask them questions about it when they come in.

I usually also ask them to add a simple feature to their code and just silently watch them code it. You learn a lot from watching how someone breaks down a simple problem, especially where they are expert (ie they are working in their own codebase).

caffeine··on Hexagonal Architecture and Domain Driven Design
> they are best served by code that represents their understanding of the business

Genuinely curious why you think this is? To me it seems a massive leap?

Trying to steel-man this, if:

1. The people who know best about the domain are not technical and don’t know algorithm thinking

2. The technical people are not capable of understanding the domain enough to separately discuss what the code does and how it does it

This is basically the consulting scenario, which is where DDD came from (?) Then it would make sense - when the team leaves and the next guy comes in with no clue how it works, he can read it out to the domain expert who will roughly understand what it’s doing.

On the good teams I’ve seen, the domain experts and the people coding are the usually same people, the “domain vocabulary” is CS, and the team is looking for maximum leverage (trying to do with 10 ppl what others do with 100 people).

So it’s quite a different scenario than 100 ThoughtWorkers getting dropped into some vertical they know nothing about and being expected to model a bunch of existing business processes.

caffeine··on Hexagonal Architecture and Domain Driven Design
It’s a shame that Domain Driven Design and Data Driven Design have the same acronym, while being basically polar opposites (some people call the latter Data Oriented Design for this reason).

To me, Domain-Driven is sort of an extension of Object-Oriented fundamentalism that used to reign, especially in the Java world. You make a class or a micro-service for every concept in your world.

It’s a great way for a huge team of programmers to write a massive amount of code that doesn’t do very much (there are always exceptions, of course!) - with elaborate contortions to model and name everything just right. You might wind up needing things like Dependency Injection frameworks, mocking frameworks for tests, etc.

Data-Driven is the idea of leaning in to the fact that fundamentally, your software is a program, running in computers. It is going to turn some input into some output. You design along the axis of what data you need, how it is represented, where it needs to go, what transformations need to be applied, what output needs to be produced, and what needs to be stored. It tends to look more like functional programming, although you can certainly also apply mutating transformations, usually for efficiency.

IMHO, the latter is a great way for smaller teams to produce modest amounts of code that accomplishes a great deal.

caffeine··on Ask HN: How did Fast get a $580mm valuation?
> This is a romantic take and the only takeaway from it is that Fast failed because it failed.

What is your take on why they failed?

caffeine··on Ask HN: Where can I see many examples of real companies' software architecture?
This doesn’t really answer your question, but gleaning it from job descriptions is one way I do it.

If I’m curious how a company did something, searching for their job descriptions can turn up interesting stuff like what languages and frameworks they use, and often from there you can infer what their architecture might look like.

← PreviousPage 2 of 22Next →