Like what you see? Subscribe here and get it every week in your inbox!
Issue #184 - September 18, 2022
Here are the top threads of the week, happy reading!
1. Ask HN: What are some of the best documentaries you've seen?
Top comment by atombender
The Death of Yugoslavia (1996) [1] [2]. Won the BAFTA and Peabody awards that year.
It's a BBC documentary in six episodes about the conflict that caused the dissolution of Yugoslavia and the wars in the Balkans.
It stands out among many documentaries for being a truly dispassionate moment-to-moment record of events. No sensationalism, no grand-standing, just the facts.
If you're tired of the Netflix style of documentary — lots of talking heads quickly edited together for sound bites, dramatic music, re-enactments — then this is for you. Sadly, too few documentaries are produced in this style anymore.
Edit: Looks like the episodes are on YouTube [3].
[1] https://en.wikipedia.org/wiki/The_Death_of_Yugoslavia
[2] https://www.bbc.co.uk/programmes/p00gfbpy
[3] https://www.youtube.com/watch?v=tj9Zw5fN3rE&list=PLdw7wnKe0w...
2. Ask HN: What interesting problems are you working on?
Top comment by koeng
A little while ago, a patent for high throughput DNA synthesis using silicon chips went off-patent, so I have been learning analog IC chip design to build an open source high-throughput DNA synthesis chip. If it works, and I sold them at cost, it would reduce the cost of oligo pool synthesis by ~100x and possibly gene synthesis by 10x.
For about 8-9 years now my goal has been to build a cell from scratch for less than $1000 and enable anyone to be able to do so. While I’m handling the other bits elsewhere, DNA synthesis is a key technology primed for open source disruption.
3. Ask HN: What are examples of companies dying due to many people quitting?
Top comment by zomgbbq
Atari in 1983 went from the leader in video game production to completely imploding. In 1979, four of their best programmers left after demanding equity in the sales and were refused. Their CEO Ray Kassar famously said, "You’re no more important to those projects than the person on the assembly line who put them together. You’re a dime a dozen. You’re not unique. Anybody can do a cartridge.". They left and formed Activision which led to a sequence of failures by Atari until they finally died unable to compete with the likes of Intellivision, Colecovision, and Commodore.
4. Ask HN: What's the best source code you've read?
Top comment by davidst
I was responsible for the Turbo C (later Borland C/C++) run-time library in the late 80s and early 90s.
Tanj Bennett created our original 8087 floating point emulator. It was real mode, 16-bit code, that kept an 80-bit float in five 16-bit CPU registers as a working value during its internal math calculations. If you ever coded for the PC you will appreciate just how precious register space was on the 8086/8088.
It's been a few decades and my memory is fuzzy but I don't recall any critical places where the registers had to be saved and restored. He choose math algorithms and code paths specifically to keep all five live at all times. Tanj's code flowed with an economy of motion that brought to mind the artistic performance of a professional dance troupe. I did not have the math skill and could not have ever created it as he had. It brought me genuine pleasure just to read his code.
Eventually, it came time to port it to 32-bits (real and protected modes.) I wrote new exception handlers and replaced the instruction-decode logic with a nice table-driven scheme but did not touch the core math library. It still ran in 16-bits under the hood exactly as Tanj designed it.
Tanj, if you happen to see this, I have fond memories of your emulator. It was beautiful.
5. Ask HN: How do you find the weird parts of the web?
Top comment by manuelmoreale
Few ways, in no particular order:
- are.na seems to attract people who have odd interests and it’s full of quirky websites
- webrings are still a thing and there’s a bunch out there worth checking out
- directories like https://512kb.club/ are usually full of interesting sites
- by following links on blogs and sites you find interesting
- some cool forums are still out there (https://forum.agoraroad.com/index.php)
Shameless plug but I am currently curating https://theforest.link precisely because of the issue you’re describing.
6. Ask HN: Have tech salaries been stagnant for the past decade?
Top comment by datacruncher01
US tech salaries are good for only one reason, the largest tech companies went the path of public stock valuations and paid employees with stock. If anything, it's an indicator of the vast difference in income for people who make a living with assets vs people who still need to trade their labor for a paycheck.
Tech salaries are going to be on a decline for a while with the Fed rate hike, like it or not, most tech companies are floating on VC money and that all depends on a stock market giving them high valuations. In situations we're in now, fundamentals start to matter and the phony valuations get corrected.
7. Ask HN: Discord banned me with no recourse
Top comment by JonathanBeuys
I don't get it.
We keep seeing these dystopian stories again and again and again. Does anybody really believe it will ever stop? Or will we all live in fear of losing a lot of work and valuable connections by being banned from one of our social accounts?
I already lost one Instagram account that I put a lot of work into. One day, Insta suddenly asked for my birthday. After me putting it in, all I saw is "Sorry, this page isn't available." and thats it. Whenever I try to log in, all I get is "Sorry, this page isn't available.". Some kind of ban or bug. I dunno. I never managed to get it back. Feels very 1984.
But when say "Ok, let's build social tools where the user owns their social graph via cryptographic proof" then there is nothing but (blind?) hate.
Sometimes there are real discussions. Then the main argument is always "But what if you lose your private key?"
Well, we could build something like Discord (FB, Twitter, Insta, HN, you name it) where losing our private key throws us back to the current system. So if the platform owner (say a DAO) "decides" to deplatform you (say via a DAO vote) you can use your private key to prohibit it.
This way, you can only become deplatformed if the platform decides to deplatform you AND you lose your private key.
If you only lose your private key, then you can ask the platform to please transfer your account to a new private key. Then the usual authentification mechanisms (email, phone, id etc) kick in.
I could sleep way better if I knew that two have to mess up for me to lose my digital life. Me and the platform.
8. Ask HN: How do I write a Linux driver for my 15 year old photo printer?
Top comment by fuckstick
This is an extremely poor venue for this type of question - the answers are all over the place and mostly unhelpful (printer drivers in Linux almost never involve a custom kernel driver). You might have better luck on Arch Linux forums of all places.
What you’re asking for probably won’t be low hassle compared to just running the 32 bit usermode “driver” - which should run fine on a 64 bit system with some packaging help.
Ask yourself, are you trying to use the damn printer or you want a possibly educational rabbit hole to go down. Even if you sniff the USB (you can simply use pcap/wireshark) what are you expecting to see? It will likely be Canons proprietary raster and control format. Reversing that from the bus alone will be an enormous amount of work. I’ve written proprietary “WinPrinter” printer drivers with the spec in hand and it’s still not trivial.
9. Ask HN: Why is everything a SaaS product?
Top comment by skadamat
1. Recurring Revenue
In some sense, every business dreams of wanting to be a recurring revenue business.
- Gyms want you to pay monthly, and discount annual plans (and sometimes discount again if you try to cancel your annual plan)
- Restaurants want you to come frequently, 6th time is a free sandwich or coffee
- Bars want you to come to happy hour, at the same time, every day
- Content creators often have a daily, weekly, biweekly, or monthly cadence
SaaS is all about recurring revenue. In theory, SaaS aligns incentives because you can quit once the product or service deviates from your expectations or no longer serves your needs. Of course, in practice, SaaS companies want to keep the monthly / annual drip coming and may make it hard to export your data or switch providers. Local first software could be one antidote to this (https://www.inkandswitch.com/local-first/) and perhaps there are others.
2. SaaS loosely resembles old-school semiconductor VC investing
SaaS is similar to old-school tech VC investing because the marginal cost is low but the upfront cost is somewhat high / fixed. A lot of investment houses think in terms of recurring revenue as well (e.g. your mortgage is a monthly payment). So if you want external funding, show a premise of recurring revenue!
10. Ask HN: Help me pick a front-end framework
Top comment by chaos_emergent
Sounds like you're in a similar place as me a year ago. Here's a list of tools that I'd use:
- TypeScript for language. Gives you an insanely expressive type system that is a step up from Python duck typing (which you seem familiar with after perusing your GH).
- React for framework. Frontend experts will shit on it for being non-performant or having a poor UX, but the community is massive and you'll have a ton of support both in terms of people that can help you when you're stuck and libraries that do a lot of work for you.
- Jest for code testing and Cypress for integration testing. The obvious tools for the job.
- Chakra UI for a UI framework. Has all the bells and whistles, DX is great, and there are plenty of escape hatches for non-default behavior.
- TipTap for text editor. This is the _most_ at risk of not being supported in 10 years, but I still see it as a low risk because they have a solid monetization strategy in place.
- Electron for the desktop app. If you _really_ don't want to use Electron then use Tauri (what we use at my company). It uses the native browser engine so package sizes are ridiculously small and it's insanely performant.
- Don't worry about the mobile apps for now. At the very most, just make it a web app that has responsive theming for mobile.
Good luck and have fun!