Technology
Python
07:40 AM -
permalink


xkcd on Python. My thoughts exactly through the lens of Django.
Back to Camp
01:12 PM -
permalink
After missing a few democamps to put in time on my own software I managed to make it to DemoCamp15 held at UofT's Hart House.

The Great Hall is a fabulous room though not necessarily the best for presentations due to it's length and hard reflective surfaces making it a bit of an echo chamber. The projectors weren't co-operating but David grabbed a beer, Joey grabbed an accordion and we were patiently placated whilst the presenters and techs worked to get the systems back online. Thanks to Greg for venue and bar set-up. Always a welcome addition.

Pete Forde wins the award for best demo as he had a straight-forward overview, got right to the meat of his product and skilfully handled the follow-up questions. If you're doing web development check out Jester for client side code with Rails like ActiveRecord conventions. It works with Rails out of the box but supports JSON and XML.

The demos went a bit downhill after that. If I may offer constructive criticism because I really do want everyone to make more successful products and demos.

Aceora: I didn't understand why I would pay $19.95 for a currency converter or $9.95 for a tax calculator that doesn't round to two decimal places when I can fire up my mobile web browser and use something as simple as Google or use the calculator that I've had on my last three cell phones. That aside, the demo should be more concise by going directly to the "what's the pain" or "why I made this" and "what's the solution" or "check out why this is cool". Also, set your resolution lower when using a cell phone emulator. I don't think most of the audience could see what you were demoing.

OMESH Networks: Powerpoint presentations aren't allowed. Thanks to Pete for speaking up. I know the room felt bad for telling Liang to stop the Powerpoint and move on to the demo but we really wanted to look at all the flashing lights and see the promise of true wireless Mesh networking. I'd really like to see a more rehearsed demo that demonstrates the value of good mesh networking which overcomes the inherent latency and bandwidth problems. Conceptually I understood what was going on but in its current forms it's not compelling.

Ogrant: I wasn't as captivated by the demo but I'm clearly not in the target market. The product looks good and the audience was intrigued based on the questions afterwards. Perhaps focus on the efficiency of the process from the applicants point of view or one particular cool feature that sets you apart from the competition. I wanted to be more engaged.

ConceptShare: I love ConceptShare's product, I just wanted a more rehearsed walkthough of the new product features. It seemed a bit off the cuff walking through what appeared to be a random selection of features from the new product. 50% of the room was new as well so quickly reviewing the process from the first demo might have helped. That said I'm sold enough to check out the product again. Can you work Beta into the demo next time?

After the break we had the Ignite presentations. I haven't seen an Ignite presentation before but I was impressed and entertained. I think I'll give the win to Michael Bolton for his incredible energy but I have to give a tie for second place to Andy Walker and Rick Segal. John MacRitchie comes in a very close third as he lost a few points for all the excessive text on the slides but he really stayed on track managing to delivery an incredible amount of information. My biggest pet peeve with slide based presentations is overuse of text. Andy really drove home the fact that the slides should be there to deliver the overall message but not re-state what you're saying. He told the story while the slides made me think about the ramifications.

In the end it's easy to be an armchair quarterback and so I would like to thank the presenters for their courage to show their work and look forward to being on stage in the hopefully near future. Thanks to all the organizers and sponsors for doing such a great job as usual!

David is asking for feedback.

My submitted suggestions:
- test laptop projector compatibility ahead of time
- device demos should have a proper macro camera set-up or a clearly visible emulator
- can we vet presentations to ensure there will actually be a demo and that the presentation will be of a high quality?


Genius!
11:26 PM -
permalink
Previously I have had serviced performed on my laptop at Carbon Computing but recently I decided to try out the Apple store Genius Bar when I suspected a battery problem on my MacBook Pro. I've had the machine less than a year but the battery was already down to less than an hour charge and the meter was incorrectly estimating the time left. This after applying a recent battery firmware update and reading an advisory that suggested my battery may need replacing.

I signed up the previous day online, arrived at the Apple store at the Eaton Centre the next morning and saw my name up on the board in slot number two. I took a seat at the bar with my Tim Hortons morning coffee and waited only a short period before the next Genius Jorge helped me out.

After explaining the problem, showing Jorge the advisory and my System Profiler power details he determined that my full charge capacity was rather low (<3500 mAh) for the age of my battery considering I only had 118 charge cycles. He quickly updated my registration information, swapped out the battery with a new one and provided some helpful initial calibration advice before I was on my way.

This is how computer service should be. Thank you Apple and thank you Jorge!

HTML and CSS Contract
12:10 AM -
permalink
A Toronto web design firm (not mine) is looking for an HTML CSS freelancer for a one week contract position at approximately $40/hour starting ideally starting this Monday February 26, 2007.

Please contact me if you've got the skills and are interested.
WiFi Cell Phone
11:20 PM -
permalink


After playing with Asterisk and the extremely easy to use Asterisk @ Home I'm now thinking of all the wonderful possibilities of VoIP. WiFi cellular hybrid phones are now coming to market and it would be wonderful to piggyback on open WiFi networks instead of cellular network. Unfortunately I see two problems. 1. You can't pass a call between a cellular carrier and your internal PBX. 2. Firewalls. Unless it's your own WiFi set-up or a trusted source chances are it's not going to let a SIP connection through.
Demo Camp 5.0
01:40 PM -
permalink
Just a reminder that DemoCamp 5.0 is tomorrow night at the Bahen Centre for Information (University of Toronto) (Google map) from 6:30PM to 8:00PM.

