Categories
Uncategorized

RubyFringe Guide: Active Surplus, a.k.a. Hardware Nerdvana

Joey\'s Unofficial Ruby Fringe Guide to Toronto - Small logoWelcome to installment number seven of Joey’s Unofficial RubyFringe Guide to Toronto, my guide to Accordion City for attendees of the RubyFringe conference or for anyone who’s wondering about interesting stuff in Toronto.

The previous articles in this series are:

  1. Where Did All the Cigarettes Go?
  2. Getting from the Airport to the Hotel
  3. Boozin’ in Accordion City
  4. The Lay of the Land, Part 1
  5. FAILCamp
  6. The Best Damn Cookie in Town

This article will cover Active Surplus, a long-time resident of Queen Street West and a surplus electronics-and-gear store like no other. It’s a short walk away from the Metropolitan Hotel and well worth a visit.

If you’re a mad scientist, electronic hobbyist, artist, looking to get your stereo hooked up or even getting stuff for your wedding, I recommend taking a look around Active Surplus on a regular basis. A fixture of Queen Street West since my high-school days (the early 1980s!), Active Surplus is a warehouse filled with bins of all sorts of gadgets, gears, cables, adapters, speakers and all sorts of electronic and mechanical stuff that you’re just not going to find at Best Buy or Radio Shack, especially at their prices.

Active Surplus is located at 347 Queen Street Westhere’s a Google Map showing you the way there from the Metropolitan Hotel.

Here’s what it looks like once you climb up the stairs leading into the store:

They’ve got all sorts of cables: audio, video, computer…

…and there are power strips and extension cords aplenty, all going dirt cheap:

They’ve got a row of interface peripherals — mice, trackpads and keyboards, including this water-resistant flexible USB keyboard:

…and there are all sorts of electric motors and pumps, from those for small aquariums to those for light industrial purposes:

You can unleash your inner security officer with one of these surveillance cameras:

Or perhaps it’s your inner meter maid you want to unleash with these assemblies from decomissioned electronic parking meters:

They’ve got a section of bin devoted to digital camera and card goodies. They’ve got all kind of card readers going for very low prices:

If RubyFringe turns into that kind of party, you’ll know where to buy electric trimmers:

Active Surplus has a good stock of pens, for those of you who like taking notes by hand:

They have a few bins of sunglasses as well as 3-D glasses:

Need to cordon off an area so that you can do CSI-style investigations? They’ve got police barrier tape:

They have a seemingly endless supply of stickers and adhesive-backed mini-mirrors:

I have no idea what this glass thing was originally for (bedpan?), but I’m sure all of you who listen to jam bands saw this and thought “bong!”:

Here’s a portable toilet, suitable for camping. I love that they felt it was necessary to say that you’re not supposed to try the in the store:

And last but not least, they’ve got “Baby Legs”, which are described as “young padawan parts, thanks to Darth Vader.”

Categories
Uncategorized

RubyFringe Guide: Best Damn Cookie in Town


Photo courtesy of SpotlightToronto.com.

Joey\'s Unofficial Ruby Fringe Guide to Toronto - Small logoThis is the sixth installment of Joey’s Unofficial RubyFringe Guide to Toronto, my guide to Accordion City for attendees of the RubyFringe conference as well as people just curious about this place.

In case you missed the earlier articles in this series, they are…

  1. Where Did All the Cigarettes Go?
  2. Getting from the Airport to the Hotel
  3. Boozin’ in Accordion City
  4. The Lay of the Land, Part 1
  5. FAILCamp

In this article, I’m going to talk about a little detour you might want to make for an extremely delicious cookie (and other snacks).


If you’ve ever gone walking around Paris looking for a quick bite to eat, Le Gourmand will give you a sense of deja vu. It’s a cafe that doubles as a somewhat pricey mini-grocery that carries gourmet food. They make excellent coffee and hot chocolate (you even get a choice of two of French chocolate mixes), delicious sandwiches, a nice bowl of steel-cut oatmeal with fruit, but most importantly, cookies to die for. Hell, they’re cookies to kill for.

The chocolate chip cookie (pictured at the top of this article) is a nice and large, which makes it crispy at the edges and soft and chewy in the center. The dough is rich, flavourful and packed with very good chocolate chips. I might actually keep my bike right by the conference to do a cookie run during the mid-afternoon lull.


Photo courtesy of SpotlightToronto.com.

If brownies are more your speed, Le Gourmand also has the Nookie Cookie, which is a brownie-like drop cookie dusted in icing sugar. It’s enough to make Dr. Atkins spin in his grave, but it’s throwing off your low-carb regime for this treat. Pair this with one of their black coffees, and you’ve got a nice civilised mid-afternoon snack.

