"What I notice is that my peers are progressing to more and more complicated and convoluted designs. They are impressed with the flashiest APIs, the biggest buzzwords, and the most intricate of useless features. They are more than happy to write endless unit tests to test their endless refactoring all the while claiming that they follow XP’s “the simplest thing that works” mantra. I’ve actually seen a guy take a single class that did nothing more than encapsulate the addition of two strings, and somehow “refactor” it to be four classes and two interfaces. How is this improving things? How can more somehow equal simpler? This should never be the case. These are the actions of an expert. These experts are very smart, capable, and skilled, but they are too busy impressing everyone to realize that their actions are only making things worse for themselves. In the end all of their impressive designs are doing nothing but making more work for themselves and everyone around them. It’s as if...
more...
- Paul Buchheit
from Bookmarklet
This applies to experts in any field.
- WorldofHiglet
It takes smart people to make complicated things simple.
- imabonehead
Is it possible he's talking about Java programmers?
- Gabe
i really liked this post (it resonated with me) until the end, at which point i felt alienated.
- Neha Narula
What alienated you, Neha? To me, it seemed valid enough but a bit overwrought and trite. I know plenty of experienced, skilled working programmers who value just-get-it-done simplicity -- the "professional master" doesn't seem that elusive.
- ⓞnor
from Android
I'm a big fan of keeping it simple, but some problems do require a thorough approach.
- Andrew C
"In contrast there are masters in the martial arts who learned their art as a means of survival and became masters in a realistic and hostile environment. We don't have anyone like this in the programming profession, " ... what about Carmack and Abrash & co?
- Andrew C
BTW, I dunno if this is what put Neha off, but it almost sounds like Shaw wants to deny the reality of a nice O(n log n) solution beating out an O(n^2) solution (assuming small k, whatever) on a problem of decent size.
- Andrew C
I mean, the stories of the martial arts masters may involve simple-looking moves, but they are also (in the stories) _perfectly_ executed, the product of careful observation of one's opponent and expert timing and precise angles. You might be able to pare down a simple linked list to the bare essentials, but I don't think it's quite analogous to not using a more complex structure _where appropriate_.
- Andrew C
Nice... "The main thing I noticed about the experts I’ve encountered is they are into impressing you with their abilities. They are usually incredibly good, but their need for recognition gets in the way of mastery. Everything they do is an attempt to prove themselves and in order to do this they must perform like an actor on stage. There’s nothing wrong with this, and I don’t think the...
more...
- Ken Sheppardson
Andrew: Maybe the point was that an Expert would say "Aha! You need to keep these items in order, so a self-balancing tree is the perfect solution.", while a Master would say "Ah, but you never have more than 5 items, so a linked-list will always be faster!"
- Gabe
this part, so much guy/son stuff! i dislike superfluous interfaces as much as anybody else: “There was this guy I worked with who once optimized a complicated red- black tree getting 300% performance boost. I was baffled and ask, 'How’d you do that? That’s impossible.’ To which he responded…” “'That’s my linked list my son.’”
- Neha Narula
This is the kind of crap that gives java such a bad image. It used to be that people used it for what it was -- a simple OO language with garbage collection and a fast VM. Now you have architecture astronauts going off the deep end and making everyone assume the language has to be that way. I believe this disease stems from people who focus more on the process than on the product of their work. That's a recipe for disaster in my book.
- Joel Webber
from BuddyFeed
Neha: So lt's the fact that the language is male?
- ⓞnor
from Android
The impulse is good, but people have such different senses of what is simple, what has quality, what flows with the Tao. It's like beauty that way. What the story doesn't say is the 300% performance boost was on a limited test data set, in the real world it performed 3x worse and all the complexity had a reason that made sense once you "know." :-)
- Todd Hoff
Complexity that's "there for a reason" is the worst kind. But who even talks about red-black trees vs linked lists? TreeMap vs LinkedList isn't the issue, interface swaddling and hyperfine dependency injection is the issue. Thing is, fights are decisively won, but code maintainability is much harder to measure, and even the importance of performance can be disputed.
- ⓞnor
from Android
I find it funny how the article, while praising simple approach, suffers from superfluity of language.
- andrei_c
Neha, I thought the final "That's my linked list my son" was to make clear the parallel with the earlier quote "That was my foot my son" from Mestre Bimba.
- Ruchira S. Datta
Todd: Imagine the situation where you are storing data for the US Census, and need to keep track of the people in a household by age. Since it's sorted and unbounded (there's no maximum number of children a family can have), you can easily think that a nice O(n lg n) algorithm that keeps a balanced binary tree is the right way to go. However, if you bother to look at the data, you'd see...
more...
- Gabe
I wish I could "Like" this article again :)
- scott willeke
might have created a "MEGA-liked" button:)
- alex melnikov
It's a great analogy, but in reality, the martial arts stuff is mythology. Wing Chun proponents often talk about simplicity of the art, but they'd get their butts kicked in a sloppy street fight because invariably, most real world fights are messy, quickly go to the ground, and result in grappling and choking and eye gouging. Bullshido has lots of examples of this. The 80 year old guy...
more...
- Ray Cromwell
"Airlock allows your Mac to lock itself, plain and simple. Using your iPhone or iPod Touch, Bluetooth, and a smidgen of pixie dust, Airlock determines whether you're near your computer. When you leave the room - poof! - your Mac locks itself. “And when I come back?” You guessed it: your Mac unlocks. You can also customize Airlock to perform specific actions as you come and go - have your computer talk to you, log-in or out of iChat, walk the dog, and such."
- Christopher Harley
from Bookmarklet
Salling Clicker allows for control of applications through the user's smart device. Airlock simply locks down your computer and initiates preset commands when your iPhone moves out of range. I know that anytime I'm away from my Mac with my iPhone, I'm gone for at least 20 minutes. There's various tasks that could be initiated and completed in that time. I like the idea.
- Christopher Harley
"The first thing I searched for in Google, back in 1999, was probably "linux", followed by my name. The last thing I searched for in Google, on a snowy day in 2009, was "vdash". With the decade over, and Google rolling out all manner of tracking cookies and javascript, it's time to move on. Just keeping on top of the torrent of privacy-affecting changes Google is making, and trying to parse the real meaning in the chirpy googlespeak announcements has become more work than the value their search engine adds. (This <http://googleblog.blogspot.com/2009...> was the last straw.)"
- Itachi
from Bookmarklet
"At least for now, I'll be using Duck Duck Go for search. It's small, quirky, has features the big competition lacks, and works well enough for my mostly moderate and occasionally intense needs. Sorta like Google in 1999."
- Itachi
The problem with cookie-based opt-outs is that people who tend to opt out also tend to delete cookies. Plus, they only work in one browser on one computer. They're also not a good mechanism for a shared computer.
- LogEx
This is clearly not my cat. If this was my cat he's have one arm shoved down into the printer trying to tear up all the internal whirling bits with his bare claws.
- Soup
Too Funny! Reminds me of the San Mateo Cat Shelter where one of the cats loves to sleep on top of the laster printer where the paper comes out...
- Greg Lato
1600+ to beat the FFundercats live chat thread. I think with this real time now on all threads we're going to see some truly epic comment numbers.
- Simon Wicks
Ivan, no the picture speaks for itself. ;-)
- Kol Tregaskes
Petr, I have no idea what you mean, but thank you. :-)
- Kol Tregaskes
@Kol .. :] that, partially, might have been the purpose.... I don't know it exactly either. :] .. was I reflecting on a cat under the fax, and that it is hard to fax that way ... /?:] ... "underfaxing at its worst" ..
- Petr Buben
there ya have me ! :] .... see, to be honest with you, i saw this pic couple days ago, but i let it go, without posting it ..... what does that make me? :]
- Petr Buben
even a flat cat... faxes just can't handle the hair. You'd have to shave the cat first, else the hair will burn and stick to the drum... a mess! (I am extrapolating from transparencies, mind, i don't have access to a cat to test)
- Joelle Nebbe (iphigenie)
Hehe, Joelle. This is now tied for the 'likes' top stop. One more then, hehe. :-)
- Kol Tregaskes
Hehe, Greg. Blimey! Erm, is that not far from 500 likes now? ;-)
- Kol Tregaskes
Bloody marvelous, Kol. Wish I could like it again... too cute (and help u to 500 likes).
- Roberto Bonini
I couldn't believe it when I logged on from the morning over posting it and saw it was at something 200 likes! You all have a strange fetish with cats and fax machines, hehe. ;-)
- Kol Tregaskes
Am I the only one who saw this and their first thought was - My goodness did someone break that cats neck? It still freaks me out a little
- Steve C
Steve, it does look a little out of place, but cats are pretty bendy. ;-)
- Kol Tregaskes
They fax much better if you flatten them first. What?
- Kevin Pedraja
So we can put this post to rest now. :-) 505 likes final count, wow! :-D Good night all!
- Kol Tregaskes
My like is the last one so far :) - 509 afaik
- getalifejerk
did 3 people really un-like this? now at 506. wtf (edit: uh, oh, yeah, me and 2 + 506 others makes 509. dammit, jim, i'm an artist, not a mathematician)
- ɐ ɯıʞ sıɹɥɔ
One of the best funny cat pictures I've seen! :-)
- John Collis
Kristian, it appears to be. Hehe, John.
- Kol Tregaskes
ای بابا این پیشول بی خیال نمی شود، بابا پاشو برو دنبال یه بازی دیگه ، از هفته پیش تا حالا تو فکس ولو شدی حوصله ات سر نرفته، پاشو اقلا بپر رو کیبوردی چیزی
- Maryaminaa
It's really only social convention which regards it as inappropriate, same with Xeroxing it, like one does with their b__tocks. Wait are we still talking about cats cats here or...
- sofarsoShawn
OMGosh 700+ likes now!! LOL. Thank you all 702 of you. :-)
- Kol Tregaskes
After the third screening, I'm confident saying that Sandler's "Click" is one of the more profound movies of recent years, just like "Bedtime Stories". "Click" explores the question, "are we defined by our moments of lucidity, or by what happens in between?"
"SimpleGeo is akin to an ‘Amazon Web Services’ for location: developers looking to integrate location based services (LBS) can plug into some simple APIs and SimpleGeo will do most of the legwork for them."
- Alan Cheslow
from Bookmarklet
Really Ballmer, when did they ask you about OS market share. They're asking you about the iPhone and Android Mobile OS numb nuts.
- Gerard Lagana
from Bookmarklet