Thursday, January 31, 2008

Stuck in Paper Pushing Mode

I am finding it near impossible to carve time out of my schedule to do some coding.  I have been in administrative mode for the last two weeks, when I wasn't actively working for client #1 (who pays the bills and keeps the lights on). 

And I'm a little disappointed.  The only coding I accomplished last week was some unit testing code and some string parsing utility code.  The rest of the time I have been searching for, scanning, printing, and assembling papers for various government filings.

My wife has graciously volunteered to start doing the bookkeeping, especially after I offered to pay her to do it.  I think that will help me to refocus on my core skills to get things rolling again.

Thankfully, I have engaged the services of an accountant to prepare my new corporation's taxes, so I'm going to offload most of the tax return preparation.  But still, I have to cleanup the books, assemble the paperwork so he will just crunch the numbers and fill out the forms.

This year I will have to file:

  • 1120S tax return for the corporation 
  • Minnesota state tax return
  • Georgia state tax return
  • Schedule K (from the corporation to the shareholders)
  • Personal 1040 Tax Return
  • Delaware Franchise Tax Return
  • Minnesota Withholding Returns

And I received a Connecticut tax notice (the bastards say I owe them $45 in penalties from 2005).  After a quick phone call, I decided just to pay it.

My economic stimulus tax refund check (if I get one) will probably be going to the CPA.

Tuesday, January 29, 2008

Book Review: Writing Solid Code

Writing Solid Code: Microsoft's Techniques for Developing Bug-Free C Programs (Microsoft Programming Series)
by Steve Maguire

Read more about this book...

I finally got around to reading Steve Maguire's Writing Solid Code: Microsoft's Techniques for Developing Bug-Free C Programs, thanks primarily to a coworker who lent it to me to read over the weekend. 

Written in a personal, easy flowing style, it contains many suggestions for improving your coding process, when developing in C.  It is a fast read, and I liked the book even though I felt that much of it was somewhat outdated.

Steve Maguire wrote this book in a different time, a time before OOAD, C++, Java, RUN, XP, Agile, XP, and TDD.  The book grew out of his experiences at Microsoft and contains practical advice and lessons learned about software construction and projects.

He even starts by asking two questions about bugs found in code: 1) How could I have automatically detected this bug? and 2) How could I have prevented this bug?  Therein, he starts to build the process and techniques for eliminating bugs.

