Tuesday, August 10, 2010
Why the apple app store is a revolution
Tuesday, August 19, 2008
Ray Kurzweil
Today I heard a speech from a local technology entrepreneur, and he emphasized points raised by Ray Kurzweil. Specifically, that technology advances at an exponential rate. For instance, the printing press took 100 years to be adopted, it took 50 years to adapt the telephone, it took 8 years to adapt the cell phone. The same principal applies across many areas of technology from Moore's Law to disk capacity, and even in biological research. Here is a speech from 2005.
Thursday, May 29, 2008
Google App Engine
Google has announced pricing for their online Application Engine. It's basically like blogger except you write code instead of blog entries. The only downside is right now all applications have to be written in Python.
Wednesday, May 07, 2008
The Guerrilla Guide to Interviewing
Here are some highlights from The Guerrilla Guide to Interviewing (version 3.0) - Joel on Software:
"In principle, it’s simple. You’re looking for people who are
- Smart, and
- Get things done.
Here’s a typical plan for interviewing a programmer:
- Introduction
- Question about recent project candidate worked on
- Easy Programming Question
- Pointer/Recursion Question
- Are you satisfied?
- Do you have any questions?
The introduction phase of the interview is intended to put the candidate at ease. I ask them if they had a nice flight. I spend about 30 seconds telling the person who I am and how the interview will work. I always reassure candidates that we are interested in how they go about solving problems, not the actual answer.
Recent Project
Part two is a question about some recent project that the candidate worked on.... Again, ask open-ended questions and sit back and listen, with only the occasional “tell me more about that” if they seem to stall....
What should you look for during the open ended questions?
One:Look for passion. Smart people are passionate about the projects they work on.Two: Good candidates are careful to explain things well, at whatever level. I have rejected candidates because when they talked about their previous project, they couldn’t explain it in terms that a normal person could understand.
Three: If the project was a team project, look for signs that they took a leadership role.
Most of the time in the interview, though, should be spent letting the candidate prove that they can write code.
Easy Programming Question
If the basic concepts aren’t so easy that you don’t even have to think about them, you’re not going to get the big concepts.
Pointer/Recursion Question
the best programmers all have an easy aptitude for dealing with multiple levels of abstraction simultaneously. In programming, that means specifically that they have no problem with recursion (which involves holding in your head multiple levels of the call stack at the same time) or complex pointer-based algorithms
Are you satisfied?
Even though the format of the interview is, superficially, just a candidate writing some code on the whiteboard, my real goal here is to have a conversation about it. “Why did you do it that way?” “What are the performance characteristics of your algorithm?” “What did you forget?” “Where’s your bug?”
Do you have any questions?
As the last step in an interview, ask the candidate if they have any questions. Remember, even though you’re interviewing them, the good candidates have lots of choices about where to work and they’re using this day to figure out if they want to work for you.
In the past, I’ve used “impossible questions,” also known as “back of the envelope questions.” Classic examples of this are “How many piano tuners are there in Seattle?” The candidate won’t know the answer, but smart candidates won’t give up and they’ll be happy to try and estimate a reasonable number for you.
Thursday, April 24, 2008
Search Me
searchme.com is a unique search engine. Their tagline is "You'll know it when you see it." After you search you get a list of results that reminds me of Apples new interface for looking at album covers. It lets you page through the snapshots of the results with the keywords marked on the pages. Thanks to Shaun for the link.
Friday, February 15, 2008
Project management
For some time I have been using basecamp for project management, but I think it's too simplistic for my needs and I plan to switch to The Trac Project. Trac has a more sophisticated priorities and categories and it also integrates with my source control subversion. It's also open source and we can host it ourselves. (I also thought about resorting back to bugzilla)
I'm also interested in some of the plug ins for Trac, like the time and estimation plugin.
Thursday, February 14, 2008
Maximizing Data Throughput for Network Applications (IIS 6.0)
Windows 2003 still has the default setting to maximize file and print sharing over network applications... rackspace recommended that i change it for my web server.
Maximizing Data Throughput for Network Applications (IIS 6.0)
Saturday, February 09, 2008
Pushing limits with web services
There are several considerations when you call or provide a web service that can send a lot of data or take a long time.
In .Net you can set the timeout period to be higher.
How to: Enable a Web Service to Send and Receive Large Amounts of Data
Thursday, February 07, 2008
Test Automation with FireFox Add On
I have been using iMacros Firefox Add On
to help automate my testing through the web.
The art of software testing
In the introduction to the book "The art of software testing" it poses a simple program and ask how many test cases you can think of...
"The program reads three integer values from an input dialog. The three values represent the lengths of the sides of a triangle. The program displays a message that states whether the triangle is scalene, isosceles, or equilateral."
If you write down all the test cases you can think of, you will most likely be surprised how many things you don't think of. (they provide a list of test cases in the link)