HNHacker News
TopNewBestAskShowJobs

relistan

659 karma · joined August 21, 2013

30 years in tech. 10 startups. Live in Dublin, Ireland
submissionscomments
relistan··on SheepShaver is an open source PowerPC Apple Macintosh emulator
I’ve got it on my Amiga 500 with Vampire 500 accelerator (so-called 68080 MMX). Pretty sure that’s nearly the fastest native 68k Mac, even if it’s an FPGA.
relistan··on Rippling sues Deel over spying
In many countries, the theft of trade secrets is a serious crime. In the US, for example, it carries a penalty of up to 10 years in prison and a $5M fine. It’s unclear to me why this is a civil suit. It may have to do with the alleged activity taking place overseas.
relistan··on Launching RDAP; sunsetting WHOIS
I’m not missing that point at all. I’m 100% on board.
relistan··on Launching RDAP; sunsetting WHOIS
Yes, exactly. Read what I was responding to.
relistan··on Launching RDAP; sunsetting WHOIS
I know this particular problem space well. AI is a reasonable solution. WHOIS records are intentionally made to be human readable and not be machine parseable without huge effort because so many people were scraping them. So the same registrar may return records in a huge range of text formats. You can write code to handle them all if you really want to, but if you are not doing it en masse, AI is going to probably be a cheaper solution.

Example: https://github.com/weppos/whois is a very solid library for whois parsing but cannot handle all servers, as they say themselves. That has fifteen + years of work on it.

relistan··on The good times in tech are over
This has happened a few times, even in my career. I doubt we'll break that cycle in the near term. We're going on 50 years where tech was like this.

Any time you have an industry can go from zero to world player in a decade or less is going to attract this kind of boom-bust cycle. Companies get overzealous about the land grab, hire too much, are careless with their money. Then the correction comes. It lasts a few years, and then it's back to boom times. Interest rates were certainly part of the equation this time, but back in the dotcom boom, e.g. US mortgages were running around 8%.

If people would stop playing the gold rush an invest in building products that people like and will use long term, we might instead flatten the peaks and the troughs into a more sustainable work environment. Don't see that happening.

relistan··on I stopped everything and started writing C again
Yes. Did you read what I wrote?
relistan··on I stopped everything and started writing C again
Except when they don’t. I’m debugging something right now that runs fine under debugging conditions and crashes with a segfault in real life. It’s not randomized memory (messed with that), it’s likely some race where the timing is changed by the debugger.
relistan··on I stopped everything and started writing C again
Maybe early return isn’t allowed in that language, but it sure would make that a heck of a lot easier to read.
relistan··on Apple has locked me in the same cage Microsoft's built for Windows 10 users
I’m personally not interested in a mishmash laptop-tablet thing. You end up with a thing that is either good at one and not the other or a thing that is bad at both.
relistan··on Zero-Downtime Kubernetes Deployments on AWS with EKS
I used to work in this world, too. What is described here about EKS/K8s sounds tricky but it is actually pretty simple and quite a lot more standardized than what we all used to do. You have two health checks and using those, the app has total control over whether it’s serving traffic or not and gives the scheduler clear guidance about whether or not to restart it. You build it once (20 loc maybe) and then all your apps work the same way. We just have this in our cookie cutter repo.
relistan··on Zero-Downtime Kubernetes Deployments on AWS with EKS
Yeah, exactly. We just catch the TERM, clean up, and then shut down. But the rest of the top post in the thread is right on.
relistan··on Exploring Polymorphism in C: Lessons from Linux and FFmpeg's Code Design (2019)
Example: https://pkg.go.dev/image

This library (and some 3rd parties) have a lot of implementations of image types. But without any inheritence or interface declaration on their part I can make something that will do image size calculations by defining an interface that only contains

Bounds() Rectangle

Now, any of those types can be passed into my function to do checking.

Another example. The stdlib log package didn't define an interface (they should have) and the stdlib logger looks like this: https://pkg.go.dev/log

However, lots of people have made drop in replacements that implement the same method signature. By defining an interface you can swap in the stdlib logger or a 3rd party without the stdlib implementing that interface.

So yeah, the stdlib implemented the interface I defined in my code "by accident" and that's a great thing.

relistan··on Exploring Polymorphism in C: Lessons from Linux and FFmpeg's Code Design (2019)
It happens all the time because e.g. third party developers follow the same patterns in the standard lib. And it was designed that way. Another example: logging libs are frequently quite similar. Even though the stdlib didn’t define that interface, you can still make your own that works for lots of libs. But even if you don’t use that part of it, it’s still great to limit the scope of your dependency. Less to mock, more flexible code. You obviously don’t like this and I’m not going to convince you, I think. But this is really one of the best features of Go.
relistan··on Exploring Polymorphism in C: Lessons from Linux and FFmpeg's Code Design (2019)
I think you’re making a joke, but in Go you get both. You can have the compiler enforce that you implement an interface with a simple declaration. Most people do.
relistan··on Exploring Polymorphism in C: Lessons from Linux and FFmpeg's Code Design (2019)
One of the main uses for interfaces in Go is defining the contact for _your_ dependencies. Rather than saying your function takes a socket, if you only ever call Write(), you can take a Writer, or define another interface that is only the set of functions you need. This is far more powerful than declaring that your type implements an interface up front. It allows for things like e.g. multiple image libraries to implement your interface without knowing it, enabling your project to use them interchangeably. And as another commenter said, you can have the compiler verify your compliance with an interface with a simple (though admittedly odd looking) declaration.
relistan··on Exploring Polymorphism in C: Lessons from Linux and FFmpeg's Code Design (2019)
It’s not satire, it’s how you do full OO in plain C.
relistan··on PayPal honey extension has again "featured" flag in Chrome web store
I used both at the time. I think you are overstating the difference. There wasn't as much full-on JS on the web and for all the things people normally did, FF did not struggle at all.

