HNHacker News
TopNewBestAskShowJobs

munchbunny

6,784 karma · joined April 24, 2012

submissionscomments
munchbunny··on Microsoft increases Office 365 and Microsoft 365 license prices
In practice, it's like how having Adobe Reader used to be. You mostly don't need it, but occasionally you need it for interoperability with other people, such as lawyers.

Otherwise, I keep it around for the desktop Excel app. Still my preferred spreadsheet app, even though Google Sheets does pretty much all of what I need.

munchbunny··on Most technical problems are people problems
> It also hammers home the idea that you need backing and buy-in from key players in the workforce before everyone else will follow.

Yup, this is the key issue and what makes it primarily a people problem. Technical solutions don't work if the main problem is getting buy-in to spec/build/adopt one, unless you're willing to build a lot of things you end up throwing out. So instead the bulk of the high risk work is actually negotiation between people.

munchbunny··on Most technical problems are people problems
> Then I offered as part of my design (and from my XP in more than 10yrs of working in products with petabyte datastores) that dealing with so many services connecting to the Data store directly could run into scale issues.

There's a small but substantial number of engineers out there who haven't operated at the kinds of scales where hyperscalers' limits become normal architectural problems and don't have the humility to imagine that it could be the case. (e.g. blob stores do in fact have limits you can hit, and when you operate at petabyte scales you have to anticipate in the architecture that you can hit them for even trivial operations.) I also work on petabyte datastores and have encountered a bunch of those engineers over time.

To be fair though, that's the small minority of engineers I've encountered, and if it wasn't arguing about the types of scale problems unique to petabyte scales, it'd be about some other nuanced subject matter. It's a humility problem.

munchbunny··on Most technical problems are people problems
As a data engineer in big tech, the two hardest problems I deal with are:

* Conway's law causing multiple different data science toolchains, different philosophies on model training, data handling, schema and protocol, data retention policies, etc.

* Coming up with tech solutions to try to mitigate the impact of multiple silos insisting on doing things their own way while also insisting that other silos do it their way because they need to access other silos' data.

And the reason standardization won't happen: the feudal lords of each of those branches of the hierarchy strongly believe their way is the only way that can meet their business/tech needs. As someone who gets to see all of those approaches - most of their approaches are both valid and flawed and often not in the way their leaders think. A few are "it's not going to work" levels of flawed as a result of an architect or leadership lacking operating experience.

So yeah, it might look like technical problems on the surface, but it's really people problems.

munchbunny··on Why are 38 percent of Stanford students saying they're disabled?
Some fairly simple examples where accommodations make the test more fair:

* You have a disability that hinders your ability to type on a keyboard, so you need extra time to type the essay based exam through vocal transcription.

* You broke your dominant hand (accidents happen) so even though you know all of the material, you just can't write fast enough within normal "reasonable" time limits.

* You are blind, you need some way to be able to read the questions in the test. People who can see normally shouldn't need those accommodations.

I don't think those are cases where you are lowering the bar. Not by more than you are allowing the test taker a fairer chance, anyway.

The problem is when you get into the gray area where it's not clear than an accommodation should be given.

munchbunny··on Transparent leadership beats servant leadership
You do need to expose your team to some of the shit that's getting flung or else your team gets used to operating under clean conditions and loses its tolerance.

For better or for worse, politics and randomization is just a thing in our jobs, and for at least some people in your team that means part of career growth is learning to handle it. If you, the manager, are the sole person capable of being the "shit umbrella" for the team, that's another way that your team gets a bus number of 1. (I learned this the hard way.)

In an ideal world you have some senior engineers who are more of the "don't bother me and let me cook" persuasion, and then you have at least one who is probably on track to become a manager, and they are your backup when you can't be in two places at once.

munchbunny··on The Penicillin Myth
The chance of exactly 100 heads from 200 fair coin flips is approximately 5-6%. Qualitatively, that's not particularly strong evidence for an unfair coin if you did only one trial.

You could also argue that 100 out of 200 on a fair coin is more likely than any other specific outcome, such as 93/200, so if the argument is that the coin is "too perfect", you then also have to consider the possibility that the coin is somehow biased to produce 93/200 much more often than anything else, vs. 100/200.

munchbunny··on My stages of learning to be a socially normal person
> I don't want to disparage the author as this is a personal journey piece and I appreciate them sharing it. However this did leave me slightly uneasy, almost calling back to earlier days of the internet when advice about "social skills" often meant reductively thinking about other people, assuming you can mind-read them to deconstruct their mindset (the section about identifying people who feel underpraised, insecure, nervous,) and then leverage that to charm them (referred to as "dancing to the music" in this post).

I see why you'd think this, but I disagree. In my opinion it's two sides of the same coin, and the key moral question is whether you use those skills in a moral way. I've seen both well-meaning and charismatic people and not so well-meaning charismatic people, and at the end of the day I believe that charisma is a powerful tool, but it's not fundamentally good or bad.

