It’s easy to imagine big, impressive server hardware as faster than a machine you might take to a cafe.
The truth is, server hardware is different, not necessarily faster.
The mechanical sympathy community has long advocated developers use server hardware as daily drivers.
I used to worry that taking their advice meant losing a lot of the desktop niceties I was used to.
Like, you know, sound cards.
Finally taking their advice, I swapped to a multi-socket Xeon ThinkStation this year.
I kept my laptop for mobile use.
Lets talk about how the ThinkPad differs from the ThinkStation.
If you’re stuck working from home for a few weeks due to coronavirus, welcome to remote work life!
Here are some things that I’ve seen make remote life successful.
Your Makefiles are full of tabs and errors.
An opinionated approach to writing (GNU) Makefiles that I learned from Ben may still be able to salvage them.
If you are familiar with stack machines, it turns out that you also understand the broad strokes of how most US legislative bodies operate.
Seeing the commonality will instill in you the sense of awe that only reading execution traces from an operational quarter millennia old computer can.
A friend of mine, I won’t share his name for privacy reasons(1), told me he had an interesting realization one day.
Thinking back to the projects he’d done for big banks before his current job, each and every one of his software algorithms had
eventually ended up in The Guardian under a headline like “Giant Bank Inc. indicted for massive automated customer fraud system, AGAIN!".
(Spoiler: trusting your contributors works)
Some years ago, I polished up and released an abandoned project for storing financial data in Django.
It let you declare “Money” fields on your models, dealing with proper storage and currencies for you.
My use case for the library,
django-money eventually faded, but it ended up teaching me a useful lesson in trust and OSS abandonware.
Transactions are not very hip anymore - so unhip, in fact, that people started building databases without them.
Alas, as people who decided to try those databases found out, transactions remain a fundamental aspect of applications that don’t break horrifically.
Except, it turns out that even if you have transactions, it’s surprisingly easy to shoot yourself in the foot.
We like to blame the worlds governments, or the ominous Them, for the current mass surveillance society we live in. It’s an easy way out - but pull the curtain aside and you and I both know there is a programmer sitting behind it.
We, the profession of software engineering, built the Orwellian future we now inhabit, and it is high time for a retrospective.
On march third, a young man named Brian Flanagan was refused entry into Ireland. The border police officer he happened to have been paired up with believed the occupation Brian cited as his reason for entry, “user experience designer”, was made up.
Markets are an incredible way to organize and share the spoils of labor, but in many aspects they are based on assumptions that no longer hold true. A dive into how the open source economy radically changes how we trade.