So long tech Xitter! You will not be sorely missed. As Kelsey Hightower recently asserted:
Twitter became overrun with hate, and while I believe in free speech, I’m not looking to attend a Klan rally.
Before I log off for good, I wanted to archive a few of my Xitter “greatest hits” - posts that I think were particularly fun, informative, or deserved to see the light of day.
I bought my first “real” office chair from a startup repoman out of Boulder Colorado in 2021. I’d been working remote during the pandemic and this guy had an insane number of chairs, desks, and office supplies. An entire Ikea warehouse full of the stuff. He showed me chair after chair, each with their own slight defect, each with their own story: “This one came from a failed real estate startup! This one came from that GitHub office in Boulder that closed!”
Despite all their history, all the furniture was essentially in pristine condition. I imagined that the Boulder startup scene had been shuddered by the pandemic and I was now walking the graveyard of those companies. Who were the people from a failed crypto startup that sat in this chair? What decisions were made while at this desk that forced their game company to close? Those are the kinds of questions that you end up pondering as you walk the warehouses of companies past.
I got a really nice Aeron for about 200$. One of the wheels was abit messed up but I easily replaced it with some rubbery roller skate like wheels I got online specially made for Aerons.
This was my first and last super viral post on Twitter. I have no idea why.
I don’t think buying used furniture is really a new or nuanced idea. People have been using Craigslist for years. But the idea of not buying an office chair new really blew tech-bros away: they couldn’t believe the kinds of deals I (and others) where talking about on premium, used Herman Miller furniture.
Lesson learned: always shop around before making a massive purchase for office supplies! The used market is very alive and well.
Truthfully, I’m still torn about going all in on extreme programming practices and my time exclusively pair programming at Pivotal.
It was an amazing way for me to quickly accelerate my learning and absorb a near limitless number of skills from the people I was pairing with day to day. And it’s undeniable how great the social aspect of it is. These days, typically, I’ll talk to very few people throughout my day when programming: lots of focus time, but definitely not as “fun” as constant dedicated pair programming was: you always had someone to talk through problems, someone to take a coffee break with, and a ping pong buddy.
On the flip side, with 100% extreme programming practices, it can be very difficult to ship big platforms, huge features, and accomplish mass refactors when everything is essentially driven through “consensus by committee”. When everyone is pairing with everyone else all the time, who makes the big, high level, impactful technical decisions? It’s essentially a lowest common denominator problem where all programmers and technical decisions become the sum “average” of all the people involved, often being reduced down to the skill level of the lowest common denominator of the engineers involved.
Some would argue this is a good thing: driving decisions through pair programming and shared consensus keeps wild, pie in the sky, unsustainable ideas from seeing the light of day. A favorite proverb Pivotal people would use in this regard is: “if you want to go fast, go alone; if you want to go far, go together”.
But unfortunately, there were huge technical decisions, especially those around this new technology, a Cloud Foundry competitor, called Kubernetes, that needed to be made and executed against.
We tried incorporating tech lead and architect roles into the pairing rotation, but it seemed no one ever wanted to do those jobs since you were still expected to pair day to day, partaking in the culture of extreme programming, while also taking on the burden of architecting the systems and engineering orgs at a high level.
Maybe my criticism of extreme programming practices and pair programming is not that it’s a bad thing to do, but rather, it’s a bad thing to be dogmatic about and prescribe to an entire engineering org. Doing it day in and day out is alot of fun. But you still need to ship products and make big decisions. Maybe constant pairing and 100% extreme programming practices is ultimately too extreme.
$ touch grass
$ ls -la grass
-rw-r--r--@ 1 jpmcb staff 0 Nov 16 07:41 grass
This wasn’t even a joke.
It seemed the more I tweeted about the rust programming language, the more unfollows I saw. Granted, this was over 2 years ago when there was quite abit of rust drama going on and a fair amount of rust rage baiting (“11 reasons rust actually sucks?!?”).
Terminal multiplexers are an incredibly powerful technology. One that I believe everyone should be slightly familiar with. Everything from remote session management, to simple tiling, to incredibly advanced use cases like scripting and setting up session.
Long live Tmux!
So long Xitter!