Social interactions have always felt like a game whose rules I don't intuitively understand, and I've always envied people like my wife who handle it much more naturally and fluidly. The same way that I'm comfortable and capable in analytical settings, they navigate social settings with just as much finesse. I've personally spent a big chunk of my adult life trying to learn to navigate social interactions more comfortably and more intuitively, so I can see some parallels with what the author writes about. (For the record, I'm neurotypical, just awkward.)

For most people I don't think it's about charming, manipulating, or gaming social interactions, I think it's about wanting to make connections and friends because that leads to being happier.

munchbunny··on You should write an agent
An agent is more like a web service in your metaphor. Yes, building a web server is instructive, but almost nobody has a reason to do it instead of using an out of the box implementation once it’s time to build a production web service.
munchbunny··on Bloom filters are good for search that does not scale
> that asymmetry is weirdly powerful for specific problems.

100% agree when it works in your favor. We use it for exactly that situation where a non-zero false positive rate is fine and you can choose how much memory to devote to getting it closer to zero.

There have a been a couple times though where we've needed a "keep everything not on this list" operation, and unfortunately bloom filters don't work well for that situation. There are alternatives, but none as elegantly compact as bloom filters.

munchbunny··on Kafka is Fast – I'll use Postgres
An internal data lake at a FAANG company. I don't really want to go into more detail for my own privacy, but it was definitely the kind of problem you only have when you have a FAANG-sized footprint.
munchbunny··on Kafka is Fast – I'll use Postgres
> There aren't really "listeners" in the sense of a pub-sub?

They are still "listeners", it's that events aren't pushed to the listener. Instead the API is designed for sheer throughput.

munchbunny··on Kafka is Fast – I'll use Postgres
Yup, that's a fair and important distinction, Kafka comes with very little of the ergonomics that make MQ good at what it does. In exchange you get blistering scale, for when blistering scale is the main problem.
munchbunny··on Kafka is Fast – I'll use Postgres
> I had assumed that Kafka would give me things like decoupling, retry, dead-lettering, logging, schema validation, schema versioning, exactly once processing.

If you don't need a lot of perf but you place a premium on ergonomics and correctness, this sounds more like you want a workflow engine? https://github.com/meirwah/awesome-workflow-engines

munchbunny··on Kafka is Fast – I'll use Postgres
I have this problem in the system I work on - the short nuance-less answer from my experience is that, once your scale gets large enough, you can't prevent ordering issues entirely and you have to build the resilience into the architecture and the framing of the problem. You often end up paying for consistency with latency.
munchbunny··on Kafka is Fast – I'll use Postgres
> I want to rewrite some of my setup, we're doing IoT, and I was planning on

Is this some scripting to automate your home, or are you trying to build some multi-tenant thing that you can sell?

If it's just scripting to automate your home, then you could probably get away with a single server and on-disk/in-memory queuing, maybe even sqlite, etc. Or you could use it as an opportunity to learn those technologies, but you don't really need them in your pipeline.

It's amazing how much performance you can get as long as the problem can fit onto a single node's RAM/SSD.

munchbunny··on Kafka is Fast – I'll use Postgres
> Is there something about load balancing REST requests to different DB nodes that is less complicated than Kafka?

To be clear I wasn't talking about DB nodes, I was talking about skipping an explicit queue altogether.

But let's say you were asking about load balancing REST requests to different backend servers:

Yes, in the sense that "load balanced REST microservice with retry logic" is such a common pattern that is better understood by SWE's and SRE's everywhere.

No, in the sense that if you really did just need a distributed queue then your life would be simpler reusing a battle-tested implementation instead of reinventing that wheel.

munchbunny··on Kafka is Fast – I'll use Postgres
My general opinion, off the cuff, from having worked at both small (hundreds of events per hour) and large (trillions of events per hour) scales for these sorts of problems:

1. Do you really need a queue? (Alternative: periodic polling of a DB)

2. What's your event volume and can it fit on one node for the foreseeable future, or even serverless compute (if not too expensive)? (Alternative: lightweight single-process web service, or several instances, on one node.)

3. If it can't fit on one node, do you really need a distributed queue? (Alternative: good ol' load balancing and REST API's, maybe with async semantics and retry semantics)

4. If you really do need a distributed queue, then you may as well use a distributed queue, such as Kafka. Even if you take on the complexity of managing a Kafka cluster, the programming and performance semantics are simpler to reason about than trying to shoehorn a distributed queue onto a SQL DB.

munchbunny··on Peanut allergies have plummeted in children
Fortunately for food allergies, oral immunotherapy seems to be very effective if you can catch the allergy early (before 2 years old). We did for our oldest and the results are miraculous. It's a ton of work though, and I had more than a few near crash-outs from trying to get an 18 month old who doesn't really like the taste of peanut to eat a teaspoon of peanut every single day. That said, I don't regret it.

Even though we keep an epipen around and we make sure they're not eating peanuts, we don't practice strict avoidance anymore, we don't have to worry about the "processed on shared equipment" warnings, and there's no problem if he touches/inhales/eats peanut, meaning we can eat peanuts around him.

munchbunny··on Peanut allergies have plummeted in children
I haven't searched through the literature, but these days pediatrician advice is to try to do early and regular exposure to all of the common food allergens as soon as they are ready to start solid foods (~6 month mark), if not even a little earlier in their milk/formula.
munchbunny··on Peanut allergies have plummeted in children
My oldest is allergic and spent plenty of time in the sand and dirt. They were exposed to nuts pretty regularly, and fed small amounts from basically as soon as they were taking solid foods.

The hygiene hypothesis is widely accepted, including by allergists, and there's definitely data supporting it, but we don't understand the mechanism, so it's hard to say that it's about any one specific thing vs. many contributing causes that correlate with hygiene and other aspects of the environment around the kid.

The advice about early exposure clearly works though, and there's data to support that early exposure even after confirming the allergy can increase the chances of outgrowing the allergy.

munchbunny··on Ohno Type School: A (2020)
It's a very colorful way to describe the phenomenon, but it is a real problem with the "Y" part of the B.
munchbunny··on "Be Different" doesn't work for building products anymore
> I try to interview promising resumes even if they don't have the perfect experience match. Something that becomes obvious when doing this is that many developers have only operated on relatively simple projects. They would repeat things like "Everything is just a CRUD app" or not understand that going from Python or JavaScript to C++ for embedded systems was more complicated than learning different syntax for your if blocks and for loops.

I agree and disagree here. IMO the sign of experience is when you understand which details really matter, and which details are more or less the same across the different stacks, and also when they don't know enough yet to differentiate and need to ask someone else.

munchbunny··on Our efforts, in part, define us
> often just translating between things, people and software, or people and people, or software and software. But it's almost always communicating.

How true this is. How much of our code, how much compute power, and how much human energy is spent entirely on transforming data from one encoding or schema to another, for the purposes of being able to apply some algorithm or human process to it? Sometimes I feel like it's at least half of our silicon, electricity, and human time spent just doing that transforming.

munchbunny··on Driving Complex Decisions
The point about how the expected decision timeline is often a small part of the total decision timeline really resonates with me. Often (in my big tech experience) we say we can get a design done in a week, and then we spend three more weeks running the design up and down the leadership chain and through stakeholders elsewhere in the company, at which point you're three weeks past the date everyone expected and you finally have a plan.

It really helps to front-load the controversial questions. That way, if the team/organization/leadership gets mired down in that discussion, it's (1) determining constraints to reduce your search space early, and (2) it isn't setting false expectations about how long the decision will take because the design work hasn't even started!

One thing I miss about working in a startup is that you didn't have that many stakeholders to go through, so there wasn't nearly as much communication/stakeholder overhead to work through.

munchbunny··on Scaling our observability platform by embracing wide events and replacing OTel
In practice, at the scale I work at, it's barely feasible to scan one week of logs, let alone two months, because you'll be waiting hours for the result. So you learn strategies to only need to scan a subset of the logs at a time.
munchbunny··on Scaling our observability platform by embracing wide events and replacing OTel
> Can you search log data in this volume?

(Context: I work at this scale)

Yes. However, as you can imagine, the processing costs can be potentially enormous. If your indexing/ordering/clustering strategy isn't set up well, a single query can easily end up costing you on the order of $1-$10 to do something as simple as "look for records containing this string".

My experiences line up with theirs: at the scale where you are moving petabytes of data, the best optimizations are, unsurprisingly, "touch as little data as few times as possible" and "move as little data as possible". Every time you have to serialize/de-serialize, and every time you have to perform disk/network I/O, you introduce a lot of performance cost and therefore overall cost to your wallet.

Naturally, this can put OTel directly at odds with efficiency because the OTel collector is an extra I/O and serialization hop. But then again, if you operate at the petabyte scale, the amount of money you save by throwing away a single hop can more than pay for an engineer whose only job is to write serializer/deserializer logic.

munchbunny··on Drag racers are ditching superchargers for scuba-style tanks and compressed air
Reminds me of this piece of motorsports history: https://fordauthority.com/2017/12/how-ford-cheated-the-rules...

Take, for instance, Ford’s car from the 2003 FIA World Rally Championship. Through a knowledgeable automotive tuner and journalist named Stav from the UK (Facebook page), we learned that the 2003 Ford Focus RS WRC used an ingenious, mostly-hidden system to store excess pressurized air from the turbocharger in a titanium tank until it could be advantageously crammed into the engine on straight portions of the course, elevating power beyond what would otherwise have been possible.

munchbunny··on Can you lose your native tongue? (2024)
In this structure, “were” is used in cases where you are entertaining a hypothetical, and “was” is for something that was true.

English grammar is often confusing in cases like this because verbs mostly don’t have distinct spellings/pronunciations for the subjunctive mood, even though the subjunctive conjugations are part of the grammar.

It also doesn’t help that “subjunctive” is kind of the “else” condition among the three verb moods, the other two being “indicative” and “imperative,” so you often notice that it’s the subjunctive by ruling out the other two.

munchbunny··on Can you lose your native tongue? (2024)
Ha. Got me.
← PreviousPage 2 of 34Next →