Feb 7 2010

Retweet January 2010

From time to time I just blast tweets about software development, project planning, team dynamics, or whatever else comes to mind. Here is a synopsis of recent tweets and rants. If you want to follow the conversation follow me at techknow and/or juixe and I’ll be sure to follow back.

Software Development

  • If your code works not because of your programming intentions but because of bug side effects and your client doesn’t care, it is not done.
  • I need a software development bug repellent.
  • Design fail if you fix a log message and you break some functionality.
  • If a carpenter’s rule of thumb is to “measure twice, cut once” then a programmer’s rule of thumb should be “design twice, code once, refactor a few times, and optimize only if you have to.”
  • Saying you know programming is like saying you know how to read, a first grader knows how to read!!
  • Requirements gathering is not creative writing.
  • I love requirements: The initial instruction should completely initialize the initial value.

Team Leadership

  • The only two requirements for a manager is that he is breathing and that he can communicate with his team in their language.
  • What happens to you is not other people’s fault, it is your opportunity.
  • There is nothing worse than a perfectionist that doesn’t know what he wants.
  • The worst thing you can so when you make a mistake is lie about it.
  • Every once in a while you have to recalculate, reshuffle, and/or remix your priorities.
  • Embrace the edge.

Product Placement

  • In Google We Trust.
  • Google claims their motto is to ‘do no evil’, put I suggest they change it to ‘do no customer support.’
  • If you use Google search to find Google Mail customer support and still can’t find it, is that a fail in their customer support or search?
  • There should be Freedom of Information Act for corporations. I want to know everything that Google knows about me and how that info is used
  • Can’t believe the AT&T website is not iPhone/mobile friendly.
  • Apple should develop a dual screen iPhone, iPhone GS3 DS.
  • I imagine a time when Zynga will have in-game ads for Monsanto genetic modified seeds on FarmVille or Foster Farm turkeys for Cafe World.
  • Facebook saves everything you create/post/save/click/delete, it can reverse engineer what you where thinking.
  • Doing four square drive-by check-ins.
  • Does Craigslist have an iPhone app?
  • Do you have multiple twitter personality disorder?

Quote

  • If we let things terrify us, life will not be worth living. – Seneca
  • If I could make the same amount of money but wake up until when I can’t hold in my pee any longer, I will be a success. – Phil Kaplan
  • The answer to the question “where do good ideas come from” is always the same, the come from bad ideas. – Seth Godin
  • Only the mediocre are always at their best. – Jean Giraudoux
  • From pitch perspective, the more you wear your idea, the more it fits you… – Brad Feld
  • Nothing fails like success. – Arnold Toynbee
  • I totally question the conventional wisdom of the American dream. – Anil Dash
  • If we wait for the moment when everything, absolutely everything, is ready, we shall never begin. – Iva Turgenev

Feb 6 2010

Retweet December 2009

From time to time I just blast tweets about software development, project planning, team dynamics, or whatever else comes to mind. Here is a synopsis of recent tweets and rants. If you want to follow the conversation follow me at techknow and/or juixe and I’ll be sure to follow back.

Software Development

  • Are we that good that some features work because of an unintentional side effect of a bug?
  • I’ve heard of cloud computing, even ground computing, but I can’t wait until I can do intergalactic-interdimensional computing.
  • Maintenance is a real full time job and it should be planned, scheduled, and budgeted accordingly.
  • Maintainability is a feature.
  • Team meetings should not feel like AA meetings.
  • The debugger don’t lie, but the test might.
  • Old legacy systems don’t die, they just complicate your architecture.
  • Mashup data with dreams, feeds, and feelings…

Team Leadership

  • Guilt is not the optimal way to inspire people to do what is right.
  • Knowledge is like an fractal iceberg, and what you know is the tip of a snowflake in the tip of an iceberg in an ice planet.
  • Usually there is only one way to win at a given time, but many ways to lose most of the time.
  • When people don’t listen to the truth they are lying to themselves.
  • Not all great ideas make for a good business.
  • Thinking Asymmetrically!

