Sunday, October 12, 2008

On the election and politics

I usually don't post about anything political, but what the hell, the election looms and I do have a few opinions.

The only thing I care about when it comes to this election and our candidates is the economy. If you chose your candidate based on any other issue, I think you should seriously reconsider your priorities. If the economy keeps plummeting towards disaster (and if things don't change it definitely will), you're not going to have much time left to protest in front of your local Walmart or an abortion clinic, you'll be too busy holding your place in line at the soup kitchen.

People need to wake up and start listening to the Austrian economists. They've been warning us for a long time now. Just listen to what Peter Schiff had to say back in 06.

Tuesday, October 7, 2008

The September Roundup

Okay, I admit, this post is at least a week late, but I've been so ridiculously busy that I just haven't had any time for blogging. As everyone knows by now, the first Android phone, the G1, will hit the shelves on October 22nd, so I've been working very hard to fix any outstanding issues that I can in our app, most of them are small, UI annoyances and such, but it's still work. The application is already polished nicely, but there's always more you can do.

The last week of September was exhausting, and I don't care to see the inside of an airport again anytime soon. T-Mobile put us up in the Le Parker Meridien, a fairly posh hotel not far from Central Park. WTF, that place is expensive. In the bar downstairs a draft beer will cost you $16, and don't be late checking out, or they'll hit you up with a $350 half-day charge. Not the kind of hotel I'd pick for myself, but I did appreciate the royal treatment that T-Mobile gave us.

This was my first time in Manhattan, and it felt like an alien world, so many people and structures scrunched up together. I can't imagine myself living there, I like my space. The UN was in session and the traffic was just absurd. As in, quickly roll down your window to fold in your side mirror so you don't scrape the car next to you kind of absurd.

The press conference itself was quite an event, I've never been a part of anything like it. They put our team on the very front row (the whole idea was to highlight us and the EcoRio guys as 3rd party developers leveraging Android's open platform model).



After the press conference itself, viewable here, I would have loved to get a five second introduction to Sergei and Larry, but no such luck! The press was herded downstairs, and we manned our kiosk giving demos and answering questions.

It was very interesting watching the press reactions to the G1. Some of these guys were all business. They would walk up to our kiosk and furiously study the device for several minutes without uttering a word. Others were much more friendly, asking questions, etc. I usually did fine until they brought out the cameras and then I would lose about 10 IQ points. Thankfully Alex and Rylan handled the video demos just fine.

We finally returned to Dallas very late Tuesday night. I managed to spend a little bit of time with my family, and then it was back to the airport. Google held a two day device readiness hackathon, the intent of which was to put a lot of the ADC 50 winners together in a room, and let us mix it up with the Google engineers and knock out difficult bugs/issues in our apps. It was an amazing amount of fun.

I had plenty of time to converse with a lot of the Google engineers that have been so helpful on the google Android groups, Justin, Megha Joshi, Diane Hackbod, Jason Chen, Dan Morrill, Dan Bornstein, and several others whose names I can't think of right now.

I also had the chance to hang out with a lot of the ADC winners, the Locale guys from MIT, Michael DeJadon (Safety Net), my friends Zach Hobbs and Amnon Sarig (TuneWiki), Anthony Stevens (Pocket Journey), Virgil Dobjanschi (Maverick IM), Jeff Sharkey (Compare Everywhere), Philipp Breuss (Wikitude), Mary Ann Cotter (Cooking Capsules).

We went out for drinks on Saturday night and had a good time, but despite all the socializing, I did manage to get some code written and have some very insightful conversations regarding android.


Sharkey and Rylan, scanning barcodes of course.



After hours at the Tied House Cafe and Brewery



Now it's well into October and there's still plenty to be done, so I better get back to it!

Sunday, September 21, 2008

Off to Manhattan

I'm all packed up and ready to catch my early morning flight to Manhattan for the T-mobile press conference.

This will be my first ever trip to New York, and I'm really excited. It's not going to be a very long trip, so I doubt I'll have any time for site seeing. I'm hopeful that I'll at least be able to soak up the aura of the town a bit.

The world at large is going to get their first glimpse of the first Android phone. It will be interesting to see how people react to it. I hope it receives a warm reception. Many people (including myself) have waited almost a year for this unveiling.

It's going to be an action packed week, following the press conference, I'm off to Mountain View for 3 days to rub shoulders with some Google folk and try and put some more polish on ShopSavvy.

