HNHacker News
TopNewBestAskShowJobs

paulhodge

839 karma · joined April 19, 2012

submissionscomments
paulhodge··on Wall Street was the real winner of the GameStop saga
Small nitpick but this is a pet peeve of mine :) . The stock market is not zero sum. It grows over time, and there are many situations where people all succeed together. GME specifically is now hanging out at $100 compared to a very flat $5 two years ago.
paulhodge··on Stablecoins: Growth potential and impact on banking
speaking of stablecoins, I remember reading a few years ago that Tether (USDT) was surely a huge bubble waiting to pop because they couldn't possibly have enough liquid USD to cover their issued coins. Whatever happened to that story, is it basically the same situation today?
paulhodge··on PRQL – A proposal for a better SQL
If there's multiple ways to do the same thing that's usually a BAD thing in terms of language design. Especially if some approaches are just newbie traps that experts learn to avoid, or if deciding the best method is a really subtle context-dependent decision. The ideal design is that the language encourages the one obviously "good" way to do it.
paulhodge··on Wordle is being punished by app stores for choosing the open web
Sure but the real genius of Wordle is the simple things they did to promote virality..

1) Everyone in the world gets the same puzzle every day

2) The "share to Twitter" message just shows the green/yellow squares, so it shares your journey and teases the puzzle, without spoiling the answer.

Almost no one had heard of Lingo/Wordle before this, now they have, so that counts for something.

paulhodge··on What NPM should do to stop a new colors attack
The many suggestions about what NPM should do differently are universally all really unsatisfying, rearrange-the-deck-chairs-on-the-Titanic level solutions.

At the end of the day, if you're running code that you didn't write or verify yourself, you're taking on risk.

IMO the next hugely successful package manager (in whatever programming language) will be the one with a really good capabilities model, so you can run untrusted code with much less worry.

paulhodge··on What NPM should do to stop a new colors attack
On the other side of the spectrum, if no one was installing 'latest', then no one would be testing latest, and we wouldn't catch these bugs until later. We would just all get surprised after 2 weeks (or whatever arbitrary delay) until the bad version became the blessed default version.

In other words.. If there isn't a trusted test pipeline then there's no benefit in delaying the latest version. Might as well just get latest.

paulhodge··on What NPM should do to stop a new colors attack
> should use the version of colors that svgo asked for

Another thing about setting exact dependencies is reducing duplication. Libraries are encouraged to use loose ranges, because if everyone pins exact versions for every dependency, then you could end up with 10 to 20 different copies of 'colors' in your tree, instead of having just 1 or 2 copies that work across the board.

paulhodge··on LatencyFleX: A new approach to game latency reduction
is it? I thought the article was about optimizing the communication of CPU -> GPU.

It definitely uses a lot of network-theory language so it reads like a foreign language to me (in a good way).

paulhodge··on Ask HN: Are “superstar programmers” more independently-minded?
yeah, the 10xer sort of exists, it just depends what we're measuring.

If we're talking about code monkeys, devs who just take in requirements and churn out code, then no, there are no 10x code monkeys. At best the senior devs are like 3x better.

If we're talking about developers that are also planners and trailblazers, devs that understand the business needs, and are constantly thinking about how to leverage their own tech knowledge and the company's assets to get maximum business value for minimum effort, then yeah there's definitely 10x engineers. Arguably there are even 10000x engineers (thinking about those startup entrepreneurs that created working prototype apps that grew into multi-million dollar businesses)

paulhodge··on Warp: Fast, Rust-based terminal (waiting list)
Funny how similar this is to https://fig.io/ . Even the landing pages are hard to tell apart!
paulhodge··on Facebook Ends Ban on Posts Asserting Covid-19 Was Man-Made
I think everyone realizes that introducing curation means that sometimes the curators will get it wrong. I still think having some curation is better than none.

Before people get mad that Facebook is trying to control the truth, don't forget that their algorithms already manipulate the news and it's been happening for years. Their algorithms prioritize user engagement, which means prioritizing news that provokes conflict and fear and conspiracy. That creates a huge bias, it makes people feel like the world is much more divided and dangerous than it really is.

That's a problem that's on them to fix, and the solution is probably more curation not less. For them to get it wrong on the man-made theory, that's one of the less harmful things they've done so far.

