Completely different experience though, since RAAM is a supported race, a very different kind of suffering. The Trans Am is a more comparable one (though still a race): https://en.wikipedia.org/wiki/Trans_Am_Bike_Race
I often do ultra races, always trying to be at the pointy end. I have all the training, and all the fancy equipment you could possibly imagine. Doing something of the magnitude of this article though still scares the hell out of me. Every year I watch the Transcontinental Race, and every year I say "yeah, would love to do it, but next time". I still haven't signed up.
The gear, the legs, they help with going faster. Whether or not you can finish (barring catastrophical mechanical or injury) is all in your head!
I'm going through the same path right now, building my own product, and while I do indeed feel like it taught me tons, I don't want lessons, I want to get a business off the ground!
Fun fact: a previous company I worked for denied my request for a 4-day workweek precisely because they were scared I'd work another job. I honestly just wanted more time to ride my bike.
> I now understand that a rewrite carries with it a huge amount of various risks and that people are biased to overestimate the costs of the ugly stuff they see in the old application and underestimate the risks of things they are not aware of when deciding to do the rewrite.
I see this a lot with large scale refactorings, where people usually start with the easiest case and work their way up in the complexity ladder, and by the time they reach the hairy stuff it's basically time for another refactor to account for what's been missed. I started to look at any proof of concept or refactoring proposal that doesn't take into account the complicated bits, the corner cases, with a lot of suspicion.
Exactly, this is perfectly put and something I've hit several times myself. I have learned to do the exact opposite: sprint to structure the project just enough to begin to tackle the hairy stuff as soon as possible, so that any changes required for the hairy stuff are being made without a ton of other code and tests to update along the way.
Recent example: the architecture that worked well to generalize validations & mutations for individual records of different types had to change drastically to support relational cascades between multiple records of different types, but it was only a day of refactoring to do it early, instead of a month if it had been left to later.
I worked on some of these systems as well. Credit card details haven't been sent by emails for many many years, and I believe the last fax Booking ever sent was somewhere in 2018 or 2019, the whole fax system was decommissioned. By the time I left I believe they were still showing CC details to hotels via the extranet or an app though. A virtual CC thingy exists, but like someone said upthread, hotels are very set in their ways and often behind the times.
Oh hilarious! The business logic for getting optimal routing for faxes was... quirky. Picking the right source country/line/carrier to get the best quality line while getting the lowest cost and balancing capacity. In the old days all held in a complex queue in a MySQL db (sigh). I recall getting paged out of bed a number of times as an escalation to get it all working again after we hit yet another lock contention issue in MySQL.
I've been competing in ultra-distance bike races since 2020. In April this year, I decided to take a break from work and see how well I could do if I dedicated one year to training. I chose the Race around the Netherlands in 2024, the race that started it all for me, as my goal race. Training takes up to 30 hours a week, so at time it's like a full time job, but I haven't felt so fulfilled in a long, long time. I definitely recommend it to anybody that has the opportunity.
Very long, relatively easy rides, for the most part. In summer that's 6 hour rides or longer at a conversational pace, in winter it's 3 or 4 hours on Zwift. Sometimes I do threshold work (because it's more fun than Zone 2 all the time), rarely HIIT anymore (these races don't have a habit of having a sprint finish).
As a matter of fact, at a previous job we used traces as a data source for event sourcing. One use case: we tracked usage of certain features in API calls in traces, and some batch job ran at whatever frequency aggregated which users were using which features. While it was far from real time because of the sheer amount of data, it was so simple to implement that we had dozens of use cases implemented like that.
I left B.com in early 2020, and they had been using Kubernetes for newer services (I actually worked on the deploy tooling), but until I left nothing of consequence had been moved to containers yet. The overwhelming majority of their workloads still ran on bare metal indeed, and to be really honest I still kinda miss it sometimes.