<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Toronto City Life &#187; programming</title>
	<atom:link href="http://www.torontocitylife.com/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.torontocitylife.com</link>
	<description></description>
	<lastBuildDate>Sat, 04 Sep 2010 16:47:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<atom:link rel="search"
           href="http://www.torontocitylife.com/opensearch"
           type="application/opensearchdescription+xml"
           title="Content Search" />		<item>
		<title>Orphans must be killed</title>
		<link>http://www.torontocitylife.com/2010/01/27/orphans-must-be-killed/</link>
		<comments>http://www.torontocitylife.com/2010/01/27/orphans-must-be-killed/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 03:59:38 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[B Sides]]></category>
		<category><![CDATA[Pictures]]></category>
		<category><![CDATA[adobe flash]]></category>
		<category><![CDATA[advertising agency]]></category>
		<category><![CDATA[city]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[employment]]></category>
		<category><![CDATA[henderson bas]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[toronto]]></category>

		<guid isPermaLink="false">http://www.torontocitylife.com/?p=7380</guid>
		<description><![CDATA[It’s done, dear reader! I’ve signed on the dotted line and am now the proud new Senior Flash Developer at Henderson Bas, a downtown ad agency with a bunch of famous clients and awards coming out the wazoo. I normally wouldn’t mention their name but, being so out there, I don’t think they’re averse to [...]]]></description>
			<content:encoded><![CDATA[<p>It’s done, dear reader!</p>
<p>I’ve signed on the dotted line and am now the proud new Senior Flash Developer at <a href="http://www.theniceagency.com/" target="_blank">Henderson Bas</a>, a downtown ad agency with a bunch of famous clients and awards coming out the wazoo. I normally wouldn’t mention their name but, being so out there, I don’t think they’re averse to being discussed. I’ll just have to refrain from talking too much smack.</p>
<p>The contract was a gargantuan tome, one of the largest volumes I’d ever encountered. A whole adult tree made up just the non-disclosure agreement alone, the rest had to be delivered by freight train. So it’s pretty thorough. I’m fairly certain I’ll have to relinquish my spleen upon termination, but that’s a pretty standard clause. Otherwise, I’ll be slapping stuff together for HB come Monday; incidentally also my birthday (I know, right?)</p>
<p>In the same way that I won’t talk smack about HB, I’m not going to go into the gruesome details of why I left my current position. Let’s just say that there were some … <em>issues</em>.</p>
<p><span id="more-7380"></span><a href="http://www.torontocitylife.com/wp-content/uploads/2010/01/office-1024.jpg" rel="lightbox[7380]"><img class="aligncenter size-full wp-image-7381" title="the smell of wood and disillusionment" src="http://www.torontocitylife.com/wp-content/plugins/image-shadow/cache/cc408e127a6b598f1dd7dd60a45cfb6b.jpg" alt="cubicles, office, desks, computers, toronto, city, life" width="550" height="413" /></a></p>
<p>That’s my former desk in the middle there, between the windows. I needed to lose major poundage just to be able to get into my seat. On the plus side, my ass has never been leaner. But the alarmingly cramped quarters, even when compared against the double-wide spaces all around, weren’t part of the issue. Neither was the scorching radiator at my back (intermittently overpowered by the winter <em>wind</em> coming in through the ancient windows). Even the fact that the only safe place in a fire would be <em>outside</em> the building didn’t really bother me.</p>
<p>The issues that I mentioned, I suppose, are ones you could encounter at any workplace. Just considerably more acute here. Nothing cute about them either. I think it’s best to leave it at that.</p>
<p>I haven’t seen my spot at HB yet, but if the parts of the office I saw during my interviews are any indication, I may be able to gain a few pounds back. And possibly even take Ollie with me on occasion (they seem quite pet-friendly there). Then again, tromping around downtown with a cat on a leash might not work out that well. Not for Ollie. Not for my heterosexuality.</p>
<p>Similar to the office above, HB is situated in an older brick building, but the decor has infinitely more personality. It’d be great if I could do a couple of posts <em>from the inside</em>, but maybe I’m just getting a bit ahead of myself. Guess I’m just happy. What an odd feeling.</p>
<p>The location shaves about half an hour off my walk and puts me just south of Chinatown, meaning my regained pounds may come from all manner of dim sum, greasy roast duck, and “special tea” (after-hours beer). It’s also close to <a href="http://maps.google.ca/?ie=UTF8&amp;ll=43.646293,-79.391005&amp;spn=0,359.972126&amp;z=16&amp;layer=c&amp;cbll=43.646325,-79.390897&amp;panoid=dyP_MRBDM73508YZF-Qe_w&amp;cbp=12,116.3,,0,3.61" target="_blank">a section of King Street West</a> where a number of fancy restaurants live; ones that “I’ll totally eat at this summer” and know full well I won’t. But it’s nice to know the option’s there.</p>
<p>I won’t bore you with the techie details of what I’m going to be doing at HB; I’ve come to realize that broaching the subject causes instantaneous brain haemorrhages in anyone within earshot (or eyeshot, in this case). But luckily there’s a whole whack of programming lingo that sounds even more entertaining if you have absolutely no idea what I’m talking about:</p>
<ul>
<li>When a child throws something, the parent must catch it at some point. Otherwise the object that was thrown just gets tossed on the heap and is eventually discarded.</li>
<li>When a parent is destroyed, the children are often destroyed too. This is usually accomplished by making them null (or void).</li>
<li>One of the most dangerous things a developer can do is to create an orphaned child. This is a child with no parent, though it can still have siblings.</li>
<li>Once orphaned, a child can go rogue and start to consume all the resources. To prevent it from crashing, it must be killed. If that doesn’t work, we go after the process that spawned it.</li>
<li>It’s possible to create clones, but all the variables involved make it a complex procedure (“method” in modern terminology). It’s better to work from prototypes and simply inherit attributes.</li>
<li>A class typically has members; some public, some private. The members should follow strict naming rules and be cast as specific types. However, for things to run smoothly, classes should eventually be completely removed from memory.</li>
<li>Before a class can be created, it needs to have a package. It’s perfectly okay to use an empty package.</li>
<li>Clean instructions go a long way to preventing bugs. If bugs are found, however, they should be tracked.</li>
<li>Modern strings can be of any length, but all strings are terminated at some point.</li>
<li>Addresses are usually accessed with the help of operators. Sometimes pointers. Other times you need references.</li>
<li>The garbage collector plays a big role in keeping things tidy, but it does its own thing in its own time. It’s the garbage collector that’s most often implicated in orphaning children.</li>
</ul>
<p>And these aren’t even taken out of context – they actually mean something. When you repeat them to a software developer, you should get a knowing nod in return. How you choose to explain that you have no idea what you’ve just said is entirely up to you.</p>
<p>Now if you’ll excuse me, dear reader, I’m going to get some shut-eye. It took me hours to rid the work PC of all the porn and I got home very late. However, I get a few of days before my “trial by fire” begins (HB’s words), so I’m going to try to put my noggin into neutral. Sleep should come easy tonight.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Share / save this post</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.torontocitylife.com/2010/01/27/orphans-must-be-killed/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Son of yesterday</title>
		<link>http://www.torontocitylife.com/2009/12/19/son-of-yesterday/</link>
		<comments>http://www.torontocitylife.com/2009/12/19/son-of-yesterday/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 18:48:20 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[B Sides]]></category>
		<category><![CDATA[Pictures]]></category>
		<category><![CDATA[cbc]]></category>
		<category><![CDATA[cell phone toronto]]></category>
		<category><![CDATA[city]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[radio]]></category>
		<category><![CDATA[spark]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[wind mobile]]></category>

		<guid isPermaLink="false">http://www.torontocitylife.com/?p=6668</guid>
		<description><![CDATA[At the company party last week, a fairly new employee (a superfluous fourth nipple of a teenager, the son of the third nipple, my supervisor), asked me, “Why would anyone want to learn to program Flash?”,  or something to that effect. The “why would anyone” part stuck with me as a particularly brazen thing to [...]]]></description>
			<content:encoded><![CDATA[<p>At the <a href="http://www.torontocitylife.com/2009/12/10/partay/" target="_self">company party last week</a>, a fairly new employee (a superfluous fourth nipple of a teenager, the son of the third nipple, my supervisor), asked me, “Why would anyone want to learn to program Flash?”,  or something to that effect. The “why would anyone” part stuck with me as a particularly brazen thing to say coming from a kid who doesn’t know an object from a pointer. That’s programmer lingo for <em>he’s wet behind the ears, the little shit</em>.</p>
<p>And as I told him, I grew tired of all the low-level nonsense that his pop still likes to muck around in. It’s unseemly. I mean, I’ve done it too – every good programmer should rip apart their computer in every which way. But I put aside childish things when I decided to actually get some work done. Seriously, it’s like going back to the frickin’ Stone Age.</p>
<p>I like Flash because there’s a big creative aspect to it – half of the software is geared specifically for drawing and animation. Programming is fun, don’t get me wrong, but staring at computer instructions all day kinda sucks. It’s nice to work in a  piece of software where I can also draw a doodle of the CTO, animate it in some obscene way, add programming to it for interactive fun, and email it to friendly coworkers. And it all looks like legitimate work.</p>
<p>But the reason I brought all of this up wasn’t to go over my portfolio. This situation jumped to mind while I was strolling home and listening to <a href="http://www.cbc.ca/spark/" target="_blank">Spark</a>, a CBC Radio podcast about technology. That Zune that you see in the TCL header has a number of <a href="http://www.thenakedscientists.com/HTML/podcasts/" target="_blank">ultra-geeked-out podcasts</a> on regular rotation but Spark stands out from the crowd; it looks at the human implications of gadgets and websites rather than the gadgets and websites themselves.</p>
<p>The episode I was listening to, for example, was going into detail about how to operate the iPhone (curse Apple!), with gloved hands. The touch-screen requires human flesh (not my word), to maintain a certain level of conductivity – to operate the phone, in other words. Gloves act as insulators, so the iPhone&#8217;s a brick with winter gear on (Ha! I can operate my Windows Mobile phone with mitts <em>and</em> a toque!) In the episode they came up with the solution of sewing some <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=8544" target="_blank">conductive thread</a> through the tips of the glove; not that it&#8217;ll affect me directly but it&#8217;s neat to see someone thinking about this. After all, in Canada it&#8217;s a genuine problem for half the year, and I don&#8217;t see Apple using their &#8220;genius&#8221; to solve the problem. I don&#8217;t like Apple.</p>
<p>Nora Young, Spark&#8217;s host, has that perfect mix of nerdy affinity and enthusiasm for what technology <em>could</em> be. In fact, all of the podcasts I listen to are done by folks why have genuine interest and enthusiasm in the subject matter, and the fact that some of them are learning as they go along makes the shows accessible. Plus, the topics are approached from an angle that most in the industry wouldn&#8217;t think to consider. The third and fourth nipples sure wouldn&#8217;t.</p>
<p>Obviously, creativity counts for a lot with me. So when I found the advertisement for <a href="http://www.windmobile.ca" target="_blank">Wind Mobile</a> on King Street, I was impressed:</p>
<p style="text-align: center;"><a href="http://www.torontocitylife.com/wp-content/uploads/2009/12/statue-1024.jpg" rel="lightbox[6668]"><img class="aligncenter size-full wp-image-6674" title="all modern statues carry cell phones and mp3 players" src="http://www.torontocitylife.com/wp-content/plugins/image-shadow/cache/4d90ca3502d14b577878b79dc4187d5a.jpg" alt="wind mobile, statue, advertisement, king street west, construction, bell lightbox building, toronto, city, life" width="550" height="413" /></a></p>
<p>Yes, the ad is the statue. Already intriguing, no? I stooped over to read the plaque, took a few pictures, even had a brief conversation with a passing girl who happened to be editing a video for some Wind Mobile spot – talk about effective advertising! The thing that really struck me was that this particular campaign doesn&#8217;t rely on flashing lights and loud noises, it just stands politely to the side and <em>invites</em> your attention. Well.</p>
<p>Unfortunately, Wind needs a new copywriter – the statue idea is absolutely brilliant but the plaque makes an unkind insinuation:</p>
<p style="text-align: center;"><a href="http://www.torontocitylife.com/wp-content/uploads/2009/12/plaque-1024.jpg" rel="lightbox[6668]"><img class="aligncenter size-full wp-image-6672" title="it would not not be nice to not have limits!" src="http://www.torontocitylife.com/wp-content/plugins/image-shadow/cache/038971512b977dcfaa8a1b62ff6a44dc.jpg" alt="wind mobile, statue, advertisement, king street west, construction, bell lightbox building, toronto, city, life" width="550" height="413" /></a></p>
<p>It reads:</p>
<blockquote><p>The statue commemorates Flippy, Mr Ideas, FlowerGal and the thousands of other Canadians who rose up against an unresponsive mobile industry. It was upon the immortal thoughts of this community – who made proclamations like, &#8220;No contracts&#8230; do this and I will be your customer forever,&#8221; and, &#8220;it would be nice to NOT have limits&#8221; – that a movement was born. Their brave ideas gave rise to the dialogue which gave rise to Wind Mobile – the first wireless company to be led by the people and a testament to the truth that conversations always make things better. WINDMobile.ca</p>
<p>WIND<br />
the power of conversation</p></blockquote>
<p>The insinuation is that I will be Wind&#8217;s bitch if only they would do away with contracts. Not likely. Plus, if I don&#8217;t like contracts, I&#8217;m probably not going to commit to &#8220;forever&#8221;. But their putting statues on street corners (there&#8217;s another at University and Richmond), if nothing else, indicates a level of creativity that&#8217;s lacking in the older carriers. Here&#8217;s how <a href="http://www.rogers.com/" target="_blank">Rogers</a> tries to snag my business:</p>
<p style="text-align: center;"><a href="http://www.torontocitylife.com/wp-content/uploads/2009/12/cards-1024.jpg" rel="lightbox[6668]"><img class="size-full wp-image-6670 aligncenter" title="yes, oh god yes i will buy your cable tv package!" src="http://www.torontocitylife.com/wp-content/plugins/image-shadow/cache/1e37b44fda408f4c93dfae2e239bfb2c.jpg" alt="rogers, advertisement, pamphlet, toronto, city, life" width="550" height="413" /></a></p>
<p>Granted this is for the cable TV and internet packages that Rogers offers, but it&#8217;s still pretty pathetic. A sad kid and a teddy bear &#8212; &#8220;We miss you&#8221;; I can&#8217;t imagine giving less of a toss. And while it&#8217;s rare that I buy something without going deep into technical specs, I consider a company&#8217;s advertising campaign to be a part of that specification. It doesn&#8217;t necessarily mean that the company or its products are currently any good, but at least they&#8217;re thinking (or at least willing to think), differently. Many companies claim to do this but few actually do.</p>
<p>Asking why anyone would want to learn to program in Flash is basically the same as asking why anyone would want to broaden their horizons. It&#8217;s kinda sad to hear a student ask that question, and especially in a mocking way. He&#8217;ll end up at the Rogers of the world, hopelessly out-of-date  before he even graduates, and the real world doesn&#8217;t take kindly to inflexible youngsters. I know I won&#8217;t, the little shit.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Share / save this post</a> </p>]]></content:encoded>
			<wfw:commentRss>http://www.torontocitylife.com/2009/12/19/son-of-yesterday/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Good names</title>
		<link>http://www.torontocitylife.com/2009/05/08/good-names/</link>
		<comments>http://www.torontocitylife.com/2009/05/08/good-names/#comments</comments>
		<pubDate>Sat, 09 May 2009 00:42:07 +0000</pubDate>
		<dc:creator>Patrick</dc:creator>
				<category><![CDATA[B Sides]]></category>
		<category><![CDATA[Pictures]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[city]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[toronto]]></category>

		<guid isPermaLink="false">http://www.torontocitylife.com/?p=2068</guid>
		<description><![CDATA[Folks, I’m gonna geek out on you today. I’m gonna geek out on you long and hard. Grab onto the headboard ‘cuz here it is:
<br />
(If you read the full post, the rest of this would make a whole lot more sense.)
<br />
Got that in the mail yesterday.
<br />
Despite the fact that  I know what it is, I still wouldn’t enter that room without some Scrum repellent.]]></description>
			<content:encoded><![CDATA[<p>Folks, I’m gonna geek out on you today. I’m gonna geek out on you long and hard. Grab onto the headboard ‘cuz here it is:</p>
<p><a href="http://www.torontocitylife.com/wp-content/uploads/2009/05/scrum.jpg" rel="lightbox[2068]"><img class="aligncenter size-medium wp-image-2069" title="scrum" src="http://www.torontocitylife.com/wp-content/plugins/image-shadow/cache/23aadceefd4dcfa9a95c8da677a3ea12.jpg" alt="scrum" width="300" height="194" /></a></p>
<p>Got that in the mail yesterday.</p>
<p>Despite the fact that  I know what it is, I still wouldn’t enter that room without some Scrum repellent. It sounds absolutely ghastly, doesn’t it?</p>
<p>Couple that with a <em>master</em> &#8212; don&#8217;t even separate the <em>m</em>&#8216;s so that you force the speaker to chew that mouldy cud in the middle of the word: ScrummmmmmmmmMaster.</p>
<p>Blech.</p>
<p>Maybe I should explain why I&#8217;m holding that letter up.</p>
<p>Used to be that software was a product. You’d be given a specification, the client would agree to it, and you’d build it. Anything outside of spec would be in the next release. &#8220;Sorry, Larry, that dildo <a href="http://en.wikipedia.org/wiki/Easter_egg_(media)" target="_blank">Easter egg</a> is gonna have to wait &#8217;till version 1.1.&#8221;</p>
<p>Now the spec has been replaced with a scope document. It outlines in general, vague terms what the software application should “feel” like and how hard the user’s erection should be when using it. That is, if your company actually cares enough to make one.</p>
<p>Usually it’s just a two line paragraph describing how nice it would be to now have credit card processing as part of the software. Security – you know, like keeping your credit card details safe via encryption and such – didn’t make it to the document. Seems like that would’ve been a good area to explore.</p>
<p>We’re given two weeks and…WE’RE OFF!</p>
<p>This is where experience walks through the door, pats me on the back, and says, “Easy, buddy. Not like this has ever happened before, is it?”</p>
<p>“That’s right”, I answer, “my anus has almost healed too. Thanks for reminding me.&#8221;</p>
<p>That’s right. And <a href="http://www.agilealliance.org/" target="_blank">Agile</a> techniques like Scrum (but not Scrum because that&#8217;s nasty), saved my ass from further devastation. <em>Agile</em> sounds fancy but it’s nothing more than a way to plan work so that stuff can easily be moved around, added, or removed. How to plan for a moving target, in other words.</p>
<p>Could be useful in all sorts of industries, I bet.</p>
<p>God, if only it didn’t have such an awful, awful name because I’m sure it could be a saving grace for so many out there who are suffering.</p>
<p>You see, I too have been blessed by the touch of Agile development. My software is built using building blocks not unlike Lego. You can pull pieces off and reattach them elsewhere and have the whole thing pretty much stay intact. All part of the plan.</p>
<p>With standard development, the program is like some horrible, angular mass of flesh, teeth, and hair; a single horrible eyeball jutting out of the slimy folds as a gurgling scream emanates from somewhere inside. And it’s Satanic.</p>
<p>I trust I’ve illustrated that well.</p>
<p>And speaking of ugly, how about that Scrummmmmaster? That pile of terrifying anthropomorphic goo is what I envisage when I hear that word. And you know what? Your own deformed, horrid vision of what a Scrum is, is perfectly valid. I mean it; it’s all things nasty and your nasty is just as valid as mine.</p>
<p>It’s just gross.</p>
<p>I may be a programmer, but there is no way I’m learning how to certifiably master Scrum of any kind. Seriously, the developer community needs a marketing make-over. Maybe some of the stuff developers have been doing could help others, but only if the concept doesn&#8217;t make them retch first.</p>
<p>Let’s start with <em>good</em> names for things.</p>
<p>Like <em>byte</em>. Good word.</p>
<p>With half a <em><a href="http://en.wikipedia.org/wiki/Byte" target="_blank">byte</a></em>, you only have a <em><a href="http://en.wikipedia.org/wiki/Nybble" target="_blank">nybble</a></em>. And, when you split a <em>nybble</em> into four<em>,</em> all you really have are just four little <em><a href="http://en.wikipedia.org/wiki/Binary_digit" target="_blank">bits</a></em>.</p>
<p>You can use that one around the water cooler next week.</p>
<p>Okay, geek done.</p>
<p>Ummm, I gotta be up early tomorrow so…yeah…I’ll call ya later.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.torontocitylife.com/2009/05/08/good-names/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.729 seconds -->