They're still looking for suggestions on after session drinks and food. I'm looking forward to Chris Nolan's overview of RJS templating and I believe Sutha Kamal or another representative will be demoing the latest from Ambient Vector among other presentations.
Asterisk and Unlimitel
09:30 AM -
permalink
For months and months we have been using Primus at the office with the intenet that we would go with a more professional phone set-up including a digital receptionist, extensions and personal voicemail. Having a single line is hardly professional but the alternatives were a little pricier than we wanted to pay. I had heard of all these great savings with VoIP but they tend to be a single line set-up with common voicemail, helpful at home but not at the office. Other companies we talked to had fancy VoIP/Internet Telephony options but at steep per employee, per month prices.

I started to research Asterisk again as we had an older PC kicking around to use and I quickly found out about DID lines and how we could utilize them. What I wasn't clear about was whether one DID line meant one phone call or whether you could have simultaneous phone calls. Several DID suppliers suggested that I get multiple DID numbers and they could configure rollover at an extra charge. Not bad, but I'd rather have more control over the options. So I installed Asterisk@Home with no problems and started searching for a DID supplier.

After searching on the Toronto Asterisk User Group mailing archives I came across Unlimitel. They offer Canadian exchange DIDs in Southern Ontario, Ottawa and Montreal at $2.50 per month, 1.1 cents per minute within their calling areas or 4.4 cents per minute anywhere else in Canada and the U.S.

But the service is what I'm writing about. Stephan Monette at Unlimitel was extremely helpful in setting up the system and even went so far as to log into my Asterisk box and help configure it when after following their helpful set-up instructions for Asterisk@Home I made a typo and could receive incoming calls.

Thanks Stephan, we're looking forward to using the system!
Bugmes
10:20 PM -
permalink
When I'm eating my own code dogfood I frequently stumble across needless architecture that slows me down and frustrates me to no end, but I don't have the time re-engineer it right away. The problem is that I need to write down my thoughts about the particular situation that the frustration occured in so later when I'm refactoring I can remember all the issues I need to address and distill them into programming tasks.

So I started a new wiki page on our intranet called bugmes. It's a nice centralized notepad for the users and developers in house to get their gripes out.
DemoCamp 2.0 - Thanks for coming!
12:55 AM -
permalink
Thanks to everyone for coming out to DemoCamp 2.0. I managed to snap some photos though my camera's flash doens't quite light up the room as much as I would like.

I'll update the Wiki with my notes when I have some time.


Demo Camp 2.0 Today
10:00 AM -
permalink
Just a reminder that Demo Camp 2.0 happens tonight at the Radiant Core Inc. offices. Be sure check out the map to find your way. We've got over 60 people coming tonight so it will make for very cozy presentations. See you then!

Bubble Labs Demo Camp
12:30 AM -
permalink
Thanks to Albert Lai and Chris Sukornyk of Bubble Labs for opening the office and hosting a TorCamp DemoCamp session.

I think demos, no matter what stage the product is at, gets everyone recharged and excited to create.
Check out...
BubbleShare
Ambient Vector
Eh List?
R-Mail


TorCamp
11:30 PM -
permalink
David Crow is organizing TorCamp, the Toronto installment of BarCamp to be held the evening of November 25th and all day on the 26th.

I've recently remarked that there doesn't seem to be a great face to face web group in the city even though there is a large web development community in Toronto.

Thanks David, should be fun!
Bake in the BitTorent
12:15 AM -
permalink
Unlike a broadcast medium the price of popularity on the web does not scale very well. Popularity and the cost of bandwidth go hand in hand. A popular podcast by a small or independent content creator can have serious financial repercussions as word spreads and downloads increase. I'm sure anyone who has encountered the Slashdot effect will concur that being popular has hits drawbacks.

Bulging bandwidth costs is what BitTorrent was originally designed to alleviate. By distributing content across multiple dynamic servers bandwidth costs are shared by those who are consuming the content and a temporary community sprouts up for each new piece of content made public using the BitTorrent format.

At the moment, BitTorrent is on the slightly more advanced side of web browsing. In many cases the user must understand that they have to download a BitTorrent client in order to receive the content or in many cases help the producer with their bandwidth concerns. At the technical level, a BitTorrent file is essentially treated as a separate MIME type (application/x-bittorrent). This helps the web browser associate BitTorrent files with the BitTorrent client.

I would argue that BitTorrent, while technically an application, can also be viewed as a transport mechanism on top of HTTP. The HTTP 1.1 specification, section 14.3 provides for various types of encodings when delivering content. By providing an encoding type of "bittorrent" an HTTP client could indicate that it supports the BitTorrent natively and provide bandwidth savings seamlessly for the user much like the current gzip encoding provided in most web browsers.

Now, we can argue semantics and say that technically BitTorrent is not an encoding scheme. This may be technically true however without modifying the HTTP specification it's a nice way to embed BitTorrent such that the transfer is virtually seamless. The server transfers the necessary torrent information and the client procures the transfer as a standard BitTorrent download. But why not just have the client detect the application/x-bittorrent MIME type? Unfortunately there's no way for the server to know if the client can handle the BitTorrent MIME type. The Accept-Encoding header lets the client tell the server what it can support and the file is served up appropriately.

There was some support behind the idea of baked in BitTorent on the server side with mod_torrent but the project has been suspended due to lack of time. This echos my current situation in that I don't have the time at the moment to implement such a technique but I'm interested in what's possible.

I know that the podcasting community is grappling with bandwidth issues and that BitTorrent has been mentioned a few times. I'm curious what other's thoughts are.