paulhodge··on We Can Do Better Than SQL
It's 2020 not 1995. There are already lots of good, production-ready SQL alternatives out there. There's full-fledged businesses that have zero lines of SQL.
paulhodge··on Rome: A Linter for JavaScript and TypeScript
After spending way too much time debugging issues with frontend tooling, I am all on board for this glorious monotool future. We’ve definitely gotten some progress out of the massively micropackage approach that Webpack/Babel/etc use, but these days it really feels like we’re passing a complexity limit and we need a new approach. The fact that CRA will refuse to startup if you have another version of Babel installed anywhere in the tree, is a pretty good clue that the current approach isn’t scaling.
paulhodge··on Twitter web app now runs ES6+, reducing polyfill bundle size by 83%
We're a big eCommerce and we're still supporting IE11. We're close to dropping it but it still shows up at about 4% to 5% of our users. And it's not that hard to support IE11, just need the right Webpack configs and polyfills and etc.
paulhodge··on No, you couldn't have made more money than the Twitter hacker
Yeah, with so much trading volume, it doesn't seem hard to blend in with the crowd. Whenever there's a big Musk tweet, there's already tons of news-based traders that immediately react and earn huge profits.

You could set up a plausible history ahead of time by doing innocent TSLA trades. Maybe establish a pattern of regularly scheduled trades. And then it just so happens that the fake tweet comes out right around when your scheduled trade was going to execute.

paulhodge··on Why does a new Rails app need 106 MB of JavaScript?
This comparison done by Google is really helpful at understanding all the work that Webpack (and related tools) do: https://bundlers.tooling.report/ .

Click through each test and read through some of the descriptions. They do a lot of advanced techniques that are important for web performance.

Those optimizations are another big part of why modern Javascript build tools are so complicated. There's no other language where we care nearly as much about optimizing for code delivery. On the web, a frontend app should (hopefully) be around 100k of Javascript bytes, and it should have good caching and CDN behavior. Compared to other platforms where 10mb to 100mb binaries are considered just fine.

