Archive for the 'Musings' Category

Google Indexes New Blog Posts and Makes Them Available Seconds Later

Thursday, July 8th, 2010

Out of curiosity, within 15 seconds after publishing the expiring iTunes post to my web site, I googled for the phrase, “This copy of iTunes has expired” and it appeared as search result number five! That is very impressive.  I tried the same search on both Bing and Yahoo and neither search returned a hit for the post, even after more than 20 minutes had passed.

Google Chrome

Tuesday, September 2nd, 2008

Don’t most operating systems start with a command line? And what really is the Omnibox? I think it is the basis for the command line of the Internet.

What Technical Tests Do You Give Potential Hires?

Friday, May 2nd, 2008

I’m amazed at how many candidates I’ve interviewed cannot provide an elegant solution to the following test:

Write a routine, in your favorite language or even a mock language, without using an intrinsic function to solve the problem for you, to reverse the contents of a string. The routine should take an input of a string and output a string. For example, if the input is “hello” the output should be “olleh”.

I inform the candidate that it is a simple problem and invite them to talk through their logic as they write their solution on the whiteboard. I let them know it does not have to be syntactically correct; I am more interested in their approach.

It is enlightening, to say the least, to watch interviewees attack this problem. I’ve actually had so many people fail that I’ve been questioned if my “test” was too difficult. I understand there are abnormal pressures in play due to the setting but employees should ultimately perform decently under some pressure.

Silently I watch and listen to the candidate attempt to solve the problem. When the candidate is finished I usually ask, with good reason, are you certain this solution is correct? The response is often a “yes.” This usually gives us ample opportunity to talk about different strategies and try to understand why it was coded in a particular method.

I notice lots of issues that should not occur; for example, the candidate:

  • does not understand the chosen language or it’s string libraries.
  • has issues with zero-based arrays depending on chosen language.
  • overly complicates the approach and never sits back to re-evaluate.
  • can not come up with a solution.
  • chooses a complicated approach involving math and gets the math wrong.
  • uses too many variables.
  • writes unnecessary code that essentially does nothing.
  • can not validate the output of the routine they wrote correctly.
  • writes more than ten lines of code to solve the problem.
  • does not know how to swap values in to variables properly.
  • … and many more.

I’d appreciate others offering this simple test and sharing your results with me and everyone else. I’d also like to know your thoughts the validity of this test and how you would let the results affect your view of the candidate.

Before reading on to see my solution, try it for yourself. Let me know how you do.
(more…)

Social Networking 3.0

Saturday, August 25th, 2007

I’m amazed at the tie-in between entertainment and social networking. A recent episode of my favorite podcast (Standford University’s Entrepreneurial Thought Leaders) had a group of notable entrepreneurs talking about the future of social networking. Of course their thinking is aligned with their company direction as of course my thinking is greatly influenced by the current events in my life.

Being a new father to twins and often pondering the potential cost of education has guided my thoughts on this podcast. We desperately need a shift in the education paradigm; I’m not sure I’ll be able to offer a decent education for my children considering the current college trends. I imagine removing the walls of the learning institutions and replacing them with social networks. And as technology removes the language and distance barriers, social networking can be the driving force behind sharing knowledge – there are so many bright people all over the world.

I also thought about the Borg (Star Trek’s Next Generation version of a highly functional social network) and how a primary goal is to get smarter though collective thinking. Social networking can be used as the medium to add brainpower to solve problems. I would hope in the years to come that the focus of social networking is to share information allowing us all to get smarter.

The Cyclic Nature of Software

Tuesday, July 10th, 2007

I repeatedly see many examples of aspects of software making full 360° cycles over time. Recently surfacing is the command line interface and it is coming back. I’ve always been a fan of command line; it lends itself well to repetitive and programmatic practices and has excellent ability to maintain history and promote process improvement (if used correctly).

I’m often seen reverting to a Cygwin prompt (typically in an XTerm Window – another technology that has made a reappearance in the shape of AJAX) to get stuff done. Repeatable. Reusable. Reliable. Command line: It’s the new black. (The last sentence borrowed from the Information Week article).

stop spam with honeypot!