My ZazeenTV Experience

In an effort to reduce my cable tv bill to almost nothing, I decided to try out Zazeen TV’s IPTV service. They are offering their skinny basic tv package for $10/month (compared to $25/month the other cable companies are charging), and it included all of the ‘regular’ channels you’d expect to get, outside of sports and movies. The other benefit is with their basic package, you don’t have to also subscribe to their internet package, so I was able to continue using Rogers while I evaluated their service. It also meant that I could keep my free Rogers Gamecentre subscription so I wouldn’t lose out on watching hockey.

Once I subscribed, the set top box arrived in about 4 days. I plugged it in to my router and TV and powered it up. After a quick boot-up I was watching TV over my internet connection for only $10! I was pretty impressed with the technology until I started flipping between channels. Some looked and sounded great (like I was used to with Rogers) but others had visual artifacts and sounded like I was listening to a Skype call circa 2005 (like everyone was underwater).

Since most shows I’d want to watch were all streaming fine I thought I’d be able to live with it. I decided to try out the PVR functionality. It was as easy as plugging in a USB hard drive, rebooting the box and it was ready to start recording. I recorded a couple of shows, and it performed pretty much how you’d expect: recorded the show, played back normally.

In the end though, I ended up sending the box back and cancelling the service. The set top box itself was a bit flakey; it would occasionally just play static out of my speakers and would only stop if I rebooted it or it would reboot itself. This is a problem if you’re recording a show on another channel and your recording just stops because the box goes wonky. Also, the internet here can be a bit flakey as well, and while watching tv a couple of evenings it would just cut out and stop working, while my Rogers TV box kept working.

It’s those couple of things that make it seem like ZazeenTV just isn’t quite ready for heavy TV watchers. While reading through their user forums I came across a lot of posts where people referred to watching TV as something they do once in a while. So for the time being, I’m going to stick it out with over priced cable, and hope someone else starts up a reasonably priced live TV streaming service with higher quality service. Maybe something that works as an AppleTV app so I don’t need a separate box? That would be nice.


Site Update: Instagram

I just published a new update to the site: Instagram posts. In-between regular posts you should now see my Instagram posts that correspond to the date range between the blog posts that they are physically between. I implemented horizontal scrolling if there are more than a page-width’s worth of photos (either swipe with your thumb on your phone or track pad, OR click on the arrow to scroll).


Revival Of The Blog

Hi All!

It has been well over 3 years since my last post. I was doing alright with my 1 post a week rule up until the summer of 2012 when I guess I just gave up. It probably didn’t help that I started including tweets in my blog at some point. I felt like tweeting was a cheap and easy way to add content to the site, but it probably just made me lazy.

I decided recently that I needed to revive this thing, freshen up the look, and to give it some cool features to display what I can do and what I’m all about. So over the next little while, ontop of making regular posts, I’ll be adding some interactive features into this blog that you hopefully can’t find anywhere else, just to distinguish myself a little.

Other than the colour scheme change, and the jQuery type-along header, I’ve made some changes under the hood. The page was designed for mobile first, so if you inspect the source you’ll see some css media queries in there. I converted the MySQL database to MongoDB and it is hosted with mLab (formerly MongoLab). My website is hosted on a Linode virtual server (click that link to use my referral code should you decide to use them), and the website is written, as it always has been, in PHP. I’ll be re-working my editing tools in AngularJS, and I’ll probably do the same for the homepage at some point. I also implemented tagging and better permalink urls for individual blog posts based on the title (click a post title and then look at the URL to see what I mean).

Feature wise, I’m currently working on including my Instagram posts into the feed in some creative way. And I’ll be doing the same with my Twitter posts again as well.

This is probably a good start for now. I’ll do my best to keep on myself to regularly update the site, both with posts and features. I’m working on a lot of different projects at the moment, so I should have plenty of content to keep this place alive.


403 Forbidden pt2: SymLinks Don’t Work After OS X 10.8 Upgrade

Continuing with my Apache woes from 3 months ago, I recently noticed a SymLink I had in my Sites directory was giving a 403 Forbidden error when I tried to browse into it.

Assuming it was yet another thing that got reset with the upgrade, I googled ‘apache follow symlink os x’ and stumbled across this great article Mac OS X, Web Sharing / Apache, and Symlinks.

