HNHacker News
TopNewBestAskShowJobs

shpx

2,621 karma · joined December 15, 2013

submissionscomments
shpx··on The Mongolian Meta
We can only hope that someday someone at Google takes the time to improve the car segmenter.
shpx··on Go run
Clicking is my favorite part of JavaScript. I just move my mouse onto some blue text and click and the software that I want to use is installed/updated and runs, usually in under a second.

In the 50+ year history of software development I haven't heard of any other software stack has been able to realize this is important. go run is close but it's still 10 times slower, maybe even 100 times slower, depending on if you want to count the git clone and how good you are at typing.

shpx··on Why is Prettier rock solid?
I prefer https://github.com/asottile/reorder-python-imports over isort because isort has over 100 configuration options.
shpx··on Popcorn Time 0.5.0
It also shows you a list of movies, shows and anime in the app and lets you search for one without having to go to a separate website.
shpx··on Write a Letter to Your Future Self
"Your Future Self and Everyone With Access to the futureme.org Database"

At least that's why I've never used this service and never will, even though I think it would be worthwhile.

shpx··on Overpass Turbo: A Web Based Data Mining Tool for OpenStreetMap
I've been asking ChatGPT to write Overpass Turbo queries and it does a good job.
shpx··on Textfiles
Do we agree that showing a 14 year old a picture of a man's gaping asshole is bad? If this image had "nearly a hundred thousand viewings" and 17% of MySpace's user base in 2009 was under 18[0], what's the math on that? These were people writing HTML for the first time and had the most basic understanding of it, they didn't know what IP or HTTP was, these were just kids trying to make their computer display a cool picture of a Grim Reaper to them and their friends. They probably didn't even understand the mechanism behind why pasting a link between some triangle brackets (which is already pretty difficult to figure out) into their page made it show the image or that bandwidth came from somewhere. And that's why he did it. They deserved it because they were posers, lesser intellects, that got on his internet after September 1993.

Why call me ignorant? I understand perfectly at the technical level what happened, but words like "hotlinking" and "bandwidth" and "solution" shouldn't come into play here at all. If your logic made you permanently imprint a shock image on thousands of impressionable minds you're not the hero. How much did it even cost to upload a 60kB image half a million times per month in 2007? $10?[1]

[0] https://statista.com/statistics/266881/myspace-users-in-the-... but it's of course the parents' fault for not reading the RFCs and realizing that sadistic web hosts were a flaw in Tim Berners-Lee's design

[1] https://blog.codinghorror.com/the-economics-of-bandwidth/

shpx··on Textfiles
This guy is just a bad person. It's a classic case of someone going so deep into understanding something that it detaches them from reality and their humanity. You understand the general structure of the Web (hotlinking) and how to "mv" which took you months or years of concentrated study to learn and set up, and you forget that under normal circumstances you wouldn't give in to your sadistic urge to show children a picture of a man's asshole.

And then all the other psychos, like you, come to the retelling of the story to fantasize about doing it too.

shpx··on The bane of my existence: Supporting both async and sync code in Rust
> Another possible way to fix this is, as the features docs suggest, creating separate crates. We’d have rspotify-sync and rspotify-async, and users would just pick whichever crate they want as a dependency

A nitpick, but please, if you do this for your library, name the sync one just the name and put "-async" in the name of the other one, so "rspotify" and "rspotify-async" instead of "rspotify-sync" and "rspotify-async". This mirrors the way the function definition keywords are "fn" and "async fn" instead of "sync fn" and "async fn". Most simple usecases don't need async and the extra typing and extra reading is annoying.

shpx··on Flattr is closing down (2023)
Ads also physically influence the world. More humans become aware of something other humans want them to be aware of, more people end up buying some things (thereby incentivizing more of them to be created) or spending their lives on the most addictive mobile gambling thing or whatever. Whereas a system that just lets people say "this thing entertained me enough for 0.00023% of my economic output for the year doesn't do anything else, and deciding typing in how much something is worth to you is work. Not a lot of work, but it's still work that might even be worth more than your micro donation, depending on how you value your time and the neurons you dedicate to thinking about it. So obviously the system that actually does something is more viable.
shpx··on Does DNA have the equivalent of IF-statements, WHILE loops, or function calls?
What about length prefixed strings? There's obviously "byte" terminated strings (start and stop codons) but there's probably situations where it makes sense for biological systems to store the length (or likely reading different lengths produces different molecules, as a form of compression) at the beginning and count it out.
shpx··on The Curious Case of MD5
MD5 hashes are half the length of the recommended hashing algorithms. This convenience (and the switching cost) is worth more than the theoretical security considerations.
shpx··on Benchmarking 20 programming languages on N-queens and matrix multiplication
What I'm asking about is how much energy and time (computation) by a human brain it takes to emit or ingest each program because a human working 40 hour weeks from 18-65 will have 100,000 hours of working time, which at a typing speed of 250 characters per minute and a reading rate of 1500 characters per minute is a total career budget of like a billion characters emitted and 10 billion characters ingested.