Product Placement

  • Should I get a Droid or wait for the new Google phone?
  • Does Zuckerborg eat his own dog food when it comes to privacy, his real profile is not public, just his fan page in which he doesn’t post much.
  • The only way Zuckerborg would appreciate privacy is if TMZ deployed their paparazzi on him.
  • @zynga I would love to give points/credits as a gift in non-spammy and non-recurring way without signing up to services I don’t need.
  • @zynga can I buy Cafe World gift card?
  • I just got a subscription of Mobile Me. I like how I can track, lock down, and erase the data of my iPhone from the web.
  • Got crack? There’s an app for that!
  • Twitter should increase to 256 characters…
  • Money don’t grow on trees, but with these prices for xmas trees you would think it does.

Quote

  • What came first, chicken nuggets or the egg mcmuffin? – Little Jackie
  • If I ask no questions I hear no lies. – Little Jackie.
  • The Three Es of Good Work: Excellent, Engaging, and Ethical. – Howard Gardner
  • The United States has been dominated by the three Ms: Money, Markets, and Me. – Howard Gardner
  • If you can’t cover it up, turn it up. – Adam Curry/NA-152 #noagenda
  • We have privatized our foreign policy – Philip Brenner
  • The more complex an economy is, the more fragile it is, and the more cataclysmic its disintegration can be. – Bryan Ward-Perkins

Nov 25 2009

Quotable DHH 2009

David Heinemeier Hansson, commonly referred as DHH, is a polarizing programmer with a self professed fucking potty-mouth. He is opinionated and uncensored. He is a world renowned hater, he hates big enterprise software, large startup valuations, and apple pie. The web development framework he fashioned after himself is as opinionated and know-it-all as he is. From Wikipedia…

Hansson is known for the crude and brutal way he expresses his opinions; both online and in real life. One of the main criticisms of Hansson has been about his and his company’s arrogance. Hansson, however considers these criticism unfounded and in fact he openly acknowledges and embraces the arrogant claim made for him.

Over the last year I have collected a few choice quotes from DHH’s keynotes, blog posts, and twitter updates covering a range of topics such as programming, enterprise sotware, and company valuations.

Constraints drive innovation and getting your idea out in the wild in two months instead of six will likely do you a world of good. A month or two out the gates, you’ll have a pretty good idea of whether you “got something” or not.
Entrepreneurs, Angels, and the cost of launch

The best frameworks are in my opinion extracted, not envisioned. And the best way to extract is first to actually do.
Why there’s no Rails Inc

Lines of code by itself doesn’t really mean that much to me. What you’re able to express in those lines mean a lot, though. So if you’re able to write the same piece of functionality in 10 lines instead of 100 lines you’ve made huge strides in simplicity. That’s part of the argument for why Ruby is a more pleasant language to work with than say Java or C#.
Talking Rails 2.0 with David Heinemeier Hansson

This is a snowflake… Your application is not one of them. For most of the time, for most of the people what they do is not unique. You are not special
Quote from DHH on ROR

In the beginning, there was no Rails, there was only Basecamp. After working on Basecamp for a while, though, I eyed the option of giving all the generic pieces a life of their own. But even then, I continued to work on Basecamp first. Which meant that all the functionality of Rails came as extractions of a real application, not of a “what somebody might need some day” fantasy, so prevalent in framework design.
Ask 37signals: The genesis and benefits of Rails

I’m certainly of no illusions that Rails is perfect nor that Ruby is a speed daemon.
Twitter trouble

When you work with open source and you discover new requirements not met by the software, it’s your shining opportunity to give something back. Rather than just sit around idle waiting for some vendor to fix your problems, you get the unique chance of being a steward of your own destiny. To become a participant in the community rather than a mere spectator.
Twitter trouble

Scaling is the act of removing bottlenecks. When you remove one bottleneck (like application code execution), you tend to reveal another (like database queries). That’s natural and means you’re making progress.
Twitter trouble

Requiring X years of experience on platform Y in your job posting is, well, ignorant. As long as applicants have 6 months to a year of experience, consider it a moot point for comparison. Focus on other things instead that’ll make much more of a difference.
Years of Irrelevance

One of the easiest ways to shoot down good ideas, interesting policies, or worthwhile experiments is by injecting the assumption that whatever you’re doing needs to last forever and ever.
Optimize for Now

PHP scales down like no other package for the web and it deserves more credit for tackling that scope.
The Immediacy of PHP

Bitching is such a succinct form of expression. It doesn’t require or usually entail deep analysis. It’s the easiest way to write something “interesting”.
Bitching is the killer app for Twitter

All odds are not created equal.
Startup School 2008