The nearest Le Gourmand branch is at 152 Spadina, a little under a block south of Queen Street, not far from the Unspace office. Here’s a Google Map showing the way to Le Gourmand from the Metropolitan Hotel.

If you’re going to exploring around town beyond the general area of RubyFringe, there’s another branch of Le Gourmand at 20 Bloor Street East, just east of Yonge. If you’re going to be looking around the Yorkville area of town, be sure to pass by.

Categories
Uncategorized

RubyFringe Guide: FAILCamp (Friday, July 18 – 4 to 7 p.m. at The Rhino)

Joey\'s Unofficial Ruby Fringe Guide to Toronto - Small logoWelcome to the fifth installment of Joey’s Unofficial RubyFringe Guide to Toronto, my guide to Accordion City for attendees of the RubyFringe conference as well as people just curious about this place.

In case you missed the earlier articles in this series, I’ll list them here:

  1. Where Did All the Cigarettes Go?
  2. Getting from the Airport to the Hotel
  3. Boozin’ in Accordion City
  4. The Lay of the Land, Part 1

In this article, I’m going to cover FAILCamp.


The first event of RubyFringe is the only one that’s open to anyone, whether or not they’re attending the conference itself. It’s FAILCamp, a gathering where we’ll share stories about and lessons from failure. It will take place at The Rhino Bar and Grill (1249 Queen Street West, just west of Dufferin) and runs from 4:00 p.m. to 7:00 p.m.. Once again, you don’t have to be a RubyFringe attendee to catch this one. Admission is free, but you’ll have to buy your own beer.

Here’s a quick description of the event, as written by its originators, Amy “Slash7” Hoy and Thomas “Scriptaculous” Fuchs:

We believe that it’s time to give our personal fail some tough love and talk it out over beer!

Join us for a brief, rousing introduction followed by camaraderie, beer, and show-and-tell. We’ll present a little about failure through the ages, mining your personal suck, maybe some science, pithy quotes from people you may or may not respect, and share some failure stories of our own.

Then it’ll be your turn. If all goes to plan, you may even win in our friendly “race to the bottom” for the most public, most expensive, or most ridiculous Story of Fail.

I believe that the original plan was for Amy and Thomas to host the event as a dry run for a much larger FAILCamp event taking place on the 26th in Philadelphia. Circumstances have arisen and they will be unable to make it to Accordion City this weekend. While this fits with the theme of FAILCamp, it hasn’t stopped it — instead, two new hosts have stepped up to fill in for them:

  • Hampton “HAML” Catlin, who very well might be the best Ruby hacker in town, and
  • Yours Truly, who very well might be the worst Ruby hacker in town.

Hampton’s going to provide a lot of insight and programming know-how to FAILCamp. Me? I’m going to be responsible for innuendo-laden stories of personal and professional failure peppered with gratuitous Zardoz references.

As for the Rhino itself, it is truly pub with a “neighbourhoody” feel. Where many places are content to be mere endpoints in the Anheuser-Busch/Molson-Coors supply chain, the Rhino is what some sociologists call a “third place”, a neighbourhood gathering point for all kinds of people, from the locals who’ve been in the Parkdale area since it was a more rough-and-tumble place to the artsy and musician types who moved into the neighbourhood to the geeks who use it as the venue for the monthly Rails Pub Nites and Ajax Pub Nites. Even though the neighbourhood is gentrifying in a manner similar to New York’s Lower East Side or certain parts of Brooklyn, The Rhino has managed to remain pretty much douchebag-free and inexpensive, unlike a number of the other pubs in the area.

The only way in which The Rhino gets fancy is with their beer menu. There are about 200 beers on the menu hailing from a few dozen countries, and they’re generally well-stocked and priced in the 5 to 7 dollar per pint/bottle range. Be sure to try the locals: their own lager, as well as Mill Street, Wellington and Creemore Springs.

Categories
Uncategorized

Even the X-Men Use Twitter

Warren Ellis has taken over writing for the Astonishing X-Men comic with issue #25, and big net-head that he is, page 1 opens with a tweet by Hisako, who’s fretting over her codename, “Armor”:

For those of you who’d like to see the tweet in context, here’s the page on which it appears:

Categories
Uncategorized

Damian Conway Tonight!

Damian Conway - July 16, 2008

Damian Conway, Perl expert extraordinaire, Open Source luminary and long-time friend of the Toronto Perl Mongers, will deliver — free and to the public — one of his signature tour-de-force completely insane talks that is…

  • 1/3 high-end IT,
  • 1/3 showmanship,
  • and 1/3 peyote-fuelled hallucination.

