Sunday, June 10, 2012

The Biggest Reason Not to Read "The $100 Startup"

The tagline on the front of the book reads…“Reinvent the Way You Make a Living, Do What You Love, and Create a New Future”

This sounds fabulous, but what it doesn’t tell you is that - The entire book is focused on creating micro-businesses.  

What’s a micro-business?  Simply put, a micro-business is intended to provide maximum freedom by keeping a business as small as possible but still providing enough income for a nice lifestyle.  Every business discussed in the book is small both in terms of revenue and in terms of company size.

If you’re interested in building a nice scalable business, then the focus on micro-businesses is the biggest reason to pass on this read.

After reading this, I’m surprised it was chosen for a handout at Big Omaha since most of the attendees there are interested in trying to be one of the next successful tech startups.  The other book, Delivering Happiness, which I reviewed previously was a better fit.

That said, Chris Guillebeau did a nice job laying out many of the creative approaches that micro-businesses are using to be successful.  Some of these tips and approaches would apply to a tech startup and others would not.

Overall, I liked most of the advice on staying small and using some ingenuity in the way we market and produce our services/products.  I plan to go back and do some of the exercises that were a part of the book to review my sales pitch and work on a pricing model among other things.

I would recommend this book for someone who is unhappy with their day job or has recently become unemployed.  

And I’ll leave you with a couple of my favorite quotes:

“I spent some of my time learning how a real business works, but I didn’t let it interfere with a busy schedule of reading in cafès during the day and freelancing as a jazz musician at night.”

“To start a business, you need three things: a product or service, a group of people willing to pay for it, and a way to get paid. Everything else is completely optional.”

Wednesday, June 6, 2012

A Brief Technical Professional Bio

I was asked by a friend yesterday for a short biography of my technical professional accomplishments so I figured why not throw it on the blog.


Computer Engineering at Purdue


I went out of state to attend Purdue because of the quality of their engineering school.  The computer engineering degree gave me a great foundation in both electrical and software engineering.  


By the time I was a senior, I knew I enjoyed software and web development in particular.  One of the electives I worked on there was a Java website for volunteers and agencies to connect and fill open volunteer slots.  I was using CVS, tomcat, and automating tests with Junit.  Graduated in 2004.


Database Performance at Cerner


I then joined Cerner over an equally competitive offer from IBM mainly because of the benefits of a gym at Cerner.  Neither company was offering me web dev.


I spent about a year doing database performance primarily for Oracle.  During my time, I wrote the book and class for which most of Cerner engineers eventually went through to learn how to troubleshoot and improve the performance of a traditionally used relational database.


Although I was doing well, I wasn’t happy with this work.


Java Web Services at Cerner


Then I was able to join a web development group.  When I joined, we were doing all kinds of things worse than the Java sites I had worked on in college.  It was a big Struts site using Apache Tiles, Jsps, an Oracle db, building with ant and deploying on WAS to top it all off.  It took over a month just to get the local development stack set up.


A year later and I’d done a bunch of i18n, SOAP services, paypal, and other kinds of work, but for the most part the stack remained unchanged.  A little after this at the beginning of 2007, I was promoted to lead the team and we made a bunch of wholesale changes.


Local development started to be on jetty, tomcat became our dev server, and we saved WAS hell until pre-release.  We upgraded to struts 2, fixed the crummy urls, switched to sitemesh & freemarker templates and began using SVN with maven builds.


It was a little better, but I kept grasping for more.  I played with GWT, play, Rails and others but ultimately Google app engine introduced me to django and I couldn’t get enough.


Python Web Development at Home and Cerner


I was fortunate enough to have a manager and cohort, Ryan, be very supportive of switching to python+django and we dumped java for new development.  At the same time we began working on nyroo.com outside of work work.  We coded up a site that used twitter and facebook apis to let you share lists of concepts with your friends.  Google search apis ( which are no longer around) made it easy to embed images, videos, or links to content in your lists.  We deployed to EC2, ran mongodb as a backend, and rolled a basic nginx/apache django stack for our app server & content.  


