Saturday, July 04, 2009

Random Bits...

iPhone redux
In my last post, I mentioned that I see computing platforms like the iPhone to be the wave of the future for mobile computers that also include a phone. Jeff Atwood over at Coding Horror posted a considerably more thought out version that arrives at the same conclusion :-). Worth taking a read of.

Software Developer's and education
Our development teams at airG have grown quite large, and there is a real mix
in knowledge level. Note, I'm not referring to talent/innate ability, I mean knowledge - the stuff you acquire from doing stuff or from others showing you stuff. However, it seems that there are only a few people actively pursuing improving their knowledge. Or maybe, they are all trying to, but they're not all sure how to do so. It's a large problem that shows up in small details.

Something that an experienced (whatever that is) developer might consider 'common-sense' isn't common at all. They learned it from someone else, or through reading what others have done - basically educating themselves on what they should be doing. But what happens when you have a team of mostly junior - intermediate developers? How do they gain these basic concepts and then move onto more complicated ones if that knowledge isn't getting transferred around or picked up from external sources?

As such, a gr
oup of the more senior developers have gotten together, and we're trying to start with some of the basics we 'assume' people should know, but occasionally see being ignored and start gently educating people. Not too many things at once (who needs a list of 50 rules?? No one's going to remember them all). But a few across a couple of weeks, make sure it's adopted by everyone under the right conditions, let it become part of their work flow, their habits. Then add more and repeat.

Photography
I haven't posted much since my photography was on hold for awhile, but I've been doing a few things lately - photographing racers at the Test of Metal mountain bike race in Squamish, and on Canada Day, photographing road racers at the Yaletown Grand Prix.

I think I managed to get quite a few good shots at both races. I try not to focus just on the lead racers, but on as many riders as possible. I think all the competitors are worthy of photos :-). Oh, and an interesting thing with the Yaletown racer photos - I've been contacted by a manager of one of the teams in the race, asking if they could use some of the photos on their team page. They're not there as of this writing, but hopefully soon.


















Billing

