HNHacker News
TopNewBestAskShowJobs

erikpukinskis

14,676 karma · joined September 16, 2009

Personal web site: http://snowedin.net

Email: erik@snowedin.net

submissionscomments
erikpukinskis··on The day I started believing in unit tests
A bug in test code is not a real bug. It’s just a test that’s not giving you useful information. Lots of tests don’t give you useful information. Some that fail and some that pass.

It’s easy to write a test that doesn’t provide useful information across time. Harder to write a test that does.

erikpukinskis··on Moving from relational data to events
Event sourcing has a lot of nice properties, so I’m intrigued. But don’t you still need relations? And then how do you implement those?

If the answer is “they’re all implicit in the application layer code” then that’s not really acceptable. I still need some way to query for relations, or keep relation views up to date, or something like that.

I don’t mind if relations are not core to your persistence model, but they have to be implemented _somewhere_ in your data layer, and I’m not seeing any mention of that here.

I have the same issue with Firestore, everyone does relations _somehow_ but it’s all just spaghetti application code which isn’t scalable.

erikpukinskis··on Ex-Facebook diversity manager pleads guilty to bilking $4M from company
What, fraud?
erikpukinskis··on We have reached an agreement in principle for Sam to return to OpenAI as CEO
But what color heart emoji?
erikpukinskis··on OpenAI board in discussions with Sam Altman to return as CEO
I’m a bit ignorant of this… what’s the national security risk?
erikpukinskis··on OpenAI board in discussions with Sam Altman to return as CEO
> When listening to interviews with Sam I was always surprised by how little useful information I am able to get out of listening to him

To be fair, isn’t that kind of the bar for CEOs? Their job is to hire and fire senior people, ensure they have a mountain of cash, and put out fires.

It’s not an operational position and so I wouldn’t expect a CEO to have deep operational knowledge.

Maybe I’m misunderstanding the division of labor though?

erikpukinskis··on Show HN: DataSheetGrid, an Airtable-like React component
Yeah, pretty much we had vanilla JS, then jQuery, then Webpack and React. TypeScript has probably crossed that threshold maybe in the last 12 months.

I’m trying to think of other frontend technologies that were truly dominant that went away. Maybe SCSS? But TBH if you’re still using SCSS with React today that’s not a bad stack. There’s no consensus on what the successor to SCSS is, Tailwind is a wild experiment. The styled components model is still being refined.

Things like Next, Radix, MUI, etc… these are probably all best skipped. They are highly experimental, and I’ve used all of them in production on major web apps and they’re half baked. I avoid them.

It’s easy to get sucked into the trends… I love Vite for example, but anyone who ahas stuck with Webpack made the right call… Vite is still working out key points of integration like Jest.

If you take JavaScript Twitter seriously, you’d think you HAVE to learn React Server Components. But it’s not even out of beta yet, and debates are raging about whether it’s even a good separation of concerns.

The key is: wait until things are _actually_ dominant before jumping ship. If you do that, you’ll be fine.

erikpukinskis··on Steam Deck OLED
If that were the natural outcome Xbox would’ve “gotten it right” since it was the most PC-like console before the Steam Deck.

The moddability is a deliberate strategy by Valve, and I don’t see it as an inevitable move for every PC-centered company, Microsoft being the prime counterexample.

erikpukinskis··on Cooking and bird safety
Just eat pasture raised eggs. It’s only the grain fed eggs that have bad cholesterol.

They’re expensive, but given the nutrient density it’s worth it for me.

erikpukinskis··on Offshore wind has a cable problem
Presumably because the coverage triggers happen at a frequency that makes the premiums more expensive than the developers want to pay?

Insurance companies are usually quite happy to take your money as long as the premiums will cover their expenses.

erikpukinskis··on One sleepless night can rapidly reverse depression for several days in mice
That’s fair. But I’ll note that the “General” in “General Practitioner” means they specialize in the wide range of health problems that occur frequently in the general population. That includes things like depression, anxiety, ADHD, etc.

I wouldn’t advocate you get a prescription for antipsychotics from your orthopedist, but SSRIs from a GP is probably pretty safe.

Obviously, it depends on the doctor and the symptoms. But a good GP will also refer you out to a specialist when needed. That’s a big part of their job: assessing when to call in a specialist.

erikpukinskis··on One sleepless night can rapidly reverse depression for several days in mice
Just a side note for anyone reading: you can get an SSRI prescription from your GP (general practitioner i.e. normal doctor) you don’t need to go through a psychiatrist.

This is especially true if you are at risk for withdrawal, they will want to prevent that.

erikpukinskis··on Being picky about a CSS reset for fun
Somewhat off topic, but it annoys me that CSS resets kill the margins on p, h1, h2, and ul. As well as the list-style.

I basically don’t use those elements for UI components, and in the rare cases where I would want to, I could just do a one-off to override them. Or, more likely I’d just do something like <div role="heading" aria-level="1">

I find in applications you eventually need some little places where you have some basic document styles: paragraphs, headings, bullets, and it’s nice to be able to use those basic semantic tags for that stuff.

erikpukinskis··on Honey, I shrunk the NPM package
The one simple thing I do that cuts my NPM package size massively:

Don’t push devDependencies.

I honestly don’t understand why devDependencies come with the package. Most packages don’t distribute their source files, so what use are the dev dependencies?

If you want to do dev, clone the got repo and get everything. To me `npm publish` is for distributing the production library, plus source maps and types—that’s it.

