HNHacker News
TopNewBestAskShowJobs

deckard1

4,463 karma · joined September 18, 2015

submissionscomments
deckard1··on Modern Mono
> Uh, no, it smells of mainframes. Look at some of those 90° serifs, right out of the 1950’s.

maybe that's why I like IBM Plex Mono so much. My go-to font has always been DejaVu Sans and before that Bitstream Vera Sans, which are pretty much the same font. But I like IBM Plex after using it for awhile.

I'm not that anal about serifs or whatnot. But a font has to "feel" right with a page of code open. And the very minimum they have to get the O (letter "O") vs. 0 (number zero) right as well as I (letter "I") vs. 1 (number one). If you can't get that right then it's a useless coding font.

deckard1··on The Future of Thunderbird
I bet you can go on Slashdot and find a thread from a million years ago with people saying they will never switch to this trendy new Thunderbird and that you can pull their pine/elm/mutt from their cold dead hands. I remember a time when running X11 with twm and an xterm was considered too fancy
deckard1··on Google's live from Paris event private/deleted immediately
It's been going on much longer. Google's revenue was disrupted with Facebook. Then they scrambled to get Google+ out the door, which had absolutely no reason to exist beyond being a Google-branded clone of Facebook. They effectively lucked in to Android paying off. When the iPhone came out Android was not going to support touchscreens. It was designed for physical buttons only.

That's the problem with Google. They don't have vision. They need someone else to show them the future which usually leaves them racing around trying to find their place in the new world. And then when they do put out a product it's always some half-assed thing that feels like a beta product of some already existing fully-finished product that is wildly popular. Sometimes it works out. Chrome was a joke when it came out. It took many years before Google Maps became a solid, distinct offering. But they want minimum viable products that ape already existing things and want them to be instant hits or they kill them off. It's the Netflix strategy.

deckard1··on Why Steam Deck Is One of the Most Significant PC Gaming Moments in Years
> almost every game on Steam has a quick accessible rating that lets me know if it works fine on Linux

Sure, it's more convenient that Valve runs Steam and can put the rating right there. But let's give WineHQ a bit of credit here. They have a database going back more than a decade now, telling you how games run on Linux.

The effects of Valve getting into Linux gaming are definitely noticeable. But the Wine team deserves a boatload of praise too. I was playing World of Warcraft back in 2007 and it was a flawless experience.

> rush to get games ported to Linux actually is happening

I'm not really sure about this. By having Proton/Wine at such a high quality, most devs are just going to target Windows. Because why bother? They will probably ensure their games run good under Wine and that's where it ends. Nowadays I'm totally okay with that. Lutris is great, Wine is actually easy to use. It's the best time to be a Linux gamer.

deckard1··on Hustle bros are jumping on the AI bandwagon
ChatGPT spam created by ChatGPT is when you know we've entered the inner circle of hell
deckard1··on WTF with high school questions?
They really do want the people that will crawl through broken glass for them.

The whole tech industry is insane. Can we please go back to: I give you work, you give me money. And if you want passion then I want equity.

deckard1··on ChatGPT Cheat Sheet
If it's an assistant that you constantly have to double check their work, then they would get fired ASAP.

That's the problem with Copilot. If I'm not familiar with the API calls then I'm still going to have to dig into the docs. I could run it and it might "work", but that doesn't guarantee that it's correct. There are a whole lot of things in the C API that work but are not correct, such as the gets() function. If I have to do such legwork then it's just as easy to write the code myself.

The utility of AI is proportional to the trust one has in it. Trust is easy to lose and hard to regain. It will take just a few AI mishaps to ruin a product or even an entire industry.

deckard1··on Wolfenstein 3D with a CGA Renderer
yeah 286 was minimum. I had an 8088 XT and it would not run.

However... there is a little known game that id Software did release that would run on an 8088. It's called Catacomb 3-D[1]. It was basically Wolfenstein with goblins and skeletons. Pretty sure that engine went on to become Wolf3d.

Despite the Wikipedia page saying it runs on a EGA I had a CGA monitor and was running it. Thinking I might be losing my mind I downloaded the source code on archive.org[2] and sure enough there is reference to CGA code all over the place.

[1] https://en.wikipedia.org/wiki/Catacomb_3-D

