5 Tips for Crash-Proof Consulting

Are you considering a career in computer consulting?  Here’s some semi-serious personal tips I’ve developed from years in the trenches…consulting

  1. Expect Chaos, Deliver Zen: Consultants are brought in because the client lacks resources or expertise for an important project they’re willing to pay good money for.  Things will be disorganized, confusing, and probably behind schedule yet you should project a calm, confident demeanor no matter what the craziness.  Some calm words and projecting zen-ness will be greatly appreciated, and necessary to save your sanity.
  2. Skim the Docs, Step the Code: Clients will dump documents galore on you, the fact is most are out of date and incomprehensible because you aren’t intimately familiar with this specific project-speak.  Spend minimal time skimming these documents, but spend lots of time actually stepping through sample project code in a debugger.  The code doesn’t lie, and gives priceless insight into how the application works, technical architecture, and standards.  Get a quick demo of any relevant apps, then insist on code access and test accounts to start stepping through the code line by line, module by module.
  3. Under Estimate, Over Deliver: Before even memorizing your network login you’ll be asked to give project estimates.  Be honest but realistic, then add some buffer.  If your original estimates are accepted, everyone will be ecstatic that things come in ahead of schedule.  If you’re ahead of schedule, squeeze in some extra documentation and deliver more than expected.  You’ll feel like a hero, and your client will feel even better.  Everyone wins.
  4. Less Is More:  When asking for decisions, give about three proposals but no more.  This gives some valid, thoughtful choices, but doesn’t paralyze with too many details.  Don’t over complicate designs or decisions with too many choices…it’ll all change in a few weeks anyway and require new decisions.

  5. Three Days to the Future: The mood and experience of the first three days will predict the future, things will not change.  Wonderful, fabulous people with interesting projects will stay that way.  Conversely- boring, aggravating, disorganized projects won’t miraculously get better.  If a project you’re on rubs you the wrong way immediately it might be time to find something else.  It’ll save lots of pain and suffering in the future.

There’s tons more tips, but I think these 5 can really result in increased performance and realistic expectations.  Keep them in mind for a successful consulting job or just improving your current job.

How to Develop iPhone Apps For Free

There’s an interesting (and free) resource if you’re interested in learning how to program the iPhone- how about a class from Stanford University including video lectures, pdf’s of lecture materials, and other reference materials? The class web page can be found here: Stanford iPhone Class

iphone appsStanford actually offers many free classes via Apple’s iTunes U program and a summary of these classes can be found here: Stanford iTunes classesAll you have to do is subscribe via iTunes and you get access to a wealth of materials.

The iPhone development class has been offered for a while and is very popular (millions of downloads).  I’ve downloaded the first couple lectures and found them very interesting and a great way to expand your knowledge with only your time investment.  One catch- in order to actually work the assignments you need access to a system running MacOS 10 and the iPhone SDK (free from Apple’s developer site).  You’ll also have to learn a new programming language (Objective-C).   A summary of the steps can be found in this article: 8 Steps to iPhone Development.

There is a .NET development environment called MonoTouch by Novell, but this does cost $399, a convenient (albeit expensive) alternative for Microsoft developers which still requires a Macintosh to do the actual development.

Give it a try and maybe you’ll develop new skills or create the next great iPhone and iPad application.


The Simple Things

While working on some enhancements for a client’s application I was reminded how sometimes simple changes can be powerful, useful, and appreciated by end users.

I was giving a demo of new functionality, some of which was pretty slick, but the changes which got the most positive reaction and comments from users were three simple and seemingly boring ones: sorting a list in descending order so newest items were at top, defaulting some date fields to the current date, and filtering out old records (but giving a way to show all of them).  These ideas came from the users themselves but I never realized how useful they could be.

Not having these simple changes were really annoying on a daily basis to users because it forced extra steps to complete very common functions.  Nobody wants to click through an extra long list because the default sort order in database is ascending rather than descending…and constantly entering today’s date for a field when no other date makes sense is irritating.

It’s so easy for programmers to get stuck in the rut of just getting things done when some time should be spent in the user’s head..imagine how your application is perceived and used doing real work throughout the work day.  You might discover something simple which can make a huge difference to many people.