Often the simplest idea in the world, like treating your customers nicely, while still asking for money for what you do, can work. And you can build great businesses like that.
Startup School 2008

Forgoing sleep is like borrowing from a loan shark. Sure you get that extra hours right now to cover for your overly-optimistic estimation, but at what price? The shark will be back and if you can’t pay, he’ll break your creativity, morale, and good-mannered nature as virtue twigs.
Sleep deprivation is not a badge of honor

What separates programmers who are 10x more effective than the norm is not that they write 10x as many lines of code. It’s that they use their creativity to solve the problem with 1/10th of the effort. The creativity to come up with those 1/10th solutions drops drastically when I’m tired.
Sleep deprivation is not a badge of honor

Software development is rarely a sprint, it’s a marathon. It’s multiple marathons, actually. So trying to extract 110% performance from today when it means having only 70% performance available tomorrow is a bad deal. You end up with just 77% of your available peak. What a bad trade.
Sleep deprivation is not a badge of honor

I’ve always been a jealous person. I’ve always wanted things that others had. Skills they possessed. Authority they held. Success they enjoyed. But instead of feeling sorry for myself and growing spiteful of others, I found it to be the best motivation to imitate, adopt, and strive for the same rewards.
Productive Jealousy

Don’t let growth be your primary yardstick of success.
Finding the natural size for your company

How about you turn your perceived weakenesses into strengths. Embrace your constraints, work with limited budget of your own money and write less software.
It doesn’t have to be all or nothing with a startup

Average environments begets average work.
Average environments begets average work

No one can be a rock star without a great scene.
Average environments begets average work

So if you want your team to excel, quit thinking about how you can land a room full of rock stars and ninjas. Start thinking about the room instead!
Average environments begets average work

Do you value effort over effect?
Average environments begets average work

Humans are incredibly eager to live down to low expectations.
Average environments begets average work

Are you finding the root causes for your daily grind or does the wheels just keep spinning on the same issues?
Are you finding the root cause?

Aesthetics is a feature in itself.
There’s no shame in looking good

There’s absolutely no pleasing everyone. You can’t and shouldn’t try to make everyone love you. The best you can do is make sure that they’re hating you for the right reasons.
Work on what you use and share the rest

My core philosophy about open source is that we should all be working on the things that we personally use and care about. Working for other people is just too hard and the quality of the work will reflect that. But if we all work on the things we care about and then share those solutions between us, the world gets richer much faster.
Work on what you use and share the rest

I think the days of the traditional San Francisco startup approach are numbered. It’ll be flushed down the drain along with CDO’s and zero-down mortgages.
How did the web lose faith in charging for stuff?

Of all the terms I hate with a passion, “professional” would probably rank above “enterprise” and just below “potty mouth”.
@dhh

Speaking of presentations. I’d much rather we banished kung-fu kittens and went with beautiful women for the filler stock art. Works in ads!
@dhh

You’re bound to upset, offend, or annoy people when you’re not adding heavy layers of social sugarcoating.
I’m an R rated individual

Nothing is sacred in Rails, everything is up for debate.
Rails 3 and the Real Secret to High Productivity

When an advertiser is claiming something to be an “all-new” car/soap/computer/camera it usually means exactly the opposite. It actually hardly even means new, at best it’s most commonly just “marginally-new” or “just-a-few-tweaks-new”.
There’s nothing new about all-new

Focusing on just the newness of something is usually a pretty weak selling point.
There’s nothing new about all-new

Ideas on their own are just not that important. It’s incredibly rare that someone comes up with an idea so unique, so protectable that the success story writes itself. Most ideas are nothing without execution.
I had that idea years ago!

Just because you thought of a site to share photos with friends wouldn’t have made you Flickr.
I had that idea years ago!

Why does the idea of work have to be so bad that you want to sacrifice year’s worth of prime living to get away from it forever? The answer is that it doesn’t. Finding something you to love to work on seems to be a much more fruitful pursuit than trying to get away from the notion of work altogether.
Early retirement is a false idol

If you come to the realization that work in itself isn’t evil, you can stop living your life as a waterfall-planned software project too. No need to divide your timeline on earth into the false dichotomies of Sucky Work Era and Blissful Retirement Era.
Early retirement is a false idol

There’s nothing like the look of beautiful Ruby code in the morning. Gracefully colored by TextMate and rendered in Bitstream Vera pt 12.
@dhh