[2] https://archive.org/details/CatacombAbyss_source

deckard1··on ECC RAM should be a human right
It is on Ryzen. Stick with AsRock or Asus motherboards, though.
deckard1··on ECC RAM should be a human right
> a multitude of bit flip errors

ECC can only report >1 bit flip per word. It can't correct it. If your memory is going bad, the chance of multiple bit failure is going to be much higher than the stray bit flip from other causes (mind you, I have 32GB ECC running right now and have seen zero bit flips over 1.5 years).

I'm not arguing against ECC. I have it and run it myself. But this blog post is an argument for ZFS and regular backups. Failures can occur at many other places than RAM. I had a drive that had corruption and I thought went bad. Turns out, bad SATA cable. A week later I upgraded from cable internet to 1Gbit fiber. My speeds were not at all what I expected. Turns out... bad ethernet cable. Lightning can strike twice I guess.

> By the way, you’d better believe that your disk(s) have all kinds of error correction schemes built into them, which work automatically and transparently.

Well...

https://twitter.com/xenadu02/status/1495693475584557056

https://www.tomshardware.com/news/sk-hynix-sabrent-rocket-ss...

https://twitter.com/bsdphk/status/1495899958960136202

deckard1··on An unexpected benefit of unit tests
> (page unknown, ebook copy, chapter 27)

page 148 in the physical book, at least my copy.

However, you leave out the following section titled "Clean Check-in" in which Beck argues the exact opposite when working on a team. Clearly it's the days before git and trusting code to sit on your PC overnight without checking it in (I, too, would not trust Windows98 with code that long).

But this is the general problem with the book and TDD. It's outdated and overrated. The book is not a well-written book, even for year 2000 standards, and I'm quite surprised people are still referencing a 20 year old book that is almost entirely composed of trivial examples using Java classes and objects. It is my least favorite tech book on my shelf.

> leaving a failing test at the end of the day

As far as this point goes, you pretty much have to. The TDD methodology, per the book, is to get to green as fast as possible. If you are testing for a function to have inputs of 5 and 2 and expect an output of 10 then the book literally tells you to do:

  function() {
    return 5 * 2;
  }
What's going to happen is you write that code, get distracted or need to quit for the day, and you come back and your test is green. You forget that you wrote some total shit like the above and move on to the next Jira ticket.

As a methodology or system it's just bad. Imagine instead of writing the implementation to pass the tests that you instead are writing tests for some AI to "implement". You set the inputs and the expected outputs and the AI goes to work and does the implementation. In AI this would be called overfitting. Yes, the tests pass. But only for the cases you wrote. There is no guarantee your code works for the general case. Now replace AI with you and the same thing will happen. If all you care about is green tests you're liable to stop thinking of what the implementation should be doing.

Sure, you won't do that. But I promise you people, in general, do. One code base I worked on had minimum coverage required. More than half of the tests were total garbage. They either tested nothing useful, or were false positives that could never fail (because no one knows to check for failure, ever!). This is the opposite scenario, but the same outcome. It's the difference between the letter of the law and the spirit of the law. Give the people a rule to follow and they will mindlessly follow it.

Agile and TDD are both too nuanced and leave too much up for interpretation that it's no surprise we continually see debate on "true TDD" or "true Agile".

There are useful ideas in TDD. But this would be better packaged and sold as "here are some ways to build software under X scenario." These are techniques applicable to a time and place and not a paradigm.

deckard1··on Job Hunting in 2022
60 is quite low for leetcode. There are a few dozen patterns to learn. Most people will probably do on the order of 200-300 before they are truly comfortable. I've heard some people do it in as little as a month or two with 8 hour days. But most people can't do that because you will go insane and suffer extreme burnout.

> if you spend that much effort

yeah that doesn't start until like 400+ LC problems. If you're still struggling with mediums at that level then sure. But at <200? That's entirely normal.

Sure you may get lucky and get in Google with 10 LC problems under your belt. But those are not good odds. Places are asking LC hard nowadays. And you really don't want to see what people in India are putting up with.