Tonight will be the world premiere of a new talk, which goes under the title of Temporally Quaquaversal Virtual Nanomachine Programming in Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces…Made Easy.

As with the fanciful titles of his other talks, it’s hard to tell what it’ll actually be about, but having seen a couple of his presentations, I can guarantee that it will be a slightly-askew look at technology done in an engaging and hilarious fashion. Better still, you’ll be the first to see this presentation, which is a dress rehearsal for the O’Reilly Open Source Conference taking place later this month in Portland, Oregon.

Best of all, unlike the people at the Open Source Conference who’ll have to shell out something in the neighbourhood of $2000, admission to this event is absolutely free. (They will be taking up a collection for Damian in order to provide him some sort of honorarium for his doing the presentation, and some of the DemoCamp money is also going to Damian).

If you’d like to catch this event (I’ll be there), it’s tonight at the Bahen Centre for Information Technology, which is on 40 St. George Street (just north of College), right in the middle of the University of Toronto campus.

As I like to say for this sort of event: be there and be square!

Categories
Uncategorized

This Week in Toronto Tech

Toronto Tech People
Just a small sample of the people that make Toronto’s tech community great.

This week is going to be a week unlike any other in the Toronto technology scene: a week of events created not by municipal groups, large techno-conglomerates or industry think tanks, but by small groups of passionate individuals who enjoys working with both people and technology.

These events don’t have the benefit of major sponsorship or media coverage, nor will they be lining their organizers’ wallets. They’re events put together by amateurs in the original sense of the word: people who do it not for profit, but for their love of their craft, in the hope that both the attendees and even the field itself will be advanced from insights, understanding and knowledge gained by gathering together and exchanging ideas.

It’ll be a busy week for me. I’ll not only be attending these events, but I’ll also be MCing two of them as well. I’ll be posting reports from these gatherings here — keep watching this blog!

DemoCamp 18: Tuesday July 15th, 5:30 p.m. – 9:30 p.m. at Supermarket

DemoCamp Toronto 18: Tuesday, July 15th @ Supermarket

DemoCamp 18 is the eighteenth gathering of the bright lights in Toronto’s software development community where we show each other our projects in action. DemoCamp has grown from a gathering of a couple dozen in late 2005 to a meetup of hundreds at locations like the MaRS Centre and the Toronto Board of Trade and was voted “Toronto’s Best Unconference” earlier this year by BlogTO. It’s given many local software people the chance to showcase their work, meet other people in their field, make connections, get jobs and even get venture capitalist funding (that’s what happened to b5media, for whom I work).

I’m one of DemoCamp’s stewards and will be co-MCing DemoCamp.

You can see the schedule of events for DemoCamp 18 at the DemoCamp.info site. This event’s tickets — a good number of which were free, the remainder going for five or ten dollars — got snapped up within hours of becoming available.

Damian Conway: Wednesday, July 16th, 6:30 p.m. – 9:30 p.m. at the Bahen Centre, U of T

Damian Conway - July 16, 2008

The Perl programming language has been given the nickname “the duct tape of the internet” because of its importance in the development of the early web. Damian Conway is its most eloquent spokesperson and a speaker who can turn the dryest of academic lectures into a brain-tickling comic monologue that delivers both laughs and technical insight.

On Wednesday, Toronto will play host to the world premiere of his new talk, titled Temporally Quaquaversal Virtual Nanomachine Programming in Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces… Made Easy. The event will be held at the Bahen Centre at the University of Toronto and it will be free of charge. For more details, see its Upcoming page.

FAILCamp: Friday July 18th, 4:00 p.m. – 7:00 p.m. at The Rhino

FAILCamp

I’ll let the FAILCamp creators, Amy Hoy and Thomas Fuchs do the talking:

“My reputation grows with every failure,” wrote George Bernard Shaw in a letter to fellow author Frank Harris. A healthy attitude towards the natural state of humanity, if you ask us.

We all know failure: public, private, large, small, free or costly, embarrassing or funny or poignant (or all of the above). We have all experienced what our friend Patrick has called “the beautiful rainbow of Fail.” And we tend to stuff it in the closet, keep it under wraps, don’t-ask-don’t-tell or any other number of hidey clichés that poor, beautiful rainbows should not be subject to. We believe that it’s time to give our personal fail some tough love and talk it out over beer!

Join us for a brief, rousing introduction followed by comraderie, beer, and Show and Tell. We’ll present a little about failure through the ages, mining your personal suck, maybe some science, pithy quotes from people you may or may not respect, and share some failure stories of our own.

Then it’ll be your turn. If all goes to plan, you may even win in our friendly “race to the bottom” for the most public, most expensive, or most ridiculous Story of Fail.

