Entrepreneurial Proverbs

Came across this post (and this one as well)the other day and it struck a bit of a chord with me.

Here’s my favourites from each of the sections (Starting, The Idea, People, Product, and Money)

*Starting *– I’m a pretty big fan of Momentum builds on itself. I’ve been with a start-up for the past few years now and have seen it grow from 2 people to 52 people. We’ve done the VC and I’d attribute most of the company’s success to our ability to build momentum. There wasn’t an established market 3 years ago, we built iterative with some people loving what we did, and some hating it. Above all else we built on our successes and tried to avoid making the same mistakes. Sales builds momentum, development builds momentum and marketing builds momentum. Without an ability to build momentum, where are you? I also hate to lose, but that’s another story.

*The Idea – *Having been through a bit of this, I’d have to agree most with Give people what they need, not what they say they need. When we were starting out, it wasn’t possible to give customers what they said they wanted. Hell, even today it’s not possible and it never will be. You’re only going to be successful if you have some understanding of the business/industry and are able to build a roadmap that doesn’t change every day and is able to best satisfy a significant percentage of customer demands, but not all of them.

PeopleThree is fine; two, divine** **is a funny one. We started out with three founders, narrowed to two, and now only have one still with the organization. That being said, it’s not my favourite one from the list. People are the most important asset a company can have, and for me personally I want to work with people I like and share a common commitment to excellence. I guess *Work only with people you like and believe in *is the closest item to that but they’re all quite good.

I’ll follow-up this topic up on a subsequent post, but I suggest reading the entire list yourself. O’Reilly did a good job.

JavaOne – Keynote Impressions

Just got out of the keynote session….

All in all, not too impressed. It basically consisted of a number of sun dignataries introducing their corporate friends and newfound Netbeans adopters.

Very little talk on the whole open sourcing of Java issue, with a luke-warm committal to figure out the ‘how’ in open sourcing the platform.

Mark Shuttleworth got on stage and talking briefly about Ubuntu and gave a pledge to get Linux working on Sun’s new Niagra platform. Marc Fluery was up mentioning that JBoss has officially adopted Netbeans. The CEO of Motorola started off the session with a plea for increased developer support for the mobile platform.

The session ended with a bit of a coding demonstration of how easy it is to develop something using the recently ratified JavaEE 5 spec. Not all that impressive, we’ve been able to do the same stuff for the better part of the last year using Hibernate/Spring annotations, etc.

All in all, an absolutely massive conference. The keynote hall is a sight to see. Free wireless is always good tho.

If you’re interested in what Romain Guy has been up to, see Aerith.

JavaOne – Day One Impressions

So, JavaOne 2006 officially kicked off today.

I attended the following first day sessions:

Desktop Java™ Technology Today: Deep Dive

Essential Lessons of Distributed Caching

What Is Happening With SOA in Open Source?

Service Component Architecture: Approach to Security, Transactions, and Policy

Java™ EE 5 Platform: Even Easier With Tools

The first two sessions were quite good, the last couple were not so good. It’s important to not only take the topic into consideration, but also the speakers and their respective employers. I found some of the presentations to be a little to close to spec reviews. Although I am looking forward to some of the BoF’s that are scheduled for tonight and we got an invitation to the JBoss party on Wednesday night.
Cameron Purdy presented on the do’s and don’ts of distributed caching, mentioning Coherence only once. The talk consisted of a series of lesson’s regarding how best to partition your distributed cache (and under what circumstances), the driving motivations for caching, the drawbacks of one strategy versus another, and some of the potential pitfalls you’ll most likely run into. One of the lessons actually struck home (caching of the hashCode() method). We recently made optimizations in that area and it’s amazing the number of times your hashCode() and equals() get invoked over the course of normal program execution (let alone stress testing).

The first session of the day was actually an overview/deep-dive on some of the new Java 6.0 aka. Mustang changes. There’s been numerous updates and improvements to the core AWT/Swing hierarchies. The SwingWorker has been brought up to date with annotations and requested functionalities. Vast performance improvements have been made to the OpenGL rendering pipeline as well as general L&F improvements to WebStart security dialogs (!!). There’s been an emphasis on professionalizing desktop java. The Java 6.0 renderings will be back-ported to Java 5.0 (platform-specific component painting using native calls) so that both Windows and GTK+ platforms will have pixel-perfect native component renderings.

There were also substantial performance improvements made to the ImageIO framework on the order of 100-200%. Some of the JDIC components have also been folded into the JDK (TrayIcon, SplashScreen and the Desktop classes). Although it was unfortunate to hear that the support hasn’t really expanded past Windows & Gnome. I’ve had to work around numerous problems with Desktop.open() on the Mac and I guess those hacks (?) will have to persist.

Time for dinner and than a couple of BoF sessions.