Tuesday, September 16, 2008

Android gaining momentum!

Judging by the number of job solicitations I've been receiving lately, I'd say that Android is building up some steam. Not surprisingly, most of them are for short contracts (6 months or less) on the west coast. However, if you jump back a couple months, there is virtually nothing on the radar.

Of course, since I just co-founded a new mobile development firm called Big In Japan with Rylan Barnes (author of GoCart) and Alexander Muse (evil startup mastermind), It's unlikely that I'll be entertaining offers anytime soon.

Thursday, August 28, 2008

Trying to update TrivialGPS

As far as I can tell, the Android SDK's mock gps provider is broken in 0.9b, or at least, I haven't been able to get it to work. I spent a couple hours tonight trying to update the TrivialGPS tutorial, so if you're looking for a new version, you'll have to wait until this gets sorted out.

Nonetheless, I've committed some updates to svn, so maybe one of you out there can figure this out.

You can grab the source from here :

http://code.google.com/p/trivial-gps/source/checkout

Saturday, July 26, 2008

Agile Java by Jeff Langr

I finished reading Agile Java by Jeff Langr several nights ago, so it's time for another book review.

The aim of this book is to teach the art of java programming using TDD (Test Driven Development), and it does so wonderfully. I would not, however, recommend this book to a first time programmer. If you have some programming experience, and would like to learn Java, then this book wouldn't be bad choice.

Writing good unit tests is a skill like any other, and that's the primary reason I picked up this text. Besides from the obvious, Jeff offers great practical advice on coding style and even naming things (the hardest thing in programming!). The book reads like sagely advice from a battle hardened coder, he's been there, done it, and this is the distillation of what works.

I'm not going to lie and say I'm disciplined enough to always use TDD, but this book helped me recognize the value of it. Now I'm actively trying to avoid falling into my old TAD (Test After Development) habits.

Tuesday, July 8, 2008

Dallas Startup Happy Hour

I attended the Startup Happy Hour last night and had a blast. I met some really cool people and received plenty of good advice. Here's a few of the people I met:

  • Eknauth Persuad and Abdhullah Jibaly from Ayoka
  • Stormy Shippy, from UNT/Denton
  • Christopher St John who runs a great blog


Ayoka is sponsering the next startup happy hour, which is scheduled for the 21st. If you're into startups at all, then I highly recommend this event.

Wednesday, June 25, 2008

Improving the startup eco-system in Dallas

This is my response to Alex's post, Building a better startup eco-system in Dallas.