High-level design of our new billing platform is moving along nicely. I think we've come up with a solution to our database design that should last considerably longer that the current version and make it easy to scale out horizontally in future with minimal effort. Now I'm on to attacking the most difficult (or perhaps it's more accurate to say 'unknown') area of the new design involving a middle ware layer. There's a few commercial solutions out there (cha-ching $$). Will have to evaluate what they offer over rolling our own custom-solution.

As part of all this billing design, I'm thinking far more about scalability, but not just how it applies to our billing system, but how all of our platforms handle growing in capacity. There's a growing amount of information on the web from others who have gone through various growth patterns (think Flickr, Google, Yahoo, YouTube, etc). The best place I've found is the High Scalability site. If you even think you might need to deal with capacity, this is a site that can get you going in the right direction.

Training
Of course, after all that design, I'll also be helping to implement it all :-). Keep in mind, I've been more manager than developer the last three years so I'm going to have to dive back into coding. This ties back to the training goals I push on the junior developers - what's your plan for improving your knowledge?

My plan:
Three areas of improvement I want to work on (aside from the current material I'm studying for design and capacity ideas):
  • More advanced Perl (and relearning some of the basics I might not have been using for all these years).
  • Relearn Design Patterns, but not necessarily using the "Gang of Four" book. Instead I'm going to use Oreilly's Head First Design Patterns which has gotten a large number of recommendations.
  • And finally, to dive into SQL and database concepts (again). I never use to find databases all that interesting. I use them, I'll set up some schema and I can normalize them, but never really got into them. That's changing. There's a whole world of complexity in there that's actually quite interesting, and when you apply it to go beyond simple queries on simple tables, and instead start dealing with huge volumes of data spread across tables, databases, servers and you have to figure out how all that's going to work - you take an interest ;-).

Labels: , , , , , , , , , , ,

Thursday, June 11, 2009

Regex
An interesting (to programmers) book has just made it's way out to release: Regular Expressions Cookbook. It says it's for beginner to intermediate, but word is there's material in there that self-considered regex experts will find new as well. Considering one of the authors wrote RegexBuddy and PowerGREP, they would seem to be...quite knowledgeable.

iPhone
I have seen the future, and it is mobile. Well, who hasn't figured that out already, duh! I work for a mobile wireless content provider so it was pretty easy to see coming ;-). But what's interesting is that the vision of a future where you have a mobile device that is a phone, handles email, calendars, music, tv, movies, gps, has voice activation, is able to run tons of apps (about 50,000) and games and is basically your one-stop computing platform now exists in the most recent iteration of Apple's iPhone ( the 3G S). The Palm Pre is also an example, and with Google's AndroidOS available for handsets, you're seeing this future rushing towards us faster and faster. If the cost for data in Canada wasn't so horrendously out of whack compared to...well, almost the entire rest of the world, the iPhone would be my choice of computing/communicating platform.




Labels: ,

Wednesday, June 03, 2009

From Integration to Billing

airG
I'm a couple of weeks into not doing the Integration Team Lead role, and it's amazing how much more time I have (mostly due to the sudden drop in the number of meetings). So what am I doing now? Billing Team Lead! So basically instead of managing all of Integrations and Billing (about 14 people total), I'm only managing 5 now. And I'm designing the architecture for our new billing platform.

The only meetings I attend now are billing related, and wrapping up a few things on the Integrations side - or things that just require someone who knows where things are, regardless of the team they manage :-). Coming up to 5 years at airG, I'm one of the few who knows where all sorts of weird things are, particularly with the older systems.

Billing
Billing is an interesting topic (to me anyways). We've done a lot of work on it over the years (integrating billing with carriers), but to design a cohesive platform that supports all sorts of new features, capabilities, reporting, etc., takes considerably more up-front thinking.

It's also an interesting mix because while we do a lot with wireless carriers, and we could just model our billing directly on how most carriers do theirs, it doesn't quite fit. We're essentially a mobile web-based social network. Our backend is more Web 2.0 than carrier (if that makes sense). We move fast, we change, we adapt and we're always being chased by our competition. That pace is reflected in our backend - it has to adapt quickly, sometimes to radical changes going on in the industry. Carrier-based systems...well, they're not noted for their rapid pace ;-). So while we can get ideas from how their systems are designed, the implementation tends to diverge to make use of our strengths and the nature of our business.

To refresh and improve my knowledge, I've been studying architecture - from the simple book 97 Things Every Software Architect Should Know to Beautiful Architecture to my current read Software Architecture in Practice. They've all given me ideas, though I think a large part of what I get from them is being put into the right frame-of-mind that's needed while trying to design something. If I were sitting down to code a specific section, I think I'd be better off reading something like The Pragmatic Programmer, again, to be in the right frame-of-mind.

Google
On the note of how quickly things change, there is a recording of Google's I/O conference (http://code.google.com/events/io/). The video that shows them demoing 'wave' shows how email should (and likely will) be. if you've ever wished that email really allowed you to carry on a conversation, include real-time chat, display videos (and I don't mean as attachments, I mean embedded right into your email), and other features, then check out the coming Wave.

Mac
So I've had my MacBook for a little while now. Dam it's sweet :-). A unix core with a consistent GUI? Yeah! Recently what I found surprising is that it can see and communicate with my Dell Axim x51v (PDA) via Bluetooth. Why is that a big deal? Because the Axim runs WinCE, and uses Microsoft's ActiveSync (under Windows). Or more, it tries to, but ActiveSync is a piece-o-crap that only works some of the time. I HAVE TO USE MY MAC TO SYNC TO MY WINDOWS PDA!! Microsoft = EPIC FAILURE.

Labels: , , , , ,

Friday, January 02, 2009


It's been a pretty good xmas break so far. Off from work from Dec 25-Jan 5th, a chance to read, get out of town.

airG
As usual, it was a very busy and difficult year at work, but overall it's been exciting and fascinating. 2009 will be even more-so. I'm looking to increase the number of people I hire in 2009, we want to improve our internal development processes, improve the quality of everyone's code, and generally push people to new opportunities.

Home
We finished off 2008 with a new car:
It's a 2008 Honda CRV, with a 4-bike rack attached. Snazzy :-).

Tech
Lately, there is a lot of buzz over netbooks. If you're not familiar with them already, think of them as minimalist laptop computers. Really minimal. These things are tiny! Which is the advantage to them of course. Having something that really is about the size of a paper back book (only thinner), that you can surf the web on, play videos and music on, is probably what most people are looking for, at least when they're on transit. 

I'm currently looking at three different ones;
Sylvania GNET28001SO Meso 8.9" Netbook w/ Linux (Ubuntu).
HP 2133 8.9" Mini-Note PC w/ Linux (SUSE)
ASUS Eee PC 1000 10" Netbook w/ Linux (not sure which distro)
And maybe also the Dell 9" netbook.

They all look quite interesting, but I need to read more. This market is seeing a lot of changes ocurring rapidly. Already the above ones may be obsolete.

Photography
I've been a bit slack on my photography this year (despite having some photo's published), but I'm looking to get out more in 2009 and fill up those memory cards. One things that's helping is the new Lightroom v2. It's making it so much easier to do some simple, quick changes on my photos to clean them up and then publish them. Check out the latest on my flickr page.

