Skip to content
Dec 18 / Aaron

My Top Song Picks of 2011

I’ve just combed my iTunes playlist for my most played and liked songs of 2011. Here are the winners of the prestigious 2011 Aaron’s Favorite Tracks Awards.

1) Opportunity by Brasstronaut, Album Opportunity EP

Just a kick ass track, amazing on so many levels. Funky and tight, with a depth of layering that rewards multiple listens. I’m very much looking forward to their upcoming album.  Runner up would be Hollow Trees, from the same EP (free download), also a beautiful track.

2) Comedown by Ohgr, Album Undeveloped

Simple, catchy, with a great build towards the end. Me likey. Runner up track: Pissage.

3) Icktums by Skinny Puppy, Album handOver

Granted, Skinny Puppy is an acquired taste, but lets just say I have acquired this taste in spades. Thus, the infrequent treat of a new Skinny Puppy album is always a time of great glee. This track is my pick of the album, with all the madness and chaos Puppy does best. Runner track up is Village.

4) WDKYWMYK by Rabbit Junk , Album Lucid Summations Single

Unnnnngg. Two rocking songs in one really. The first bit, some dub-steppish bad-ass badassery that breaks into a Marylin Mansoneqsue rock anthem. Behold:

5) Please take your hand away by Trent Reznor and Atticus Ross, Album The Girl With the Dragon Tatoo Soundtrack

My chill out mellow pick of the year. Runner up Parallel Timeline with Alternate Outcome.

 

Nov 6 / Aaron

CRON-O-Meter 0.9.9 Released

CRON-o-MeterThis is a little late, but version 0.9.9 of CRON-o-Meter was released a few weeks ago.

This version brings an update to the foods database (USDA sr24).  Naturally my web version of the popular nutrition software was also updated with this new data.

The website’s traffic has been steadily growing since it was launched in March.

For anyone that checked out the site several months ago, but didn’t switch over, I strongly suggest checking it out again, as there’s been a lot of work and improvements made over that time.

I’ve run the whole thing as a bootstrapped startup, and almost all of the growth has been organic (A negligible amount of traffic is from online paid advertising). A bootstrapped startup is one that starts with basically no capital investment, besides your own elbow grease. It starts generating income modestly from the start, and then feeds that back directly to cover operating expenses as it scales.

It’s currently making about 25% of its revenue from the mobile app sales (iPhone & Android), 25% from advertisements, and 50% from the gold subscription sales. There’s still a long way to go before I can claim a stable income, but the steady growth and revenue stream has been quite encouraging that all the hard work I’ve put in over the past 8 months will be worth while.

If anything, it’s been a tremendous learning experience, and at times frazzling, to mentally juggle so many codebases and platforms (the Java/GWT/SQL website, Android, iPhone, and the original open source version).

I’m surprised that the iPhone version is outselling the Android app nearly 4-to-1. I had thought there were a lot of Android users out there, but maybe they don’t like buying apps as much as iPhone users.

 

May 22 / Aaron

CRON-O-Meter 0.9.8 Released

CRON-o-Meter Version 0.9.8 of CRON-o-Meter was released today.

This version brings an update to the foods database (USDA sr23). It also includes the ability to upload your data to cronometer.com (Help Menu -> Export to cronometer.com).

Speaking of which, I’ve been doing quite a bit of work on the cronometer online website. If you haven’t checked it out in a while, have a gander at all the fancy new features!

Apr 24 / Aaron

How to Properly Regulate Online Poker

On April 15th, the DOJ and FBI brought down the ban-hammer to online poker in the USA.

Prohibition is a crime against personal liberty. Just because a small percentage of people cannot responsibly handle something, is no reason to ban it for everyone. In the USA, you can still buy guns, cigarettes and alcohol, despite their proven dangers. You can drive motor vehicles, even though thousands of people are killed in traffic accidents every year. Some people are addicted to shopping and rack up massive personal debt, but shopping malls and credit cards have not been banned.

It is perfectly legal to gamble away your entire life savings in the stock market, but a responsible adult cannot deposit $10 and play a card game on the internet? This is ridiculous. It’s like banning peanut butter because some people are allergic to it.

There are many arguments the prohibitionists make against online poker. I think well designed regulation can solve all of the major problems raised by those supporting prohibition. If done right, good government regulation of online poker can prevent minors from playing, prevent problem gamblers from playing, prevent fraud and money laundering, ensure the game is fair, and generate a significant revenue stream from taxation.

Many countries in Europe have started to regulate online poker. While it is good to see countries like France and Italy now regulating online poker, I think they got a few things horribly wrong. Their regulations were clearly not drafted by anyone familiar with poker. They made a lot of decisions that were a the detriment to the quality of the game, ultimately hurting their players.

The following would be my recommendations for an ideal regulatory framework that would be in the best interests of all involved (poker players, site operators, and legislators).

Regulation should start with regular third party audits by professional security teams. This is already standard practice in the industry, and is required to get gaming licenses in each jurisdiction. This ensures operators are using secure systems that are compliant with the regulation, and correctly dealing a fair and unbiased game for the customers. Operators need to have theoretically sound random number generators, collusion detection systems, bot-detection systems, and anti-fraud systems in place to properly protect their customers.