Save Those Snaps: Digitizing Your Photos


It’s something we all think about…sorting and digitizing our old family and vacation photos.  Every year they fade, get damaged a little more, and pile up.  I recently took on this project with great success and wanted to share some tips.  Some of these tools and products make the process much easier and affordable than in years past.

  1. I bought a portable scanner (Pentax DSmobile 600 Scanner).  There are others but I liked this one because it’s small and easy to use with my laptop. Note that if you’re using Windows 7 you’ll have to go to the Pentax support website and download the updated drivers and software first (use the Vista drivers).
  2. Gather up your pictures and sort them in a logical order- maybe by date or person.  You can do this in the image management software but it’s easier to get the order correct before scanning.
  3. Set up the scanner options (resolution, filetype, and file location options).  I chose .jpeg format, color, and 400 DPI.  You may have to experiment a bit to find what you like.  Remember, disk space is cheap so file size shouldn’t be an issue anymore.
  4. Scan your pictures into your computer from the scanner.  The Pentax makes this very easy- just insert an edge into the scanner and it’ll “grab” it.  Using the Mobile Scan software click on the green “Scan” button and within a few seconds you’ll have the scan file on the hard drive.
  5. After scanning all pictures, I used the free Google Picasa software to clean up and manage the scans.  Inside Picasa you can apply some filters, tag with captions, and even use the creepy but really cool face recognition features of the software.  I found the “I’m Feeling Lucky” function very effective in adjusting faded pictures and obvious defects.
  6. These scans are precious- Back up the files onto an external drive and onto a cloud based service in case disaster strikes.
  7. There are some options available in Picasa for sharing.  You can upload into a web album and share with friends and family, create a DVD movie slideshow, make a poster, or make a collage.  Experiment and have fun with it!  If you need more advanced capabilities, Adobe Photoshop Elements 8 (under $80) has much of the functionality of Photoshop for way less.
  8. An online company called Blurb allows you to create physical books (hardcover or softcover) in an easy fashion for very reasonable prices (how about up to 120 pages for $20?).  You download their authoring software and can control many aspects of the photo layout and wording.  This would be a great gift to family or friends.

After completing this project you’ll feel f relieved that those precious memories are digitally stored and available for use in all sorts of new ways on your computer and the web.

Computer Programming for Kids

kids computerDo you have a kid in your life who has an interest in computers and programming?  If so, please encourage this passion and let them try it out!  Not only could this be a lucrative career, but will definitely teach important logic and patience skills critical for all ages.  Today’s kid could be tomorrows world-changer…most of the popular web 2.0 companies were founded by people in their 20’s who grew up as kid programmers.  Anyone above about 10 years old who has some computer experience should be old enough to tackle simple programming tasks and learn these skills.

There aren’t too many resources out there for this area, but I recently came across a great book geared for all beginners:  Hello World!: Computer Programming for Kids and Other Beginners.  This book was written by a father and his son and uses the Python environment to each programming tasks appropriate for kids. This is a great idea and something to consider working with your children on.  There’s also a fun interview with both father and son on Hanselminutes (by the way, Scott’s BlogDeveloper Tools list is incredibly useful). and podcasts are fantastic for all Microsoft .NET techies. His

Microsoft also recently released a visual programming environment for children called Kodu which runs on the Xbox 360 and PC.  It’s geared for game development and uses a colorful icon-based interface.

As a kid I sharpened my skills on the legendary Commodore 64 (remember peeks, pokes, and sprites?).  I wrote a game where your cannon tried to shoot a ship, and an accounting program which helped my Dad balance his business ledger (saving countless hours of calculations).  I also ported a tutor program The Math Teacher (somehow the ad for this is on an internet archive) with my Uncle Ralph from the NEC to Commodore 64 and even sold a few copies.  The time spent wasn’t only fun and productive but laid the groundwork for a career working in the computer field.  So, give it a try and learn together with your kid and maybe something wonderful will happen.

Gadget Envy (CES 2010)