Fitness
To keep exercising during the winter, I've spent most of my time out running in the morning. Of course, with the large dumps of snow (and the even larger mountains of plowed snow on the sidewalks) this has become a bit more difficult. At least now I have a car so I can drive somewhere snow-free to run :-). I even spent Jan 1st out at Stanley Park, taking part in the Resolution Run (5k) put on by the Running Room. Along with having the bike on an indoor trainer, I should be able to keep my fitness level up.

Learning
So what are you doing for 2009 to keep your knowledge current, whether it's professionally or personally? Even before 2009 rolled around, I've been pushing myself to really work through new technical material, from algorithms and data structures to photographic techniques, mountain biking to house maintenance. There's a tremendous amount of information out there to learn anything you are interested in. What are you waiting for?

Labels: , , , ,

Saturday, November 15, 2008

Mobile Industry & The Economy

The sky is falling! Or at least, that's what you hear/read in the news these days when it comes to the economies of most countries, and Canada is no exception, though we seem to be better positioned to ride out a recession than most other countries.

So what does this have to do with the mobile industry? It's interesting times to be working within the mobile industry. Recent quarterly earning reports from large carriers like AT&T, Verizon, Alltel, T-Mobile are all good. Their revenue & profits are increasing. That's good news for me and others who are trying to push the mobile industry forward.

In fact, it appears that as economies slow down and people begin to cut back on their spending for movies, shows, dinners, etc, they actually spend more time....on their phones :-). The cell phone is now considered by many a necessity. A necessity that they will keep spending on.

I found it noteworthy that most of the wireless carriers in the US are reporting that they earn an average per user (ARPU) of $55/month. In particular though, AT&T is making $95/month from iPhone users! Hopefully even more of those users will end up on an airG site :-).

airG is well poised to take advantage of mobile growth. We're doing well, I'm even hiring 5-6 people (already grabbed 3 more in the last couple of months). My team alone is 14 people currently, and I could see it being upwards of 20 by Q2 of 2009.

Labels: , , ,

Sunday, September 21, 2008

Home Entertainment

So I've been looking at home entertainment systems. This spiralled into a multi-month learning project to research TVs, AV Receivers, Blue-ray players, and speakers.