Just as you need a license to operate a vehicle, buy a gun, or go fishing, citizens wishing to play poker should have an easy way to apply for their own gaming license. To obtain a license, a citizen must verify their identity and register their social insurance number.  A player must be of age to obtain a license, and the license can be revoked by the government if there is reason to believe the person is a problem-gambler. Each license can have a maximum limit on how much the player may spend per month. Appropriate spending limits can be determined based on income tax returns. A janitor making $25,000 a year can clearly be labeled a problem gambler if they were losing $1000 a month playing poker. For a lawyer making seven figures, the same amount can simply be considered as an expensive hobby and not something hazardous to oneself and family.

Operators must communicate with a government system to authorize key events such as a player making a deposit or withdraw of funds from the site. This allows the government to have control over each player’s spending limits. Movement of funds is strictly tracked this way, making fraud and laundering very difficult.

Tax can be collected through two avenues; Profitable players will pay income tax on yearly poker income. Income tax can even be automatically deducted from withdrawals, just like is done with payroll. A poker site makes all of its revenue by charging fees to deal hands and run tournaments (respectively known as rake and juice). All fees collected from a player by the operator from rake and juice can also be taxed. This tax should not be too high. France made a big mistake here and taxed the game too heavily for a lot of good players to make a profit. Taking too much money and destroys the incentive to play. Don’t kill the goose that lays golden eggs!

The biggest mistake France and Italy made is that they made their systems closed-loop. French players can only play with other French players. Italians can only play with Italians. This limits the population of players in each jurisdiction, dramatically shrinking the available game selection and prize pools. Poker is a game where you play against other players. The more, the better. Size matters a great deal in the poker ecology. Players should be able to play a global game, but their respective governments can collect tax on the revenue generated by their players.

As a Canadian poker player, I really hope my government considers these recommendations if and when they decide to draft poker legislation.

Mar 2 / Aaron

cronometer.com is open for testing

I’m happy to announce that http://cronometer.com/ is up and running for beta testing. This is a web version of my popular diet tracking tool. The web version is now nearly identical in features to the stand-alone version. While it remains in beta, I can’t guarantee data won’t be lost or corrupted — but it’s been quite solid in testing so far.

Existing CRON-O-Meter users can import most of their data by going to the ‘Profiles’ tab of the web version and clicking the ‘Import Data’ button.

So check out my take on the most advanced free diet software for nutrition tracking and calorie counting!

Feb 17 / Aaron

Development Update

Well, I’ve been in a deep-coding mindset lately and a lot of progress has been made.  It’s a lot nicer looking than it used to be, and I’ve squished a lot of bugs. It has pretty much reached feature-parity with the stand-alone version. There’s still a fair bit of spit & polish needed, and further bug stomping to do. And most importantly, it still lacks an import tool for existing CRON-O-Meter users. Once I get through those bits, I’ll probably open up the site for beta testing (for any brave souls who like discovering bugs!).

Here’s a sneak peak at what it’s looking like today:

CRON-O-Meter Web App

I haven’t consulted with a graphics designer yet, so while it doesn’t look too ugly, there’s not a consistent color palette in use yet. Those pastel chart colors don’t go so well with the bold orange theme… I’d appreciate constructive feedback on the design.

Jan 23 / Aaron

Coding Blitz

I’ve been getting more time lately to muck around with personal projects. One of those is ‘finishing’ my web version of CRON-o-Meter.  Last week I finally got the food editor working. Now all that is left to bring it close to parity with the stand-alone version is the recipe system & editor.

I recently threw up a build onto Amazon’s new Elastic Beanstalk service to test it out. It worked quite fantastically well. The pricing for the MySQL instance is a little on the high side though (It looks like it would run close to $80/month just to sit there idle). It would still be a lot cheaper to rent a dedicated cloud server. But the simplicity of the Amazon solution is how it took virtually no configuration to get it all running and hosted. I’m impressed.

Today I got Facebook’s OAuth working, which means you can now log in using your facebook account, as an option. Surprisingly, their documentation was shit. It looked nice but it was repeatedly subtly wrong, and only intensive googling forums found the nips & tucks required to make it go.

Once the basics are all up and running, I’ll get a small private beta going. Longer term, I’ll have to see if it can be supported with ads, subscription fees, or a mix of both. That is, assuming there’s any sufficient interest in it. The market for web based diet sites is pretty crowded, so I’m pretty skeptical it can carve out much more than a small niche.

Jan 9 / Aaron

Back on track?

After moving to Ireland, I fell off CRON. I still managed to eat reasonably healthy, but a lot of factors in our lifestyle there made it difficult to count my calories. For one, my office provided free gourmet lunches every day. Being a life-nit, I could never pass up a free lunch, especially when it was such high quality deliciousness. While I tried to stick to the vegetarian and vegetable options, I’m pretty sure there was a lot of butter involved. The second factor was the frequent dinners out with friends and colleagues. We had  a very active social life there, which meant eating out quite a lot. And lastly, and probably the biggest contributor to extra calories, was the drink. Jahy-zus, there were many a pint of frosty lagers and ciders consumed in those four years.  I ended up coming back to Canada 30 pounds heavier than when I left.