paulhodge··on Worrying about the NPM Ecosystem
Nice to see some actual numbers and research on the topic. Most complaints about NPM seem to fall into the category of fretful, emotional hand-wringing (although there's some of that here too).

If we measure success by the amount (not the percentage) of high-quality packages available, NPM is easily the best package management ecosystem yet. But there's definitely room for improvement.

One major improvement I'd like to see is some solution for unwanted indirect dependencies. If I depend on package A, and A provides features X and Y, and I only need it to do X, and the code for doing Y depends on package B, then it shouldn't download B. The recommended solution is to split up A into a family of packages (like lodash's per-method packages), but that just creates a mess of versioning that's annoying for both the authors and the consumers. And those massively-multipackage libraries (like Babel) just seem to create dependency hell situations that semantic versioning is not good enough at solving. So maybe instead of package splitting, the next-gen package manager could have first-class understanding of ES6 modules, with tree-shaking logic to prevent unused indirect dependencies.

paulhodge··on You download the app and it doesn’t work
Tesla is definitely one of the easier cases to think about, the rest are in a grey area.

But even with Tesla it's not 100% crystal clear. There might be some buyers who pick Tesla specifically because of the fancy tech features like Summon mode. It's impossible to use Summon mode without the app. So for one of those buyers, the app is an essential part of the purchase, just like HEY subscribers who expect to read emails on their phone.

paulhodge··on How the most popular Chrome extensions affect browser performance
Nothing stopping them from doing code splitting. Most extensions just modify the dom to insert script tag(s). So the performance strategies are the same as any other frontend app.
paulhodge··on GitHub abandons 'master' and 'slave' terms to avoid row
For all the people who don't like this change, here's an analogy. Try thinking of it like you're making your bed. Admiral William H. McRaven has a terrific speech (link: https://jamesclear.com/great-speeches/make-your-bed-by-admir... ) about making your bed, with some excellent quotes:

"Making your bed will also reinforce the fact that little things in life matter. If you can't do the little things right, you will never do the big things right."

"If you want to change the world, start off by making your bed."

No one really thinks that renaming "master" branches is going to save the world, or really, do much of anything. I'm going to do it because it's a little thing that takes less than a day. After that I'll move on to something else.

paulhodge··on Maybe visual programming is the answer, maybe not
When a programmer says "I want visual programming" I think it's often one of those situations where 1) the asker has correctly identified a pain point, but 2) the thing they are asking for isn't necessarily the right way to do it.

Instead of a box-and-lines diagram, I think the stuff that people really want is:

- Structured editing. Valid change operations are obvious (maybe listed in a menu). No invalid states.

- Cross-cutting connections are explicitly displayed (with lines or arrows or etc) instead of being implicit.

- UI does a better job of highlighting just the relevant information and hiding everything else.

- Overall more simplicity. As in, I think some people imagine that their thousand-lines-of-code project could be fully represented as a few boxes and lines with labels. There's some unrealistic expectations tied up in this area. But simplicity is still a good goal.

Those are all good goals and there's different approaches to solve them. A lot of those asks can be solved by keeping the text document interface and adding enough cleverness on top of that (like EVE / LightTable). And there's other visual systems other than boxes-and-lines. People just need to think outside the box. (ha ha, sorry)

paulhodge··on Why Is the Stock Market Booming?
Just optimizing for 401ks is going about it wrong. $500b from the stimulus went to corporations, which indirectly boosts stock prices, which indirectly boosts 401ks. (unless the market still crashes). It's essentially trickle-down economics. If we wanted to improve individual's retirement savings then it would more effective to just divert more of that $500b to social security.
paulhodge··on Zoom Falsely Claims Its Group Video Can Be End-to-End Encrypted
If you're a connoisseur of video chat platforms then you probably already know it. For the past ~5 years it's been one of the best options. Really easy to use and good quality. Within our company we got in a habit of using the free 40-minute Zoom meetings, even though our IT department mandated us to use Skype (which is awful). I think a lot of people came to Zoom from a similar organic path.

Although this year, Microsoft came out with Teams which is just as good IMO. So we finally stopped using Zoom here.

paulhodge··on Japan set to ban entry from the U.S. as early as next week
The fact that Japan is only banning US travelers, instead of banning all foreigners, is pretty newsworthy.
paulhodge··on Silverlight Shouldn't Come Back to Life
This kind of thing is what makes me nervous about what WebAssembly will do to the web. Wasm is cool, but it makes it easier to deliver on some really bad ideas. Bad ideas like: maybe some blogger decides he wants to write his click handlers in Python, and now my browser has to download a 20mb Python runtime binary.
paulhodge··on San Francisco bans public events holding more than 1,000 people
Was thinking like dark matter, you can't measure it directly, but you can infer its size from other signals.

Also it's not just asymptomatic cases, it's also symptomatic but not tested. Some people ignore it since it can present as a minor cold. Some people want a test but can't get one.

paulhodge··on San Francisco bans public events holding more than 1,000 people
This article is really good at predicting those "dark" cases: https://medium.com/@tomaspueyo/coronavirus-act-today-or-peop...

If we assume that the growth chart is similar everywhere, then with our 1,000 confirmed cases in the US, we probably have around 30,000 unconfirmed dark cases.

Also a really crazy fact is that South Korea did a good job of containing 30 out of 31 of their initial cases in the early days. But then the 31st was responsible for thousands of infections.

paulhodge··on Python dicts are now ordered
Great decision IMO. I remember maintaining a bunch of Python code that we supported on both OSX and Windows. Out of all the platform-specific bugs we had (where it worked on one OS and not the other), one of the most common causes was code that relied on a certain key order. And we knew that relying on key order was bad, we're supposed to use things like OrderedDict, blah blah blah. It was still a really easy mistake to make, just like it's really easy to have memory safety bugs in C.

At some point, if a human error is common enough, it makes pragmatic sense to change the design so the error is impossible.

paulhodge··on The Failure of the iPad
> The thing that truly hurts the iPad is the App Store.

I'm skeptical if the situation would be better without an app store. The app store provides monetization and that leads to higher quality apps. I think what we'd really want is for iPadOS to open up to more integrations, like an integration app that offers a different home screen / app switcher / task manager experience.

paulhodge··on What can you use instead of Google and Facebook?
It's pretty hard to 100% replace Facebook, but a more feasible strategy is a gradual/piecewise approach. Opt for non-Facebook alternatives for certain tasks when you can. Like if you're going to share a photo album with family, you could always email them a link to Flickr/Dropbox/etc instead. Anything that reduces Facebook usage is good.
← PreviousPage 3 of 9Next →