TV
I started looked at Sony TV's. I ended up reading about a new series of LCD's coming out, supposedly in August, (but won't actually come out until October). The 46XBR8 was my original choice, but after waiting impatiently, I discovered the price was going to be $5000 US! No way, not worth it. It simply doesn't have enough features over the current high end 46Z4100 series. So then I started looking at the 46XBR6. It's going to be at $3000 (the recent price of the Z series has just dropped from $3000 to $2800, $2500 if you get it on sale). Long story short, I went for the Z series, and it's awesome. 4 HDMI inputs, component-in, cable, etc, etc. I had also looked at some of the screens put out by Samsung, and the A750 is probably comparable, but I read about glare from the glossy bezel.

AV Receiver
For the sound system, I had originally looked for a package deal from Sony, and they had what I thought was a good set of speakers (including wireless rear-speakers). How wrong I was once I started to read about them. So I dug into what makes good sound, and quickly realized that I wanted a receiver than everything could plug into, and it would take care of send out the data to the TV, the speakers, center channel, and subwoofer. I first looked at Pioneer, Onkyo, and Denon. The Denon allows you to connect the receiver to the internet and listen to internet radio stations, watch youtube videos, and even connect to your own server if you know how to configure it. Otherwise, the Onkyo was very close, and may have a better video decoder than the Denon.

Blue-ray player
This was a minor consideration. Most BD movies are no better than a regular DVD that's played on an upconverting DVD player (the studios were cheap in transferring movies to BD, only now are they starting to spend the money to go back to the source - the film - and do a new transfer that takes advantage of BD capabilities). I had decided on Sony's Playstation 3. It's fully compliant with all the different revisions of the BD standard, it does TrueHD sound, and on top of that you can play games with it. Oh, and it's upgradeable over the internet. However, Sony has just recently come out with the 350S, which does everything but the games, and you can get a deal if you purchase it with a Sony TV.

Speakers
This was probably the toughest, certainly the longest, amount of research I did. You can read about speakers and subwoofers, but until you hear them, you just never know if it's the right ones for you. I ultimately decided on the following speakers, and was lucky enough to actualy hear them (at teh newly renovated FutureShop in Park Royal).

Front speakers: Polk Audio RTi A5's
Rear speakers: Polk Audio RTi A3's (bookshelf speakers)
Center Channel: Polk Audio CS6 (yay, now you can hear voices during large background noises)
Subwoofer: SVS Sound PB10

I ordered all of the Polk Audio speakers from Crutchfield in Ontario. Substantially less cost than anything I could find locally. However, many people advised against getting the Polk Audio subwoofer. They all recommended a subwoofer from svsound - which has a Canadian distributor - sonicboomaudio.

Labels: , , , , , , , ,

Friday, September 19, 2008

Random mutterings

Personal Genomics
I came across a brief mention today of a new blog called too being written by Sergey Brin. Who, you may ask? He's one of the founders of Google. Oooh, so it's a blog about nerdy stuff! Not quite. Sergey's recent blog posting was actually about something that will be growing in popularity - personal genomics. What is personal genomics you may ask? It's the ability to provide a company a swab of your DNA, and they will provide you a complete listing of your genes, or at least as complete as current technology allows, which is improving almost daily. So what good is having a CD with a lot of genetic information on it? That's where it's getting interesting. Let's take a closer look at Sergey's example. He used 23andMe to provide him a his genetic information. It turns out that one of the genes they were able to identify within him is one that has been linked to Parkinsons. As it turns out, it's something that runs in his family. For many people, this kind of information is scary, even terrifying. But calm down and think about this for a minute. Just having this information hasn't changed the genetic code within you, but it has given you information that you can act on, before it's too late. There's an opportunity now for you to change your lifestyle, and become more involved in your own health choices. That's the power of information. And it's information like that, that will become more and more available in the near future, at lower and lower cost (I think 23andMe is about $400, which really isn't much considering you may be able to lead a much healthier life because of it).

Spore
Unrelated, but amusingly fun, is the game Spore, which allows you to evolve a life form, which eventually adapts from the ocean to land, through various tribal stages, to eventually colonizing the whole planet...and then moving onto space! It's a fascinating concept, sort of like SimEarth meets the Sims. The game is a bit too easy early on, and the tribal stage is a poor version of an RTS, but the space era has some depth to the game play. It's too soon to say if it will hold people's interest (including my own), but it has potential.

Photography
This summer I upgraded from a Nikon D80 to a Nikon D300. The D80 is a very nice camera, although recently replaced by the D90 that has some nice additional features (including the ability to record high-def video!). But the D300 provided some very nice features, a more robust body, and the ability to take about 6 shots/second, for several seconds. That's of interest to me, since I prefer to take sports photos, mostly of cycling (mountain and road). If you haven't seen it for awhile, check my flickr page, I am pretty happy with the recent photos I took at Lucille Lake.

Labels: , , , , , , , ,