For emitting programs, if we assume the program is already fully formed in my brain and I'm just transcribing it, then we would like an accurate physical model of my hands moving over a QWERTY keyboard that can tell us how many joules and milliseconds I will use for each keystroke to type the given sequence of symbols. Ideally we would have a complete model or simulation of my brain so we can measure how many neurons need to fire for each keystroke as well. We don't have that, so we could measure my average milliseconds per character and multiply it by the total count of characters, but a language that is just made up of one symbol function names is probably harder to type than one made out of English words and there's also all the typing mistakes I will make. This is what the simple compression algorithm (gzip) is an attempt to normalize for, that a more verbose but more predictable language is as fast to write and read than an overly terse one. gziping is an imitation of a complex model.

shpx··on Benchmarking 20 programming languages on N-queens and matrix multiplication
You should add a chart of the number of gzip'd bytes of source code.
shpx··on Smallest Typeface
Smallest monospace typeface. You could make "I" and "1" a single line and make "J"/"L" and "P"/"Q" only 2 pixels wide.
shpx··on You can't do that because I hate you
Programmers just haven't been able to make computers as good at language as humans are at language because they're not good enough at their jobs. There's no inherent reason that programming language statements need to perfectly follow regular grammars and have exactly defined vocabularies (functions) that compile to ASTs, etc. that's just the highest level of language technology we've invented. It has essentially no error recovery mechanisms because it's hard/tedious and error is hard to model using logic.

Being frustrated that this is the case is expressing an underserved need in the market. You're aware of the limitations and have grown to be okay with them because otherwise you'd probably hate programming, but that doesn't mean we should all always be okay with them forever.

shpx··on GTA 5 source code leaks online
On iPhone you can install the Orion browser which allows uBlock or use Reader mode in Safari by pressing and holding the "ᴀA" button left of the URL.

https://apps.apple.com/ca/app/orion-browser-by-kagi/id148449...

https://help.kagi.com/orion/browser-extensions/ios-ipados-ex...

shpx··on From Nand to Tetris (2017)
Still waiting for Quantum Mechanics to Tetris
shpx··on From Nand to Tetris (2017)
I can also recommend the Digital Design and Computer Architecture lectures from ETH Zürich if you're trying to understand computers at a lower level:

https://www.youtube.com/playlist?list=PL5Q2soXY2Zi-EImKxYYY1...

shpx··on Chimera Linux
And for dd, where it's bs=4m on macOS originally but changes to bs=4M if you install coreutils. I think you can write out the number bs=4000000 if you want a portable command. This argument is effectively mandatory as it speeds up file transfers like 4 times in my experience over the default block size.
shpx··on Advancements in machine learning for machine learning
No, they removed the code in Stockfish 16, released June 30, 2023 but it wasn't used for much or made much difference before then, after they introduced the neural net.

https://github.com/official-stockfish/Stockfish/commit/af110...

shpx··on Oxlint – JavaScript linter written in Rust
Becoming aware of different ways to do things costs time (to read about it and form opinions on things like which ones are/might be useful to you) and space (in your brain to remember these options and opinions). It's not necessarily bad, but it's a cost.
shpx··on Deadweight Loss as a Service
The organization pairs won't be exactly 1-to-1 because building is harder than destroying, different organizations are more efficient and money is non-linear. If you had a "dump oil in national parks" and a "clean up oil dumped in national parks", you'd need $1000 for every $1 of effort dumping oil. So at best this system is a discovery mechanism for comparatively valuing organizations, but it's not really set up that way because there's a big difference between an Antidollar™ donated to cancel out a dollar and a dollar donated after you've reached 0 dollars difference from the counter party.
shpx··on Dieselgate, but for trains – some heavyweight hardware hacking
It doesn't actually need to be open source. If they published binaries that would be enough to analyze.
shpx··on Ask HN: Books you read in 2023 and recommend for 2024?
Basic Economics by Thomas Sowell. It was super straightforward.
shpx··on Wikifunctions
Awful interface. I have to click three times and scroll to see code in a tiny font, the name of the function is repeated on the page like 7 times.
shpx··on Mtn Dew Raid Q&A [pdf]
In the short term maybe. More long term and generally, there are going to be 400 million people living in America, over the lifespan of Amazon the entity, the lifespans of its employees and shareholders, all three will have to interact with those 400 million people, some on the street, a lot (in a small way) in political processes and systems, in art, as future employees, as employees in businesses they partner with, etc. Advertising is mass programming (albeit in a small way) of large swathes of the population.