Also, did we mention beer?

For more details, see FAILCamp’s event page on Facebook.

RubyFringe: Friday July 18th – Sunday July 20th at the Metropolitan Toronto Hotel

RubyFringe

Finally, the upcoming weekend belongs to RubyFringe, the “deep nerd tech with punk rock spirit conference”.

“RubyFringe,” says its site, “RubyFringe is an avant-garde conference for developers that are excited about emerging Ruby projects and technologies. We’re mounting a unique and eccentric gathering of the people and projects that are driving things forward in our community.”

I’ll be MCing the opening night’s events at the Amsterdam Brewery. Alas, tickets are sold out!

Categories
Uncategorized

Enumerating Enumerable: Enumerable#drop

Enumerating Enumerable marches on!

This is the seventh article in my series in which I try to do a better job of documenting Ruby’s Enumerable module than Ruby-Doc.org does. If you’ve missed the other articles in the series, they’re listed below:

  1. all?
  2. any?
  3. collect / map
  4. count
  5. cycle
  6. detect / find

In this installment, I cover a method added in Ruby 1.9: drop.

Enumerable#drop Quick Summary

Graphic representation of the \"drop\" method in Ruby\'s \"Enumerable\" module

In the simplest possible terms Given a collection and a number n, create an array made of the items of the collection with the first n items removed.
Ruby version 1.9 only
Expects The number of elements to remove from the start of the collection.
Returns An array made up of the remaining items, if there are any./td>
RubyDoc.org’s entry Enumerable#drop

Enumerable#drop and Arrays

With an array, drop takes a number n as an argument and returns an array created by removing the first n elements of the array. The resulting array is made up of the remaining elements.

# These are the favourite bands of RubyFringe organizer
# Meghan Katleen Millard's, according to her Facebook profile
meghans_fave_bands = ["Afghan Whigs", "Bjork", "Charles Mingus",
"Deerhunter", "Electrelane", "Francois Hardy", "Godspeed You Black Emperor!"]
=> ["Afghan Whigs", "Bjork", "Charles Mingus", "Deerhunter", "Electrelane",
"Francois Hardy", "Godspeed You Black Emperor!"]

# Let's lose the first 5
meghans_fave_bands.drop 5
=> ["Francois Hardy", "Godspeed You Black Emperor!"]

# The original array is not affected
meghans_fave_bands
=> ["Afghan Whigs", "Bjork", "Charles Mingus", "Deerhunter", "Electrelane",
"Francois Hardy", "Godspeed You Black Emperor!"]

Enumerable#drop and Hashes

With an hash, drop takes a number n as an argument and returns an array created by removing the first n elements of the array (drop is only in Ruby 1.9 and later, where hashes keep the order in which they were defined, so its results are predictable). The resulting array is made up of the remaining elements, with each element converted into a two-element array where element 0 is the key and element 1 is the corresponding value.

# Here's a hash of the first five U.S. states
# (in terms of alphabetical order) and their capitals.
# This example is in Ruby 1.9, which means that
# the hash keys will stay in the order in which
# they were defined.
states_and_capitals = {"Alabama" => "Montgomery", \
                       "Alaska"  => "Juneau", \
                       "Arizona" => "Phoenix", \
                       "Arkansas" => "Little Rock", \
                       "California" => "Sacramento"}
=> {"Alabama"=>"Montgomery", "Alaska"=>"Juneau", "Arizona"=>"Phoenix",
"Arkansas"=>"Little Rock", "California"=>"Sacramento"}

# Let's remove the first 3
states_and_capitals.drop 3
=> [["Arkansas", "Little Rock"], ["California", "Sacramento"]]

# The original hash is not affected
states_and_capitals
=> {"Alabama"=>"Montgomery", "Alaska"=>"Juneau", "Arizona"=>"Phoenix",
"Arkansas"=>"Little Rock", "California"=>"Sacramento"}

Enumerable#take: Enumerable#drop’s Evil Twin

I’ll cover take in detail in a later installment, but for now, an example should suffice:

meghans_fave_bands = ["Afghan Whigs", "Bjork", "Charles Mingus",
"Deerhunter", "Electrelane", "Francois Hardy", "Godspeed You Black Emperor!"]
=> ["Afghan Whigs", "Bjork", "Charles Mingus", "Deerhunter", "Electrelane",
"Francois Hardy", "Godspeed You Black Emperor!"]

# drop(n) removes the first n elements
meghans_fave_bands.drop(4)
=> ["Electrelane", "Francois Hardy", "Godspeed You Black Emperor!"]

meghans_fave_bands.take(4)
=> ["Afghan Whigs", "Bjork", "Charles Mingus", "Deerhunter"]