HNHacker News
TopNewBestAskShowJobs

paulhodge

839 karma · joined April 19, 2012

submissionscomments
paulhodge··on WASM: Big deal or little deal?
> More generally, I think WASM is starting to challenge the whole "there can only be DOM/CSS/JS" thing that has held web developers back for two decades.

No one was held back, people keep choosing the web because it's consistently better.

What I think is crazy is this drive to take something that is working great (the Web), and then jam in an approach that has already failed multiple times. We already tried several iterations of binary-heavy, non-transparent, non-searchable, non-web-native, second-ecosystem application platforms including Java Applets, Flash, Silverlight, etc. They had a chance and users rejected them.

If you think the web sucks, then by all means, I encourage you to make a compelling alternative. If it really is better then people will use it. But maybe don't try to spoil the working recipe of HTML/CSS/JS, especially if you don't fully understand the reasons why it keeps winning.

paulhodge··on WASM: Big deal or little deal?
Some differences-

There's lots of times in my work when I will read minified JS code to debug a stack trace. Using the "Pretty Print" option it's not too bad. So I'm glad it's there.

Also transparency is not just about humans reading it, it's also about automatic scanning of the source, and in some cases automatic modification of the JS (for browser extensions or code analysis or etc). Those are useful things that are drastically harder using WASM.

paulhodge··on WASM: Big deal or little deal?
Another feature (like WASM itself) which will probably be misused to create pages that are less usable and responsive than before. There are very good reasons why the language of the web is non-blocking.
paulhodge··on The .meta directory: let's tidy things up
But third party accessories are an essential part of any project these days, they aren't optional or afterthoughts. In that page they mention docker-compose.yml as once example. Most likely it's impossible (in its current state) to actually run that application without Docker.

Other things that would land in the folder:

- Files essential to building the project - Files essential to running the test suite - Files essential to developing on the project

IMO a "project" includes all those things. In your definition are those all "meta"? Does "meta" mean anything that's not source code?

paulhodge··on The .meta directory: let's tidy things up
I'd suggest having them in a directory just called config/

On having it start with a dot: Why? Why would we pretend that these crucial files don't exist?

On having it named meta: These files aren't "about" the project or "above" the project, they ARE the project.

paulhodge··on Reddit Threatens to Remove Moderators from Subreddits Continuing Blackouts
it's fun that the online community is getting a crash course in how protests and strikes actually work. As people have known since forever, a strike needs to be all-in or else it's too easy for the company to replace them with strikebreakers.

There's been so so many bad takes of "oh why don't they just protest by doing X instead" and 99% of the time the answer is, because we already know that X doesn't work.

paulhodge··on Apple Restricts Employee Use of ChatGPT, Joining Other Companies Wary of Leaks
This is going to be the norm within 5 years or so. The benefits are big enough that it's worth the hassle.
paulhodge··on Apple Restricts Employee Use of ChatGPT, Joining Other Companies Wary of Leaks
> And then also say "By the way, we have private API access that doesn't use anything you say as training inputs- maybe your company would prefer that?"

They already say that anything submitted through the API is not used for training. https://openai.com/policies/api-data-usage-policies

paulhodge··on Tell HN: Prompt leaking is the most scifi thing ever
Yeah totally agree. And the whole thing about infinite Seinfeld getting banned from Twitch was also good enough to be fiction. It’s a wonderfully bizarre future we’re living in.
paulhodge··on How the SQLite virtual machine works
Yeah I think it's mostly a piece of fun trivia at this point. If we're talking about designing an interface for non-technical users to interact with the data (an interesting topic), then a modern one would probably look more like the omni-search bars that are part of Splunk/Datadog/etc. Those make it drastically easy to find data (with tableless text-based search by default), and easier to aggregate it too (with the left-to-right pipe | syntax).
paulhodge··on Google blocked my Chrome extension so I created a website to host it
For just flipping the switch, no I don't think there's any implication.

For installing an unpacked extension:

- Obviously you don't have the benefit of the Chrome store checking for abuse.

- You'll need to read the manifest.json file yourself to see what permissions you're granting, because the warning popup doesn't show up when installing this way.

- There's a few attacks that unpacked extensions can do because they can spoof their extension ID, and Chrome doesn't consider it a bug. See: https://bugs.chromium.org/p/chromium/issues/detail?id=130196...

paulhodge··on Things not available when someone blocks all cookies
Yeah, adding try/catch around those has been a good practice for a while. I think there was a time when, if the site was running in a private window in Safari, localStorage would also throw exceptions.
paulhodge··on Knuth changes his mind on Bernoulli number B_1
Welp, time to throw my set of AOCP in the trash.
paulhodge··on A new way to predict when software jobs will become automated
When it comes to AI replacing jobs the biggest wonder I have is.. why is there so much talk and attention on replacing software jobs first? Software work is fairly high skill and hard to replace. Every hour that a software dev spends doing a task, they are doing some kind of work that the industry has probably tried and failed to automate, and we're talking about an industry filled with the most clever and most qualified automation-writers there are.