There's 44 million US Twitch users, so basically you can show a message to 1/10th of the entire youth population of America. In 10 years there is probably some minor difference in society between whether that message was "go drink mountain dew" or "here's how DNA works" or something simpler, or more useful, or different things tailored by age, etc. Now if Amazon makes like 3 cents per ad (a number I made up) * 44 million users compounded by 7% annual interest over 10 years then that's 2.5 million dollars of profit. But money is a tiny slice of the entire pie of what is possible in an economy. If instead Amazon "donated" that 2.5 million dollars (actually more if 3 cents per ad is profit not revenue) by using its ad infrastructure to forcefully cram useful knowledge into the children instead of knowledge about a sugar drink brand, it's possible that everything that is possible in society 10 years from now would essentially make all the other money Amazon makes more valuable, because, for example, doctors that Amazon shareholders would want to go to would charge less because they indoctrinated a few more children into an interest in biology instead of Mountain Dew consumption so there was more doctors and less diabetics.

Will it be enough to offset 2.5+ million dollars? Probably not, but we don't have the technology to express that cost/benefit calculation, because the best we have is spreadsheets and demand/supply curves (if you will permit my derisive oversimplification of what economic tools business people use). We have developed computers and mathematics, as well as a system of assigning token counts to people and groups of people (money) that when people and groups of people work hard on increasing their respective token counts seems to correlate quite well with generally improving things and getting things we want. Numbers (bits really) are highly physically stable states and mathematics is operations we can perform of those states that are themselves very stable in time and predictable. We can measure things in the world and record those measurements into bits and then apply operations on those bits and we find that sometimes we're able to build computations that result in a strong correlation between the resulting state and physical reality. We're able to predict the future. However there's still a pretty huge mismatch with what we're able to easily express with simple mathematics on collections of bits and whatever our brains can do, which we experience as intuition/common sense and empathy.

Basically I'm saying it would take a strong willed person with the intuition to see that "if we use our mass population programming tools to increase the competence of our youth we will be better off than if we increase the consumption of Mountain Dew by 13% (or whatever they estimate)" because it's very difficult to truly express that comparison as a spreadsheet of dollar amounts, which is the primary technology businesses have for making decisions. Because a spreadsheet is a Turing machine and typing in data and programs into it is really time consuming whereas a human brain is a very different type of computer that processes input much more efficiently but is more fallible because other brains can't inspect its thought process, which is why we usually prefer spreadsheets.

shpx··on Mtn Dew Raid Q&A [pdf]
It's a long term play where the pay off is living and raising your children in a slightly nicer world, not expressed directly in a dollar amount.
shpx··on YouTuber sentenced to 6 months in prison for obstructing probe into plane crash
Millions of lives became a smidge more interesting because they got to see, think, talk and be outraged by this guy crashing a plane into a remote mountain range on purpose. As a society we can afford things like this if they're a one-off. It's slightly more fun if this happens once in 10 years than if it happens zero times. If 6 months is all he gets then that seems right to me, maybe even a bit much.
shpx··on VSCode LLVM Compiler Explorer
This extension is asking me to write two clang commands (through a very basic UI) to compare their output and requires clicking and waiting to see changes instead of running on every keystroke, so it's not quite like Compiler Explorer. It seems that you started out interested in exploring LLVM's Intermediate Representation and different clang options. If you made the extension require no configuration (c_cpp_properties.json will already contain all the information needed to compile my code) and it ran on every keystroke, I think that's what people want. An extension for C programmers to quickly see what their C code actually becomes.

Also, there is no need to put "VSCode" in the name of a VS Code extension.

← PreviousPage 4 of 25Next →