Anyhow, I’m back now to preparing my own meals and living like a hermit with no friends, so I should have my calories reigned in on the old regime in no time. And to kick it all off, I’ve just pulled a steaming batch of mega muffins out of the oven — ahh that old familiar smell!

Besides diet, I’m also getting way more exercise than I’m used to. I’ve been out skiing quite frequently since my return and I don’t intend to stop!

Sep 15 / Aaron

The start of a new chapter…

Exactly four years ago today, we left for Dublin. Today we are moving back to Canada. How can I possibly summarize this chapter in my life? Quite an exciting chapter it has been. One of tremendous personal growth and experiences.

We did an incredible amount of traveling this past four years. A quick look at my pin-map of Europe shows we visited at least 13 countries while we were here. We visited London, Canterbury, Glasgow, Belfast, Paris, Lisbon, Barcelona, Amsterdam, Brussels, Prague, Berlin, Köln, Innsbruck, Rome, Malta, and Cyprus. And somehow in between all of that we managed to also squeeze in trips to Las Vegas, New York, and Hawaii, and several trips back to Canada. Wow. We need to buy some serious carbon offsets…

Speaking of which, Europe is sooo far ahead of North America in terms of sustainability. Small cars are normal, everyone uses public transit and there’s a great network of high speed rail. I paid a carbon tax on my natural gas, and alternative energy projects are widespread across Europe. The EU is on target to meet it’s Kyoto targets well in advance of the deadline. I feel ashamed at the current Canadian Government’s efforts in these areas, and downright embarassed at times. Canada has seemingly done nothing but regress while I’ve been away. Or perhaps it’s always been that way, and living over here has altered my perspective.

Career-wise, the past four years have been quite amazing.  The recruiter told me it was going to be like being strapped to a rocket. He wasn’t kidding. This is one of those cases where the old adage rings true; That which does not kill you makes you stronger. In coming here I had to learn a huge complex system under extreme deadlines and serveral doublings of the peak load. It’s never been a dull moment, and it’s been a treat to have hands-on experience building a sophisticated real-time system that has to support hundreds of thousands of players. The previous software I worked on supported a peak load of less than 500 concurrent players. This one can now handle over 200,000. I arrived as a meek programmer and leave as a battle-weary, but confident architect.

As proud of those engineering accomplishments, I’m even prouder of my team. At times we’ve been a band-of-brothers sharing our foxhole while being shelled by server crashes, attacks from hackers, or the friendly fire shelling of insane deadlines. Much of the time, we’ve just been a merry bunch of good friends who laugh at each other’s farts and toss around the frisbee on fair-weather days.  It’s been a treat serving with a bunch of top-guns.

Which brings me to the next highlight of the past four years…. all the friends!  I’ve never had such a ridiculously full and busy social life. Part of it is the Irish culture. It is a very social place and centers around the (rather unhealthy) activity of going to the pub. As well, relocating here with a large group of co-workers was a major shared experience to bond around. In many situations, it’s not normal to socialize with your co-workers that much outside of work. Everyone has their own social lives anyways. But since we were all freshly transplanted to Dublin at the same time, we were all cut off from our normal social spheres. Naturally we all gravitated towards hanging out and exploring together.

There’s just never been a dull moment, with most evenings out for dinners or off to the pub with folks, or wild weekend parties, bbqs, concerts, trips to the west coast for surfing, or group ski trips in Austria, and so on…  Every spare moment has been saturated with social activity. As typical anti-social computer geek, this has been pretty amazing, and at times overwhelming.

I’m gonna miss the hell out of ‘em all.

And what lies ahead, in this next chapter? Well, we’re moving to the Canadian Rockies. Christine’s going to be a ski instructor. I’m going to do some consulting, maybe tinker on some projects of my own, or maybe just ski the winter away and try a change of pace. Probably all three. The next chapter is still just a fuzzy idea, so  I guess it’s time to start writing…

Jun 5 / Aaron

Saturday Hackery Update

I spent a little time this afternoon chiseling away on the CoM GWT app. CRON-o-Meter has very basic support for tracking several different types of things for each day. Each type (Servings, Exercises, Biometrics, and Notes) are shown in a separate tab. I’ve always found this annoying as you have to tab between them just to see if there are any entries for each type.

I’m playing around with the idea of showing them all in the main diary table.  I had written all of the code to specifically use a Serving class, and so the first order of business was to refactor everything to use a more generic DiaryEntry class.

I’ve now got Measurements showing along side of Servings in the list, with all the plumbing to create, edit, and delete measurements in different units. It’s not the most exciting bit of coding as it is just a lot of grunt-work wiring up all the bits and pieces, but somebody’s gotta do it, so I guess that means me.

Notes will be next. I need a cute little post-it note icon. I don’t like that pencil.

GWT CoM showing multi-typed diary entries.