HNHacker News
TopNewBestAskShowJobs

mikepurvis

13,584 karma · joined October 27, 2009

Mechatronics engineering grad at University of Waterloo. I've led teams and shipped products— hardware and software. Areas of interest include DevOps and DX, tools, pipelines, and packaging. Experience in Nix and Debian primarily, increasingly GHA, TypeScript, and Docker Buildx Bake. Clearpath Robotics / OTTO Motors alum, now at Simbe Robotics.

All opinions expressed are entirely my own.

https://www.linkedin.com/in/mike-purvis-6166a42/

https://meet.hn/city/ca-Kitchener

submissionscomments
mikepurvis··on The Hackintosh Reborn
I bought the first gen white MacBook when it came out. I was pretty sure I would like OS X, but having hardware that gave the option to go back was enough to sell me on it. I did briefly do boot camp to run Solidworks for my engineering degree, but otherwise the native Mac experience was good to me.

I had several Mac laptops over the decade that followed, but ultimately ended up back on a Windows 11 workstation with heavy WSL usage and a NUC and Thinkpad X1 both running Ubuntu in supporting roles.

So almost by accident, my time as a Mac user overlapped perfectly with the Intel era.

mikepurvis··on The Hackintosh Reborn
John Gruber in 2006:

> It’s just not true that most Mac users use Macs because the hardware is better designed. They’re Mac users because of the Mac OS. What the original cloning program showed was that many of Apple’s customers were Mac fans, not Apple fans.

https://daringfireball.net/2006/04/asinine_and_or_risky_idea...

mikepurvis··on Debian apt security update (man-in-the-middle)
MITM on the network, I guess like DNS takeover or the like.

So you pass through the upstream headers but then simulate a failure/resume and supply different contents for the resumed download.

mikepurvis··on Show HN: Uncracked City, detective game where you question LLM suspects that lie
People are definitely doing "free form" interactive fiction now, though I think the one that really interests me is classic style but with an LLM interface that makes the interaction less rigid, eg

https://intfiction.org/t/glulxe-with-llm-based-user-input-pa...

mikepurvis··on Show HN: Uncracked City, detective game where you question LLM suspects that lie
I wonder if you could do it all over voice, say while alone in the car.
mikepurvis··on C++26 Disapproved
Too bad it couldn't have been contract and static_contract.
mikepurvis··on macOS 27 does not support CoreStorage volumes
Ah nice, I appreciate the search term, and I see there are some projects out there leveraging this, for example: https://github.com/nasty-project/nasty

Overall I'm happy enough with Unraid for the moment, but I will definitely check in on bcachefs-based solutions when I'm next considering a rebuild/upgrade.

mikepurvis··on macOS 27 does not support CoreStorage volumes
From a pure cost point of view, I think it still makes sense to me to split the load, like 500GB of NVMe covers your containers and apps and stuff, but then 10-20TB of spinning storage is fairly achievable with redundancy, whereas that would cost a fortune to do as all solid state.

The case I have is a Jonsbo N2, which works great for accommodating 5 3.5" drives with backplane, a mini-ITX mobo: https://www.amazon.ca/N2-Aluminum-Support-Integrated-Removab...

mikepurvis··on macOS 27 does not support CoreStorage volumes
Sidebar, but as an end user, I remain annoyed that there isn't seemingly something that's a worthy successor to fusion drives.

Like I have an Unraid box with dual NVMe (RAID1) as the "cache" drive and a bunch of spinning disks as the "array", but it's also very manual, like torrents get downloaded first to cache and then a nightly job syncs them to the array. Feels like a real missed opportunity to not be able to have this kind of config transparently managed.

mikepurvis··on US boy names that became girl names and vice versa
I was going to say the same about Jean; I think that one at least is hard to really draw conclusions from without additional data like languages spoken at home.

Anecdotally, the boy->girl names are almost all very popular names where I've met multiple each of those across different ages, whereas the other two categories feel like they have a lot more down-list entries.

mikepurvis··on Apple's git still trusts the compromised eMudhra certificates
You actually can sort of do this just inside a modern docker file, with COPY --link