I followed the first suggestion (adding FollowSymLinks to the username.conf file), restarted apache and I’m able to browse into the SymLink now.


Does RIM *REALLY* Have A Shot At #3?


“We have a clear shot at being the No. 3 platform in the market. Carriers want other platforms. And we’re not just another open platform running on another system. We’re BlackBerry.”

I’ve been seeing this quote around the web a lot today, and it got me thinking… does RIM really have a shot at #3?

My opinion is NO. Carriers may want other platforms, but at this point do any of the smartphone users?

And, yes, having the BlackBerry brand does carry some weight, but so does the Microsoft brand… and at this point, I think Microsoft has a way better chance with their Windows 8 phones than BlackBerry does with BB10.

After trying out BB10 on my Dev Alpha device, I don’t see anything extremely compelling about the OS, other than the fact that it’s NOT BB7.


403 Forbidden: Web Sharing Stopped Working After OS X 10.8 Upgrade

Like a kid on Christmas, I was very excited to get up this morning. Not for presents mind you, but for the release of the OS X 10.8 Mountain Lion upgrade.

I wasted no time buying, downloading and installing the upgrade. Everything seemed to go well and within 45 minutes the download and upgrade had completed. Everything seemed to work except for my local webserver which was returning a 403 Forbidden error when attempting to view any webpage under my http://localhost/~john/ web directory.

After some investigation and reading through countless ‘setup apache on Mac OS X’ articles, I found out that the john.conf file was missing from the /etc/apache2/users directory. For anyone who is having the same issue, follow the instructions below to restore it:

1) Open (Can be found in the Utilities folder of your Applications folder)
2) Navigate to the /etc/apache2/users directory.

Use: cd /etc/apache2/users

3) From here, I had a Guest.conf file, but no john.conf file, so I just copied the Guest.conf file and named it john.conf (note: you’ll need your admin password to copy the file)

Use: sudo cp Guest.conf username.conf

You’ll need to change the ‘username‘ part of username.conf to be the same as your username on your mac. This is also the same name as your user folder in the /Users folder at the root of your harddrive

4) Open the new .conf file you made.

Use: sudo nano username.conf (again, replace username.conf with the name of your file)

5) Change ‘Guest’ in the <Directory “…”> tag to your username
6) Press CTRL+x to Exit, and then Y to save changes.
7) Restart the apache server using the following command

Use: sudo apachectl restart

At this point, you should be able to browse your web pages that exist in your /Sites folder of your user directory.

Other webserver extensions may have been removed or disabled by the upgrade. One thing that I had to re-enable was PHP, which I was able to do by following Step 2 on this site.


How Quickly A Year Goes By

It is hard to believe that 1 year ago today I submitted the incorporation papers for 84 North Studios Inc. I want to be able to say that a lot has happened since then, but it doesn’t exactly feel that way. I fell just short of my goal to have 1 app in each major app store by year’s end… my iOS app is still in development and still has quite a bit of time to go until it’ll be ready.

However, I think this next year will be much more productive and will be filled with many more accomplishments. Over the last few months I have been feeling a lot more motivated than I was in the first couple of months since quitting my full time job last year. I think I was in a partial vacation mode, which finally wore off sometime around this April. Also, this second year is starting off with 2 web apps that are more than half-way done, so I’ve got a bit of a good head start.

My main goal for this year is to not only complete the iOS app I had hoped to finish in year 1, but also to release a console game. Microsoft has a pretty cool program for independent developers to release downloadable games on XBOX Live. And since it is part of my Windows Phone developer account, I think I’ll take advantage of the opportunity.


Overdue Status Update

I took the last couple of weeks off from writing posts here, but I made up for it by writing a ton of code. Over the last 2-3 weeks I finished 2 projects and started another.

The first project I finished was Mongoose Loves Mangoes for Windows Phone 7. It was finally released on June 2nd, and it has since racked up around 7000 downloads. It is probably more by now, but the download reports don’t seem to be up-to-the-minute accurate. I hope to port it to iOS before the end of the year, then I’ll have a pretty good comparison between the two platforms as far as advertising revenue and downloads go.

The second project I finished also happened to be my second foray into Facebook apps: The Monkeys & Elephants Stock Announcer Facebook app. But Facebook apps have changed a whole lot since that first one I wrote. So I pretty much was starting from scratch. But now that I’ve got that under my belt I’m pretty well prepared for my next two projects which will also be Facebook apps.