It wasn’t long before we had introduced much of the side project learning back into the company and we ended up creating the most efficient teams building websites inside of Cerner.  Along the way we learned some lessons on development from Etsy and other forward thinking companies.  Eventually nyroo got boring so we tried something else…


instin & myHomework


Mobile web sites and skinning the site for any device we’d pretty much mastered so we moved on to native code.  We picked up a third guy, Rodrigo, or you could say Rodrigo picked up us :)  After 15 months of building ios, android, and web that all worked together, we had a product successful enough that we thought we could take it full time.


And that’s where we’re I’m at now.


I left out a ton of details and buzzwords but hey, it was supposed to be brief.

Tuesday, May 15, 2012

Quick Review of Delivering Happiness by Round Table Comics


I just got finished reading the comic book version of Delivering Happiness: A Path to Profits, Passion, and Purpose.

This was one of the two books given out to everyone at Big Omaha this year.

Quick and Entertaining Read

Front to back, this book only took me a little over an hour to finish.  The comic book layout makes it fun to read and makes the story flow quickly.

Lacking in Depth and Explanations

As you might expect to happen with a book this short, there wasn’t much detailed information about the what’s and why’s regarding most of the decisions.  You get a high level story of Tony Hsieh, the zappos CEO, and then the book ends with an overview of some of the simple lessons he’s learned.

Each of three different happiness frameworks is explained on a single page.

This is a Great Book for Business Leadership & Management Classes

The succinct nature of the book would make it ideal for reading with a class and then being able to go into more detail as groups on the different pieces of the book.

If you’re purchasing a book to read on your own, I’d say you can find something better…perhaps just go with the text version of the same story.

My Favorite Quote

After he’d already made millions of dollars on the sale of Link Exchange, and before fully committing himself to Zappos, he found himself asking his friends “What do we want to be when we grow up?”

I’m not sure why that particular piece stuck with me but it does have some strong parallels to some of the questions I was asking that ultimately led me to quit my day job.

Wednesday, May 9, 2012

How to Upload a Sign In With Facebook App to the Amazon Market

The Amazon market signs apps in a way that will break your app if it uses Sign In with Facebook or any other solution that depends on the signature of the app matching what's input into a developer site ( Google maps is another example).

Contact Amazon 

Contact through the developer portal and tell them that you have this problem.


They will set up your account so you can sign the app yourself.

Here's the steps they sent me ( Directions for steps 7 & 9 will follow).
1. Log in to the Developer Portal 
2. Find the app you want to sign on the My Apps page 
3. Mouse over the Actions button for that app and select App Details 
4. From the application details page under the Upload Binary section, click Edit 
5. If you already have a binary uploaded, click the Remove button 
6. Make your DRM selection and select No, I will sign my binary under Signature 
7. Upload your unsigned binary (shown as Step 1. Upload unsigned binary)
8. Download the processed binary (shown as Step 2. Download processed binary)
9. Sign the downloaded binary
10. Upload your newly signed binary (shown as Step 3. Upload signed binary)
11. Click the Done button 

Upload your unsigned binary 

If you're like me, you've never exported an unsigned binary.

Here's the docs from google...http://developer.android.com/guide/publishing/app-signing.html#releasecompile

For eclipse peoples, here's what it says:
To export an unsigned APK from Eclipse, right-click the project in the Package Explorer and select Android Tools > Export Unsigned Application Package. Then specify the file location for the unsigned APK. (Alternatively, open your AndroidManifest.xml file in Eclipse, select the Manifest tab, and click Export an unsigned APK.)

Note: When I did this on my macbook, I had to edit the source code of the amazon website on this step to the right file path because the filepicker tried to do something strange and used C:/fakepath/....


Sign the downloaded binary 