That version of copy overlays the copied content without any knowledge of its underlay, so if the underlay changes, the hash of the layer created by COPY remains identical.

Obviously there are lots of situations this doesn't work for, but say you have a pool of Ubuntu packages (the system layer) and then you separately copy a CMake installspace or built uv project from a build stage, that project layer can be identical in hash if it's copied onto an updated system layer.

In practice, it's hard to get this to work because it's very easy in docker to accidentally trigger a rebuild for some random reason, but all the pieces are there.

mikepurvis··on AI isn't replacing SREs, it's deskilling them
It's first-principles thinking. You have to have some sense of how you would do it in order to reasonably engage with a machine's idea of how to do it. Otherwise you're just nodding along, like yeah sure bro uhhhh lgtm.
mikepurvis··on Apple's git still trusts the compromised eMudhra certificates
I think the number one thing that bites a lot of container workflows is when you have a separate "base image" build that depends on external, mutable package sources using tools that don't support locking, such as apt.

This gets worse for each additional such layer, for example if you start from ubuntu:whatever and have a system deps layer, then an application deps layer, then static assets, then your app's code. Unless you think about it upfront when designing the pipeline, it can be challenging to trace all that state backwards and figure out how to safely re-build thing-from-x-weeks ago but with a single unsafe package bumped forward.

Every shop with competent devops people present should be set up for this, but it usually doesn't come for free.

mikepurvis··on Java's new AOT cache feature is in a rough state
It's normally an opt-in thing I think, since it's not an unconditional win: you have to figure out which code paths are worth it, and then where to trade off binary bloat vs the runtime cost of dynamic dispatch. In rust for example:

https://doc.rust-lang.org/beta/core/arch/#dynamic-cpu-featur...

mikepurvis··on DoorDash to acquire Instacart
That sounds like a scary investment to make on behalf of what's effectively a single customer. Without some kind of contractual commitment that locks in volume and price, they would really have you over a barrel.
mikepurvis··on Apple's git still trusts the compromised eMudhra certificates
Should it also predate Docker by a decade? That would be crazy.
mikepurvis··on Apple's git still trusts the compromised eMudhra certificates
Isn't that the world that Docker gives us, basically?
mikepurvis··on A $300B 'Debt Wall' Is Looming over Private-Equity Backed Companies
On some level, yes, though when I choose a saas product, what I'm really choosing is not a basket of features, but rather someone else to be worrying about scaling, monitoring, security patches, uptime, etc.

Like in theory your agents can build all that too, but all the ancillary bits benefit a lot from being spread across a pool of users with different time zones, release cycles, whatever.

mikepurvis··on Jailbreaking the Switch 2
It can also just turn into a waste if you build all the automation to turn around and only use it once, recalling https://xkcd.com/1205/

Now that said, the economics have changed in a world where many trivial automations can be thrown together by agents themselves in a fraction of the time it would have taken a human.

mikepurvis··on Jailbreaking the Switch 2
I bet we'll see more KVM-for-X type products appearing, basically multiplexers for various storage devices and peripherals, as ways of giving agents control over them.
mikepurvis··on Show HN: Sphinx – A hook that quizzes you on your AI's code before shipping
I think this tool is meant to be something you impose on your colleagues who treat all code like the second bucket.
mikepurvis··on Bleached corals thrive within days when touching healthy neighbour
That's horrifying to hear. I also went on a multi day dive trip at gbr and the coral sea in 2007 and it was spectacular; I can't imagine going back and seeing it degraded.
mikepurvis··on Waymo in Toronto
It's definitely not nothing, and the numbers bear that out: https://www.bbc.com/news/business-59008000

Whether this is one of those "we accept some number of school shootings cause gun freedoms are just so great" issues or not is I guess its own matter for debate. But the fact that this happens, and then as dudes we get to discuss it at arms length on the internet and opine about whether "99% of trips completed without incident" is reason to dismiss it all out of hand may help explain why an individual woman getting home from the bar might choose to walk or take waymo vs getting in a cab and risk joining the unlucky 1%.

