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 1985.


Adblock

Friday, June 13, 2008

Yahoo Strikes Deal With Google as Microsoft Talks End

So Yahoo has ended talks with MSFT and signed a non-exclusive deal to run google search ads. Currently google is up big, and Yahoo stock is down. I hold google stock and have long maintained that Google's advertising platform is an auction, and will naturally form a monopoly, just like ebay.

On another note, google is now becoming the new Microsoft in a way I had not anticipated. For years Microsoft's key to consumer application monopoly has been to integrate their products into the OS. Google is now doing the same thing... for instance, I didn't think google talk would take off against players like AOL, Yahoo and MSN messenger, but it has because it's integrated with gmail. I didn't think Picasso would ever compete with flickr, but I think it is gaining some traction due to it's integration with google maps. I think that trend is likely to continue, and help Google dominate consumer applications.

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

  1. Smart, and
  2. Get things done.
How do you detect smart in an interview? The first good sign is that you don’t have to explain things over and over again. The conversation just flows.

Here’s a typical plan for interviewing a programmer:
  1. Introduction
  2. Question about recent project candidate worked on
  3. Easy Programming Question
  4. Pointer/Recursion Question
  5. Are you satisfied?
  6. 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.

Tuesday, April 08, 2008

Why Microsoft may have to do a hostile takeover of Yahoo

Yahoo's may be rejecting Microsoft's offer so they don't have to allow MSFT to do any due diligence.

"Microsoft wooed Intuit and won the company in 1994 with a $1.5 billion all-stock offer.... according to at least one Intuit techie who jumped to Microsoft shortly thereafter, the primary purpose of Microsoft's bid was actually to get information on Intuit's programmers, NOT to buy the company."

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)

I once read that the fundamental problem with windows versus unix was that Unix was designed from the onset as an OS to be shared by multiple users, whereas windows was designed as an OS to be used by one user that has a printer. The fact that Windows 2003 still has the default setting to maximize file and print sharing over network applications, I think proves that point.

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 for the service to infinite. Also in .Net... "When the amount of data send or received by the Web service exceeds 4 MB, configure the Web server to handle the larger amount of data."
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.