Then after downloading the processed amazon file, you've got to sign it command line using jarsigner and zipit.

http://developer.android.com/guide/publishing/app-signing.html#signapp jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore /Users/youruser/name.keystore unsigned-amz.apk keyalias

Now the unsigned-amz.apk is signed. With some extra parameters you could create a new one instead.

The final step is a zipalign command for performance.
zipalign -v 4 /path-to/unsigned-amz.apk /path-to/signed-aligned-amz.apk

That's it.  Upload it back to amazon.

Sunday, January 1, 2012

Sole F63 -- L51 Low Speed Error

I moved my treadmill and it hasn't worked since. Apparrently this is fairly common, but my experience with their troubleshooting team was that while they were helpfule, some of their advice wasn't the best.

I've finally gotten my treadmill working again and figured I'd post my experience to hopefully help somebody else out since I couldn't find much online.

Before contacting Sole, I tried out the easy stuff in the owner's guide:
- try to calibrate
- adjust the speed sensor

Then we contacted Sole and they sent us a box of stuff without having us do any real troubleshooting.

The box had a new controller board, a new speed sensor, and some new wires to connect the main control unit.

Advice here is that as you try out the new pieces, don't undo any of the nice twisty ties that have the existing wires in place or take the wire out of the front right leg. Just run the wires to the side quickly to eliminate whether or not they change the symptoms. Also take pictures of the wiring to the mother board so that you have a nice easy reference.

Likewise, monitor the behavior of the controller board. My symptom was that the mother board would get power, a red light would come on, and then it would make a single click. Never a second click.

I was able to prove the motor worked fine by hooking up the power to the battery from my drill.

Sole sent me another motherboard to swap out which didn't change any symptoms.

The piece that finally fixed it was a whole new console. The explanation here is that the click from the mother board was sending a signal to the console saying it was ready for commands but the console was never responding telling it to turn the motor on and get running.

Saturday, October 8, 2011

Twitter Cardinals List

For those of you jumping on the bandwagon or wanting to see all of the cardinals tweets without signing up or learning how to use twitter.

Here's the link: @keithentzeroth/cards

Go Cards!

Thursday, August 4, 2011

Fitbit Still Works After Jumping in a Pool!

Alright, so I know having a fitbit in some shorts when you jump into a pool is hard to explain, but it happened....a month ago now. Fortunately, some of my other friends had already ruined their fitbits by getting them wet. What did I do differently? When I took the fitbit out of the water, I didn't press the button on the device and then i dropped it in a bag of rice for 3 days before I did push the button. It was dirty, but it worked. Everybody else said that their battery wouldn't hold a charge after getting wet, but mine is doing great.

Hope that helps somebody someday.

Adios.

Friday, April 8, 2011

Android Phonegap Native Timepicker

So I've been working on a simple android app and I finally got audacious and started to move beyond the basics. I was able to get an app in the store with just my HTML/JS/CSS skills pretty easily which makes phonegap a big success.

Anyhow, now my latest fiasco was to try and use the native android timepicker and while I've still got a ways to go, I wanted to reference a discussion I had with myself on the google group.

As I get better at this stuff, I might end up understanding how to do it within the plugin architecture but for now that's it.

Cheers.

Thursday, May 27, 2010

mongodb command line basics

The best command line references i can find are:
http://www.mongodb.org/display/DOCS/DBA+Operations+from+the+Shell
http://www.mongodb.org/display/DOCS/Querying

A command line session for me normally starts something like this:
>show dbs
admin
local
test
>use test
>show collections
users
things
>db.things.find()

Saturday, May 15, 2010

HTC Hero Mount USB to Mac Os X (macbook pro)

I wanted to get the media off of my htc hero and onto my macbookpro, but plugging the USB cable in does not result in a notification on android which allows me to mount sd card through the USB cable.

