“I ask where he thinks this dysfunctional system [the fragile global food distribution system] has come from. ‘There is a culture of British exceptionalism. We were the first industrial nation in the 18th century and then became the dominant imperial power in the 19th century and pursued that as a way of feeding ourselves.’ Critics often point out that we were less self-sufficient in food in the early 20th century than we are now. True, Lang says, but that was specifically because we had an empire which we ravaged to keep our tables and bellies full.”
Add a century and replace “British” with “American”, and Tim Lang’s words apply just as well to the United States. Like Tim, I hold out hope that the nation will wake up and make a change; you would have to be a fool to bank on it, though. Exercise your individual liberty now to prepare for the all too likely crises ahead. Far too many are content just to whistle past the graveyard.
“An answer to the now age-old ARM-ed Mac question now emerges: With the emphasis on the iPad Pro as a real computer, there’s no reason for Apple to move the Mac off of trusty if perhaps less glamorous Intel processors.”
If I may finish his sentence, “... there’s no reason for Apple to move the Mac off of trusty if perhaps less glamorous Intel processors, because the iPad will soon replace the Mac.” As for when this will happen, I don’t know — and if Jean-Louis does, he’s not saying. With each passing year it becomes more feasible from a technical standpoint, but it will take a sea change in Apple’s strategic thinking for this to actually happen.
This reminds me of the electric car situation: they have gotten pretty good, but at least for my use case, they aren’t quite good enough. I can see that this will change soon, but — again — it will take a sea change in strategic thinking to make this happen. In this case, that means automakers stop trying to turn a truck into an electric truck, and start designing vehicles to take full advantage of all this new technology enables.
As I start shopping around to replace my trusty 2013 MacBook Pro, I hope Apple will make its decision soon.
“The kernel developers view of the docker community is that in the rare case they can actually formulate the question correctly they usually don’t understand the answer.”
Hilarious. Ian also got at a critical point about the state of modern software engineers, something I touched on a few weeks ago when I linked to Good TImes Create Weak Men. Short-term, push-button fixes attempt to get around the long, hard, and expensive problem of developing and deploying expertise. Like outsourcing, while the former approach has short-term benefits, its long-term effects are debilitating.
Dan Moore’s 2018 post, When do you earn your pay?, reminded me of something I told one of my friends a few years ago. Both senior ROTC cadets at the time, he had just finished complaining about how our instructors always blamed him when other people did the wrong thing. “You’re not here for things to go right,” I told him, “the only reason our job exists is to fix things when they go wrong.” This leads into a larger point about the role of Officers in the Army, but I need to spend more time thinking about that before I start writing about it; for now, this will have to suffice.
“Americans have gone west to escape the ills of society while bringing the ills of society with them, pretty much since Manifest Destiny; one regional myth was that, once here, everyone would have the chance to experience something wild. In reality, of course, settlement always brought land-access issues, prompted human displacement, and fueled socioeconomic disparity. That remains true now, as Billionaire Wilderness makes evident through its examination of one of the most beloved playgrounds of this part of the nation.”
Simple systems deploy faster than complex ones, and fail less often; sometimes they take less time to build, too, but the pursuit of simplicity often entails a long process to prioritize some features while justifying the exclusion of others. Ironically, that process tends to take much longer than just building in all the features, so most choose the latter approach. The end result is complex software that does many things, but few things well.
As a fan of premature optimization, I like to take the opposite approach, and to take it to the extreme. My software — and even my devices — tend to do one thing well. This makes the upfront cost higher in terms of time spent planning projects, writing code, and purchasing hardware, but also — since I understand and control the entire stack — lowers the number of opaque systems that can fail as well as the knock-on effects of such an event. I consider this a worthwhile tradeoff, and I bet Greg would, too.
In a similar vein, check out 507 Movements for — get this — 507 different mechanical mechanisms. When I run into a novel engineering challenge, I always try to solve it in a simple mechanical way first. Computers are great, but there is a certain elegance to simple machinery for which I have great appreciation.
I had a busy start to the year. Between traveling and work, I did not have enough time to finish the titanic task I had given myself: rewriting First Crack. When it came time to post the January release notes, then, I did not have anything ready; today I do.
I don’t likedependencies, but excusing one language’s reliance on bucketloads of them because others use built-in libraries misses the point. I care about the number of dependencies I have to install just for your project. On a system full of libraries that could have met most of those requirements, as evidenced by other, similar projects that do not need hundreds of extra packages, the fact that yours does gives me pause. The fact that this language seems to cause this leads me to believe some fundamental shortcoming must exist. Let’s not excuse that.
“They don’t adopt everything new but what new technology they do embrace, they take up about half a century after everyone else does. By that time, the benefits and costs are clear, the technology stable, and it is cheap.”
Over a decade ago, Keven Kelly put forward the idea that creators could earn a living from 1,000 fans. In this piece, Li Jin proposes that they can do the same from 100 super fans. Crucially, though, as the number of patrons goes down, the value that creator provides must go up. Many seem to forget this last point, and see headlines like these as evidence that they can somehow make it with 1,000 subscribers or 100 readers. It just doesn’t work. Understand the tradeoffs, make a realistic plan, and never quit.
I read a few of Marcus’s posts, and liked themall, but it was his link to an interview with Ira Glass that made me post this. Most have heard this many times before, but it bears repeating: doing good work means first doing a lot of bad work, and having the tenacity to get through those discouraging times. The great creators, to whom far too many aspiring creators prematurely compare themselves, made it through because they pressed on. Success is not a mystery, it’s just hard. Put in the work to get there.
“It’s suspiciously convenient that Facebook already fulfills most of the regulatory requirements it’s asking governments to lay on the rest of the tech industry. ... We already saw this happen with GDPR. The idea was to strengthen privacy and weaken exploitative data collection that tech giants like Facebook and Google depend on for their business models. The result was that Facebook and Google actually gained or only slightly lost EU market share while all other adtech vendors got wrecked by the regulation, according to WhoTracksMe.”
Suspicious, no; convenient, yes; par for the course — also yes. What a surprise.
I took two weeks off work around Christmas. I spent the first touring Arizona, and the second at my parents’ farm in Ohio. After a 605lb deadlift PR in early December, I felt like a break from the gym. Plus, I did not workout for the three weeks I spent driving up the east coast in 2018. Gym access did not factor into this trip’s planning process either, and so over those fifteen days, I worked out three times. Today, I want to share some thoughts about fitness on the road.
I like most of Leo Babauta’s work, but this one disappointed me. He titled it The Honest Guide to Mindfulness, but a more apt title would have been The Honest Guide to Meditation — because he talked about nothing else. Meditation, though, is a practice some have used to become more mindful, not the goal itself, and by no means the epitome of mindfulness.
My favorite explanation of mindfulness came from an episode of Back to Work, in which Merlin Mann described it as the ability to watch cars go by without feeling the need to jump in. The patent absurdity of this analogy made the value of mindfulness value clear, when he explained that the cars symbolized our emotions: temporary, quick to change, and far too often dictated by people and situations over which we have no control. The goal of mindfulness — which, again, some have found through meditation — is not to do the impossible, to wrestle back from a chaotic world command over those cars, but rather to regain control of the one actor in that scenario you have any hope of influencing: yourself.
You will never control which cars come, when they go by, or who drives them, but you can — with practice — learn to control their ability to hijack your life. An honest guide to that, real mindfulness, may have done some good.
This is such a cool idea: Denis Shiryaev used Gigapixel AI’s neural network to upscale a classif video from 1896 into 4k; as Timothy Bee points out, a similar approach could then add color.
One of my long-term projects involves making the small part of the internet I use every day available offline. As I lean toward a more nomadic lifestyle, I may not always have ready access to the familiar shows I stream on Netflix, for example, or that one news article from a few weeks ago. A single hard drive could store everything I have ever watched, read, and listened to, though, and so I want to make that happen. This goes well with one of my other long-term projects, which involves curating evergreen digital media for posterity’s sake. Think of the former as every movie I have ever watched, and the latter as the classics I want to save for my kids. There are many subltle challenges to this, but none so obvious as the fact that even video from a few years ago looks bad on modern displays. Denis’s demonstration gives me hope that this may not always be the case.
I love stories like Adam’s. Too many people propose complex solutions to simple problems because they get excited about building something cool, and lose sight of their actual purpose: building a useful tool. I see this all the time at work. In this case, another developer used a Big Data approach for a Small Data problem, and Adam shows how a much simpler — but less cool(?) — one would have got it done much, much faster. Had this other developer understood the underlying technologies, and taken some time for premature optimization, he might have gotten there himself.
I talked about my road to weightlifting a few months ago, and then the price of trading strength for conditioning. Today I want to look at the other side of that coin. After regaining the ground I lost in February and March of last year, I want to talk about the challenges of trading conditioning for strength.
Nikita Prokopov, on the growing complexity of software and the shrinking number of people who understand it:
“In programming, we are developing abstractions at an alarming rate. When enough of those are stacked, it becomes impossible to figure out or control what’s going on down the stack. ... Docker and Electron are the most hyped new technologies of the last five years. Both are not about improving things, figuring out complexity or reducing it. Both are just compromised attempts to hide accumulated complexity from developers because it became impossible to deal with.”
I saw this in college, when even Computer Science students favored complex and bloated frameworks over their own code. I make a concerted effort to counter it in my own projects: First Crack, the custom blog engine behind this site, uses vanilla Python 2 or 3 and has no dependencies. If you decide to code, you don’t have to start with C — but you should learn it. I resisted this during college, but two years into my career, I have come around: the lower you go, the better you will understand things higher in the stack. With greater understanding comes an increased ability to influence those things, which, in turn, will make you better at your job.
“Frameworks often hide/abstract parts of HTTP away. I think this is often a bit of a shame: it hides what’s possible with HTTP, and so can lead to effects on engineering decisions.”
By learning to use frameworks instead of the tools and protocols they implement, developers not only miss out on foundational knowledge that will help them become better at their job, but also hamstring themselves to the subset of features the frameworks’ creators’ felt important enough to enable. Expanding a project beyond that expected use case will require diving into those low-level tools and protocol—-which, again, you do not have to start with, but you should learn at some point.
Janna Koretz, writing for Harvard Business Review, on an interesting phenomenon called enmeshment. Working in a profession known to encourage and reward workaholism, I see this often — and work to counter it where possible.
Andrew Zaleski digs into the factors contributing to the RV market’s notorious lack of quality. I thought a lot about getting an RV instead of my first house, but this pushed me away from buying an RV then and ensured that when I do decide to go that route, I will build it myself.
I spent enough time Internet-less this holiday season that I had a chance to catch up on a few administrative tasks. One of those involved updating Keeping Up with Current Events and My Evening Reads to reflect new sites, feeds, and newsletters I now follow, as well as those I no longer read. I work hard to educate myself and stay informed, and I encourage you to check those posts out as a great starting point to doing the same for yourself.