If Chrome had been aimed primarily at IE, they could have continued to fund Firefox, or could have worked with Mozilla to do whatever improvements they wanted. For example, if the objective had been speed, Google had so much clout with Mozilla at the time that I feel pretty certain they could have contributed to building something like v8 into Firefox.

But it wasn't about any of that. It was about owning the browser because they decided it was in their strategic interest. And that's because their business was by that point entirely funded by people's eyeballs in a browser, looking at ads.

relistan··on PayPal honey extension has again "featured" flag in Chrome web store
You have to think about how Google abandoned Firefox, which at the time was quite good, in order to build their own browser. It was always about control and owning the data. They fund their business with advertising spread all over the internet. Manifest v2 allowed their browser to run extensions that block the ads that pay for Chrome to exist.
relistan··on The British Navy Resisted a Decent Lightning Rod for Decades
TIL thanks
relistan··on The British Navy Resisted a Decent Lightning Rod for Decades
The ship is wood and his system required large amounts of copper, including sheeting covering what I understand to be a fairly large part of the hull. I imagine the fitting process was also not inexpensive given that.
relistan··on The British Navy Resisted a Decent Lightning Rod for Decades
That was what stood out to me, too. 1/8 of the entire navy destroyed by lightning in a five year period.
relistan··on Apple takes UK to court over 'backdoor' order
People seem to be misinterpreting the above post. I was referring to the UK giving Apple a great marketing opportunity for their privacy stance.
relistan··on Apple takes UK to court over 'backdoor' order
I don’t know, but it feels like the UK gave them the softest pitch, straight over the plate, and all they had to do was hit it. (Maybe a cricket metaphor would have been better)
relistan··on MAGA Wants to End Capitalism as We Know It
I don’t think that’s what it is. As I read this analysis, they want to have large private family firms and not large public firms. They also want a government that gets out of those firms’ way. That’s leaves no public accountability of any kind. That sounds like oligarchy to me. The workers are not going to prosper in that world.
relistan··on Apple M3 Ultra
In 1998 I somehow got my hands on a DEC OEM 21164 533mhz board for cheap. PCs were nowhere near the performance of that at the time. It mounted in a regular PC case. A friend helped me get the power supply working (there was I think one wire to solder somewhere). Equipped with an ASUS SCSI card, an DEC Ethernet card, and an Elsa GLoria Synergy, it was a full machine. I ran Digital Unix at home on my desk on that for quite a few years. Wish I had kept it for old times sake.

One thing I remember about Alpha though was how bad the output from gcc was. Then DEC released a version of their own compilers that was command line compatible with gcc. That changed everything for open source stuff.

relistan··on They wanted to save us from a dark AI future. Then six people were killed
There are various kinds of news articles. This is what’s known as a feature article: in depth coverage of a particular topic. Those topics are not usually the daily headline stories and are not read-it-today urgent. If you don’t want to read features, don’t. There have been other articles on the topic.
relistan··on U.S. pauses all military aid to Ukraine
I think you are confusing support for expansion—which was necessary for it to happen—with somehow forcing the hand of other nations to join. Yes the above all shows that America thought it was in its strategic interest, that Clinton supported it. That does not eliminate the fact that much of Eastern Europe wanted to join for exactly the reasons I mentioned. And nobody made them do it.

Furthermore, if you read the articles you cited, you’ll find that you are starting mid conflict. By the point when Georgia engaged with Russia in 2008, Russia had already stirred up separatist groups, armed them, supported their violent takeover, and sent Russian advisors to support them in occupying Georgian territory. You can’t start at the middle.

relistan··on U.S. pauses all military aid to Ukraine
No. Countries with their own free choice asked to be part of NATO. The US did not push this on them. NATO expansion happened exactly because none of those countries trusted their neighbor Russia, who had previously invaded them and kept them under its thumb for 50 years. Russia is both to blame for the expansion of NATO and Russia's subsequent invasions of Georgia and Ukraine.
relistan··on How the U.K. broke its own economy
Ireland followed Britain down this disastrous planning hole and now has a matching housing crisis.

For most of the last sixty years, a good idea about how to run an economy should have involved closely scrutinizing what the British were doing. And then not doing that.

← PreviousPage 3 of 8Next →