deckard1··on Tell HN: It is impossible to disable Google 2FA using backup codes
If you're on Android, get Aegis. It's better anyway and you can export backups.
deckard1··on Ask HN: What have you built more than twice and wish someone had built for you?
I really don't understand what has happened in the last few years in this space. At my company we went from stable but boring Jenkins to this Github/K8S hell. Everything is broke all the time. Literally every single day. It blows my mind. We are at the point that people have forgotten that things used to just work. It's like back in the day Windows98 users know you have to reboot the PC once in awhile. Because they know of nothing else. They don't know the past and they can't imagine a better, more stable future.
deckard1··on Git security vulnerabilities announced
That sounds like the similar, but opposite case of tail recursion optimization. Some languages/compilers don't do it because devs want stack traces. But allow TCO in and now the code that gets written is quite different than the code that would not do tail calls because TCO doesn't exist.

Also a surprising amount of undefined behavior gets relied on in code. I don't use Rust, but the idea that they could potentially change the future behavior on overflow seems... risky?

deckard1··on Ask HN: Books that teach programming by building a series of small projects?
Excellent resource. Never seen that before.

In a similar vein, there is The Architecture of Open Source Applications which is great:

https://aosabook.org/en/index.html

deckard1··on New Sony Walkman music player
let's say you have an organized collection of music on your home computer, laptop, NAS, whatever. An easy way to stream that is with a subsonic server. I prefer Navidrome, but there are lots to choose from.

To get that on to your Android you can use an app called DSub. This app can stream, but more importantly playback from cache. You can flag which songs or albums you want to cache on your Android. You can permanently cache as well.

That works well. But if you want to step it up a notch, you can point Poweramp to the cache folder that DSub uses and use Poweramp for playback.

The benefit of this setup is getting music on to your device is trivial once you have these apps configured. No more shuffling files around. Just open DSub, select which new albums you want, and they will appear on your device.

deckard1··on What the hell is Forth? (2019)
Scheme is deceptive. I think R5RS was all of 50 pages or so. But try implementing quasiquotes, closures, lexical scoping, tail call optimization. Not to mention the trickier things of call/cc, dynamic-wind, hygienic macros. There is a surprising amount of complexity involved. Even if you do go with the simplest of GCs, which is probably stop-and-copy.
deckard1··on CEO Jack Altman’s email to Lattice employees
realistically? I've worked in HIPAA environment before, with secured corporate laptop, access keys to various departments, etc. Any person walking in there with a lowly USB stick could walk out with private personal data and no one would have a clue. It's just theater. I suppose for some sort of legal compliance thing you might want a laptop back so you can check a box on some form that says you did your role in the theater. Sure.
deckard1··on How to store your app's entire state in the url
yep. A coworker introduced a CSRF doing this. I had to point out that you can't just take raw input from a URL and throw it back on the page. Even after I pointed it out and gave a proof-of-concept they still didn't get it.
deckard1··on Ask HN: What's on your home server?
Navidrome is my favorite, by far. It's like a personal Spotify. It also has built-in subsonic support.

Syncthing is another I could not live without. All devices upload to my server and my server gets backed up to S3/backblaze type service.

Plex for movies. But I may look at Jellyfin soon.

I use Calibre-web, but it's really not my favorite. Okular is so much better. And Calibre is a chore to use and overkill for my needs. Books organized into folders is about as far as I care to organize. Thumbnails are nice though.

deckard1··on The (Almost) Definitive 486DX/50 Article
same here. We had an 8088 with AdLib, which only had FM synthesis. We stepped up to a Pentium 75Mhz with SoundBlaster AWE32 and 16-bit 44.1kHz audio. And CD-ROM drive! Those were amazing times. Shortly after that the internet hit mainstream and MP3s became a thing, and the world changed forever.
deckard1··on The (Almost) Definitive 486DX/50 Article
Boring maybe. But I'll take the sheer joy of plugging in a random USB device and having it just work over the absolutely pain it was dealing with serial and parallel ports and I/O addresses, DMA channels, IRQ conflicts, etc. And everything talks WiFi today. It's amazing. I have 64GB on my main machine. I can run (virtual) machines within machines! That's a goddamn miracle if you ask me. I bought some cheap HDMI capture stick for $10! I plug it in to USB and the thing just works. And in Linux. How?! I had Hauppauge WinTV PCI capture card in the late '90s and that thing barely worked (with their awful proprietary drivers and software) in Windows, never mind Linux support.

> The board was huge in comparison to a modern board.

