background preloader

Random

Facebook Twitter

Algorithmic panic - A++ [Eric Torreborre's Blog] Last week I read a blog post about an interview for Google and I thought: "Oh my god, I don't know how to do that, I'm lost, I have no idea, I will never find the solution". Flashback Two weeks ago, I've ordered and started reading the excellent book, "The Algorithm Design Manual". That book is very good. Teaching algorithms and data structures can be something very dry when you consider it from a very scholar perspective. But it becomes really fun and challenging when you realize that: it solves real worthy problemsno amount of processing power can be overcome a clever algorithm when there is onethere's often no "right" solution but a combination of different approaches with different trade-offsSo the book is filled with "war stories" showing the author investigating some problems, trying to ask relevant questions until there's a "ah-ah" moment where the problem is sufficiently characterized.

Then the solution is refined to get a completely satisfying result. Decode this! Creatures from Primordial Silicon. CREATURES FROM PRIMORDIAL SILICON ----- Begin NetScrap(TM) ----- CREATURES FROM PRIMORDIAL SILICON Let Darwinism loose in an electronics lab and just watch what it creates. A lean, mean machine that nobody understands. Clive Davidson reports "GO! " barks the researcher into the microphone. The oscilloscope in front of him displays a steady green line across the top of its screen. "Stop! " Raganwald's web log. Criminal Overengineering « yield thought. As programmers we’re continually accused of doing a sloppy job. There are countless programs in the wild, crashing, locking up and accidentally writing “I am a fish” a million times over someone’s mid-term essay. The effect? Something like this: This damn computer and excel r fuckin my life up! Hatin life right now– MissAlauren (and everyone else at one time or another) It’s experiences like this that cause people to rant about Microsoft and curse the anonymous programmers who suddenly (yet inevitably) betrayed them.

We all know this; it’s burned into our very souls by countless hours of tech support provided to family and friends. If we stopped at competent error handling and sufficient testing, all would be well. A vast proportion of software at work today is horribly over-engineered for its task. You’re Doing It Wrong Have you ever seen someone using the strategy pattern when they should’ve used a 5 line switch statement?

Except, this doesn’t make us good programmers. Like this: