Greg MacLellan

April 19, 2006

Expensive Speaker Cable

Filed under: Asides,General,Reviews — groogs @ 1:31 pm

Something that’s bugged me for a long time, and that I’ve been meaning to blog about, is overpriced speaker wire. I found an article someone had linked to in a thread about a certain brand of cables, and it really exactly echos what I wanted to say anyways. This particular piece is a review from 1983, but certainly still valid: Stereo review dares to tell the truth. The rest of the page is also very good, so have a read through. Fair warning: if you paid a signifigant chunk of change for your cables, you may not want to read this review. After all, ignorance is bliss.

April 18, 2006

CodeIgniter

Filed under: Code,General,Reviews — groogs @ 8:13 pm

I’ve been playing with a sweet PHP framework called CodeIgniter, and I have to say: I love it. It uses the MVC pattern, which I’ve never much cared for, but does it in a nice way: by staying out of the way. The models are incredibly basic, and really, you don’t even need them. The views are PHP templates done the way PHP templates should be done; with PHP.

Something many frameworks miss: the documentation is amazing. There is a great tutorial video on their website, and after watching it, many people say they’re hooked. The user guide is even better: well laid out, and it even has a slick interface and look that makes it pleasurful to use. What’s missing is pure API documentation, but there is a reference (that I now have printed and posted just above my desk) and most of the calls are outlined in the manual.

Unlike many other frameworks, it doesn’t impose any strict methods of doing anything. You have a controller that is a class with a bunch of functions. There are ‘helpers’, ‘libraries’, ‘plugins’, that all have a common way of loading ( $this->load->library(‘session’); for example). These can be core libraries, or application-specific (installed in the application/ folder). The directory layout is very intuitive, and it can all go underneath an HTTP root folder (not requiring certain files inside/outside of a web-accessable folder — double plus for people using shared hosting with open_basedir restrictions).

I started experimenting with it for the second version of web interface I’m writing, and I actually decided to port another application I had 75% done to it. It’s still in-progress as I write some user authentication routines, and I decided to write a “SuperModel” class (yeah, kind of dumb name) that builds forms and validates them – because I hate manually building forms.

If you’re a PHP developer, I highly recommend checking this framework out. It’s only been around publically for a couple months and has been aparently downloaded over 5000 times, and has a growing and active community in the forums.

April 13, 2006

The Hockey Monkey

Filed under: Asides,General — groogs @ 10:47 pm

I was sitting here watching TV, and this amazingly great song (video link) came on as the theme song to some show called The Loop. If you haven’t before, check out The Zambonis!

April 12, 2006

VoIP over VPN improves call quality

Filed under: General,Telephony — groogs @ 10:51 am

I came across an interesting article showing that running VoIP over a (TCP-based) VPN actually improves call quality. This goes against what you would expect – VoIP traffic uses UDP to ensure the least amount of latency, while TCP ensures all packets arrive in order, but means that one holdup can stall the whole stream.

Once they investigated more, it actually makes sense why this happens. The VPN ensures that all packets get there, in order, which yields a better call. What is needed for this is enough burst bandwidth so if a packet is delayed, there is enough headroom to ‘catch up’ to the stream (detect the error, and retransmit enough data to fill the gap). A 64kbps VoIP call takes up about 80kbps when encapsulated in a VPN. Having a 100kbps connection isn’t quite enough, but in the tests 500kbps was enough to improve quality (see the chart). The flipside to this is that on a bad network, nothing helps, which really just seems obvious.

The interesting implication of this is that it’s actually another reason to deploy VPNs to remote workers. Not only is the call now encrypted (something many VoIP protocols don’t do) with proven SSL technology, but it actually helps the quality, provided they have a half-decent connection to begin with.

The other point here is that it’s actually okay to overprovision as long as you have enough burst bandwidth. For example, if you have a 2Mbps pipe, and are serving 12 users from it, they consume just under 1Mbps total. That leaves another 1Mbps for burst capability if any of the streams get left behind, and 12 times more than any single connection requires. (This is of course assuming no other traffic is flowing on the VPN, so adjust numbers accordingly if the VPN is used for browsing, file transfers, etc).

I’d like to see a test done using OpenVPN (they only used commercial VPN products), but it’s clear that it’s a good idea to add SSL. It’ll be interesting to see where this heads: if SIP phone manufacturers will start adding VPN clients or even just SSL transports to encapsulate the SIP traffic. Perhaps even a new TCP-based protocol will be thought up.
digg story

April 9, 2006

del.icio.us

Filed under: General — groogs @ 11:09 am

I just thought I’d post something about this great service that I realize has now become one of those vital pieces of my internet world. Del.icio.us is basically an online bookmarking service that lets you “tag” sites with keywords. You can then browse your tagged sites by tag or multiplte tags. It has completely replaced my browsers built-in bookmarking feature.

I used to have a fairly large collection of bookmarks, and it was always a pain to keep organized. I also had a different set of bookmarks on my laptop vs my home PC and office PC. With del.icio.us, organizing is built-in – it just depends on the tag you use – and I can tag and access everything from any browser.

Del.icio.us really bills itself as a ‘social bookmarking’ service, but to be honest I don’t really take advantage of that very much. Basically it will show you “saved by x other people” for all items, and by default your page is public. There are also pages to show you what’s popular and recently tagged.

I highly recommend using this del.icio.us plugin for Firefox, as it adds some handy tagging features to the browser interface that make it really easy to use.

This is one of those services that once you start using, you’ll wonder how you ever got by without it.