The generalized advice is certainly still valid:

  • enable compiler warnings and investigate each one; 
  • use assertions;
  • fix bugs now (don't wait until "feature complete" to go back and fix them);
  • don't quietly ignore error conditions;
  • don't write multi-purpose functions, focus on very specific functions that can be checked;
  • write code for the average programmer (make it readable);
  • don't wait until a bug to step through the code;
  • developers are responsible for finding bugs;
  • porting code is new development and should be tested as such;
  • carefully bound check arguments

Conclusion

The book is an interesting snapshot in time, and contains a lot of good advice.  However, the book is just simply too dated to be recommended.  What was once a ground-breaking collection of cutting edge advice now should be common sense for most experienced developers.

It was recommended as a must read "classic."  It isn't.

Labels: ,

Monday, January 28, 2008

Nokia Purchases Trolltech

First it was Sun purchasing MySQL...

As seen on Slashdot, Nokia is acquiring Trolltech.  Given the outrageous royalties for mobile devices, the deal makes sense for Nokia if they intend to use Qtopia.

I have been evaluating going with Qt for cross-platform development.  But the commercial license is prohibitively expensive, and you have to speak to a sales representative just to get a price, which is very annoying to me.

It makes you wonder what will happen with the successful open source projects.

Labels:

Sunday, January 27, 2008

Coworkers Behaving Badly

Each morning, when I get ready for work, I try to put on my "game face."  When I step in to a client's office, I am as professional as I can be.  When I'm there, everyone is delightfully witty, interesting, and their children's pictures are attractive, and I'm super productive.  After all, I'm a consultant, and it's just a temporary job -- I can handle anything with a smile.

Well, today, I was having a bad day.  A coworker's behavior is irritating me, and hurting my productivity in a major way.  I was time to go get a new pair of headphones.

I'd thought I would recap some of things that I have seen my coworkers do during my career, which made me laugh, cringe, or just plain annoyed me:

  • A coworker who wrote on a whiteboard in permanent marker. 
  • Cubicle-mate that was a heavy mouth breather, where each breath would be punctuated by a slight snore.  Frequently, he would emit gurgling burps.  He also brought in his telephone headset, and he would call his wife at least twice times a day and have rambling conversations about what he was doing. 
  • An older gentleman that would take his shirt off when he was hot and "getting sweaty."  (They turned the air conditioning off after hours).  He was an and not particularly fit.  [...It really bothered the impish 20-something female software engineer who had to sit next to him, especially when he started to tell her about his sexual conquests].
  • Anyone who lies.
  • Coworkers who had a very strong body odor. 
  • A technical lead that would be nice to people to their face, but when they were walking away they would start saying bad things about them. 
  • A cubicle-mate that would blow his nose constantly, even when he was eating.  He would also pick his nose.  Out of the corner of my eye, I swear I saw him eat one.
  • A cubicle-mate who clipped his fingernails at his desk.
  • A cubicle-mate who's dog died.  He actually cried and had tearful phone conversations about his dog to friends and family.  The mourning and depression lasted almost a month.  He still has a picture of his dog as his windows background and a framed picture as a reminder to this day.
  • A consultant who came into work on a Saturday, dialed the phone, and started crying and sniveling about his soon to be ex-wife.  As the sorted details of his personal life spilled over the cubicle wall, I felt like I was watching a human train wreck unfold in slow motion before me.  After an hour on the phone, he left (I don't think he knew I was working several cubicles away).  Its awkward for me to look at him in the face after that. 
  • A consultant that outsourced his own job to China.  He had difficulty in finishing the assignments, and even more difficulty in explaining why he coded the way he did.  It was discovered that he was sending and receiving source code and company specifications over unencrypted e-mail to his cohorts in China. 
  • A consultant who had a federal firearms dealer permit.  One day he ordered a book and 10,000 rounds of ammunition, which was delivered to work.  He swore it was just a mistake, the ammunition was supposed to be delivered to his home... he was fired on the spot (and walked out accompanied by no less than three security guards).
  • At one company, it was detected that someone was surfing the net work porn at night.  They placed a security camera to catch the culprit-- they caught a lot more than they wanted.  The employee not only viewed the pornography on his office computer, but started to pleasure himself.  When they fired him, he started to angrily protest until they slapped the VHS movie on the table.  He left without saying a word.
  • A coworker in the next cubicle that loudly spent over five hours on the phone talking in a breezy foreign language.  The rest of the time he surfed the Internet, except at 4:30 p.m. he would ask some permanent employees questions, but they were only interested in going home at 5:00.   When asked why his productivity was so low, he'd shrug and say that the American programmers weren't cooperating or sharing information.
  • A consultant that spent most of his time on the phone speaking rapid-fire Vietnamese.  Half the time he didn't show up.  One day the manager came looking for him, and grew agitated when he was informed he hadn't been there for several days.  Worse yet, one of the other Vietnamese coders told everyone why he was one the phone -- he was selling Amway.  

Leave a comment with your stories.  I'm sure you have some ;)

Labels: ,

Saturday, January 26, 2008

KDE on OS X

kdeosx

Since yesterday, I have been downloading the new OS X native port of KDE 4.  I am currently averaging 3.5 kb/s on my 6Mbps broadband connection to the Internet.  I have 2.15 GB fo 2.45 GB, with an estimated 6h, 22m remaining.

I can only guess that this is mostly due to the sheer number of people trying to download it.  I even stumbled onto a blog posting about the Slashdot Effect.

kdeosx2aWhile I'm still not an OS X fan-boy, the fact that I am compiling over OS X with gnu software is making the system more enjoyable to use everyday. 

Coincidentally, last week I talked to a Troll Tech sales rep about getting a price for a commercial license for Qt (they have pulled the licensing).

TrollTech has a special one year only discount for startups (~$1,700 for OS X and Windows).  After the first year the license jumps up to around $4700 (to OS platforms).  If you want Qtopia, get out your checkbook, royalties tied to the devices, with a minimum of $15 in a minimum quantity of 1,000. 

Ouch.

Wednesday, January 23, 2008

Microsoft Drops Mobile nad Embedded DevCon

ComputerWorld is reporting that Microsoft has canceled the Mobile and Embedded DevCon (MDEC). The conference was to take place in Las Vegas. According to the blog posting higlighted in the news article, Microsoft will present a presence at the Embedded Systems Conference Silicon Valley (held in April), and Tech-Ed U.S. 2008.

The reason stated for this change is that Microsoft's mobile products have become "mainstream".

Powered by ScribeFire.

Tuesday, January 22, 2008

Win a $50,000 Technology Makeover

Submit your photo from Nov. 1, 2007 - Mar. 15, 2008. The top 5 submissions will be posted online for public voting March 24-28, 2008.
NEC is holding a makeover contest. The winner will be announced April 2, 2008. And if you win, you get a choice of $50,000 in NEC products to outfit your organization.

I could put $50,000 for equipment to some very good use ;)


Powered by ScribeFire.

Labels: , ,

Mac Pro for Windows/Linux Development

Last week I blogged about specing out my next computing purchase (hopefully this will be the last for a very long time) -- a dual processor system complete, with two Intel Xeon Quad-Core processors for a total of eight (8) cores.

After crunching the numbers and evaluating the offerings from Dell, HP, Apple, I quickly learned something that surprised me -- the Apple Mac Pro was considerably cheaper when compared to the other workstations, even when the RAID card was added.

But, purchase a Mac? After evaluating the Mac Pro, I figured out that I could de-Mac-ify it:

  • VMWare Fusion (review to follow) will allow me to run windows applications which appear to be native under OS X.
  • Better yet, with basecamp, you can install Windows or Linux to run natively in a multiple-boot scenario.

Further, Apple offers a 14 day return/refund period; I could return the box for any reason within 14 days and get a refund (minus a 10% restocking fee). So I took a deep breath and plopped my new corporate credit card down. I can still return it and get most of my money back.

So I took a deep breath and purchased the default configuration offered at the nearest Apple Store – 2x2.8GHz Intel Xeon Quad Cores, 2GB memory, 320 GB SATA drive.

First Impressions

Hands down, this workstation is the quietest computer I have ever owned. In rearranging the cables and power strips to plug in the Mac Pro, when I powered on it was eerily quiet. If it wasn’t for the start-up “Gong”, I would have thought it wasn’t working.

The mouse is retarded. Period.

The keyboard is nice design, but unusable. For someone who spends 8-12 hours a day typing, this would be the last keyboard I would want to use. I donated it to my wife and am now using my wireless comfort keyboard 4000.

Unfortunately, I quickly discovered that on Microsoft keyboards don’t have a “Media Eject Key”. There is no button to tell the CDROM to eject on the case. I think you can see where I am going with this. There was no method I could find that I could eject the empty CDROM tray except by going into iTunes and selecting Eject in the menu.

Setting up For Development

To install the gcc compilers you have to install XCode from the installation Disk #2. Next I installed VMWare Fusion, followed by several VMs: Microsoft Vista x64 for testing, Microsoft XP Professional with Visual Studio 2005 for development, and Gentoo. Fedora 8 is next.

At one point I was watching a DVD, installing Visual Studio 2005 inside a VM, and compiling the boost libraries under a term. CPU utilization averaged 80% idle. The only problem is that 2GB is simply not enough memory. The system started paging out memory and performance started to suffer.



Powered by ScribeFire.

Saturday, January 19, 2008

Ruby + Microsoft.NET= IronRuby

I just saw this today.  Ruby is the biggest fad in web development right now.  Microsoft, not to be out flanked, has thrown together IronRuby, a .NET implementation of Ruby (released under the MPL license): 

IronRuby is a .NET implementation of the Ruby programming language. We are building a high-quality implementation of Ruby, with excellent performance and seamless integration with .NET libraries and infrastructure. We are targeting compatibility with the 1.8.x branch of Ruby modulo continuations.

IronRuby heavily leverages Microsoft’s Dynamic Language Runtime, and both are released with full source code under the Microsoft Permissive License. The IronRuby source code is hosted on Rubyforge, which is a home for open source Ruby projects. We’re looking for contributions to the IronRuby libraries; our goal is to achieve parity with the Ruby standard libraries.

Thankfully, I've decided to pass on that fad.

Spec'ing out the Ultimate Developer Rig

One of the most awesome things about striking out on your own and working for yourself is that you get make all of the purchasing decisions.  Of course, one of the worst things is that you have to pay the bills.  

Until now, my philosophy could have been summed up as: the cheapest-PC-I-can-find-is-best-one (coincidentally, this is usually the position taken by corporate business managers). I'm not so sure anymore now that I am a one man shop (so far) and I am considering plunking down a lot of money of a pricey workstation.

My goal would be to setup a system with which I could develop applications for Windows, Linux, PalmOS, PocketPC, and maybe even OS X.  Additionally, I want to be able to install Virtual Machines to build and test for various environments.  I also want a VM especially for downloading and evaluating shareware -- so I don't have to worry about crapware becoming installed on my system.

Sure, I could build up a gaming rig, or simply purchase one.  However, my focus is a system dedicated to making me work faster and smarter.  Dropping $5k on a machine that screams like a hair dryer is not my idea of productivity.

General Requirements

  • Fast-- the fastest multi-core developer PC that I can afford without reverting to the culinary delights of romen noodles on a long term basis.
  • Reliable. I don't want to have to drop everything at a critical time to replace a drive or go looking for backups.
  • Quiet.  While this is relative, I don't want a system that sounds like a jet engine.
  • I want to be able to support a full development environment on at least two environments: Windows XP (maybe vista) / Visual Studio and Linux/gcc.  Additionally, I want to be able to pull up and use various VMs for testing (Ubunto, Fedora, RH, etc).
  • Not a Dell.  I'm sorry, but I've dealt with too many broken Dell products and horrible outsourced support.  

So basically-- I want a super fast machine running a native 64 bit OS, with everything else nicely packed away in a Virtual Machines managed by VMWare (or similar). 

Going Virtual

Most of my current workload revolves around embedded Linux development, and as a result, I'm constantly installing/building cross compilers for various architectures.  Since customers often dictate the flavor of Linux/kernel version/tool chain they want me to work on, I need to be able to install a distribution and start compiling as fast as possible. 

Cygwin/X, a KVM, and Synergy makes dealing with the multiple machines easier, but still it isn't totally pain free.  I now want to consolidate them into virtual machines on my heavy iron development system.   I would also like to have a Linux and windows nightly build system running, triggered from source changes checked into my source code repository. 

RAID Required

Smart people learn from their mistakes; really smart people learn from other people's mistakes.

Raid isn't a backup solution.  Lots of people think it is, but it isn't.  RAID will not stop fire, theft, user mistake, or file system corruption.

So what good is it?   It will save you time when your drive does go belly up.  Without it, you will have to stop what you are doing (no matter how trivial or important), replace the drive, rebuild machine, restore from backup.  If you have good backups, you still will loose 4 to 6 hours of time lost.  If you are up against a delivery deadline or tax deadline (with possible penalties) it can cost you money.

Conversely, with RAID 1 or RAID 5, your monitoring software will pop up a message box, "drive 0 has failed."  You can keep working and replace the drive on your time frame, not the failed drive's.  You simply pop in the spare and rebuild the RAID at a more convenient time.

Joel Spolksy highlights what might happen, even if you are prepared:

"Lesson Learned: This is not the first time that a hard drive failure has led to a series of other problems that wound up wasting days and days of work. Notice that I had a very respectable backup strategy, everything was backed up daily, offsite. In fact I believe this is the third time that a hard drive failure has led to a series of mishaps that wasted days. Conclusion: backups aren't good enough. I want RAID mirroring from now on. When a drive dies I want to spend 15 minutes putting in a new drive and resume working exactly where I left off. New policy: all non-laptops at Fog Creek will have RAID mirroring."

Advice worth following.  So my new rig will have RAID 1 as a minimum.

Buy versus Build

I am going to purchase the specified system outright (or lease it).

I have built up servers and PCs before, but I'm not going to do it this time.  I don't want to spend the time tinkering with components.

While looking for opinions online, I found the most cross linked articles involved Scott Hanselman spec'ed out a developer rig (more like a gaming rig) which was assembled by Jeff Atwood of Coding Horror fame.  Not counting the time in selecting, purchasing, and shipping, it took Jeff Atwood three (days) alone to assemble, benchmark, and test the new computer. 

That is three days of billable time, or time I could apply towards launching a saleable software product.

If I purchase, it shows up ready to go.

I will update my blog when I get closer to making a purchase.  So far I've narrowed my scope down to quad-core or octo-core systems, but they are incredibly expensive.

Thursday, January 17, 2008

T-mobile BlackBerry Curve SIM unlock, part II

I just received an email from T-Mobile containing an unlock code and the instructions for unlocking my phone. The whole process took less than five (5) minutes. Total time to receive the locking code from T-Mobile was 2 days



Powered by ScribeFire.

How to Launch a Business without Spending a Dime

The biggest mistake a lot of first time entrepreneurs make is that they spent too much money and concentrate on playing CEO superstar.  They rent office or retail space, pay big bucks for incorporation, buy equipment, fancy stationary, and nice business cards before they have even earned their first dollar.  The elation and entrepreneurial swagger vaporize as the cash burns up...

For freelancers, it is possible to start a business without a dime, with zero risk:

  • Get an EIN at the IRS website for free.  Even if you are a sole proprietor, it is a good idea to get one and open some separate checking accounts.  If you keep your business separated from you personal accounts it will make life easier and cheaper if you opt to have an accountant or tax professional handle your tax return.  Click HERE to apply online.
  • Get a free business checking account.  Call around to the banks and find one that has a free checking for small business, give them the EIN you received from the IRS website.  Get a debit card which is tied to your checking account, and if possible -- sign up for free Internet access to your account and free bill pay.
  • Once you have your account information, setup a PayPal account and link to your business account, so you can accept payments.  Verification will take several days.

Provided that you singed up for the Bank's online (free) bill pay, that combined with the debit card will cover 99.99% of your expensed transactions.  You can wait to purchase checks until you actually need them.  The whole process should take about a week.

Next, concentrate of securing clients and/or generating revenue.  Such is the bootstrapping philosophy.

Labels: ,

Wednesday, January 16, 2008

git: Tralining whitespace error during commit

I'm using git more and more. However, when checking in code, I sometimes get an error about trailing whitespace and the commit fails.

To fix this:

in .git/hooks/pre-commit, delete the following lines:

if (/\s$/) {
bad_line("trailing whitespace", $_);
}




Mangled by ScribeFire and fixed by hand.

Labels: ,

Export your Outlook Calendar to Google Calendar

I am testing to waters to migrate from my Outlook calendar to Google calender, primarily because Google calendar synchronizes with my blackberry. The question is how do I export (not synchronize) from Outlook to Google?

It is easy. You have to export from Outlook to a CSV file, then upload to Google. Here are the steps:

Export Outlook to Calendar to CSV File

1. Open Outlook
2. Click File menu
3. Click Import and Export
4. Click Export to a file
5. Click Comma Separated Values (DOS)
6. You may be required to install the possible translator here. Just follow the directions on the screen.
7. Select folder to export from: Calendar
8. Browse, name, and save the file some place easy to find it. (Desktop)
9. Click Next
10. On the follow actions will be performed screen click the Finish button.
11. Allow the export to perform

Import CSV file to Google Calendar

1. Open Google Calendar
2. At the top of the calendar list on the left, click the "Add" down-arrow button and select "Import Calendar."
3. Click the Browse button and select your exported file, then click "Open."
5. Choose your calendar
6. Click Import and wait. It may take a bit.

Please note that recurring events may not be recognized when importing events from CSV files. In this case, individual items will be created for recurring events that fall between the dates you've selected.


Powered by ScribeFire.

Tuesday, January 15, 2008

T-mobile BlackBerry Curve SIM unlock, part 1

Later this year, I have a tentative trip planned to Hong Kong and the Philippines, and while I'm traveling I'm planning on using a foreign SIM card on my quad band GSM phone.  I just need to get it unlocked first.  And since my current T-Mobile contract ends next month, I thought this would be the best time to get the phone unlocked.

As a general rule of thumb, when traveling internationally it pays to pick up pre-paid SIM cards in your destination country.  Doing this will save you a small fortune, if you are willing to temporarily trade your phone number. 

As an illustrative example, T-mobile charges eye popping rates for roaming in the Philippines -- $2.99 per minute for calls sent or received, $0.35 per text message sent, and $0.15 text received. In addition, you are slammed with a surcharge of $0.0150 per KB for email and Internet connectivity.  Talking or texting gets expensive quickly. 

Conversely, I can purchase a Philippines (Smart Buddy) prepaid SIM card -- for $0.14 per minute and around a penny a text message.  Oh, and inbound calls are totally absolutely free. 

Calling T-Mobile for the Unlock Code

T-Mobile is one of the more enlightened carriers in the US, and they will give you the unlock code for your phone, provided you have been under contract for at least 90 days or 3 months.  Since I've been a customer since 2004, I qualified. 

I dialed 611 and waited.  After answering a few questions and supplying the IMEI (home screen->options->Status) the customer representative said that the request would be processed in 24 hours, and that the email with the instructions may take up to seven days.

Nothing to do now but wait...

Sunday, January 13, 2008

MicroISV on a Shoestring

Ok, I've finally gotten around to working on my corporate website and blog templates.  I've added another section entitled, "BlogRoll" to the right navigation bar.  This is where I will link up respectable blogs which have a focus on either running a small business or mISVs in general.

The first is Patrick McKenzie's blog, "MicroISV on a Shoestring." 

Patrick took 8 days to develop a software product (http://www.bingocardcreator.com/) and in the scope of a year he's made around $10k gross.  While that isn't exactly within the ballpark of early retirement, I think it is respectable.

What's more important is that he has blogged his steps along the way and regularly contributed to BoS without being anonymous (most other BoS contributors are afraid someone will pilfer their ideas and compete with them).

For that he's earned my respect.  

Looking Back and Looking Forward

In 2007, I decided to start a uISV/Consultancy.  My goal was (and still is) very simple: generate income from contracting/consulting which will be used to sustain my uISV development efforts.

I would work on the day for clients, and at night I would frantically pound out code.  Six months have gone by.  How well have I done?

Looking Back

Last year (2007):

  • I formed a corporation (Agave Mountain, Inc) in the State of Delaware.  While I believe that most uISVs and consultancies are formed as sole-proprietorships and LLC's, I wanted a corporation and was prepared for the additional headaches (annual franchise tax return in DE, plus a corporate tax return). 
  • I also registered my corporation as a foreign corporation in the state of Minnesota (where I am now).  Your corporation can only be incorporated in one state, and it must qualify to do business (register) in each state it has operations. 
  • I did the above primarily for the following reasons:
    • Most accountants will recommend that you incorporate in the state where you reside.  This is essentially the best advice.  However, I have moved frequently in the past several years for contracting, and within the past several years I have up and moved to/from Texas, Connecticut, Georgia, and most recently Minnesota. 
    • I decided it was easier for me to keep a corporation in Delaware, and just register to do business in a state and withdraw it if I no longer do business there.
    • If I don't do any business I can "put the corporation on the shelf."  I pay the annual franchise tax ($56) per year in DE and the corporation gets older.  A corporation's age is factored into credit decisions.  Additionally, I will be able to jump on business opportunities in the future much quicker and with less  hassle.
  • $24,500+ in trade lines.  Most surprisingly, I now have an Office Max net-30 credit account, and 3 major credit cards, entirely in my corporation's name.  Go figure.
  • My corporation has signed up its first major client.
  • Established a website and blog (this one).
  • I have very little workable code written, only prototypes and unit test code.  I have some simple specs.
  • I've investigated several web frameworks, toolkits, etc., and here is a summary:
    • I eliminated the following platforms/toolkits:
      • Ruby on Rails might have a following, but it has some serious design/installation issues (no shared hosting) and other issues pointed out by Zed's public meltdown.
      • Java is out because I simply don't like it, and never took the time to learn anything more than a cursory look.  If I decide to part out some of the work, Java guys are among the most expensive.
      • Python has some installation issues for a saleable product.  
    • That leaves:
      • ASP.NET/C#/.NET
      • PHP
      • C/C++/FastCGI/WT/Qt
      • a mishmash of Perl, C, PHP, etc.

Goals for 2008

This year:

  • By the end of the year I want to have my product concept designed, constructed, tested, and deployed.  January 1, 2009, I want to be actively selling the product and generating revenue. 
  • My main client will take preference, but every other waking hour is going to be focused on getting a product up and out the door.  Ambitious, but possible.

Labels: , , ,

GrandCentral Web Call Button

As I posted some time ago, I decided to take a gamble and use GrandCentral as my publicly listed corporate phone number.  The phone number can be forwarded through to my cell phone, VOIP line, Skype VOIOP number, or a land line with a few clicks on the GrandCentral website.

Today, I decided to generate and add a WebCall button.  It is a nifty idea.  You click on the WebCall button, enter your phone number and name, and the GrandCentral system will call you and either ring my cell phone or dump you off to my voicemail account.

Labels:

Saturday, January 12, 2008

Marketing with Trinkets

This week I received a catalog from 4imprint USA-- a company that makes promotional products with custom printing.  You know the kind of stuff I'm talking about; refrigerator magnets and pens with your contact information. 

As I started thumbing through the catalog, a few items caught my eye:

Pictured on the left is a CD accordion case with custom printing, which can be ordered in a variety of colors.  It will hold 12 CDs.   If I ever release a major product or develop a large scale software development kit (SDK) something like this would be fantastic.  

And lets not forget the ever important Gourmet Pizza Cutter to go with the beer bottle opener key chain.

If anyone is interested, I have a coupon code C806 (expires 2/28/2008), which is good for 10% off an order of $250 or more.

Labels:

BlackBerry Curve 83xx versus T-Mobile DASH

image

This week I finally decided to end the love-hate relationship I had with my T-Mobile DASH and purchase a new phone.  Being that my experience with the Dash was so underwhelming and disappointing for the year that I used it, I considered forgoing a PDA/smartphone altogether.

I was misled by the reviews online by CNET and PCWorld, so much so that I almost didn't get the BlackBerry. It wasn't until after I purchased the Curve that I realized that both the CNET video review as well as the PCWorld reviews were factually incorrect and biased (both claimed that the Curve doesn't have Wifi; it does).   The PCWorld video says that the BlackBerry doesn't have GPS, but neither does the Dash (which wasn't mentioned).

I'm glad I ignored the professional reviews and purchased the Curve, as I can honestly say that the BlackBerry is much better than the T-Mobile Dash/HTC Excalibur in almost every category.

   

Errant and Biased CNET video

Dash (HTC S620) Deficiencies I Experienced:

Before I get into a comparison of the two devices, let me just list out a few of the complaints I have about the T-Mobile Dash:

Cracked LCD.  Within six months my LCD screen cracked.  This is a common complaint among Dash users, and guess what -- it isn't covered by the warranty.  You can order the replacement LCD on EBay, purchase a T9 Torx driver, and fix it yourself.  The cost will be approximately $80 in parts, plus your time.  Click HERE for a youtube video on how to replace the LCD.

I has been recommended that you file a complaint with the FCC if you LCD cracks.  T-Mobile may replace your defective Dash with another phone. 

Further, the Dash LCD screen is dim and difficult to read in direct sunlight, much like my older RAZR.

Internet Explorer.  Although I didn't purchase the phone so I could surf the web, I did find that the browser would hang occasionally, requiring me to kill the browser and start again.  Several times I had to pull the battery to restart the phone after the browser hung.

Also, I found it ironic that CNN Mobile is automatically added to your T-Mobile bookmarks, but you will receive a your browser is not supported message when you go to the CNN Mobile site.

Intermittent Freezing.  Although rare, several times I experienced a complete system hangs.  I'd have to pull the battery for that.  

Terrible Call Quality.  The Dash had terrible call quality, especially in even mildly windy conditions.  I would often find myself shielding the phone and contorting to try to hear the caller when I was outside in a light wind. 

Additionally, when paired with my Bluetooth headset, the calls would be glitchy.  After my second Bluetooth headset (which I used with other phones without any problems) I identified this as a Dash issue.

Broken Jogger/Volume Slider. This was the most annoying thing about the Dash -- the "jogger".  There are two touch sensitive areas on the right side of the phone which were intended to be used for volume control and as a scroll wheel.  It would have been nice, except it didn't work and it was disabled (there is now a registry hack to enable it).  The "jogger" was only enabled to control the volume while you were on a call.

However, many times I would be talking to someone and spontaneously hear the jogger triggered "doop...doop.." sound telling me that the volume was being raised or lowered.   It was so unreliable I disabled it through the registry until I upgraded to Windows Mobile 6 (which lovingly overwrote my registry setting).

Alarms of the Undead. Dash alarm had a bug, confirmed by many users (including me). If you set more than one alarm, the Dash only lets you edit the last one in memory, causing the alarms you set earlier to go off even if you turn off the alarm feature completely.  You could never clear, disable, or kill the first alarm. 

Although they eventually fixed that issue, I still see at least one alarm related issue -- that when I power up the device the "deleted" alarm is still active until the "fix" clears it.  As a result, in the time between power up and a fully operational phone, my phone will start loudly blaring away each undead alarm, before the phone is initialized enough to allow you to disarm them or it clears the alarm queue on it's own. 

It is very embarrassing when you power up your device after a weekend in a meeting and for fifteen to thirty seconds your phone is loudly blaring out alarm tones.

Broken IMAP E-Mail.  Now that Google has rolled out IMAP, I have migrated all of my email domains to Google Apps.  I no longer have multiple copies of emails-- I have multiple views of the same synchronized mailbox from the web, outlook and on my smartphone.  At least if it worked. It was also reported that the Dash won't communicate with some mail relays.

It doesn't.  The Dash will download all of the headers, but won't download the bodies of the emails about half the time (more reports here).  This was essentially the last straw that made me start looking for a better phone.

No Bluetooth DUN Profile.  T-Mobile removed the DUN profile, which means you can't tether the Dash as a modem over Bluetooth (yes, the HTC FAQ says you can, but that was before T-Mobile removed the feature from their ROMs).  If you are adventurous, you can enable a DUN profile with a little hackery (article here). 

Alternatively, you can use the Bluetooth PAN (Personal Area Network) profile with Internet sharing instead.  You have to run the Internet sharing app on the Dash, and connect your computer to the Dash via a Bluetooth PAN.

An Honest Features Comparison

Here is a quick look at the differences between the two phones:

T-Mobile Dash BlackBerry Curve Titanium/Pale Gold
Wi-Fi YES YES
Cellular GSM, GPRS, EDGE GSM, GPRS, EDGE
Camera 1.2 MP 2.0 MP
Built-in Camera Flash NO YES
Stereo Bluetooth NO YES
Speakerphone YES YES
Music Player YES YES
Music Player Mute for call and resume afterwards NO YES
IM supported AOL, Yahoo, ICQ; MSN messenger (two different applications) AOL, ICQ, Yahoo, MSN, GoogleTalk, and BlackBerry Messenger
3.5" headphone Jack for music NO YES
Organizer synch with Google Calendar NO YES
Can support Bluetooth GPS NO YES
Supports MicroSD cards greater than 2GB NO YES
Can record Video YES NO
Play Video YES YES

 

Conclusion

The Dash is a terrible smart phone. 

As far as capabilities, the only thing that the Dash can do that the Curve won't is record live video.  In every other category the BlackBerry is at or above the Dash in features, robustness, and ease of use.

Consequently, I find myself wondering two things: 1) how much crack can a CNET Senior Editor regularly smoke during the course of a regular business day, and 2) how much advertising can revenue can purchase a good review at PCWorld? 

Labels:

Monday, January 7, 2008

Deluxe Responds

A representative contacted me today regarding the email I sent them to express my disappointment that they sold my personal information, contrary to their own privacy policy.

To be honest, I was surprised anyone contacted me.  Kudos for them for trying.

In a nutshell, the representative explained to me:

  • That my "personal information" was not given out, only my name, contact information and information about a transaction.  My "private information" -- my bank account information wasn't released.
  • He would be more than happy to "opt me out" of future releases.
  • There are a limited number of affiliates, but they are looking to build additional marketing relationships (ie., sell the information to other companies). 
  • He seemed to read the privacy policy to mean that they can sell the information, just not the "private information".

Tonight I got home and re-read the privacy policy, and it seems pretty obviously that the flagrantly violated it. 

Tuesday, January 1, 2008

Happy New Year!

All our best to Everyone for 2008!