I think part of the problem is that there doesn't appear to be much of a "hacker" culture here in Dallas. Today's hackers could be tomorrow's investors (assuming they can get their companies off the ground). I've gone out looking for fellow hackers at several local user group meetings. I even did a presentation on Android at the Dallas Tech Fest in the hopes of drawing some out. I've only met one person, Will (aka The Black Dilbert) who'd I potentially call a hacker (I still don't know him very well, but he seems cool.)

By hacker, I mean, you're the opposite of a shopcoder. You don't stop coding at 5:00 pm. You go home and work on stuff that you find fun and interesting. You're likely contribute to open source projects. You probably have a website where others can download your code. I know there has to be more of you in Dallas than what I've seen, where are you guys? We need to get together and share ideas.

I get jealous when my friend Dustin, who lives Santa Clara, tells me about hacker-centric events like the Supper Happy Dev House.



Why can't we have events like this in Dallas? I'd host one myself if I had the space available, does anyone want to step up and host/sponser an all night hackathon?

Tuesday, June 24, 2008

The impact of the internet.

I was just ruminating about how my life could have evolved differently, had the internet been available in it's present form when I was growing up. My son is just 10 months old, and the internet will have a huge impact on his development.

I'm struggling to remember how old I was when I wrote my first real computer programs. My earliest adventures in programming were on my father's TRS-80 Model IV. This was probably in 1983/84 which puts me at around 9 or 10 years old. It came with a very simple introduction to programming manual, and I picked it up and learned the basics of basic in a few days. The earliest programs I wrote were very simple, I think one of my favorites was a text based wrestling game, where you could be Ric Flair or something like that. My little brother really enjoyed playing it, watching wrestling was a favorite pastime.

When I was in my early teens, my father bought an 8086 PC. It came with MS-DOS (can't remember the version), and GW-BASIC. I kept writing silly things in basic. I used basic for a very long time, it was all I knew.

Eventually I heard about this language called C, I don't remember where or when I heard about it, but I thought it was such a cool name for a programming language. I remember going to a book store and looking at some books about C, but I didn't have access to a compiler or any other tools. The idea of programming without line numbers fascinated me. I wanted to learn more about this thing called a "compiler".

It wasn't until much later, when I was in college, that I was finally able to get my hands on all this cool stuff and start learning to write code without line numbers. First in pascal, and then later in C and C++.

Nowadays, almost anyone can download free compilers and developer tools from the internet, there are a plethora of great free tutorials online to teach you just about anything you want to know. Jumping back to when I was about 13 years old, if I had access to these resources in 1987, I can only imagine the impact it would have had on me. I could have potentially already been an experienced programmer by the time I entered college. Maybe I would have even written a game or two back when one person could do something interesting on the limited hardware of the day.

Of course, there's always the chance that instead of learning C at age 13, I would have discovered what many consider to be the true purpose of the internet, porn, and never written a line of code again!!!

I guess the point I'm trying to make, is that the internet has made the world smaller in many ways. My son is going to be exposed to a far more diverse set of ideas and information than I ever had access to when I was growing up. I want to help him leverage this vast resource as much as possible. I don't want him to ever feel like I did, wanting to learn more about a subject but having nowhere to turn. This is certainly an exciting time to be alive.

Friday, May 30, 2008

Google IO Report

So now that I'm back from San Francisco and relaxing on my big comfy couch, it's time to get down to business and do a writeup on what I saw, heard, tasted and smelled at Google IO.

I flew into SJC on Tuesday night and stayed at a friends place. The next morning I hopped on the Caltrain and made my way to the Moscone center in downtown SF where I was greeted by massive lines of developers all trying to get registered.

Someone with authority rightly recognized that registration was so backlogged that there was no way they could get the bulk of us processed in time for the opening keynote. So they allowed us to bypass the registration disaster, but warned us that we would need to register before 2:00 pm, or they'd throw us out or something. Almost immediately I heard a guy on a cell phone call his friend and say, "Hey, you can get into Google IO for FREE until 2:00!!!"

The keynote was an exposition on the web as the next big platform, and how Google wanted to help evolve it at a faster pace. They highlighted all their major projects like Gears, Google App Engine, Android, etc. You can probably read all about the keynote on a hundred other blogs, the place was packed.

The one and only moment, where an "oooooooh" rolled through the crowd, was during an Android demo where they pulled up a street view and then panned it around in real time using a compass built into the handset. It looked really slick, and it instantly reminded me of the Enkin project (which SHOULD have been an ADC winner , what were the judges smoking?).

I managed to catch the Jason Chen's Android introductory session. It was decent enough, but remedial for me at this point. I was hoping to socialize with some fellow Android nerds and that just seemed like the place to be. Afterwards, some nervous looking guy asked me if I would answer a few questions about Android, I said, "sure" and suddenly a camera crew teleported in, and I spent about 2/3 minutes being interviewed by a Japanese TV station (NHK or something like that).

About 30 minutes later I started feeling really ill and felt a brutal headache coming on, so I walked to my hotel (the parc 55) and tried to sleep it off. (Side note: This hotel sucked, their inet access was broken, as was the TV remote, and the paper thin walls ensure that you here every obnoxious person that stomps down the hallway).

When I finally made my way back to the conference the sessions were over for the day and the after hours event had started. I felt bummed, since I missed out on some really good sessions. I briefly talked to Dan Morrill and a few other Android developers, and just enjoyed the party with everyone else. I left in better spirits, it was a good time.

The next day went much better, I caught two more Android sessions, the first was on Dalvik, and it was very good, although I felt out of my depth more than once during the talk. The next was Dan's session on Android Anatomy, and this one was very useful indeed. I walked out of that one with a much better understanding of Android's lifecycle events and how to use them correctly.

I then grabbed a late lunch, and as luck would have it, some guy with a TuneWiki t-shirt sat down right across from me, so of course I struck up a conversation. Turns out he was hobbs, from helloandroid.com and we had a really interesting chat, probably one of the coolest people I met during the conference.

I would have liked to stay around for a couple more sessions, but I had to get to the caltrain in order to catch my flight back to Dallas, I'll definitely want to give myself a larger time buffer next time so I don't have to rush about so much.

So to recap, it was a great event, and I look forward to next year!

Wednesday, April 16, 2008

living fully leveraged

I'm fully throttled and punching the afterburner. So many little projects going on and it's not going to let up for another three weeks at least. Time to take a little respite and update my personal blog.

I don't think I've mentioned it on this blog, but I've launched a micro-startup called Droidworks, specializing in mobile products for the Android platform. I've put together a team of four developers and we're trying to get the ball rolling. We're just getting started and don't even have a website yet. Well, that's not exactly true, I do have a blog up and running at http://blog.droidworks.com/. We have two projects under heavy development, and a couple more in the planning stages.

My first project is a location-based information service called GeoMata. You can read all about it on the droidworks blog, so I won't repeat that information here. It's my official entry for the Android Developer Challenge, and thankfully the deadline has finally arrived (April 14th). I don't know how many more 3:00 am hackathons in a row I can stand.

My good pal and illustrious new product manager at Novell, Joseph Hill, has skillfully persuaded me into doing a presentation on Android at the Dallas Techfest 2008. I plan to cover some general topics, do two or three code walk-throughs, and then wrap up with a QA session. I might have a co-presenter as well do a short OpenGL segment, we'll see how this plays out. SSShhh, don't tell anyone, but this is my first time presenting, and I'm probably going to be nervous and red-faced as hell. You think I could have picked a smaller venue for my debut, eh?

I'll also be attending Google IO in the later end of May, but thankfully I won't be presenting. I'll just be another guy with a laptop, taking notes, having fun, and cramming as much google loot into my backpack as possible.

On top of all this my in-laws are in town for a month from Russia. My Russian is pretty terrible, and they speak practically no English at all, so we have some real communication difficulties when my bi-lingual wife isn't around. But I'm glad they're here, they've taken away some of the day to day stress and that's helped me focus more on my projects, this weekend I'm hoping to take some time and visit the Scarbourough Fair in Waxahachie, I've always heard it was fun.

I hope to do a couple more android tutorials in the next few weeks as I ramp up for my presentation. Pretty basic stuff, I'd like to do a small one one related to ContentProviders and another one on ProgressDialogs. Things that are both very simple to convey, but useful for beginners as well.

Wednesday, February 13, 2008

7 years required!!!

Recently one of my favorite bloggers, Jeff Atwood, posted a piece called "The Years of Experience Myth". His analysis is dead on. I previously blogged about my aggravation when I received a recruitment email for a position that required 10 years of J2EE experience (even thought at the time, J2EE was only 8 years old).

Java has evolved quite a bit since it's early releases, unlike languages such as C which has stayed pretty much the same for the last 15 years (perhaps longer, but I didn't get my first glimpse of C until 1993). I was reminded of this recently when I started looking at some old java code replete with vectors, hand made enumerations, and nary a Collection to be found. That's just how it was done when this code was written. My point is, if today you were writing the same application using Java 1.5/6 it would be done quite a bit differently.

I've worked with many java developers that can easily claim five years of J2EE/java experience. Frightfully, a huge chunk of them still don't understand generics, don't do any unit testing, don't know about some of Java 1.5's other features such as foreach constructs, C-style variable argument lists, annotations, etc, I could go on and on. They don't read about software design, they dont' code on their own time for fun, and when they are working they pound out 700+ line methods that are hellishly complicated and break quite often. What happens when Java 1.7 gets here and gives us goodies like monkey patching and closures?

Despite this, if you ask any technical recruiter in the DFW metroplex, these guys are going to be regarded as "senior" java developers. For a guy like me, that can be quite aggravating if your seeking employment.

I don't claim to be the greatest developer ever, quite the contrary, I know I have a lot to learn, or as Jeff once wrote, try to suck less every year. But one thing I can say is that I care about my craft. I decided that that if I was going to be a software engineer, that I was going to be good at it.

Perhaps I'm being overly harsh, or maybe this type of thinking is just more pervasive in DFW than in other places. I've heard on many occasions that the bay area is a much saner place for IT professionals. Whatever may be the case, for now I've learned that the best way to find a satisfying job is to widen your social network and to become friends with as many people in your industry as possible. Talking to recruiters and using job boards is fine if you have to, but it's just a lot harder. There are companies, even in DFW, where there are some pretty smart people working, but they still use shabby recruiting firms. If they would just adjust their candidate screening processes, our industry would be a lot better off.

Wednesday, January 30, 2008

n00b home improvement

I just bought my first home this past April. I have great ambitions to fix up my place, but zero experience with this kind of thing. I wanted to share my non-experience for all to mock and deride.

So here's the problem. I want to update all the electrical face plates in my dining room to these nice looking metal ones that I bought at Lowes. But this one pesky outlet is too close to the baseboards and the face plate won't fit.


For anyone who has spent more than 30 minutes in a high school shop class, this is probably as easy as it gets, but for a guy who can't find the on switch on most power tools, I'm thinking to myself, "Damn. This is going to be stupid hard."

Lucky for me there's the internet, and I found some helpful people on a home improvement forum. The best advice I found was to get a grinder and slowly grind down the face plate until it fits. Sounds good, lets do it.


I like buying tools, even ones I have no idea how to use, I think that's just a male instinct. After scrutinizing the reviews on Amazon I settled on a Bosch angle grinder. It sounded like a very versatile tool and everyone who bought one praised it's durability, power, safety features, yada-yada- ya...

I un-boxed it, read the instructions, clamped the face plate down on my $80 plastic work bench, and got to grinding. Oh yeah, I was also wearing a pair of work gloves and some cheap plastic goggles. That's mandatory when using a grinder (according to the manual, anyway).



Wow, that looks like crap. This thing is harder to control than I thought it would be. The only way I'm going to be able to smooth this thing out, is to get up close and personal. But when I try to squat down eye-level with it , little chunks of metal are flying off and impacting with my face. Surprisingly, this is both distracting AND painful. So it's back to Lowes again.


Plan 'B'. This face shield worked a lot better than those lame goggles. With these on I can get down to eye-level and do some detail grinding. Just be prepared for your wife to tease you a bit when your trying to figure out how to put the thing on. By now I'm getting the hang of things, what angle to hold the grinder at, how much pressure to apply, etc.


It's a lot straighter now, but it still probably looks like an amateurish hack job. Unfortunately there is no undo button with this kind of thing. I've decided I can live with it for now. At some point I might go to Lowes, buy another face plate, and try again. For now I'd like to see what kind of comments this can generate. After all, if this was a perfect job, then that would make this post a lot less fun, wouldn't it?


My next project is going to involve a hammer drill, which is another tool that I have zero experience with. That sounds fun and moderately dangerous. Wish me luck!

Sunday, January 27, 2008

Android Campfire


The android campfire was definitely worth going to. It was much more intimate than I anticipated. There couldn't have been more than 75 people there.

Google takes the campfire term seriously. They had a simulated campfire, and served hot cocoa and smores from inside a tent.

The first hour was a QA session. Developer advocate Dan Morrill fielded the questions. There was a common theme throughout. People don't want to pour resources into the platform, only to see carriers gut out parts of android that might threaten their bottom line. Google hasn't made any such promises. Dan stressed that distributing a crippled platform was very contrary to the spirit of the OHA, and isn't likely to be an issue.

If I ran a big shop and was paying out large gobs of cash, then I would probably be worried too. But as a lonely independent pounding out my applications in my spare time, it costs less to make a leap of faith.

After the QA we broke up and mingled for a couple hours. Developers are natural introverts, so starting up a conversation with a random person is scary. It is well worth it to come out of your shell though. Everyone is very friendly once you break the ice, and you can get valuable feedback about your ideas. That, in my mind, is the whole point of a meeting like this.

A few people were secretive about their android challenge entries, but I took some good advice from Alex Muse, and was completely open. I received a lot of great feedback, and it was very interesting to see what others were working on. Ironically, the people who were the most secretive usually had the worst ideas.

So now I'm looking forward to the code day in Boston, coming up on February 23rd. That will be a good idea to meet even more developers, learn some stuff in a couple workshops, and of course grab more android swag.

Wednesday, January 16, 2008

Have laptop, will travel...

I've been hard at work on a project for the android developer challenge since December. I hope to submit two entries, but that all depends on how much I can get done in the next month and a half.

A couple days ago, Dan Morrill announced an Android campfire, on the 23rd. I've been looking for an excuse to get my new ogio backpack out of the closet and jump on a plane. It will be fun to visit the googleplex again, chat about my new favorite hobby and see what kinds of cool applications everyone else is working on.

I hang out on #android (freenode) and try to keep up with the developer lists, but I've yet to meet many android developers in my area (DFW). If you are in my area and are doing anything with android, feel free to contact me.