The ATX form factor is still the most popular. Mini ITX is around today, but based on the fact that vendors only make a few models compared to their ATX selection tells me most builders still use ATX. I guess the AT form factor was larger, but ATX has been around since '95 or so.

deckard1··on The (Almost) Definitive 486DX/50 Article
> It was amazing, and infuriating, to have your decently high-end system basically obsoleted in two generations.

I remember this all too well. And PCs were expensive. $2,000-3,000 rigs in 1990 money. Today you can pick up a loaded Ryzen laptop for less than half that in 2023 money. Crazy.

In the early '90s I was still on an IBM XT clone from around 1986 with CGA graphics and monitor. Few of the new games I wanted to play would work on it. It was worse when the 386 came out. Today, with a machine built around 2017 and a GTX 1080 I can still play most new games just fine.

I do kinda miss when AMD and Intel shared the CPU socket. I had a AMD 386dx40, which IIRC Intel never made a 386 that fast.

deckard1··on Bring Back Personal Blogging
A lot of people don't want to receive a sermon and, likewise, wouldn't want to give one either.

Every time I visit LinkedIn I roll my eyes at some of the things people publicly post. There is a certain self-seriousness bordering on pretentiousness with a LinkedIn post versus a half-serious Tweet. Twitter is more like chat. The blogs I tend to read are more informative than opinionated. E.g. "How to get this USB device working on Linux" versus "X Considered Harmful, Here Is My Hot Take Which Is Targeted For Maximum Virality".

I've stopped reading most of HN opinion blogs because they are all terrible. This is not to say you can't have an opinion and express it in a nuanced, intelligent manner. But the viral algorithms and promoters aren't looking for those, and the skill to write such content is rare.

deckard1··on Ask HN: What tools/strategy do you use for backups?
> and passphrases means no automation.

You can easily specify a password file via env variable[1]. Make sure file permissions are restricted to root only. If someone had root they could read any file already, so I don't see a threat beyond someone gaining root.

My offsite is done automatically with cron using restic. Then I use rsync for incremental backups to a USB drive (LUKS encrypted). Beyond that, I have a NAS with mirrored ZFS (+ daily snapshots) for live data. I use Syncthing to get my data to the NAS from phones, laptops, etc.

[1] https://restic.readthedocs.io/en/latest/faq.html#how-can-i-s...

deckard1··on Ask HN: Which videogames are worth playing in 2023?
You can't go wrong with Tetris, and Tetris Effect is the best version of it. It must be experienced. It's impossible to describe what it feels like to be in the "zone" with this game. It's one of those games you can pick up for a five minute game and then notice that you've been playing it for three hours. Good headphones are a must.

My problem isn't finding games worth playing, it's having the time to do so. Elden Ring, Dark Souls 1/2/3, Bloodborne, God of War, Horizon Zero Dawn, Dishonored 1/2, Prey.

I'd love to have time to get into the adventure games again, like Grim Fandango or the Monkey Island games. Adventure games have always been some of my favorite experiences on a PC, going back to Sierra and LucasArts games.

deckard1··on Auth.js Authentication for the Web
> Nextjs 13.1 just added actual server-side middleware

the middleware has been available for awhile, they just added a few "advanced" features it looks like.

The problem with their middleware is that it's based on their edge runtime. Which is pretty much very basic web APIs and nothing more. Unlike Express/Koa, you do not have the full node API and cannot do things like read files from the filesystem. It's a total unnecessary clusterfuck just so Vercel can get you on their cloud services. Every single day I work with Next.js I wish I had Express and a decent router.

deckard1··on It's easier and faster to pirate an e-book, than it is to buy it
Lutris makes it easy to install GOG and Epic store games as well. Epic has been giving away a lot of games the past year or two, so it's a great option for Linux. Amazon Prime also gives away games that usually redeem on GOG or other stores. Great time to be a patient gamer. I have a huge, 100% legal collection of games that were all free thanks to these stores competing to build up their reputation.
deckard1··on Non-ECC memory corrupted my hard drive image [video]
> Ryzen desktop with ECC, and it registers about one bit-flip per week.

yeah, you have bad ram. Or you overclocked it.

I have a Ryzen server with 32GB ECC RAM running 24/7 for a year. 0 bit flips. Not a single one.

← PreviousPage 4 of 30Next →