mikepurvis··on Waymo in Toronto
I guess? I was on a date with someone and we took an uber back to her place after a concert, and she mentioned off-hand afterward that had I not been there she would have just walked... even though it would have been over an hour on foot, it just wasn't worth the risk after multiple bad/creepy experiences taking carshares home late at night.

Maybe it's a bit like cops: they're not all bad, but the system is kind of set up so that bad ones thrive and good ones burn out. It's going to be a particularly kind of person who is willing to spend their late Friday night driving drunk people home from the club, and honestly if you're a vulnerable person, maybe the guy most willing to do that job is the one you least want as your particular driver.

mikepurvis··on Waymo in Toronto
I'm not sure if I buy this, it seems like it's a bit of a turtles-all-the-way-down discussion. Like a vulnerable person ordering a taxi also has a phone, which is the ultimate surveillance endpoint, and opens them up to potential abusive behaviour from employees of their phone maker, their telco, and every app they have on there, including the rideshare ones which by necessity have precise location and other permissions.

At the end of the day, a man driving them home and knowing their home address while right there is a much more immediate and specific point of threat than "I'm being surveilled while I travel in a Google-controlled robotaxi".

Also, like it or hate it, but Google actually has a pretty decent track record with protecting their customers from their own employees. Gmail and gsuite content stays private, and there are enough protections in place to satisfy insurance companies, medical institutions, banks, and even governments. If a Waymo kidnapped or killed someone under the control of an overseas remote operator, it would be national news and congressional hearings; a person getting assaulted by a cab driver is nowhere near that level.

I just don't think "but Google/Waymo bad too" is a reason to poo poo someone feeling more comfortable sitting alone in a robotaxi than sitting alone in a cab or an uber.

mikepurvis··on Waymo in Toronto
That's a very different problem that probably has a generational timetable.

Letting women get home safely with a robot driver is a thing that can happen today.

mikepurvis··on Tiny Little Office
At least for myself, business travel remains relatively simple: go to Perk or whatever the business-supplied travel portal is, put in the dates, book whatever flight and hotel are in-policy, when I get there report to the conference/customer/whatever, and buy whatever food is available when I get hungry.

It's travel for pleasure (especially with groups) where all the complexity comes in: there's a lot more stuff to schedule, more slop in what exactly happens when, more competing preferences, more need to have multiple things on deck so you can react to changing energy levels, etc.

Not too hard to see why a lot of people just give up and book an all-inclusive where every day is the same and everyone can just "do whatever", but with better tools, maybe rolling your own vacation could be made more practical and coherent for a normal busy person to put together.

On the matter of transactions in particular, I think airlines largely solve this with 24hr no-questions refund periods. So, book your airfare, then your lodgings, and if there's some problem with the lodgings, then refund the airfare and start over.

mikepurvis··on Tiny Little Office
I'm intrigued about the "Trip Planner" being a top-level app. Only tried it in a very surface level way, but the recent trips I've planned (Ottawa for 6 people, Cancun for ~20) have ended up as an ugly mishmash of spreadsheets + google maps saved locations list + random chatgpt sessions.

It feels like there's an unmet need there for managing something more flexible than a minute by minute itinerary, maybe like a list of must-do and want-do activities and dining options, with the system able to figure out what is open when and has other constraints like the weather, costs, what activities pair well together, which group members some things are more or less suited to, what the contact details are for things like a private tour, etc etc.

mikepurvis··on Banks are now trying to offload the AI data center debt they just underwrote
Oh okay, in that case mine were never sold. As in the sibling reply, my assumption is that the "retail" side of the mortgage (who you make your payments to) is fully detached from who ends up owning the mortgage backed securities that your debt is being financed by.
mikepurvis··on Banks are now trying to offload the AI data center debt they just underwrote
Is there a way that you can track this yourself? I've had three different mortgages [1] in my lifetime and as far as I know it was all completely opaque who/what was ultimately holding the underlying debt.

[1]: First was a decade ago with RMG (a Canadian monoline lender) and the other two with Scotia, the first of which was a fixed mortgage at purchase, and the second was a refinancing.

Page 1 of 34Next →