erikpukinskis··on Should Ethereum be okay with enshrining more things in the protocol?
I feel the opposite way. Like you, I don’t understand most of these terms. But I love reading Vitalik’s posts because it feels like a glimpse into how computer scientists will talk about code in the distant future.

To me, Vitalik’s brain is like 50 years ahead of the rest of us. I also trust him to speak as plainly and concisely as possible. I get the same rush from reading these posts as watching a great sci-fi film, except it’s not fiction. It’s (mostly) real.

erikpukinskis··on Linear Book Scanner – Open-source automatic book scanner (2014)
I think the suggestion is that with AI you can interpolate to the actual letterforms, not to pixels.

Working a typical volume the letter “e” will appear hundreds of times and be identical, so there should be lots of data to help resolve ambiguities in the poorer parts of images.

Not to mention data that can be used across volumes.

erikpukinskis··on Touch Pianist
Yes, but a teacher I think has the right to decide that after teaching the same song 500 times they never want to hear it again.

I think people can be allowed one song they are tired of.

erikpukinskis··on WordPress introduces 100 year domain registrations
How is a finite number of years "forever"?
erikpukinskis··on Fish – A friendly interactive shell
I don’t follow… could you put #!/bin/bash at the top of your scripts, and still use it for scripting, but then use fish as your interactive shell?
erikpukinskis··on Os.js – open-source JavaScript web desktop platform with a window manager
People underrate how much good stuff CSS gives you for building UIs.

If you did everything in canvas you’d just have to reimplement something like flexbox to center, align, stretch, and animate all your icons text, boxes, buttons, etc.

Why not just stay in HTML and use a layout engine that’s already implemented, and highly optimized for literally every platform.?

erikpukinskis··on Show HN: Doculite – Use SQLite as a Document Database
The same reasons you wouldn’t use IndexedDB on the server?

Modern offline-first applications include a local backend every bit as complex and demanding as a server-based backend.

erikpukinskis··on The Importance of Being a Code Reviewer
> most of the time, the review occurs when work seemed good enough for the requirements

Most of the time, a blocking review should contain information that the coder didn’t have, which changes their own perception about the readiness of the code: a bug they didn’t notice, a pattern in the codebase they didn’t know about, etc.

If there is any debate about whether a change is necessary it should probably be a “nit” with an approving review.

The point of “request changes” is to flag branches that everyone can agree need changes.

erikpukinskis··on The Importance of Being a Code Reviewer
I also write pretty detailed PR messages… mostly as comments on specific lines of the PR, either in the code itself if they’re worth keeping around. Or GitHub comments if they’re only of temporary relevance.

But I’m not sad at all if they’re not read. It’s there if people want/need it. If they don’t then it’s easily skipped. I’m also not mad if someone asks me a question that could’ve been answered by reading a comment… different people have different ways of learning and I am happy to show up in whatever mode they find convenient.

If a specific colleague is frequently missing info that was available in comments maybe that’s a growth opportunity for them to up their pace, and I might drop something in their suggestion box, but we’re all learning.

erikpukinskis··on Don't be clever
I’ve been working with Prisma and React Query recently and I wonder if those libraries haven’t fallen victim to the same trap. They seem to want to ”do everything you could possibly want to do, in a clean wrapper”.

But I wonder if they are trying to wrap domains that are too big to wrap, and should just be left to a programming language.

erikpukinskis··on Kenyan moderators decry toll of training of AI
Average and median are different.
erikpukinskis··on Tor’s shadowy reputation will only end if we all use it
Which crypto judgment are you seeing that’s so damning?
erikpukinskis··on GitHub merge queue is generally available
Because this is the kind of feature large orgs need which makes it a perfect upsell.
erikpukinskis··on Svelte is a language
I don’t follow… in what sense is this JavaScript?

    <button on:click={incrementCount}>
Specifically, what is on:click? It doesn’t look like JavaScript, and it doesn’t look like the DOM. It looks like a new language which is specific to Svelte.

Or what about this… is this JavaScript?

    $: doubled = count * 2;
Or…

    {#if user.loggedIn}
      <button on:click={toggle}> Log out </button>
    {/if}
Or…

    <button on:click|once={handleClick}> Click me </button>
I am willing to believe that all of that is ergonomic in some way, but it doesn’t appear to me at first blush as very JavaScript-y, or explicit. I see a lot of black box stuff controlled by a declarative API.
erikpukinskis··on Excellence is a habit, but so is failure
> They are forced to "show strength" and "not complain"

I wonder about this. Sometimes I think that is the job of a CEO: to put on a good face and keep and maintain “The Plan Is Gonna Work” vibes.

Every CEO I’ve worked under—no matter how compassionate they were on a personal level—has had a policy of absolutely crushing voices of dissent. Maybe not immediately, but within a couple quarters. At least when the dissent was regarding things that the CEO felt were not something they could address on the current roadmap.

I’ve come to appreciate that this attitude may be necessary… that companies (with headcounts in the 50-500 range at least) cannot afford to have some of their people pulling in a different direction than their roadmap. And that people who will do that must be excised.

But your comment makes me wonder… is that the only way? I think maybe a company like Valve lets their employees pull in different directions, and also then just allows them to be starved of resources. Which maybe is effectively the same? Or maybe is an innovation on the standard CEO model?

erikpukinskis··on Why are there no startups in the real estate construction sector?
Mr. Chickadee did an addition like this: https://youtu.be/8fdm9R1Cbm0

Not sure if that’s a Japanese design, or where it came from.

← PreviousPage 4 of 34Next →