There's many jobs that AI will probably replace. Software will be among the last.

paulhodge··on Contributing to WebSockets – Cryptocurrency Users
It’s not a ‘gotcha’ to point out that someone’s profession is aligned with their principles.
paulhodge··on Heathrow tells airlines to stop selling additional flights until September
Yeah we just recovered a lost bag thanks to an Airtag. The airline’s system thought it was still at the origin city, but we knew exactly which terminal it was at, and we just went there and asked in person. Never checking any bag without an airtag ever again.
paulhodge··on Bun (can become) the ideal JavaScript runtime
Persecution complex?
paulhodge··on Bun: Fast JavaScript runtime, transpiler, and NPM client written in Zig
One of the things that makes frontend dev a nightmare is having to wrangle so many different tools and configurations to build a site, even a simple one. The only next step to improve the situation is all-in-one tools. We're lucky that people are trying to tackle this hard problem.
paulhodge··on If your site does not use HTTPS, Rostelecom will insert pro-war propaganda in it
Don’t think it exists for the HTML document. HTTPS works fine for public & unconfidential things. For verifying page resources there is a newish feature: https://developer.mozilla.org/en-US/docs/Web/Security/Subres... .
paulhodge··on Ask HN: First-time dad-to-be. What do you wish you'd known back then?
In the newborn phase: sleep is hard. Mindfully try to get your sleep whenever possible. Long term sleep deprivation is really brutal on the body and mind.

In general: Kids thrive on consistency. If you're a gamer than think of it this way: You are now an NPC. Your role is to show up every day, keep them fed and healthy every day, give them their quests, and then stand back and give them the opportunity to be the hero.

Also a really specific tip I would give myself: Don't introduce iPads at all. I'm not against screens, I would just suggest bringing in more wholesome gaming like a Switch or 2DS or maybe even a Steam deck. The problem with the iPads (and Androids too) is that the App store is a dumpster fire of trashy microtransaction and lootbox based games, many of them deliberately designed to manipulate children. Hopefully a lot of those patterns are made illegal soon.

paulhodge··on Ask HN: First-time dad-to-be. What do you wish you'd known back then?
Another thought on careers, I think parenthood is also a good gateway into management level roles. You get practice being the boss at home and that skill translates. A lot of work problems are very similar to dealing with angry toddlers.
paulhodge··on Ask HN: First-time dad-to-be. What do you wish you'd known back then?
Ah, good times. On the topic of boxes, if you start building things with them, the best way to attach boxes together is using a hot glue gun. Don't use tape!
paulhodge··on Show HN: PRQL 0.2 – a better SQL
Agree about not implicitly finding the join key. But as long as we're brainstorming imaginary features, then maybe as part of the schema, we could somehow declare the default join key to use, for any given two tables. In most cases it's pretty obvious what the best join key would be.
paulhodge··on Crafting Interpreters: A Review
The Nature of Code - Daniel Shiffman
paulhodge··on Tauri 1.0 – Electron Alternative Powered by Rust
Theoretically someone could post their new 1.0 page https://tauri.app/ and it wouldn’t be a dupe. In general a big new release usually has an announcement blog post, and those can be posted without being dupes, and they’re more timely & relevant anyway.
paulhodge··on What happened to proper tail calls in JavaScript? (2021)
> The whole "issue" is very strange to me. Proper tail calls (PTC) without the extra syntax are literally free performance boosts for existing code.

It's bad to create a dangerous performance cliff. There could be some TCO based code that works fine, and then a junior coder makes an 'innocent' change that makes it ineligible for TCO, then that code eventually starts getting OOM crashes on heavy data.

I think if they're gonna do TCO then it really should be syntactic. If someone is writing their code around an assumption of TCO, then they almost always want an explicit guarantee of TCO, and they want to fail fast if TCO isn't happening.

paulhodge··on I'm all-in on server-side SQLite
Wow Litestream sounds really interesting to me. I was just starting on an architecture, that was either stupid or genius, of using many SQLite databases on the server. Each user's account gets their own SQLite file. So the service's horizontal scaling is good (similar to the horizontal scaling of a document DB), and it naturally mitigates data leaks/injections. Also opens up a few neat tricks like the ability to do blue/green rollouts for schema changes. Anyway Litestream seems pretty ideal for that, will be checking it out!
paulhodge··on Eden
Graphql is great. With Jest, that project feels a little abandoned because the Typescript support (ts-jest) is pretty janky and has bad performance. Meanwhile in the ecosystem in 2022, it's becoming the norm to have first-class Typescript support.
paulhodge··on Node.js packages don't deserve trust
agree, assuming you're talking about language version ES1 circa 1995.
paulhodge··on Node.js packages don't deserve trust
The question is, are we seeing that bad behavior because there is something inherent about the platform that encourages it, or are we seeing more with Node just because that community is enormous.

Because people love to bring up is-even as a reason why Node & NPM suck. What exactly did NPM do to create the is-even situation? (other than making it super easy to publish). What should they do differently?

← PreviousPage 2 of 9Next →