I found lots of promising articles, most of which pointed me to either Twisted, which didn't work for me, or to the Android developer SDK. I'm fully capable of using the SDK but this seems like overkill for such a simple issue.

My Solution: Close the lid on the macbook. Plug in the phone and then I get the notification allowing me to mount a USB. Once mounted, its the same as working with any other USB card.

Friday, April 9, 2010

Django Forms: Widgets That Could Use Examples( RadioSelect, SelectDateWidget, CheckboxSelectMultiple)

In trying to use django built-in forms, I stumbled through a few of the built-ins wishing that there had been better documentation.

Here's my attempt to help others looking into using RadioSelect, CheckboxSelectMultiple, or the SelectDateWidget.

These are all excellent features and the more I use Django, the more I like it. Chalk up Forms as another part of django that blows away any other web framework I've worked with.


from django.forms.fields import ChoiceField
from django.forms.fields import MultipleChoiceField
from django.forms.widgets import RadioSelect
from django.forms.widgets import CheckboxSelectMultiple
from django.forms.extras.widgets import SelectDateWidget

YEAR_CHOICES = ('2010','2009')
RADIO_CHOICES = [['1','Radio 1'],['2','Radio 2']]
CHECKBOX_CHOICES = (('1','The first choice'),('2','The Second Choice'))
class SimpleForm(forms.Form):
radio = forms.ChoiceField( widget=RadioSelect(), choices=RADIO_CHOICES)
date = forms.DateField(widget=SelectDateWidget(None,YEAR_CHOICES) )
checkboxes = forms.MultipleChoiceField( required=False,
widget=CheckboxSelectMultiple(), choices=CHECKBOX_CHOICES)

Monday, March 15, 2010

Mechanize vs. Scrape:

In the process of automating functional tests, I have ran across another python library, mechanize, that looks to be very promising. Perhaps, even more so than scrape.py?

http://wwwsearch.sourceforge.net/mechanize/
http://stockrt.github.com/p/emulating-a-browser-in-python-with-mechanize/

So far it seems that the mechanize platform is more powerful, as it is able to handle complex tasks like managing a gmail inbox( see http://libgmail.sourceforge.net/ ).

My take so far is that scrape.py offers some nice features for validating that a given page has the tags and elements I am looking for. I'm still new to both of these libraries so if anyone out there has experience with both and could help nudge me in the right direction, it would be much appreciated.

Sunday, March 14, 2010

Google Apps Mail Accounts: ICanHaz Themes?

I have mail accounts through google apps on a few different domains and it drives me crazy that I cannot customize the theme as I can with gmail. So a simple workaround: use a free gmail account in tandem with any google apps account that you use enough to desire a theme.

Within a free gmail account, it is easy to send all mail through a different account; in this case, send mail from the google apps account. Then on the flip side, forward all mail into the google apps domain into the mailbox of the gmail account. Voila! Use the gmail account with all the power you're used to, and nobody will know....unless they see that logo has changed ;)

Monday, March 8, 2010

Installing the PIL: Mac OS X 10.6 and Python 2.6.4

In short, learn from others:

Install python manually: http://twitter.com/delagoya/status/9883676332

Setup PIL w/jpeg support in a virtualenv: http://breadandpepper.com/blog/2009/oct/2/django-development-snow-leopard/

And now you've got a top notch django dev env running py 2.6.4.

Tuesday, March 2, 2010

Al Gore ops in on climate change

An interesting post in the nytimes today from Al Gore continues to paint the doom and gloom scenario for the US if we don't act now to stop man made global warming.

http://www.nytimes.com/2010/02/28/opinion/28gore.html

I struggle every time I read any thing that states Carbon Dioxide is a pollutant. If I remember correctly, CO2 is a byproduct of human life.

Personally, I'm tired of the whole global warming debate and I think most people agree with the need to keep the environment clean and work towards energy independence.

Can we stop the doomsday predictions already and take a positive approach to improving our position on these issues?