Aug
7
Look forward to seeing the results.
Jul
30
100 Pushups
Filed Under Fitness | Leave a Comment
We all need goals right? And why not a goal that gets me off my butt.
I’m making this commitment public to keep myself honest.
100 pushups by Autumn.
Ready, steady, go!
Jul
30
You’re doing it wrong!
Filed Under Fun | Leave a Comment
Here’s another site in the same vain as failblog. Super-funny stuff.
Thanks to my cousin Dave for the link.
Jul
29
Get a first life!
Filed Under Fun | Leave a Comment
So funny.
Jul
24
Fail!
Filed Under Fun | Leave a Comment
I have to post this. I spent about an hour tonight in tears laughing so hard at what I found on this site. Super funny stuff.
Jul
23
The success of GameClay
Filed Under Entrepreneurship | Leave a Comment
Here’s a great post to read for anyone who’s interested in technology entrepreneurship.
It’s titled “Postmortem”. And it’s all about the the lessons learned from the experience of trying to get GameClay off the ground.
It’s probably counter-intuitive to many people, but failure is one of the things I really like to see on the resume of an entrepreneur. Nothing educates like failure.
Anyone who’s got the drive and tenacity to stick with a startup long enough to call it a failure doesn’t like to fail. They’re driven to succeed.
Failing is one thing. Failing, dusting yourself off, getting back out there an doing it again is something that only entrepreneurs who have what it takes to succeed will do. Someone who’s failed over and over again and continued to get back out there with a new idea is someone with a lot to teach about what not to do.
So, despite the end of GameClay, the experience of starting it clearly taught a lot to it’s founders. And that article is a great digest of some of the main lessons they learned.
Jul
19
100 Ways to Kill a Concept: Why Most Ideas Get Shot Down
Filed Under Entrepreneurship | Leave a Comment
Just a good reminder. Every good idea needs a champion.
Here are 100 reasons why.
Jun
30
Staying (More) Organized
Filed Under Uncategorized | Leave a Comment
Two apps in the last few months have helped me a great deal to stay organized. I recommend them highly.
“Remember Everything” is their tagline. It’s an amazing service which is almost too powerful. I don’t use it all the time. But there are a number of things, images for instance, that I can ONLY track with Evernote. So it’s nice to have this tool in my arsenal in the fight against chaos.
Sometimes I need to leave myself a note. I don’t have a pen and paper, I’m not near email, so I use Jott. I just call up Jott, leave a voice message and Jott transcribes my message to text and emails it to me. It’s as easy as it gets. It’s just a really nice tool for those cases where all I have is my mobile phone.
I’ve kept up with the rise and fall of the GTD crowd. Maybe it’s never actually fallen. Maybe it never really rose. In any case, more structured approaches to staying organized never worked well for me because there are too many rules. I find that I’m much more capable and productive with a small number of really specific tools that allow me to stay connected in all of the odd circumstances I find myself in.
Lastly, I should mention Basecamp and Google Calendaras well. They’re my workhorses for collaborating and keeping organized.
So there you have it. Those are the tools I use to help me stay organized. What works for you? Drop me a comment or email to let me know.
May
23
Here are a few simple suggestions that will go a long way toward helping you write highly-performance systems.
Be smart: Performant systems are what you get when you avoid things that slow a system down. Computers are inherently fast. Just don’t get in their way. Know what things slow a system down and just avoid doing those things. Beyond that speed comes from applying common sense.
Stay Fresh: Keep your brain sharp by often taking breaks. Stop and take time to recharge your mental batteries when things start to seem complicated.
Use the right tools: Don’t use a sledgehammer to drive a nail. Don’t use “enterprise” technologies to build prototypes. Every tool has strengths and weaknesses. Effectively leveraging strength will make high performance possible.
Be careful with frameworks: Frameworks are good for abstracting repetitive tasks. They seldom offer speed and simplicity. Use them as needed. But don’t base your architecture or design on them.
Beyond these simple points it comes down to experience and knowing the ins and outs of the specific tools and technologies you’re using.
Dec
10
How to Write Gracefully Degrading Javascript onClick Event Handlers
Filed Under Programming | Leave a Comment
There a couple of ways to invoke javascript events via the onClick handler.
Approach #1
The one I see most often is this:
<a href="#" onClick="someFunction();">Click me. I know you want to.</a>
This is my least preferred. Why? Because depending on what the function actually does, there’s a good chance that what will happen is that someFunction will be called and the screen will then shift to the top of the document. This I find just annoying.
Approach #2
An improvement on that first case is this:
<a href="#" onClick="someFunction(); return false;">Click me. I know you want to.</a>
By returning false inside onClick you execute the javascript, but the screen won’t scroll to the top of the document. This is better. But, it’s still not perfect. The problem with this is that it doesn’t degrade well into browsers with javascript turned off. If javascript is disabled in the browser, clicking on the link will just pop the user to the top of the page and leave them there. This is unexpected and it’s not helpful to them in any way.
Approach #3
The best overall approach is this:
<a href="/javascript_required.html" onClick="someFunction(); return false;">Click me. I know you want to.</a>
In the event that the user has javascript disabled in their browser, they will be taken to a page (/javascript_required.html) where you can explain to them that they have javascript turned off and that it’s needed for certain functionality to work. In the event that their browser has javascript turned on, then they will see whatever behaviour you intend. It’s the perfect solution!
One note on these approaches: The second case is my preferred technique while developing and debugging applications. Without the "#" as the href, should your event handler throw an exception or otherwise run into trouble, your browser will just go to the url specified in the href attribute. If this takes you to another page you won’t get to see what went wrong. So, leave the href attribute as "#" while debugging. Switch it to something akin to "/javascript_required.html" when going to production.