It’s geek Christmastime now that the Consumer Electronics Show 2010 in Las Vegas has arrived (cnet coverage)…time to drool over the cool new gadgets and buy those lottery tickets!  It looks like 3D TV, tablet computers, and e-book readers are the big things  I wonder what makes humans crave and go crazy for these shiny new products?  Here’s a few things which I thought were interesting:

  • Toshiba Cell TV: How about a TV 10X more powerful than your desktop PC, 1 Terabyte hard drive, wi-fi, integrated blu-ray player, video conferencing and 2D-3D conversion capability?
  • Lenovo IdeaPad U1 Hybrid Notebook:  Converts from laptop to superslim slate PC by popping out of the case.
  • The Boxee Box: This cute “submerged cube shaped” hardware device allows you to watch streaming content on your TV using the boxee service or any non-drm media content.

Website Tools Summary

Part of the purpose of writing this blog and starting the techforliving.com website was to learn about how to build, host, and maintain a site and explore the issues revolving around those technologies. Here’s the various tools and decisions I’ve made:

  • Domain registration and hosting: GoDaddy.com.  They’re cheap and convenient.  They also have lots of low cost modules available for adding on functionality.  Being a Microsoft guy, I chose the ASP.NET environment with SQL Server but they actually have more modules available for the Linux/PHP environment.
  • Content Management:  Microsoft Expression 3 (html and asp).  I considered and researched drupal, dotnetnuke, and wordpress but in the end did not trust their somewhat closed systems.  With Expression I create simple html and asp and just copy the files up to the website.  I don’t have to worry if something misconfigured at the hosting site or they go away.  With a CMS, I’m just not comfortable I could get my content out easily and quickly if needed.  There’s something sort of comforting about having total control over how content is created.
  • The Expression suite of software along with copies of SQL server, Visual Studio and other software was supplied for FREE by Microsoft. I participate in the Microsoft Websitespark (details here) program which helps small businesses get on the internet and publish web content for minimal cost. Microsoft provides a lot of free software to help out and I’ve found it very easy to participate in and use the program.
  • Blogging software: Google’s Blogger platform. Usability is very good and easy to add analytics and adsense modules.
  • Traffic analytics: Google analytics.  Just put a bit of code in your webpage (I put it in my master template file) and you can use this excellent analytics program to slice and dice who’s visiting your site, and which search terms generate traffic.

Let’s Make a (new car) Deal

Buying a new car hasn’t changed much over the years, and still remains a frustrating, time intensive experience.  You have to physically go to a dealer, take a test drive, and then sit down for some negotiations with a salesperson.  Then, this information from the buying step is re-done for financing, titling, and registration.  Has technology smoothed this process any?

honda carThe internet and technology has relentlessly killed inefficiencies in travel, book buying, music purchases, and real estate but surprisingly doesn’t seem to have affected car buying much.  We recently needed a new car and decided to lease a new Honda Civic. Of course, there’s lots you can do now online in terms of dealer cost data and incentives (Edmunds.com) and test drive/safety reports (Consumer Reports).  The dealership even had an “Internet Manager” who I emailed what we were interested in.

The internet efficiency came to a screeching halt once we stepped onto the dealer lot.  All our information had to be reentered into multiple forms (some handwritten and not computerized), and all told took three hours to complete….that’s with little negotiation!  90% of that time was spent waiting around and redoing forms.  The internet manager simply funneled us to a regular salesperson.

Here’s a process that would work for certain customers like myself, who have already done research and don’t need schmoozing.  This would be heaven…

  • Let me rent the car for a couple days with no sales pressure for $100 (applies to deposit if I buy).  Drop the car off at my house, with a short demo of car features while I drive you back to your dealership.
  • Capture all information upfront which may be needed for credit checks, loan information, titling, registration, etc.  If I don’t buy just delete the data.
  • If I want to buy, give me a quote.  At this time you’ve had time to determine my credit score and such, and I’ve had time to research the dealer cost and incentives….so save time by quoting me your dealer cost minus incentives (which I already know anyway).
  • We have a deal!  I’ll drive to the dealership where all the paperwork will already be ready and waiting for signatures.  It would be nice to wash and fill up my car (or swap for actual model) while doing the signing, but this step shouldn’t take more than 30 minutes.
  • I’m driving away with a new car and everyone’s happy 🙂

