ALS, droughts and running the numbers

Posted on

The fad of the ALS bucket challenge has quickly given way to new thing: fining Californians who take the ALS bucket challenge. California’s in a drought. But that’s not really new. California has been in a drought since inception. Cadillac Desert and, of course, Chinatown cover the topic. The state has very few watersheds near where people live. So what’s up? How big of a deal is this drought? Should we fine people for washing their cars, hosing down their sidewalk, or, you know, taking this 5 gallon bucket challenge?…

Read more »

Remembering what "Technical Debt" should actually mean

“Technical Debt” is a common term thrown around in software development these days. And I think it’s almost always being misused. Everything that needs to be changed in the code gets referred to as “technical debt”. To determine the original meaning, let’s go back to the originator of the term, Ward Cunningham, and read his wiki on it. Note what he says there: During the planning or execution of a software project, decisions are made to defer necessary work.…

Read more »

SOA vs. user experience

This weekend, I pulled out wireshark on the new Sims 4 Create-A-Sim Demo. I was super impressed at how damn fast the community Sims were coming through and had to go behind the scenes. You can scroll this infinite list as fast as you can, and descriptions are there immediately, with the JPEGs fill in async. It’s insanely fast. Wireshark reveals a TCP data connection (not HTTP) is kept open to the EA servers and then the JPEGs are filled in from Akamai over HTTP.…

Read more »

Immutable data performance

Posted on

“Immutable” is a recent discussion point around the water cooler, and it’s not my imagination when I say “recent”: I think this comes from the functional programming rage – especially in Haskell – where, since all of your data is immutable, every function is composable and concatenatable since there are no side effects. Neat. It reminds me how people did this years and years ago to make image manipulation much faster with tools like Shake.…

Read more »

Why should people get paged at night *ever*?

Posted on

Someone over at Etsy posted a nice “Sleep Driven Development” article and it brought to mind my personal jihad against pager alerts. There are a handful of major, well-known tech employers that adhere to “DevOps” or “NoOps” practices and have all engineers on pagers. If you ask exiting engineers at these certain companies what they don’t like about working there, it is very often mentioned that being on-call is one of them.…

Read more »

"Premature optimization" doesn't mean what you think it means

Posted on

Junior developers often seem want to discuss “premature optimization” with me when I bring up things such as scalability and performance. For those not familiar, here’s the entire context of Knuth’s quote. He was talking about gotos! People were using goto statements to improve efficiency and he felt that it was possible to get nearly same efficiency without using them too early when coding. This is entirely different than what Hacker News, Reddit et al.…

Read more »

On Scaling Code and Static Typing

Posted on

Seemingly legit question on proggit just now: “Out of curiosity, is static typing really that large an advantage? Yeah, I get that run-time errors could be worse than compile-time, but isn’t that something that oughtn’t to get past testing?” The answer is yes, static typing is a huge advantage. When you start out in software development by writing hobby projects, hobby websites, or code for school, the code bases are not very large.…

Read more »

Don't be afraid of code

Posted on

Two scenarios of fear to discuss today. #1. The Legacy App.It was designed 10 years ago. It grew organically. No one wants to touch it out of fear. The code languishes as everyone searches for a way to work around the beast. Things don’t get fixed. Silver bullet syndrome takes over. People would rather leave the company than fix it. #2. The Low Level Solution.Things are slow. The most direct solution would be to just write a little C or C++.…

Read more »

Why Node is the Future of the Web Tier

Posted on

Everyone I know hates Javascript. Including people who do it professionally. I hate Javascript. I long for the day where it’s been completely destroyed in favor of something else, I don’t even care what. Typescript and Dart both look really promising, though I question whether either will ultimately make a dent in the dominance of Javascript. Node is a gigantic hack. A browser Javascript engine pulled into the server layer? Single threaded?…

Read more »

Learn to math, not to code

Posted on

The “learn to code” meme has gotten so strong that even our President was weighing in on it late last year: I love his message, I do. I think kids should be learning to program games. I love what code.org is doing and the idea of the “hour of code”. We absolutely need more programming classes in K-12. But the resources  made available are almost like a trade school for "…

Read more »