Programming Language Potpourri
on Fri, May 06, 2016 at 11:22am via Blog by John Caruso

At one point this morning I was thinking about what subject to tackle next and I started thinking about all of the different programming languages that I'm currently, actively, writing in at the moment between all of my contract and personal projects. It was getting a little scary when I realized there were about 6 different languages that I write in on an almost daily basis at my contract job, and another 2 that I kind of hack around with at home.

Contract #1

HTML5 Apps
- Javascript using the Sencha Touch and EXTJS framework
- Java for custom native Cordova plugins on Android
- Objective-C and Swift for custom native Cordova plugins on iOS

Main Web app and Webservices
- C# for latest main application and mobile REST services
- VB for previous main application still supported by the client
- Java for a custom web service for solving routing problems using jsprit
- TSQL for database stored procedures

Contract #2
- PHP for dynamic web pages
- Javacript for the usual cool site interaction stuff

84 North Studios Projects
- Python using bottlepy for the site

And a bunch of other things using a combination of all of the languages already mentioned

That list ended up being bigger than I thought it was going to be when I first started writing this post. I had to go back and update the language count in the first paragraph a couple of times.

Listing all those out has started to worry me a bit about how well I actually know those languages. The doubt started creeping in yesterday when I stumbled on Standard JS Style and read through a couple of links. Mainly the part about not using semicolons to terminate a line. I knew they weren't required, but I didn't know why or in what situations you'd need to either make exceptions or handle the fact that the js interpreter might get confused (like starting a line with [ ( and some other chars). I've since done the requisite reading and now have the knowledge, but that just leads me to think what else don't I know that I DON'T KNOW? I think I need to start trying to just buckle down and specialize in one or two of these areas that I use a lot and just learn all there is to know. I'm leaning towards javascript, and maybe even dumping PHP in favour of nodejs since I've been wanting to use it for a project lately but don't know for what yet.
phppythonjavac#vbtsqljavascriptobjective-cswiftprogramming languagenodejsbottlepysencha
Ok Seriously, I'm Back For REAL This Time...
on Fri, May 06, 2016 at 10:47am via Blog by John Caruso

So my last post was well over a month ago, not quite fulfilling the promise of having an active blog. But life has been busy since my fiancée and I bought a house. And now between trying to find 'stuff' to fill it with and getting all our paperwork in order, there just hasn't been much free time to just sit and write.

So I've learned over the last month that adulting is hard, but I'm getting used to it and now I'll have one more thing to write about here. Maybe this development-leaning blog will turn into a home improvement blog at some point?
My ZazeenTV Experience
on Sat, Apr 02, 2016 at 02:55pm via Blog by John Caruso

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
on Mon, Mar 28, 2016 at 07:02pm via Blog by John Caruso

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).
site updateinstagram
Revival Of The Blog
on Fri, Mar 25, 2016 at 12:37pm via Blog by John Caruso

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.

Get Hosting With