What do you think…what other processes could be streamlined to improve and speed up the car buying experience?  Are there other tools available now which achieve these goals?

Microsoft Virtual Business Cards Available

If you’re a Microsoft Certified Professional, there is a new tool you can use in addition to transcript sharing and logo-building.

business card holderIt’s called “MCP Virtual Business Card” and allows you to create a webpage with your certifications, websites, and other related professional information.  You can embed the link or javascript to your card in any webpage.  It’s mainly intended for online media (social networks, blogs, etc.). The MSLEARN blog has more information on how to use the various ID benefits: BornToLearn Blog

You can access the VBC site here: Microsoft VBC site (you’ll need to use your Microsoft Live credentials to log in).

To see an example, check out my cards : Full Profile Page or  Interactive Card Page

Oh yes- have a happy and safe New Years!

Teching Across the Country

Portable technology can make traveling much more effective, efficient, and enjoyable than anything possible just a couple years ago.  Smartphones, 3G cellular, wi-fi networks, and web services are revolutionizing how we plan and execute personal travel.  After reading my experiences, comment below on your thoughts or experiences using technology while traveling.

travelHere’s some products and internet services we used during a recent week long trip to California.

  • Apple iPhone:   We all know what an incredibly useful  “portable brain” the iPhone is.  The goal was to use it exclusively for logistics and looking up information on the go.  From trip itineraries to directions to neighborhood data it worked…pretty good.  The biggest problem was getting a reliable 3G signal in the Bay Area, and AT+T was spotty at best.  Fortunately, there were plenty of wi-fi options available.
  • TripIt (www.tripit.com):  This company has an amazing free service- simply forward your travel itineraries to the website as you receive them and it parses them into a customized, time sorted list for you to refer to with tons of useful information and related links added.  The smartphone application is particularly useful because you can refer to it anywhere and update it easily.  This has replaced pages of printed itinaries and sticky notes.
  • Handbrake (www.handbrake.fr): This PC application allows you to easily convert video to various formats, including the iPhone.  This in conjunction with iTunes content provided hours of video diversions.  Watching video on the iPhone still isn’t perfect (some sort of holder would be nice)- but the ability to have travel notes and entertainment in one portable package is appealing.
  • Audible audio books (www.audible.com): I listened so several Audible books on the iPhone while traveling and found it a fun experience to lay back and just let the words flow into my brain, erasing hours of boredom.
  • MotionX GPS for iPhone (gps.motionx.com):  This iPhone application provides voice turn by turn directions for a couple dollars per month.  We used it to navigate all around Northern California.  It worked well but lacked live traffic information.
  • Yelp (www.yelp.com): This is a community based, location aware review site in which members  submit reviews for any business or attraction.  You can look up nearby restaurants and such on your iPhone and read useful reviews and tips for the businesses and get directions.  Fantastic!  We used it all the time to find restaurants, grocery stores, coffee shops, hotels, and bars which looked interesting.
  • Weather Channel iPhone (http://www.weather.com/mobile/pda/iphone/):  We used this app to track incoming rain fronts in California to help plan our activities.  On the way home we tracked a large snowstorm to help prepare for the trip home.
  • Google Maps (traffic view maps.google.com):  The Google maps traffic view was very useful planning trips around the bay area.  Unfortunately due to the poor 3G coverage, we also had to refer to regular AAA paper maps for some navigation!
  • Zillow.com (www.zillow.com):  This is a location aware real estate app (available on the iPhone).  As we walked around various neighborhoods, Zillow was useful to compare house values and houses for sale based on our location.
  • Southwest.com (www.southwest.com): We used the mobile enabled website to check into our flight and get a coveted “A” zone boarding pass.

One thing which technology didn’t help- the tangled mess of cords needed to charge our cell phones and laptops 🙂  I look forward to really good wireless charging stations just now coming onto the market.

Which websites and applications do you find useful while traveling?  Comment below and share your thoughts.