The project I’m working on now I’m trying to keep somewhat quiet, just because I don’t want to put the idea out on the internet for someone else to see, realize how awesome it will be and then somehow build it faster than me. One thing I will say though is I finally found a reason to start using Parse. It is a pretty amazing app platform that gives you a datastore, push, geolocation and other useful services for iOS, Android and Javascript (which is how I’m using it right now). It requires you to be online, but the app I’m working on requires connectivity anyways, so it isn’t an issue. I’ve been able to prototype my app in just a couple of hours thanks to Parse, which is how I found the time to finally make this post!

So yeah, I should hopefully have this project in a usable, minimum viable product ‘state’ within a week or so, so I should be able to get some people to start using it. Then it is on to my NEXT Facebook app project which I think I am the MOST excited about. But I’ll talk more on that later.


Household Projects

I’m not sure what snapped in my head recently, but since I moved from my last rented townhouse to this new one I’ve been wanting to just ‘do’ things to the place. Being a rental property, I can’t (and don’t really want to) do anything too permanent, but I’ve got a couple DIY projects that I’m pretty excited about.

The first little project I gave myself is to install some outdoor speakers on the patio. I’m going to run the wiring through the same hole the satellite cable is running through (so I don’t have to drill any holes). I’ve already ordered the wire and speakers, researched the ‘Zone 2’ feature of my receiver and measured everything out. Just waiting on the UPS truck to bring the stuff I ordered so I can get started.

In the process of getting some supplies for this project, I found myself at Home Depot for the first time under my own volition. And it was probably the first time I enjoyed being there. I used to get dragged there by my dad whenever he needed something. It is a completely different experience when you actually WANT to be there. I found myself actually caring where stuff was, and I started trying to memorize the aisles. I think once I actually own a place I’ll find myself making weekly trips there just for fun to find something (or anything) to do to add to the place.

The second project I have is to revive my Asterisk server and Linksys SPA3102 VOIP Gateway. We never had a home phone setup in the last place, since we’ve all got cell phones so I never had much use for it. But this new place has a door and garage intercom with activating servos connected to the phone line. So instead of having to install phones in the wall all around the house to answer the door, I’m going to get Asterisk to ring my cell phone whenever someone is at the door! I’m particularly excited about this one, and I’m actually only writing this post right now because I’m babysitting a Linux install on my old G4 Mac Mini (that I’ve been holding onto in hopes it would one day come in handy again). Since its a PowerPC machine I’m installing Yellow Dog Linux 6.2 It looks like its not being maintained much anymore (last version was released June 2009), and I’m struggling to find some decent instructions on how to actually install Asterisk on it. So I may have an uphill battle on my hands here.


This Week’s Frustration: Windows Phone 7 Live Tiles

I just spent the better part of the morning trying to update a Live Tile’s Background and BackBackground image in WP7.

The reason it took more than the 5 minutes it should have taken is because most people who paste code on development blogs put too much weight into their assumptions about what other people may or may not know. In my case, the omission was with visual studio file/asset properties. The following piece of code was supposed to ‘just work’:

ShellTile appTile = ShellTile.ActiveTiles.First();

if (appTile != null)

StandardTileData standardTile = new StandardTileData

Title = “Title”,
BackgroundImage = new Uri(“livetilefront.png”, UriKind.Relative),
BackTitle = ” “,
BackBackgroundImage = new Uri(“livetileback.png”, UriKind.Relative),
BackContent = “”




However, the author failed to mention that you need specific properties on the livetilefront.png and livetileback.png images otherwise they won’t be displayed. Those properties are:

Build Action: Content
Copy to Output Directory: Copy always (‘Copy if newer’ should suffice as well).

Without these settings, the images were not being copied into the XAP file, and as such were not showing on the Live Tile. Now, I’ve been reading some articles that suggest that the ‘copy to output directory’ shouldn’t have affected the content in the xap file, which is what I originally though as well (which is why it took me so long to solve this problem). So unless there is something wrong with my Visual Studio environment, this is the way things need to be.

Note: The PhoneGameThumb.png file does not have ‘Copy always’ set and yet it appears in the output directory. So I’m not sure what is going on here, but I’m just glad everything is working now. I’ll save the investigation for some other time.