<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3330879629742965503</id><updated>2011-12-24T15:41:38.165-04:00</updated><category term='neti pot'/><category term='funny'/><category term='news'/><category term='C'/><category term='wedding'/><category term='latex'/><category term='france'/><category term='open source'/><category term='secular humanism'/><category term='h1n1'/><category term='creationism'/><category term='welcome ash to the terrorism watch-list'/><category term='scientology'/><category term='norse/egyptian slash fic'/><category term='cleaning products'/><category term='the ironing is delicious - don&apos;t you mean irony?'/><category term='c#'/><category term='evolution tuesdays'/><category term='objective-c'/><category term='academia'/><category term='psychology'/><category term='pse'/><category term='NB PIRG'/><category term='metric'/><category term='video'/><category term='Canada'/><category term='colpitts'/><category term='brunswickan'/><category term='star trek'/><category term='sexism'/><category term='film review'/><category term='rant'/><category term='safari'/><category term='facebook'/><category term='xml'/><category term='new brunswick'/><category term='melodrama'/><category term='nerdom'/><category term='genetics'/><category term='java'/><category term='logic'/><category term='programming challenges'/><category term='UVa'/><category term='firefox vs safari'/><category term='bus ride'/><category term='dawkins'/><category term='customer service'/><category term='sci-fi'/><category term='government'/><category term='I&apos;ve made a huge mistake'/><category term='cats'/><category term='unb'/><category term='chemistry'/><category term='school'/><category term='philosophy'/><category term='climate change'/><category term='faith'/><category term='bad jokes'/><category term='fredericton'/><category term='bullying'/><category term='gay rights'/><category term='do it yourself'/><category term='android'/><category term='iPhone'/><category term='respect'/><category term='tablets'/><category term='its'/><category term='unit testing'/><category term='marketing'/><category term='regular expressions'/><category term='let'/><category term='arrested development'/><category term='they&apos;re a band not an efficient measurement system'/><category term='amarok'/><category term='blogging'/><category term='journalism'/><category term='MetricMate'/><category term='blackboard'/><category term='humanism'/><category term='introduction'/><category term='democracy'/><category term='doctor who'/><category term='firefix'/><category term='apple'/><category term='worldview'/><category term='efficiency'/><category term='every blog post gets a funny tag'/><category term='critical thinking'/><category term='os x'/><category term='unbsu'/><category term='graph'/><category term='fringe'/><category term='censorship'/><category term='babies kill people'/><category term='evolution'/><category term='law suit'/><category term='looong post'/><category term='grammar'/><category term='C++'/><category term='bus campaign'/><category term='stupid emo kids'/><category term='sex'/><category term='social networking'/><category term='picture'/><category term='catholicism'/><category term='biology'/><category term='hypocrisy'/><category term='espresso'/><category term='where the wild things are'/><category term='kijiji'/><category term='CoffeeTimerApp'/><category term='code'/><category term='comments'/><category term='science'/><category term='christianity'/><category term='linux'/><category term='computer science'/><category term='math'/><category term='google analytics'/><category term='islam'/><category term='hackintosh'/><category term='tech'/><category term='Internet'/><category term='text editors'/><category term='election'/><category term='snobbery'/><category term='patterns'/><category term='photoshop'/><category term='programming'/><category term='politics'/><category term='culture'/><category term='wwdc'/><category term='music'/><category term='atheism'/><category term='weekend'/><category term='question'/><category term='dairy'/><category term='I&apos;m so going to hell'/><category term='let&apos;s have a personal chat'/><category term='copyright'/><category term='blogger'/><category term='metasyntactic variable names'/><category term='twitter'/><category term='netbook'/><category term='religion'/><category term='microsoft'/><category term='quotes'/><category term='coffee'/><category term='Latin'/><category term='fail'/><category term='do my proof reading for me please'/><category term='data'/><category term='health'/><category term='university'/><title type='text'>Attero Ignorantiam: Retired!</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default?start-index=101&amp;max-results=100'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>194</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-8964829396032939090</id><published>2011-02-20T20:48:00.006-04:00</published><updated>2011-02-20T21:31:34.646-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='let&apos;s have a personal chat'/><title type='text'>Cleaning &amp; De-stressing</title><content type='html'>I'm going to preface this blog post with a warning. To anyone who responds with something to the effect of "if you like cleaning so much, why don't you come over to my place?", you're lack of originality, while serving to inspire like-minded individuals who write instruction manuals for vacuum cleaners, is a burden that the rest of society has to shoulder. I'd encourage you to remain silent in order to keep from reminding everyone of that sobering fact.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've been under a lot of stress lately, between midterms, assignments, a Saturday course, all my friends dropping my only math class, and a thesis. I've been working a lot at home too, since the CS lounge has become very noisy after people actually started to use it. Careful what you wish for, I guess.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyways, I'm working at home and I'm dealing with stress. Something you should know about me: I clean when I'm stressed and/or trying to procrastinate. Something you probably already know about me: I drink a lot of coffee. I find it really hard to concentrate in a messy environment. I can't cook in a dirty kitchen, meaning if I had my way, I'd clean before and after I make each meal. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've been having a hard time lately, because at home all I want to do is clean instead of working on, say, a roman numeral parser for Compiler Construction. As you are all painfully aware, housework is never, ever finished. You have to live in your home, and living produces a mess, which can always be cleaned. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Enter: caffeine. You sit down to learn about LL(1) parser grammars, but then instead you decide it'd be a great time to clean up your dropbox (even though you still have 20% free). Or you decide you could save time throughout the week by ironing every shirt you own, even though you don't really iron your shirts every morning (but feel bad about not having the time to). Or reinstall your operating system because it takes too long to shut down (even though you only shut it down once every month).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what do I do? I've been reading online (it's another stress-reliever, except it's non-productive), and particularly, I've been reading on how to reduce stress. One of the things one article discusses (I can't remember which because my brain has been so scrambled by the Internet's information overload) is housework. I was intrigued. It said, since it'll never be finished, it's best not to try. Instead, limit yourself to, say, one hour per day or two or whatever works for you. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I'm going to try. It'll be a fine balance between alphabetizing my spice cabinet and living amid todo stacks, but I need to find a balance. School got hard since I &lt;a href="http://blogs.unb.ca/ash-furrow/2011/02/10/its-time-to-graduate/"&gt;lost motivation&lt;/a&gt;, so I only have to stick it out two more months until I take the Summer off and land a sweet job where my work and personal life will finally, finally gain a degree of separation.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-8964829396032939090?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/8964829396032939090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/02/cleaning-de-stressing.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8964829396032939090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8964829396032939090'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/02/cleaning-de-stressing.html' title='Cleaning &amp; De-stressing'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-4255168967251670799</id><published>2011-02-17T00:11:00.002-04:00</published><updated>2011-02-17T00:13:58.122-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>Minimum Wage in New Brunswick</title><content type='html'>People are mad, people are arguing. In the end, it doesn't matter because no one will ever agree, and even if we somehow get a nice solution to this dilemme, NB will never be able to fix the myriad of other social problems it has that's forcing young people to leave. In short, NB sucks and I don't think it'll ever not suck.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Solution: move to Ontario. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-4255168967251670799?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/4255168967251670799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/02/minimum-wage-in-new-brunswick.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4255168967251670799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4255168967251670799'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/02/minimum-wage-in-new-brunswick.html' title='Minimum Wage in New Brunswick'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-2790783355887995074</id><published>2011-02-11T19:34:00.004-04:00</published><updated>2011-02-11T21:27:13.117-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sci-fi'/><title type='text'>Why Farscape is Awesome</title><content type='html'>Farscape is an amazing show. That's beyond question. I feel I should detail a few reasons that distinguish this show from anything else.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First, the swear words. Frell, hezmanna, mivonks, they're amazing. After watching the show a bit, you don't even notice them, and they might even slip into your vocabulary.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Second, they add and drop characters like it's going out of style. Sometimes, characters leave for half a season before coming back. When main characters die, they stay dead. This is in contrast to, say, any StarGate franchise where writers have never met a character they don't love to bring back from the dead.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Third, the puppets! The Jim Henson Company, well known for the muppets, do many of the aliens. The characters are so real that you honestly, very quickly forget that they aren't real. Even the aliens played by people are very realistic. Zhaan, Chiana, and D'Argo are all consistent, and all very realistic. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fourth, Moya is a living ship. It offers a lot of interesting storylines that would not otherwise be possible on a conventional ship. She and pilot have a complex relationship, and the show integrates that plot mechanism very well throughout every story.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, the bad guys are amazing. Scorpius is &lt;b&gt;the&lt;/b&gt; most amazing villain. Ever. Better than Darth Vader. Better than the Borg queen. Better than the Cylons. He is charismatic, vicious, witty, and he has a complex and dark history. When he succeeds, you feel his joy. When he fails, you pity his misfortune. Even though he is the bad guy, you can't help but love him.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are other reasons, but these are the big ones. Season 1 is OK. Season 2 is &lt;i&gt;amazing&lt;/i&gt;. And it just keeps getting better.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-2790783355887995074?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/2790783355887995074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/02/why-farscape-is-awesome.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/2790783355887995074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/2790783355887995074'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/02/why-farscape-is-awesome.html' title='Why Farscape is Awesome'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6089452817669144378</id><published>2011-02-10T19:54:00.000-04:00</published><updated>2011-02-10T19:55:16.511-04:00</updated><title type='text'>Millennial Students: Ageism or Observation?</title><content type='html'>I'm teaching a course on iPhone development at UNB this April. I'm quite excited about it, and while I've had chances to &lt;a href="http://blogs.unb.ca/ash-furrow/2010/11/24/my-speech-at-the-2010-computer-science-awards-dinner/"&gt;practice orating&lt;/a&gt; at UNB and I've been a lab teaching assistant for over a year, I don't feel that I'm experienced enough to design and deliver a full course. To help me, I'm taking a 6-weekend long course in undergraduate teaching. Since it is unusual for an undergraduate to teach at a university, I'm the lone undergrad among Masters students, PhD candidates, and professors.&lt;br /&gt;&lt;br /&gt;A part of the course is focused on understanding the typical 20-year-old student of today. We're dubbed "millennials", a term I disliked the first time I ever heard it. When I did more research into the topic for the course, I was not impressed.&lt;br /&gt;&lt;br /&gt;Let's consider:&lt;br /&gt;&lt;br /&gt;When I meet a member of the "baby boomer" generation, my first impression isn't tainted with the idea that they're a self-important jerk who helped destroy the environment. This is on account of two import reasons: the fact that baby boomers are mostly entitled jerks is probably not true and even if it was, my opinion of the actions and characteristics attributed to boomers certainly shouldn't affect my initial opinion of someone I've only just met.&lt;br /&gt;&lt;br /&gt;When we have academic literature telling us that millennials "feel special", have a "low tolerance for failure", and that we're "sheltered" by our "helicopter parents", we are attributing a social schema to individuals that is not necessarily earned. Although these types of articles are meant to inform educators in order to make them better teachers, they also inform their opinions and prejudices. This is the danger: having these preconceptions of young people will affect their opinion of individual members of that demographic.&lt;br /&gt;&lt;br /&gt;While the literature does cite some commendable qualities of millennials, such as our confidence or our drive to succeed, I can't help but feel judged. I can't voice my concerns because my complaints are framed in the context that "I feel special", and I am dismissed.&lt;br /&gt;&lt;br /&gt;So what do we do? Clearly teachers should try to understand their students, but there is a need not to overgeneralize. I would recommend that educators reserve judgement toward individuals and only let impressions of young people be shaped by their actions as individuals. This, I think, is sound advice for everyone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6089452817669144378?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6089452817669144378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/02/millennial-students-ageism-or.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6089452817669144378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6089452817669144378'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/02/millennial-students-ageism-or.html' title='Millennial Students: Ageism or Observation?'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6182562741801024419</id><published>2011-02-01T08:45:00.007-04:00</published><updated>2011-02-01T09:01:45.196-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='its'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><title type='text'>UNB ITS Outage Fail</title><content type='html'>So I get to school this morning with plans of unprecedented productivity. I borrow Ashley's office only to discover I can't get online. I worked at the helpdesk for two years, so I knew the drill and did everything I could think of. After eliminating the possibility it's my machine, I checked: Yup! I can get to UNB internal sites but not external ones. Hmm...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I want to check the outages to see what's up. I google "unb helpdesk" before realizing that won't work. I try &lt;a href="http://www.unb.ca/"&gt;UNB's homepage&lt;/a&gt;, but there's nothing there and I don't see a link to ITS' page. Frustrating.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I go to the &lt;a href="http://www.blogger.com/wireless.unb.ca"&gt;wireless setup page&lt;/a&gt;, since I know it's address from memory. I then use the breadcrumb navigation to get to their main page, where I find this:&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9fyekwTM7U8/TUgBl_15_SI/AAAAAAAAASw/n2RwjuVDEz4/s1600/Screen%2Bshot%2B2011-02-01%2Bat%2B8.34.41%2BAM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 281px;" src="http://3.bp.blogspot.com/_9fyekwTM7U8/TUgBl_15_SI/AAAAAAAAASw/n2RwjuVDEz4/s400/Screen%2Bshot%2B2011-02-01%2Bat%2B8.34.41%2BAM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5568702691547938082" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;In the midst of an unending Internet outage, I find within myself an unspeakable rage. Rather than put at the top of the main ITS page "HEY! Can't get online? Don't worry! We're working on it!", they add this as a regular outage, no where visible when you first get to the page. Scrolling down, we see:&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9fyekwTM7U8/TUgBwvSqGpI/AAAAAAAAAS4/TeMqOj2fex4/s1600/Screen%2Bshot%2B2011-02-01%2Bat%2B8.34.54%2BAM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 336px; height: 341px;" src="http://3.bp.blogspot.com/_9fyekwTM7U8/TUgBwvSqGpI/AAAAAAAAAS4/TeMqOj2fex4/s400/Screen%2Bshot%2B2011-02-01%2Bat%2B8.34.54%2BAM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5568702876083690130" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;Fantastic. It's not at the top of the list, it's not bolded, and it's not descriptive. It's mixed in with resolved outages. It's an outage notification design for a helpdesk staff, not for a UNB employee. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What we have here is a failure to communicate. Now, dozens of frustrated UNB staff and students are going to be calling the helpdesk demanding to know why they can't get to facebook. I feel bad for my former colleagues at the helpdesk.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The outage should say "Internet not working" and elaborate what that means in the details. It should be &lt;b&gt;the most&lt;/b&gt; obvious thing in the "outages" div, and the most obvious thing on the entire page. Further, it should be easily accessible by a typical UNB denizen. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All of this assumes that the outage notifications are designed for everyday people and not ITS employees. However, if that's not the case, I ask why on Earth aren't we notified some other way, like email or a posting to the main UNB page?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I feel like I'm kicking them while they're down, since the issue is ongoing. However, it's only by the grace of my iPhone's data tethering I can get online at all. Since access to external resources is probably the most important reason we keep ITS around, I'd say a reasonable notification of what's going on isn't too much to ask for.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;EDIT: Additionally, none of them will be able to read this post until after they fix the issue, so we're cool for now.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6182562741801024419?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6182562741801024419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/02/unb-its-outage-fail.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6182562741801024419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6182562741801024419'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/02/unb-its-outage-fail.html' title='UNB ITS Outage Fail'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9fyekwTM7U8/TUgBl_15_SI/AAAAAAAAASw/n2RwjuVDEz4/s72-c/Screen%2Bshot%2B2011-02-01%2Bat%2B8.34.41%2BAM.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1975412695208796329</id><published>2011-01-20T12:08:00.007-04:00</published><updated>2011-01-20T12:26:10.082-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='MetricMate'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='CoffeeTimerApp'/><title type='text'>Proximal Sales</title><content type='html'>Since January 15th, when I launched the (free) &lt;a href="http://itunes.apple.com/us/app/solar-system-simulation/id407799974?mt=8"&gt;Solar System Simulator&lt;/a&gt; for iPhone and iPad, I've noticed something: my sales for &lt;a href="http://itunes.apple.com/us/app/coffee-timer/id349578616?mt=8"&gt;CoffeeTimer&lt;/a&gt; and &lt;a href="http://itunes.apple.com/us/app/metricmate/id377457866?mt=8"&gt;MetricMate&lt;/a&gt; have gone up. At first I was attributing the increased interest in my apps to holiday sales of iDevices, but it's remained stable for the past 3 weeks or so. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Solar System Simulation is quickly approaching 40 000 downloads, worldwide. I've got a few bug fixes forthcoming (for instance, the moon orbits the earth incorrectly - my bad). Additionally, I'm wholly unsatisfied with the interface for the iPhone. But I'm going to put a few hours in next week and get another release out there.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Why continue to contribute to a class project a month after the project is finished? Why publish my code openly on &lt;a href="https://github.com/AshFurrow/iOS-Solar-System-Simulator"&gt;GitHub&lt;/a&gt;? Two reasons:&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9fyekwTM7U8/TThfhe_HNrI/AAAAAAAAASk/GGoRcyhMxK0/s1600/Screen%2Bshot%2B2011-01-20%2Bat%2B12.12.40%2BPM.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 195px; height: 147px;" src="http://3.bp.blogspot.com/_9fyekwTM7U8/TThfhe_HNrI/AAAAAAAAASk/GGoRcyhMxK0/s400/Screen%2Bshot%2B2011-01-20%2Bat%2B12.12.40%2BPM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5564302368474347186" /&gt;&lt;/a&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;I'm getting increased sales from having MetricMate advertised in iTunes beside the Solar System Simulator.&lt;/li&gt;&lt;li&gt;By opening the source, I'm allowing other developers (and prospective employers!) to see how I do things. It's a frightening prospect, but I'm hoping it will help me stand out as a prospective employee.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;So even if you're not getting revenue directly from people downloading your app, there are a lot of benefits in giving away something you've made for free. Personally, I love making things for the sake of it and am frankly thrilled that employers are willing to pay me to do something I love.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can check out my website &lt;a href="http://coffeetimerapp.com/CoffeeTimer/Ash_Furrow.html"&gt;here&lt;/a&gt; or my section of the App Store &lt;a href="http://itunes.apple.com/ca/artist/ash-furrow/id349578619"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1975412695208796329?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/1975412695208796329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/01/proximal-sales.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1975412695208796329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1975412695208796329'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/01/proximal-sales.html' title='Proximal Sales'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9fyekwTM7U8/TThfhe_HNrI/AAAAAAAAASk/GGoRcyhMxK0/s72-c/Screen%2Bshot%2B2011-01-20%2Bat%2B12.12.40%2BPM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6685255492675716220</id><published>2011-01-13T08:49:00.005-04:00</published><updated>2011-01-13T09:00:12.853-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='tablets'/><category scheme='http://www.blogger.com/atom/ns#' term='tech'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='melodrama'/><title type='text'>Geeks' Views on Tablets</title><content type='html'>I participated on a &lt;a href="http://slashdot.org/poll/2106/Why-havent-you-bought-a-tablet"&gt;Slashdot poll&lt;/a&gt; today on why I haven't bought a tablet yet. I answered "Needs already fulfilled by other devices." I wasn't surprised to see that I'm with the majority on this one.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://picasaweb.google.com/lh/photo/LQJkjnlXKJWC0sYCqNqqCcHyEgDq9FvFHy0vBnMpZsw?feat=directlink"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 187px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/TS71OAC1h6I/AAAAAAAAASA/iRw2xFFZOUI/s400/Screen%2Bshot%2B2011-01-13%2Bat%2B8.45.20%2BAM.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5561652210728011682" /&gt;&lt;/a&gt;I really think that tablets are designed for "normal" users, not the types of folks who read Slashdot. &lt;a href="http://nearthespeedoflight.com/"&gt;Jason&lt;/a&gt; might disagree as an iPad owner, but I think that that typical geeks (not Apple ones) are the types that couldn't stand to not have root privileges on a system they own on principle.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So it appears that most geeks aren't buying tablets because their restricted functionality isn't what we're into. I can't code or write my LaTeX thesis on an iPad, so it's not useful to me, while my MacBook Air is practically iPad-sized and gets me everything I need.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The moral of the story is the next time you see a bunch of geeks online bashing tablets as useless and, more to the point, the people who by them as stupid, please remember that these geeks are not the intended audience. Give them a cookie and a nap and they'll be back to arguing that "Opera is the superior browser and why don't more people use it?" in no time.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6685255492675716220?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6685255492675716220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/01/geeks-views-on-tablets.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6685255492675716220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6685255492675716220'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/01/geeks-views-on-tablets.html' title='Geeks&apos; Views on Tablets'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9fyekwTM7U8/TS71OAC1h6I/AAAAAAAAASA/iRw2xFFZOUI/s72-c/Screen%2Bshot%2B2011-01-13%2Bat%2B8.45.20%2BAM.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1238689834306568571</id><published>2011-01-12T13:15:00.008-04:00</published><updated>2011-01-21T07:15:06.087-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='coffee'/><title type='text'>Steps to Make Better Coffee</title><content type='html'>There's a lot to coffee, and recently I've been making some improvements in my own coffee routine. For the past two years, I've been incrementally making my coffee better. I've found that there aren't many online resources for making coffee a little beter - just people talking about how their coffee is better. WikiHow's article on how to &lt;a href="http://www.wikihow.com/Make-Better-Office-Coffee"&gt;make better office coffee&lt;/a&gt; is okay, but it has a limited audience and is essentially how to use a press on the cheap.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This guide is designed for people currently buying coffee or making their own coffee with pre-ground beans and a drip machine. It gives a list of steps, in increasing order of inconvenience, that you can take to make better coffee.  This doesn't touch espresso, since that's a whole other can of beans.&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;Wash your coffee pot. &lt;/b&gt;Oils from the coffee build up in the pot. There are a variety of ways to wash your pot, but you'll want it cleaned well at least once a week.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Buy an $8 coffee grinder at wal*mart.&lt;/b&gt; When you grind coffee, it has a much higher surface area with the air around it. Flavour escapes quickly; coffee stays fresh for only five to ten minutes after you grind it. For $8, you can buy whole bean coffee at the grocery store for only a bit more than Folgers or Maxwell House. It's pretty easy to grind coffee for a drip machine, and you'll get a lot fuller body. This is one of the best steps you can take to make your coffee better.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Switch to a metal, reusable filter.&lt;/b&gt; With a fresher grind, you can appreciate the oils that are blocked my paper filters. You'll be more eco-friendly, but you'll need to wash it occasionally to prevent the buildup of oils that will make the coffee sour.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.wikihow.com/Use-a-French-Press-or-Cafetiere"&gt;&lt;b&gt;Start to use a press&lt;/b&gt;&lt;/a&gt; (also known as a "French Press"). Coffee machines scald coffee with water that's way to hot. They're not a lot of work, and provide a much fuller body to your coffee. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Use filtered water.&lt;/b&gt; City water contains dissolved minerals and chemicals like chlorinewhich can all interfere with the aromas of coffee. By filtering your water, you can get rid of those chemicals.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Grind freshly-roasted beans.&lt;/b&gt; This is probably the biggest hassle you can go to to make better coffee. However, after grinding your own beans, it's the best thing you can do to make better coffee. Freshly-roasted coffee isn't available everywhere, and roasting your own can be an expensive affair. However, there's an easy way to start and see if it's worth it for you. You can buy a cheap popcorn popper and a &lt;a href="http://www.greenbeanery.ca/bean/catalog/product_info.php?products_id=89&amp;amp;osCsid=7516be0fb418579d2587d973d2244329"&gt;sampler pack online&lt;/a&gt; for about $30 and &lt;a href="http://www.wikihow.com/Roast-Coffee-in-a-Popcorn-Popper"&gt;start roasting your own coffee&lt;/a&gt;. If you find it's worth the effort, you can invest in more expensive coffee roasters.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Buy a burr grinder.&lt;/b&gt; The cheap, whirly-blade grinders sold at wal*mart from step 2 give you an inconsistent grind. Furthermore, the grinders will severely heat up the grinds before you brew the coffee. A burr grinder, even a cheap $50 one from Canadian Tire, will give you a much better grind. Wal*mart will even take your $8 grinder back, making it easy to incrementally get better and better grinders until you're happy. Breville has a &lt;a href="http://www.breville.ca/conical-burr-grinder.html"&gt;nice grinder&lt;/a&gt; that'll give you a consistent grinder for not a lot of money (compared to, say, a &lt;a href="http://www.greenbeanery.ca/bean/catalog/product_info.php?products_id=7642"&gt;Rocky&lt;/a&gt; or a &lt;a href="http://www.greenbeanery.ca/bean/catalog/product_info.php?cPath=23_75&amp;amp;products_id=708"&gt;Mazzer Mini&lt;/a&gt;). Or, if you prefer style and want to make coffee a more personal affair, try a &lt;a href="http://www.greenbeanery.ca/bean/catalog/product_info.php?cPath=23_468&amp;amp;products_id=7600"&gt;hand grinder&lt;/a&gt;. I have friends and professors who swear by them - that they add character to your coffee.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Of course, I'd be doing you an injustice if I failed to mention &lt;a href="http://itunes.apple.com/us/app/coffee-timer/id349578616?mt=8"&gt;CoffeeTimer&lt;/a&gt;, the app that helps you prepare pressed coffee, use vacuum pots, and time espresso shots. It has helpful hints on water preparation, and lots of info for tea, too.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Always store coffee in air-tight, opaque containers. Light and air destroy oils in the beans that give you the best taste.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Remember, the important thing is that &lt;i&gt;you&lt;/i&gt; enjoy the coffee you're drinking. If you get to step 2, and you're happy, then don't feel that you need to go any further! I'm not going to judge the coffee you drink, and I suggest you don't let the snobs online do it, either.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;UPDATE: a friend has suggested &lt;a href="http://twitter.com/#!/bensteeves/status/28146981071233024"&gt;on twitter&lt;/a&gt; using the &lt;a href="http://www.aeropress.ca/"&gt;Aeropress&lt;/a&gt;. I've never used one, but I've heard great things from &lt;a href="http://www.jonniejava.com/Paradise_Imports_%26_Jonnie_Java/Welcome_to_our_site.html"&gt;Jonnie Java&lt;/a&gt;. It's like a press with a disposable filter that plunges down, leaving an easily disposed of puck. You can use them at the office or the campfire. They apparently make great coffee and are really convenient!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1238689834306568571?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/1238689834306568571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/01/steps-to-make-better-coffee.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1238689834306568571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1238689834306568571'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/01/steps-to-make-better-coffee.html' title='Steps to Make Better Coffee'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-4391811034074124353</id><published>2011-01-06T10:07:00.004-04:00</published><updated>2011-01-29T20:12:42.458-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><title type='text'>Something I've Always Had Trouble With ...</title><content type='html'>In High School I worked as a cellphone salesman. In University, I've worked in a few technical support departments. Currently, I'm volunteering at the UNBSU &lt;a href="http://unbsu.ca/content/246658"&gt;Book Buy &amp;amp; Sell&lt;/a&gt;. There's one thing that I have always struggled with.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Writing down people's names.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Even if people don't have a weird name, I've always had trouble writing down names. And if they &lt;b&gt;do&lt;/b&gt; have a strange or unusual name, then I have an even harder time. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you've got a weird name, I sympathize. The surname "Furrow" literally doesn't exist outside of a few counties in New Brunswick (I've checked the Internet). But don't get in a tizzy if I ask you to repeat yourself. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-4391811034074124353?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/4391811034074124353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/01/something-ive-always-trouble-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4391811034074124353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4391811034074124353'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2011/01/something-ive-always-trouble-with.html' title='Something I&apos;ve Always Had Trouble With ...'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6911914210729838535</id><published>2010-12-22T17:37:00.004-04:00</published><updated>2010-12-22T17:48:43.853-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='copyright'/><category scheme='http://www.blogger.com/atom/ns#' term='let&apos;s have a personal chat'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>Looking at my Career Options</title><content type='html'>&lt;div&gt;I guess it’s been a while since I’ve written a personal post. I guess I’ve been busy with &lt;a href="http://v37s3b4h7dn47s37hg1br4h7rs7n3du7s8nu.unbf.ca/~w8320/CS_4735_Project/CS_4735_Project.html"&gt;schoolwork&lt;/a&gt; and my &lt;a href="http://blogs.unb.ca/ash-furrow"&gt;UNB Blog&lt;/a&gt;. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, it’s the dusk of my Undergraduate career. I only have one semester left, and after I get married in April and send a few months at &lt;a href="http://www.fh-bonn-rhein-sieg.de/en/Home.html"&gt;BRSU&lt;/a&gt; in Germany, what am I planning to do with my life?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have no idea.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What are some of my options, then? Well, there’s going straight into Graduate school. I’m tired of school; it’s been five years and I’m itching to get into the real world. Possibilities include Masters in Mathematics or Computer Science. I’m not sure which I’d go with, but at this point I’m less inclined to go into Academia. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I could pursue a degree in Teaching and teach at a High School level, but I’d rather do that at an Undergrad level, in which case I’d only need a Masters in CS (CS faculties seem less picky about requiring a PhD to teach).&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://www.eff.org/deeplinks/2009/12/xkcd"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 130px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/TRJwkdTCg9I/AAAAAAAAARk/IR4JqCt9I_s/s320/xkcd_comic.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5553625062143329234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Another option is to go to Law school. This seems like a pretty good option since a Law degree is applicable to many different careers. It would also be really cool to fight for sane Intellectual Property laws, and I might even get the privilege of meeting &lt;a href="http://www.michaelgeist.ca/"&gt;Michael Geist&lt;/a&gt; one day. Even better, I’d get to wear a suit every day. Awesome. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;However, three years is a long time to work towards a goal of becoming a member of one of the most ubiquitously hated professions in our society.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So what are my plans for now? I’m moving somewhere to Ontario - wherever Ashley goes to Grad school - and try to work for a startup. I really enjoyed my experience working for Chalk because of the people and the atmosphere. I’d like to go back to that atmosphere again. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Regardless of what I ultimately decide to do for a career, a few years of experience in the software development industry can only help. It could help me become a better teacher or a better intellectual property lawyer. At the very least, it’ll help me become a better software developer. If or when I get tired of that, I can take a look at my options again.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6911914210729838535?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6911914210729838535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/12/looking-at-my-career-options.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6911914210729838535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6911914210729838535'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/12/looking-at-my-career-options.html' title='Looking at my Career Options'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/TRJwkdTCg9I/AAAAAAAAARk/IR4JqCt9I_s/s72-c/xkcd_comic.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6704937951748727650</id><published>2010-12-02T19:00:00.003-04:00</published><updated>2010-12-02T19:29:57.191-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='new brunswick'/><category scheme='http://www.blogger.com/atom/ns#' term='pse'/><title type='text'>New Brunswick Eschews PSE Funding in Favour of Attracting New New Brunswickers</title><content type='html'>I was reading this &lt;a href="http://www.cbc.ca/canada/new-brunswick/story/2010/12/02/nb-changing-demographic-tough-for-economy.html?ref=rss"&gt;CBC article&lt;/a&gt;, and I honestly got quite a hoot. &lt;span style="font-style:italic;"&gt;Apparently&lt;/span&gt;, young people in New Brunswick are leaving and not having kids. The solution is, of course, to attract more immigrants to the province. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fantastic - this province is seriously polarized in terms of the distribution of the colour of people's skin and could really use some diversity. However, I must point out that they recognize the fact that young people are leaving, and their solution has nothing to do with trying to get them to stay.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Spending money on increasing immigration to NB is a good thing - I'm not questioning that at all. However, when someone turns 18 and moves to Alberta or Halifax, then that is 13 years of public education and 18 years of health care going with them. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Young people are an &lt;i&gt;investment&lt;/i&gt;, in a very real sense. There's a huge amount of money tied up in every person by the time they graduate high school. If you're looking for a way to save money, maybe the government of New Brunswick should stop paying for the education of other provinces' citizens.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How do we keep young people here? Well, first and foremost, make it attractive to go to school here. Do this by funding Post-Secondary Education. This has the added benefit of helping to keep those appealing immigrants here after they graduate.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;David Alward said during the campaign that he's concerned about young people leaving and taking their tuition with them. But honestly, after 18 years of education, a few thousand dollars for a student to stay in New Brunswick is a bargain. On top of that, we should make the tax rebate of $20 000 apply even &lt;i&gt;after&lt;/i&gt; leaving the province, but only if you come back. This way, we educate our population, let them tour Europe or Ontario for a few years, and when they're reading to settle down, they have a reason to come back, bringing a lot of perspective with them.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is a plan for a more educated, more populated province. It'll never be realized by this PC government because their main voter base stereotypes students, so giving us money is politically unsavoury. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6704937951748727650?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6704937951748727650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/12/new-brunswick-eschews-pse-funding-in.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6704937951748727650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6704937951748727650'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/12/new-brunswick-eschews-pse-funding-in.html' title='New Brunswick Eschews PSE Funding in Favour of Attracting New New Brunswickers'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-302159488550467931</id><published>2010-11-29T22:37:00.003-04:00</published><updated>2010-11-29T22:52:06.524-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='social networking'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><title type='text'>New Blogs!</title><content type='html'>Well, as we're getting married on April 30, we've been very busy planning. We have set up a &lt;a href="http://ashandashley.blogspot.com/"&gt;wedding blog&lt;/a&gt; to put up ideas and get feedback.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've also been pretty busy with UNB Recruitment. I've given a few presentations on my experiences with iOS Development for the faculty and, previously, I designed the &lt;a href="http://coffeetimerapp.com/CoffeeTimer/UNB_Recruitment.html"&gt;UNB Recruitment iPad app&lt;/a&gt;. Over the past few weeks, I've started a &lt;a href="http://blogs.unb.ca/ash-furrow/"&gt;new blog&lt;/a&gt; for the university about my life around campus. I feel like the legitimate online "social media guy" everyone seems to keep calling me. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I could use these as an opportunity to expand how I use one medium to promote another ...&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;What I have now&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/_9fyekwTM7U8/TPRl8173pjI/AAAAAAAAARU/XtlValJ8i90/s320/Screen%2Bshot%2B2010-11-29%2Bat%2B10.46.40%2BPM.png" style="margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 178px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5545169137144669746" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;&lt;b&gt;What I'd like to have some day&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9fyekwTM7U8/TPRmQDMkHxI/AAAAAAAAARc/pLAesOBzHNw/s1600/Screen%2Bshot%2B2010-11-29%2Bat%2B10.47.22%2BPM.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 294px;" src="http://3.bp.blogspot.com/_9fyekwTM7U8/TPRmQDMkHxI/AAAAAAAAARc/pLAesOBzHNw/s320/Screen%2Bshot%2B2010-11-29%2Bat%2B10.47.22%2BPM.png" border="0" alt="Hey, baby, you fully connected?" title="Hey, baby, you fully connected?" id="BLOGGER_PHOTO_ID_5545169467121868562" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-302159488550467931?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/302159488550467931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/11/new-blogs.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/302159488550467931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/302159488550467931'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/11/new-blogs.html' title='New Blogs!'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9fyekwTM7U8/TPRl8173pjI/AAAAAAAAARU/XtlValJ8i90/s72-c/Screen%2Bshot%2B2010-11-29%2Bat%2B10.46.40%2BPM.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6452827567741299813</id><published>2010-11-17T09:39:00.005-04:00</published><updated>2010-11-18T06:43:33.848-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='new brunswick'/><title type='text'>People are Frustratingly Stupid</title><content type='html'>So I was reading &lt;a href="http://www.cbc.ca/canada/new-brunswick/story/2010/11/17/nb-darcie-west-parole-621.html?ref=rss"&gt;this CBC article&lt;/a&gt; this morning about a woman named West ran into a pedestrian crossing a crosswalk on a motorized wheelchair. She then fled the scene of the crime and later had her car repaired, destroying the evidence. The woman she hit later died of her injuries.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Eventually, West was caught and pled guilty. She started serving her jail term in May 2009. This week she was granted parole and will be moved into a halfway house. This is all the article says - there are no further details concerning her intentions, behaviour, or otherwise.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Commenters are livid. They are claiming that the justice system doesn't value human life; that West hasn't changed; that West is a coward who hasn't served her complete sentence yet and shouldn't be paroled. Let's take a second to remember that:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;The justice system isn't there to make you feel better. &lt;/li&gt;&lt;li&gt;West made a mistake - a very serious one - and she served a year and a half in prison because of it. She didn't try to kill anyone, and there is no rehabilitation to be done here; she made a mistake and she paid the price.&lt;/li&gt;&lt;li&gt;You're kidding yourself if you say that you would have turned yourself in.&lt;/li&gt;&lt;li&gt;After being caught, she pleaded guilty. According to every episode of Law &amp;amp; Order I've ever seen, you get paroled because of good behaviour. If she got paroled, there must have been a reason for it.&lt;/li&gt;&lt;li&gt;Her parole is &lt;i&gt;helping society&lt;/i&gt;. In jail, we paid for her to do nothing for society. Now she has an opportunity to pay taxes and contribute. I'd say that's a positive change.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I feel that people, particularly those in New Brunswick, and particularly those who comment on CBC articles, would sound a lot smarter if they would think for half a second before opening their mouthes to offer their knee-jerk opinion on everything. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am so frustrated after years of living in a province where people's gut-reaction is the &lt;a href="http://www.cbc.ca/canada/nbvotes2010/map/2010/"&gt;final word&lt;/a&gt; on things. Maybe I'm fooling myself if I think it's going to be different elsewhere, but maybe people in the rest of the world are a different kind of stupid. That'd be refreshing ... &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6452827567741299813?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6452827567741299813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/11/people-are-frustratingly-stupid.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6452827567741299813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6452827567741299813'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/11/people-are-frustratingly-stupid.html' title='People are Frustratingly Stupid'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-751883052693306447</id><published>2010-10-22T07:00:00.002-03:00</published><updated>2010-10-22T07:00:01.530-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='creationism'/><category scheme='http://www.blogger.com/atom/ns#' term='christianity'/><title type='text'>Happy Birthday, Universe!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.memorti.com/blog/wp-content/uploads/2009/10/creation-of-adam-750384.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 112px; height: 69px;" src="http://www.memorti.com/blog/wp-content/uploads/2009/10/creation-of-adam-750384.jpg" border="0" alt="" /&gt;&lt;/a&gt;While I'm not a creationist, I never miss an opportunity to celebrate! Celebrate what, you ask? Why, only the anniversary of the creation of our universe as calculated by &lt;a href="http://en.wikipedia.org/wiki/James_Ussher"&gt;James Ussher&lt;/a&gt; from Biblical genealogical records, of course! &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the mid-seventeenth century, Ussher published a Chronology detailing that the Creation occurred the nightfall of October 25th, 4004 BC. What a marvel! Now, modern scientists have found that information he used in his calculations, namely the date of the autumnal equinox that year, were inaccurate. We now know that the world was created on the nightfall before October 23rd, 4004 BC. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I mean, we've all &lt;i&gt;heard&lt;/i&gt; of the creationist claims that the world was created in 6ish days six thousand-ish years ago. But did you ever follow that thought to it's logical conclusion? There was one day where there existed no creation. And the next day, there it was! Since it took place in a day, it must have taken place &lt;i&gt;on a specific day&lt;/i&gt;. At least now we know &lt;i&gt;which&lt;/i&gt; day it was!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So wish the Heavens and Earth a happy birthday! Hip hip hooray!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-751883052693306447?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/751883052693306447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/happy-birthday-universe.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/751883052693306447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/751883052693306447'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/happy-birthday-universe.html' title='Happy Birthday, Universe!'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1035530255012477294</id><published>2010-10-09T09:29:00.003-03:00</published><updated>2010-10-09T09:36:45.858-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='coffee'/><category scheme='http://www.blogger.com/atom/ns#' term='espresso'/><title type='text'>Perfect Shot</title><content type='html'>This morning, I pulled a "perfect shot." I had high hopes for it's taste as I finished pulling it, and it did not disappoint. &lt;div&gt;&lt;br /&gt;What I mean by perfect shot is that I pulled it for exactly 25 seconds and I got exactly 1 ounce of espresso. You can fudge these a little, 23-30 seconds and 1-1.5 ounces are all reasonable, but I did it for the first time this morning.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I've been struggling to improve the quality and consistency of the shots I'm pulling, which has of course been a learning, iterative process. I've been using fresh beans since the start, and this Summer, I got a decent grinder. The new grinder has made all the difference, and has really fixed a variable in this espresso equation. Now it's down to tamp pressure, amount of grinds, and granularity to decide shot size and duration. Before, I just sort of "eyeballed" it to see if the espresso was running clear. I was pulling shots &lt;b&gt;way&lt;/b&gt; too long.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I got a measured shot glass in order to tell &lt;i&gt;exactly&lt;/i&gt; how much espresso has been poured so far, and I've begun seriously timing the shots. I  still need to eventually get a nice machine for consistent temperature, etc. I'd love a Silvia, but at $750, it's seriously out of my price range (for now).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was surprised at how non-bitter the shot tasted. I haven't been a fan of these Sumatran beans since I got them, as they taste really burnt. This was a very earthy sort of shot, which is what I was expecting from the start.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1035530255012477294?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/1035530255012477294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/perfect-shot.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1035530255012477294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1035530255012477294'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/perfect-shot.html' title='Perfect Shot'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-3741620193910305236</id><published>2010-10-06T20:44:00.002-03:00</published><updated>2010-10-06T20:49:00.059-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Samsung Galaxy Tab</title><content type='html'>So Samsung has announced a new, Android-powered tablet called the "Galaxy Tab." I'm not going to discuss it's merits or anything (a breakdown is available &lt;a href="http://gizmodo.com/5649368/ultimate-tablet-showdown-ipad-vs-playbook-vs-galaxy-tab-vs-slate"&gt;here&lt;/a&gt;), but I will say that I really wish Samsung had more balls.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;They're offering the new device through carriers only. Come &lt;i&gt;on&lt;/i&gt;, Samsung! You copied Apple's product, you may as well copy their business model, too.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You buy your iPad and it's yours. You &lt;i&gt;can&lt;/i&gt; activate the 3G data connection later if you want to. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With Samsun's Galaxy Tab, you &lt;i&gt;have&lt;/i&gt; to go through a carrier and get a 3G data contract. Which means you better be &lt;i&gt;damn&lt;/i&gt; sure that you want that new toy for three years.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The advantage is of course a lower consumer upfront price. Way to go Samsung, you've set back consumer choice. We'll still be years before buying a phone outright is an affordable or sane thing to do.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-3741620193910305236?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/3741620193910305236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/samsung-galaxy-tab.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3741620193910305236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3741620193910305236'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/samsung-galaxy-tab.html' title='Samsung Galaxy Tab'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-5829886437270940020</id><published>2010-10-06T18:52:00.003-03:00</published><updated>2010-10-06T19:02:58.898-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UVa'/><category scheme='http://www.blogger.com/atom/ns#' term='programming challenges'/><title type='text'>Unidirectional TSP Take Two! (116)</title><content type='html'>I have previously blogged about my &lt;a href="http://atteroignorantiam.blogspot.com/2010/04/unidirectional-tsp-116.html"&gt;abysmal failures&lt;/a&gt; at solving &lt;a href="http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;page=show_problem&amp;amp;category=3&amp;amp;problem=52&amp;amp;mosmsg=Submission+received+with+ID+7924828"&gt;the beast&lt;/a&gt;. Today, I did what I could could not in April.&lt;br /&gt;&lt;br /&gt;First, I did a solution which didn't work in Java. Then I retried it. Still "wrong answer." Then I retried again. I fixed all the problems, but I got a "Time-limit Exceeded" error. I was so frustrated I gave up, which I typically don't do.&lt;br /&gt;&lt;br /&gt;Last night, about 10 o'clock, the other members of my programming team Ian and Angus suggested I try to to practice my dynamic programming skills.&lt;br /&gt;&lt;br /&gt;I knew what was inefficient about my Java implementation, but I didn't want to fix it. Instead, I wrote a new implementation in C++. I struggled for a while with compiler errors and language oddities, but got it in the end. Testing took about half an hour, but I still couldn't get it. Finally, at 12:45 am this morning, I submitted with a "Presentation error", which means I got the &lt;span style="font-style:italic;"&gt;correct answer&lt;/span&gt;, but I didn't output my data in the correct format.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This morning, I finally corrected the errors. What was the problem? This question is &lt;i&gt;very&lt;/i&gt; particular about spaces between paths, costs, etc. You need a newline after your last test case and spaces in between each element of the shortest path, but &lt;i&gt;not&lt;/i&gt; after the last element of the path.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope that helps anyone else out there doing Unidirectional TSP for the UVa judge!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-5829886437270940020?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/5829886437270940020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/unidirectional-tsp-take-two-116.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5829886437270940020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5829886437270940020'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/unidirectional-tsp-take-two-116.html' title='Unidirectional TSP Take Two! (116)'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1131465295600437956</id><published>2010-10-06T16:28:00.006-03:00</published><updated>2010-10-06T17:22:51.083-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='let&apos;s have a personal chat'/><category scheme='http://www.blogger.com/atom/ns#' term='coffee'/><category scheme='http://www.blogger.com/atom/ns#' term='espresso'/><title type='text'>New Portafilter Baskets have Arrived!</title><content type='html'>My new single-shot espresso portafilter baskets have arrived! I've had my double-shot one for a few weeks now, but I prefer single shots.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://3.bp.blogspot.com/_9fyekwTM7U8/TKzVmyUtiKI/AAAAAAAAAQ8/87tr92modhc/s200/Brev1.jpeg" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 197px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5525025705197144226" /&gt;&lt;div&gt;My old baskets used a double-walled &lt;i&gt;cream enhancer, &lt;/i&gt;shown right. This "enhancement" would use a a second wall after the normal one with a single, tiny hole to create back-pressure inside the basket. During a shot, the pressure would force an intense stream of espresso out instead of a nice, slow extraction. This stream would hit the portafilter and create tiny, tiny bubbles which would trickle into my demitasse. This would give the illusion of espresso crema, a blond oil that rests on the top of an actual shot. Some less powerful espresso machines rely on this back pressure to get up to the 9 BARs generally associated with espresso machines.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Real crema is the result of oils and water being forced to mix. Coffee is actually a very oily thing; oils are what give coffee it's flavour. In order to obtain a nice crema, you need a fine and consistent grind, fresh beans (roasted weeks ago, tops, and grind minutes ago, tops), correct pressure, grinds distribution, and tamp pressure. Crema enhancers let people get away without any of these. They guarantee crema, but it's not what I'm looking for*.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;*I am &lt;i&gt;so tired&lt;/i&gt; of people calling me a coffee snob. If a pressurized portafilter basket works for you, and you like your coffee, I'm happy for you. There's no reason to be ashamed of drinking coffee you enjoy! &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://4.bp.blogspot.com/_9fyekwTM7U8/TKzZJlEDVEI/AAAAAAAAARM/SQ_yeu4-7i8/s200/photo-1.jpeg" style="float:left; margin:0 10px 10px 0px;cursor:pointer; cursor:hand;width: 200px; height: 186px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5525029601467913282" /&gt;&lt;div&gt;My solution was to having pressurized portafilter baskets was to bore out the whole, shown left, and it's worked well for a while. However, it disturbs the flow of the espresso from the basket to my cup. Additioanlly, I have some extra-wide pores from when I bored out the double-walled baskets, leading to some inconsistent shots. What I wanted was a real, nice espresso shot.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://2.bp.blogspot.com/_9fyekwTM7U8/TKzYeh0hB1I/AAAAAAAAARE/M0D6yVQCkKs/s200/photo.jpeg" style="text-align: left;float: right; margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 10px; cursor: pointer; width: 184px; height: 200px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5525028861863069522" /&gt;&lt;div style="text-align: left;"&gt;There are some 300 pores in a normal espresso portafilter basket which allow the thick espresso to slowly flow through. They're tuned for 9 BARs of pressure in your portafilter to get a nice flow (for a 25-30 second shot).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My new baskets are working lovely :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have a Breville 800 Espresso machine. You can find baskets on &lt;a href="http://www.espressotec.com/store/pc/La-Pavoni-Millenium-51mm-Single-Basket-217p459.htm"&gt;espressotec&lt;/a&gt;. To install, flip your machine on it's side and loosen (by quarter turns) the four screws surrounding the grouphead until the portafilter with the new basket fits.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1131465295600437956?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/1131465295600437956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/new-portafilter-baskets-have-arrived.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1131465295600437956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1131465295600437956'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/new-portafilter-baskets-have-arrived.html' title='New Portafilter Baskets have Arrived!'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9fyekwTM7U8/TKzVmyUtiKI/AAAAAAAAAQ8/87tr92modhc/s72-c/Brev1.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-3512445936651239381</id><published>2010-10-05T16:25:00.004-03:00</published><updated>2010-10-05T16:45:39.797-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>Physical Data</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/TKt_tAX-JAI/AAAAAAAAAQ0/bim8f_6WyZA/s1600/onj.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 134px; height: 200px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/TKt_tAX-JAI/AAAAAAAAAQ0/bim8f_6WyZA/s200/onj.jpg" alt="" id="BLOGGER_PHOTO_ID_5524649779071427586" border="0" /&gt;&lt;/a&gt;So I was walking by the old punchcard machine that the Faculty has on display in the Computer Science building, which brought back memories of an orientation week activity where students had to guess the number of feet on a tape reel, multiply it by the number of bits per inch, and find the total capactiy of the spool of tape. Really fascinating stuff! In my mind, I romanticize the days of computer science where programming involved soldering things together with now antiquated hardware.&lt;br /&gt;&lt;br /&gt;I laughed as I walked by the machine, and then did a double take. I was laughing at how data used to be &lt;span style="font-style: italic;"&gt;literally&lt;/span&gt; stored as physical states, but now we can use solid state disks and today, the concentration of bits per square inch on a modern hard drive is so high as to be called magic. Gone are the days when we could think of data as something physical. I then I really stopped laughing, because I realized how wrong I was.&lt;br /&gt;&lt;br /&gt;We've changed the ways in which we &lt;span style="font-style: italic;"&gt;think&lt;/span&gt; of data, but the data are still just ones and zeroes. We organize it into classes, xml trees, and other "abstract" structures, but the actual data are still concrete. The only abstract thing about data is the way we organize it for our own convenience. When you're holding a flash drive, you're literally &lt;span style="font-style: italic;"&gt;hanging onto&lt;/span&gt; millions and millions of ones and zeroes! When's the last time you held onto millions of anything which all have practical implications? Probably the last time you held a flash drive.&lt;br /&gt;&lt;br /&gt;Just imagine those reels of tape which store bits of data. They have a special measurement: bits per inch. You had to be careful not to stretch the tape because if you did, the bits &lt;span style="font-style: italic;"&gt;got bigger&lt;/span&gt; and the machine couldn't read them.&lt;br /&gt;&lt;br /&gt;Image! A bit has a &lt;span style="font-style: italic;"&gt;size&lt;/span&gt;!? But of course it does! This post you're reading now has a size: it's a bunch of bits, transmitted over a wired medium (say) - each bit was transferred sequentially&lt;span style="font-size:85%;"&gt;*&lt;/span&gt;, took a certain time to get from sender to receiver, and therefore has a &lt;span style="font-style: italic;"&gt;size&lt;/span&gt;! If that doesn't make you all tingly all over, you're doing it wrong.&lt;br /&gt;&lt;br /&gt;It really made me think - computers are even more magic today than they were in my romantized past, but they're still just machines. Instead of moving switches, we have semiconductors, but the principles themselves haven't changed in a fundamental way since ... ever!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;*(simplification for the sake of entertainment)&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-3512445936651239381?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/3512445936651239381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/physical-data.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3512445936651239381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3512445936651239381'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/physical-data.html' title='Physical Data'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/TKt_tAX-JAI/AAAAAAAAAQ0/bim8f_6WyZA/s72-c/onj.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-4894313313041258480</id><published>2010-10-05T12:50:00.004-03:00</published><updated>2010-10-05T13:07:04.481-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UVa'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Password Search (902)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9fyekwTM7U8/TKtMglW6tCI/AAAAAAAAAQs/9dmrg4lluQ4/s1600/asdf.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 385px; height: 85px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/TKtMglW6tCI/AAAAAAAAAQs/9dmrg4lluQ4/s1600/asdf.jpg" alt="" id="BLOGGER_PHOTO_ID_5524593490567803938" border="0" /&gt;&lt;/a&gt;I've been working on UVa question &lt;a href="http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;amp;Itemid=8&amp;amp;category=11&amp;amp;page=show_problem&amp;amp;problem=843"&gt;902 (Password Search)&lt;/a&gt;. Really simple problem once you think about it for a few minutes. Given a string of characters called s and a size n less than the length ofs, find the most common substring of length n within s.&lt;br /&gt;&lt;br /&gt;Generating the substrings is easy. There are length of s - n + 1 of them. What my initial solution did was, in C++, create an list of strings and sort them. It seemed solid - sorting was, what, O(nlogn) time? Easy. Do a linear scan through my sorted list to keep track of the most common (repeated) element. Done. Whole coding time was half an hour, including fighting with compile error (I'm still not great at C++, but I'm trying).&lt;br /&gt;&lt;br /&gt;I spent the next half hour trying to get my answer accepted. What went wrong? Time-limit exceed. My program didn't run in the maximum 3 seconds on the judge data.&lt;br /&gt;&lt;br /&gt;I opted instead to go with what I considered to be a much less elegant solution. I switched to Java and used a &lt;a href="http://en.wikipedia.org/wiki/Hash_table"&gt;HashMap&lt;/a&gt; to store the substrings as keys and Integers as values. For each substring, instead of adding it to a list, I checked to see if it exists in the map. If it did, increment it's value. If not, create it with an initial value of 1. I used &lt;a href="http://download.oracle.com/javase/1.4.2/docs/api/java/lang/StringBuffer.html"&gt;StringBuffer&lt;/a&gt; to efficiently make all  possible substrings (substring in java runs in linear time, StringBuffer gave me a constant time solution).&lt;br /&gt;&lt;br /&gt;Why the switch to Java? Programming Club is Thursday and I didn't have the time to mess around with the STL to learn it's map methods. The best tool for any job is the tool you're most comfortable with. My answer was accepted first time in Java in just over 2 seconds. Not too bad - only used a third of my total time. Total coding time, 7 minutes or so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-4894313313041258480?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/4894313313041258480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/password-search-902.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4894313313041258480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4894313313041258480'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/10/password-search-902.html' title='Password Search (902)'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9fyekwTM7U8/TKtMglW6tCI/AAAAAAAAAQs/9dmrg4lluQ4/s72-c/asdf.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1351067786136416060</id><published>2010-09-23T19:26:00.004-03:00</published><updated>2010-09-23T19:36:23.810-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UVa'/><category scheme='http://www.blogger.com/atom/ns#' term='programming challenges'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Polygon (634)</title><content type='html'>This problem took me an hour to solve. Most of that was just fighting with C++, which I've gotten a lot better at since my &lt;a href="http://atteroignorantiam.blogspot.com/2010/09/settlers-of-catan-527.html"&gt;last problem&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;page=show_problem&amp;category=8&amp;problem=575&amp;mosmsg=Submission+received+with+ID+8273140"&gt;Polygon&lt;/a&gt; is a very simple problem wrapped in a lot of stuff to try and confuse you. From the description, you have a few really nice simplications:&lt;ul&gt;&lt;li&gt;All edges of the polygon are horizontal or vertical on odd-numbered vertices.&lt;/li&gt;&lt;li&gt;All points you test are on even numbered vertices&lt;/li&gt;&lt;li&gt;No point ever is not at a non-integer non-positive number&lt;/li&gt;&lt;/ul&gt;What I did was this. Collect the points which define your polygon. Instead of adding edges, only add vertical edges. Add them to a list, and sort that list after it's completed. Start checking line segments in your list until you've passed the point-in-question. Keep track of how many segments you intersect. If it's odd, you're in the polgyon. Otherwise, you're not.&lt;br /&gt;&lt;br /&gt;I've never done a geometry problem before, but I noticed that you can't "get out" of a polygon by crossing an even number of lines. This is true for all polygons. I optimized my solution for details specific about this problem, but they didn't take much time to do. I don't want to fall into the trap of unnecessary optimization.&lt;br /&gt;&lt;br /&gt;Of course, it's no &lt;a href="http://pastebin.com/szkZ3hUD"&gt;Java solution&lt;/a&gt;. &lt;a href="http://twitter.com/ianbishop"&gt;Ian&lt;/a&gt; took under a minute to write it, but I feel it lacks the sheer awesomeness of my solution :)&lt;code&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;#include &amp;lt;list&amp;gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;class Edge&lt;br /&gt;{&lt;br /&gt; public:&lt;br /&gt;  int x;&lt;br /&gt;  int starty;&lt;br /&gt;  int endy;&lt;br /&gt;  Edge()&lt;br /&gt;  {&lt;br /&gt;   x = 0;&lt;br /&gt;   starty = 0;&lt;br /&gt;   endy = 0;&lt;br /&gt;  }&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;bool compare(Edge lhs, Edge rhs)&lt;br /&gt;{&lt;br /&gt; return lhs.x &amp;lt; rhs.x;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int main ()&lt;br /&gt;{&lt;br /&gt; int n;&lt;br /&gt; cin &amp;gt;&amp;gt; n;&lt;br /&gt;&lt;br /&gt; while (n &amp;gt; 0)&lt;br /&gt; {&lt;br /&gt;  list &amp;lt;Edge&amp;gt; myList;&lt;br /&gt;  int startx,starty;&lt;br /&gt;&lt;br /&gt;  cin &amp;gt;&amp;gt; startx &amp;gt;&amp;gt; starty;&lt;br /&gt;  int x, y, oldx = startx, oldy = starty;&lt;br /&gt;&lt;br /&gt;  for (int i = 1; i &amp;lt; n; i++)&lt;br /&gt;  {&lt;br /&gt;   cin &amp;gt;&amp;gt; x &amp;gt;&amp;gt; y;&lt;br /&gt;&lt;br /&gt;   if (x == oldx)&lt;br /&gt;   {&lt;br /&gt;    //create and store edge&lt;br /&gt;    Edge e;&lt;br /&gt;    e.x = x;&lt;br /&gt;    e.starty = oldy;&lt;br /&gt;    e.endy = y;&lt;br /&gt;&lt;br /&gt;    myList.push_front(e);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   oldx = x;&lt;br /&gt;   oldy = y;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  if (x == startx)&lt;br /&gt;  {&lt;br /&gt;   //create and store edge&lt;br /&gt;   Edge e;&lt;br /&gt;&lt;br /&gt;   e.x = x;&lt;br /&gt;   e.starty = y;&lt;br /&gt;   e.endy = starty;&lt;br /&gt;&lt;br /&gt;   myList.push_front(e);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  myList.sort(compare);&lt;br /&gt;&lt;br /&gt;  cin &amp;gt;&amp;gt; x &amp;gt;&amp;gt; y;&lt;br /&gt;&lt;br /&gt;  int t = 0;&lt;br /&gt;  for (list&amp;lt;Edge&amp;gt;::iterator it = myList.begin(); it != myList.end(); it++)&lt;br /&gt;  {&lt;br /&gt;   if ((*it).x &amp;gt; x)&lt;br /&gt;    break;&lt;br /&gt;   if ((*it).starty &amp;lt; y &amp;&amp; y &amp;lt; (*it).endy ||&lt;br /&gt;    ((*it).endy &amp;lt; y &amp;&amp; y &amp;lt; (*it).starty))&lt;br /&gt;    t++;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  if ((t % 2) == 1)&lt;br /&gt;   cout &amp;lt;&amp;lt; "T" &amp;lt;&amp;lt; endl;&lt;br /&gt;  else&lt;br /&gt;   cout &amp;lt;&amp;lt; "F" &amp;lt;&amp;lt; endl;&lt;br /&gt;&lt;br /&gt;  cin &amp;gt;&amp;gt; n;&lt;br /&gt; }&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1351067786136416060?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/1351067786136416060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/09/polygon-634.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1351067786136416060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1351067786136416060'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/09/polygon-634.html' title='Polygon (634)'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7218495301255754721</id><published>2010-09-21T17:11:00.005-03:00</published><updated>2010-09-23T19:36:43.226-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UVa'/><category scheme='http://www.blogger.com/atom/ns#' term='programming challenges'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>The Settlers of Catan (527)</title><content type='html'>I'm a week deep into my Programming Challenges course in the CS Faculty at UNB. My first problem was the &lt;a href="http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;category=7&amp;page=show_problem&amp;problem=480"&gt;Settlers of Catan&lt;/a&gt;. I spent &lt;b&gt;way&lt;/b&gt; too long trying to come up with an efficient solution before realizing that the graph in question has at most 25 nodes and at most 25 edges. Brute force will do fine.&lt;br /&gt;&lt;br /&gt;There was no page for this problem on the Algorithmist, so I &lt;a href="http://www.algorithmist.com/index.php/UVa_539"&gt;created one&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'm also trying to be more awesome this semester, so I did my solution in C++. I know I'm not cleaning up after myself and wasting memory, but the challenge isn't in memory management. It's not even in good algorithm design. The challenge is in getting the answer the judge is looking for. I'm a proud product of the public education system.&lt;code&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;class Node&lt;br /&gt;{&lt;br /&gt; public:&lt;br /&gt;  int numNodes;&lt;br /&gt;  Node *nodes [3];&lt;br /&gt;  int used [3];&lt;br /&gt; &lt;br /&gt; Node()&lt;br /&gt; {&lt;br /&gt;  used[0] = used[1] = used[2] = -1;&lt;br /&gt;  numNodes = 0;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; void addEdge(Node *toNode)&lt;br /&gt; {&lt;br /&gt;  nodes[numNodes] = toNode;&lt;br /&gt;  numNodes++;&lt;br /&gt;  toNode-&amp;gt;nodes[toNode-&amp;gt;numNodes] = this;&lt;br /&gt;  toNode-&amp;gt;numNodes++;&lt;br /&gt; }&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;int dfs(Node *node, int i)&lt;br /&gt;{&lt;br /&gt; int largest = 0;&lt;br /&gt; for (int j = 0; j &amp;lt; node-&amp;gt;numNodes; j++)&lt;br /&gt; {&lt;br /&gt;  if (node-&amp;gt;used[j] &amp;lt; i)&lt;br /&gt;  {&lt;br /&gt;   //use this edge!&lt;br /&gt;   node-&amp;gt;used[j] = i;&lt;br /&gt;   int *toNode;;&lt;br /&gt;   if (node-&amp;gt;nodes[j]-&amp;gt;nodes[0] == node)&lt;br /&gt;    toNode = &amp;(node-&amp;gt;nodes[j]-&amp;gt;used[0]);&lt;br /&gt;   else if (node-&amp;gt;nodes[j]-&amp;gt;nodes[1] == node)&lt;br /&gt;    toNode = &amp;(node-&amp;gt;nodes[j]-&amp;gt;used[1]);&lt;br /&gt;   else&lt;br /&gt;    toNode = &amp;(node-&amp;gt;nodes[j]-&amp;gt;used[2]);&lt;br /&gt;&lt;br /&gt;   *toNode = i;&lt;br /&gt;&lt;br /&gt;   int t = 1 + dfs(node-&amp;gt;nodes[j], i);&lt;br /&gt;   if (t &amp;gt; largest)&lt;br /&gt;    largest = t;&lt;br /&gt;   &lt;br /&gt;   (*toNode)--;&lt;br /&gt;   node-&amp;gt;used[j]--;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt; return largest;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int main ()&lt;br /&gt;{&lt;br /&gt; int n, m;&lt;br /&gt; cin &amp;gt;&amp;gt; n &amp;gt;&amp;gt; m;&lt;br /&gt; while (n != 0 || m != 0)&lt;br /&gt; {&lt;br /&gt;  Node *nodes[25];&lt;br /&gt;  &lt;br /&gt;  for (int i = 0; i &amp;lt; n; i++)&lt;br /&gt;  {&lt;br /&gt;   nodes[i] = new Node();&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  for (int i = 0; i &amp;lt; m; i++)&lt;br /&gt;  {&lt;br /&gt;   int a, b;&lt;br /&gt;   cin &amp;gt;&amp;gt; a &amp;gt;&amp;gt; b;&lt;br /&gt;   nodes[a]-&amp;gt;addEdge(nodes[b]);&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  int largest = 0;&lt;br /&gt;  for (int i = 0; i &amp;lt; n; i++)&lt;br /&gt;  {&lt;br /&gt;   int t = dfs(nodes[i], i);&lt;br /&gt;   if (t &amp;gt; largest)&lt;br /&gt;    largest = t;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  cout &amp;lt;&amp;lt; largest &amp;lt;&amp;lt; endl;&lt;br /&gt;&lt;br /&gt;  cin &amp;gt;&amp;gt; n &amp;gt;&amp;gt; m;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;Thoughts?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7218495301255754721?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7218495301255754721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/09/settlers-of-catan-527.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7218495301255754721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7218495301255754721'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/09/settlers-of-catan-527.html' title='The Settlers of Catan (527)'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-4212540032893347728</id><published>2010-09-10T08:00:00.001-03:00</published><updated>2010-09-10T08:35:45.745-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>New Brunswick Young Liberals iPhone App: A Technical Challenge</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://coffeetimerapp.com/CoffeeTimer/Young_Liberals_files/Young%20Libs%20Web%20Icon.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 300px; height: 300px;" src="http://coffeetimerapp.com/CoffeeTimer/Young_Liberals_files/Young%20Libs%20Web%20Icon.png" border="0" alt="" /&gt;&lt;/a&gt;Over the past 4 months, I've been secretly working for the New Brunswick Young Liberals making an &lt;a href="http://coffeetimerapp.com/CoffeeTimer/Young_Liberals.html"&gt;iPhone app&lt;/a&gt; for the Fall provincial election. It's taken up weekends and evenings but I really enjoyed it and I learned &lt;i&gt;a tonne&lt;/i&gt;. Besides that, it's been a paid job (so I've made some extra dollars) and a really fun project.&lt;br /&gt;&lt;br /&gt;Since the beginning, I've been unable to blog or tweet about &lt;b&gt;any&lt;/b&gt; aspect of this project (gasp!) so I've been saving it up until now. This blog post is pretty technical, and it's purpose is mainly my own catharticism. It should be readable to anyone with a knowledge of basic programming, though there are a few iOS-specific details. Please let me know if I can provide any clarifications.&lt;br /&gt;&lt;dl&gt;&lt;dt&gt;Things that were not immediately obvious to me:&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;You inherent IBOutlets and IBActions from superclasses. This sounds obvious, but it saved me a lot of code duplication. The PollingStationViewController, CampaignOfficeViewController, and ReturningOfficeViewController objects all inherent from an AbstractMapViewController I created which contains outlets for the toolbars and mapviews common to all three, as well as IBActions that the user can send. The bulk of the code for the maps is in this superclass and only has to be maintained once. The view-specific code in the subclasses is mainly responsible for client-server comms on the entities the view displays.&lt;br /&gt;&lt;br /&gt;Subclassing NSManagedObject saved me a &lt;i&gt;lot&lt;/i&gt; of time. Specifically, I'm storing objects with a title, with relation to something with a title, and with lat/long coordinates. Why not just have the subclass conform to the MKPinAnnotation protocol so I can pass them over directly to MapKit? The only reason I can think of is it would be too easy.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://developer.apple.com/iphone/library/documentation/DataManagement/Conceptual/EventKitProgGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40004759-SW1"&gt;Event Kit&lt;/a&gt; is the new API for interacting with the User’s system calendar. This is awesome, and I read the programming guide, but at the time there were no working examples online. Code snippits, yes, but no examples of “how to add an event to a user’s calendar.” I had to piece it together 1073-style, looking up object A and finding it needed Objects B and C, then looking up those and learning that they needed Objects D-J, and so on. Eventually, it worked! But it took some digging around Apple’s documentation.&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;Things that frustrated me:&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Lack of a forward-geocoding server in iOS practically killed me. Based on the fact that I had to include every postal code in New Brunswick and it’s corresponding riding anyways, I looked up the lat/long coordinates beforehand so the data is there in the app at runtime. These 50000+ postal code coordinates bloated the app a little bit, but it saved me a lot of headaches with an external geocoding service. &lt;br /&gt;&lt;br /&gt;I used &lt;a href="http://tinygeocoder.com/"&gt;tinygeocoder.com&lt;/a&gt; to lookup postal codes. It wasn’t always abel to find them; if it can’t find one, it uses the last postal code it successfully found and uses that. The app therefore contains a warning that postal code lookup is only approximate on the map.&lt;br /&gt;&lt;br /&gt;Because beta testers weren’t available until very late in the project timeline, I was playing with fire. I got a lot of valuable feedback, but some suggestions, like a splash screen, flirted with violations of Apple’s &lt;a href="http://developer.apple.com/iphone/library/documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html"&gt;Human Interface Guidelines&lt;/a&gt;. I was very stressed that I would be rejected over this issue. However, the splash screen mitigates what is otherwise a slow initial startup as the app copies over the 6 MB database containing all 50000+ postal codes in the province.&lt;br /&gt;&lt;br /&gt;Initially, I wrote the bones of my app which used client-server comms to display one entity on a map. The rest, so I thought at the time, would be trivial. Taking what I had learned in a Grand-Central Dispatch talk at WWDC to heart, I wanted to avoid blocking the main thread at all costs. That was a mistake.&lt;br /&gt;&lt;br /&gt; My client server comms were already pretty OK. I used NSConnection objects with NSConnectionDelegates to not block the main thread (in lieu of initWithContentsOfURL:) so I was already pretty safe. The only blocking was the computation of my find-and-update-or-create logic for each entity. I tried to put these in a single, shared background GCD queue, but caused many crashes with Core Data faults in the main thread. "Cocoa Validation Error 1570" became the bane of my existence. Not knowing what I was actually doing and &lt;b&gt;trying to over-optimize wasted some time&lt;/b&gt;. I have a better understanding of Core Data now thanks to the experience.&lt;br /&gt;&lt;br /&gt;Most of the app now operates in the main thread, like almost every other app out there. The main exception is the loading of a candidate picture in the Ridings view. This is done using &lt;a href="http://en.wikipedia.org/wiki/Lazy_loading"&gt;lazy-loading&lt;/a&gt; of the Internet. If there isn't a photo yet, the app seeks one out. This uses the -(NSData *)initWithContentsOfURL: method, so it blocks whatever thread it's in. I used a temporary GCD queue here, but used dispatch_synch(dispatch_get_main_queue(), ^{/*save image to database*/}); to save the image in the main thread. I really enjoyed implementing this. It was fun, easy, and looks great to the user - adding a little extra panache.&lt;br /&gt;&lt;br /&gt;A big loss for me was my inability to use search-as-you type in the Ridings tab. Despite having optimized my Core Data queries from 8 seconds down to 3 (on a second-gen iPod touch), that was still an insane amount of time to spend querying a database &lt;i&gt;per letter&lt;/i&gt; you type in. Instead I had to settle for a type-everything-then-hit-search-button approach. It works, but it’s not as elegant as I would have liked.&lt;/dd&gt;&lt;br /&gt;&lt;dt&gt;Things that really helped me out:&lt;/dt&gt;&lt;br /&gt;&lt;dd&gt;Ron and Paul from Elections New Brunswick were a lifesaver. I asked for a list of every postal code in New Brunswick sorted by riding and they kindly obliged. Ditto for a list of every polling station (returning offices I scraped off the website myself). They didn’t provide me with anything that wasn’t &lt;a href="http://www.gnb.ca/elections/index-e.asp"&gt;available to the public&lt;/a&gt; anyways, but they saved me a lot of time writing a screenscraper to get the information.&lt;br /&gt;&lt;br /&gt;Having a second-generation iPod touch for testing was awesome. This is the oldest, least-capable device that runs iOS 4, the apps' target OS. This means that by testing on it rather than my iPhone 4, I can ensure that the user experience is &lt;i&gt;at least as good as&lt;/i&gt; what I'm getting during testing. &lt;br /&gt;&lt;br /&gt;Apple’s &lt;a href="http://developer.apple.com/iphone/library/samplecode/Reachability/Introduction/Intro.html"&gt;Reachability&lt;/a&gt; example really helped me out in how to comply with the HIG. You're supposed to test for Internet connectivity first before relying on it and display a custom error to the user if it's not available. This is the difference between "Couldn't refresh Candidate Display" and "Couldn't refresh Candidate Display because you're not connected to the Internet." &lt;br /&gt;&lt;br /&gt;&lt;a href="http://glyphish.com/"&gt;Glyphish's icon set&lt;/a&gt; was a godsend. He gives them away for free, but I paid him some money in Kickstart to get the extras and higher-resolution icons (for iPhone 4 "Retina" displays). Well worth it, really, and I mostly avoided my mortal enemy PhotoShop on this project.&lt;br /&gt;&lt;br /&gt;The Young Liberals have a translator and I put them to good use. Not that I couldn't muddle my way through it, but it was nice having a professional stand behind the quality of my grammar. I judge apps and websites on their ability to communicate well, and I assume the Francophones of New Brunswick do the same.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tinygeocoder.com/"&gt;TinyGeocoder.com&lt;/a&gt; (already mentioned) was a huge boon. It's a free forward-geocoding service that is super simple to use. &lt;br /&gt;&lt;br /&gt;Displaying something for the user to read (a splash screen or dialogue box) on first start up to mask a default database copy was a great idea. I'm really glad I thought of it.&lt;/dd&gt;&lt;/dl&gt;&lt;br /&gt;So there it is - please let me know if you have any feedback about this app. It's been a blast!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://itunes.apple.com/ca/app/nb-young-liberals/id388496637?mt=8#"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 111px; height: 39px;" src="http://coffeetimerapp.com/CoffeeTimer/CoffeeTimer_files/shapeimage_5.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-4212540032893347728?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/4212540032893347728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/09/new-brunswick-young-liberals-iphone-app.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4212540032893347728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4212540032893347728'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/09/new-brunswick-young-liberals-iphone-app.html' title='New Brunswick Young Liberals iPhone App: A Technical Challenge'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7549360982465720537</id><published>2010-09-04T13:00:00.001-03:00</published><updated>2010-09-04T15:47:49.771-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Canada'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>New Band I'm Listening to: Said the Whale</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://userserve-ak.last.fm/serve/174s/36280261.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 174px; height: 174px;" src="http://userserve-ak.last.fm/serve/174s/36280261.jpg" border="0" alt="" /&gt;&lt;/a&gt;So I don't normally blog about music. It's a &lt;a href="http://atteroignorantiam.blogspot.com/2009/05/metric-releases-new-album-fantasies.html"&gt;rare exception&lt;/a&gt; because I know that I'm &lt;a href="http://www.thebruns.ca/"&gt;not hip enough&lt;/a&gt; to be "into" music beyond my own listening. However, I'm going to make an exception today.&lt;br /&gt;&lt;br /&gt;I (legally!) downloaded &lt;i&gt;Islands Disappear&lt;/i&gt; from &lt;i&gt;&lt;a href="http://www.last.fm/music/Said+the+Whale"&gt;Said the Whale&lt;/a&gt;&lt;/i&gt;. They are an incredible band with a real unique Canadianness that makes me giggle. For instance:&lt;ul&gt;&lt;li&gt;The song &lt;i&gt;B.C. Orienteering&lt;/i&gt; is literally about how easy it is to get lost in the woods of British Columbia. I've tried to find a metaphor in the &lt;a href="http://www.lyricsmania.com/bc_orienteering_lyrics_said_the_whale.html"&gt;lyrics&lt;/a&gt;, but I don't think there's one to be found. The song is very informative and includes pro tips on how not to get lost in the woods.&lt;/li&gt;&lt;li&gt;A song describing a couple who moves to Northern Ontario to make some money with the intent of leaving after making some quick cash, and how they haven't left and are wasting their lives there. &lt;/li&gt;&lt;li&gt;Other references to Canadian culture and geography.&lt;/li&gt;&lt;/ul&gt;I'm &lt;b&gt;not&lt;/b&gt; saying you should listen to a band solely because they're Canadian. I'm saying that this band, which I enjoy listening to, is incidentally gleefully Northern. &lt;br /&gt;&lt;br /&gt;The album is a short 37 minutes long, but has a real mix of songs. I'd recommend you check them out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7549360982465720537?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7549360982465720537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/09/new-band-im-listening-to-said-whale.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7549360982465720537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7549360982465720537'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/09/new-band-im-listening-to-said-whale.html' title='New Band I&apos;m Listening to: Said the Whale'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7608075846200626594</id><published>2010-08-25T11:59:00.010-03:00</published><updated>2010-08-25T12:25:47.531-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='grammar'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><title type='text'>Problems with Getting Involved with the Free Software Community</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9fyekwTM7U8/THUzdLY-gAI/AAAAAAAAAQQ/DYugJTkGFCQ/s1600/grammar_correction_cat.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/THUzdLY-gAI/AAAAAAAAAQQ/DYugJTkGFCQ/s320/grammar_correction_cat.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5509366295524442114" /&gt;&lt;/a&gt;My friend Joel recently write a blog entry discussing &lt;a href="http://www.jgoguen.ca/2010/8/why-get-involved-in-free-software"&gt;reasons to get involved in the free software community&lt;/a&gt;. Interesting stuff. However, let's be cynical for a bit (and I know you lot on the Internet love to be cynical) and discuss reasons &lt;i&gt;not&lt;/i&gt; to get involved. &lt;br /&gt;&lt;br /&gt;In April, I installed Ubuntu at work instead of working with the headache that is Windows. During the installation, I was asked for a password. My standard password for things that don't really matter is 6 characters long. Ubuntu didn't like this and strongly suggested using a password with 8 or more characters. What it &lt;i&gt;actually said&lt;/i&gt; was "The password you have chosen has less than 8 characters. This is considered weak." Speaking of weak, do any other pedants out there see the grammar fail? It should advise me that my password has &lt;i&gt;fewer&lt;/i&gt; than 8 characters. &lt;br /&gt;&lt;br /&gt;Not a huge deal, but I thought someone ought to know. I Googled for half an hour trying to find out &lt;i&gt;how&lt;/i&gt; to submit a bug. I finally found launchpad and used their un-userfriendly interface to submit &lt;a href="https://bugs.launchpad.net/ubuntu-translations/+bug/554212"&gt;my bug&lt;/a&gt;. I submitted it as a translation bug because it's just a string that needs to be changed. Here's the exchange that has happened since then (April).&lt;br /&gt;&lt;br /&gt;Ash Furrow:&lt;blockquote&gt;During installation, I got an error when using a short password "The password you have chosen has less than 8 characters. This is considered weak." This should read "... you have chosen has fewer than 8 characters."&lt;/blockquote&gt;&lt;br /&gt;David Planella:&lt;blockquote&gt;Ash,&lt;br /&gt;&lt;br /&gt;Thanks for reporting this bug. I'm not sure it is a translations bug unless you are using an English locale other than US.&lt;br /&gt;&lt;br /&gt;* Are you still experiencing the problem?&lt;br /&gt;* Where exactly do you see that message?&lt;br /&gt;* What locale are you using (i.e. which language is your system in)?&lt;/blockquote&gt;Changed status to incomplete.&lt;br /&gt;&lt;br /&gt;Ash Furrow:&lt;blockquote&gt;Hello,&lt;br /&gt;&lt;br /&gt;The issue is during installation, so I can't reproduce. It is the screen&lt;br /&gt;asking for user information (specifically, the password). The issue is when&lt;br /&gt;the password length is fewer than 8 characters long. My machine is in&lt;br /&gt;English. I suppose it's more of a grammatical thing, but I thought someone&lt;br /&gt;ought to know.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Ash&lt;/blockquote&gt;... four months pass ...&lt;br /&gt;&lt;br /&gt;Mohamed Amine IL Idrissi:&lt;blockquote&gt;This is not a translation bug, but rather an Ubiquity one.&lt;/blockquote&gt;Status changed to Invalid.&lt;br /&gt;&lt;br /&gt;Aron Xu:&lt;blockquote&gt;Hi Mohamed,&lt;br /&gt;We use ubuntu-translations to track bugs that related to Ubuntu's translation, hence please don't mark bugs invalid if triaged. Now I am changing the status back to New.&lt;/blockquote&gt;&lt;br /&gt;David Planella:&lt;blockquote&gt;Thanks Aron and Mohamed for looking into this.&lt;br /&gt;&lt;br /&gt;Re-reading the last reply from Ash, and considering he's using English, I think this is more like a proposal for a change of wording of the original English string, so I think it's nothing that can be fixed in translations.&lt;br /&gt;&lt;br /&gt;For this particular case, I think we can mark the translations task as Invalid.&lt;/blockquote&gt; Status changed to Invalid&lt;br /&gt;&lt;br /&gt;First of all, to everyone in this thread but Aron Xu, &lt;b&gt;Fuck you&lt;/b&gt;. That's strong, isn't it? But each of them probably took more time dicking around than it would have take to change the word "less" to "fewer". What. The. Fuck. &lt;u&gt;JUST FIX IT&lt;/u&gt;.&lt;br /&gt;&lt;br /&gt;This is what's wrong with open communities like this. You can see it with Wikipedia where rogue, cowboy editors who think that the community is their personal playground. I don't care, as a user, that it's not technically a translation bug. I just care that your English sucks.&lt;br /&gt;&lt;br /&gt;This was what you're supposed to do. On no less than half a dozen different occasions, I've explained to someone that I don't have the time/knowledge to devote to the free software community and they're suggested submitting bug fixes. &lt;b&gt;This is what you're supposed to do&lt;/b&gt; to help the community.&lt;br /&gt;&lt;br /&gt;I've sumibtted feature requests for smaller projects like &lt;a href="http://code.google.com/p/clementine-player/"&gt;Clementine&lt;/a&gt; and had them addressed within a day. I think Ubuntu is suffering from it's own size. &lt;br /&gt;&lt;br /&gt;I'm not trying to put down those who contribute their time to open source projects. I'm just saying that when someone tries to offer constructive feedback, don't be a dick.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7608075846200626594?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7608075846200626594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/problems-with-getting-involved-with.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7608075846200626594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7608075846200626594'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/problems-with-getting-involved-with.html' title='Problems with Getting Involved with the Free Software Community'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9fyekwTM7U8/THUzdLY-gAI/AAAAAAAAAQQ/DYugJTkGFCQ/s72-c/grammar_correction_cat.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1137014201869476079</id><published>2010-08-23T09:46:00.004-03:00</published><updated>2010-08-23T10:10:27.314-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>On Android's Future in the Smartphone Market</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://planet-iphones.com/2009/03/18/iphone-os-30-vs-androidcupcake-clash-of-the-titans/"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 250px; height: 150px;" src="http://planet-iphones.com/wp-content/filez/upload/3.0vsAndroid.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;I've previously discussed why Apple &lt;a href="http://atteroignorantiam.blogspot.com/2010/07/why-apple-wont-lose-smartphone-market.html"&gt;won't necessarily lose&lt;/a&gt; the smartphone battle. Let's talk about why Android probably won't win.&lt;br /&gt;&lt;br /&gt;First, some history. Apple released the &lt;a href="http://en.wikipedia.org/wiki/IPhone"&gt;iPhone&lt;/a&gt; originally in 2007 and it had no apps. Apple's reasoning was everything you'd want to do, Apple gave you or could be put in a browser. A year later, they recanted this ridiculous idea, pretended it never happened, and announced an amazing idea they had - an App store. &lt;br /&gt;&lt;br /&gt;At this point, Apple already had their phones in the hands of millions of people. Then they went ahead and offered an easy (and dare I say fun) way to make apps. There was an explosion of apps from developers and consumers were hungry for them. Apps have, today, become a large selling feature of any smartphone platform.&lt;br /&gt;&lt;br /&gt;Let's look at Android from that perspective. Due to hardware segmentation, they're &lt;i&gt;already&lt;/i&gt; suffering from the same difficulties RIM is. Developers need to take into account many, many different hardware configurations and capabilities. This makes it hard and not fun to write apps for either Blackberry or Android, in my opinion. To be fair, Java's popularity &lt;i&gt;is&lt;/i&gt; a selling point for writing Android apps. Personally, I don't think this holds a candle to Apple's rich SDK, but that's just me :)&lt;br /&gt;&lt;br /&gt;In order to get developers to write apps for your platform, you need at least one of two things:&lt;ul&gt;&lt;li&gt;an easy and fun way to write apps (mainly for hobbyists)&lt;/li&gt;&lt;li&gt;a profitable way to write apps&lt;/li&gt;&lt;/ul&gt;Profitability is based on a large market share. Consumers, as I previously mentioned, &lt;i&gt;want&lt;/i&gt; apps on their smartphone. So the cycle goes like this: "I want a smartphone with apps, so I'll buy X." "I want a platform where I can sell to many customers, so I'll write my apps for X." &lt;br /&gt;&lt;br /&gt;iPhone had a kickstart that was based off of Apple's popularity and the fact that they actually innovated to make a really cool thing instead of just copying an already successful technology. The cycle was started. I know Android phones sales are up and increasing, but I don't know if developers are going to be able to get over the hurdles like hardware segmentation to write apps for that platform. I'm not saying they're going to lose, but I do think Android is fighting an uphill battle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1137014201869476079?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/1137014201869476079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/on-androids-future-in-smartphone-market.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1137014201869476079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1137014201869476079'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/on-androids-future-in-smartphone-market.html' title='On Android&apos;s Future in the Smartphone Market'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-8766529008808616227</id><published>2010-08-23T09:14:00.004-03:00</published><updated>2010-08-23T09:43:13.839-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='new brunswick'/><category scheme='http://www.blogger.com/atom/ns#' term='government'/><title type='text'>The Problem with Bilingualism in New Brunswick, Take Two</title><content type='html'>I &lt;a href="http://atteroignorantiam.blogspot.com/2010/08/problem-with-bilingualism-in-new.html"&gt;previously blogged&lt;/a&gt; about the problem with bilingualism in NB, and it came out as harsh to me re-reading it a week later. So I did some research, thinking, and visited Shippagan over the weekend. I'd like to revisit this topic briefly to add some thoughts.&lt;br /&gt;&lt;br /&gt;Firstly, there absolutely is an anti-French sentiment in New Brunswick. The arguments against "forced bilingualism" may have merit, but that's besides the point. Many people in New Brunswick have a dislike of the French and people who speak only French are at a much greater disadvantage than those who speak only English.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://brideau.wordpress.com/2010/08/19/harper-saves-the-chi/"&gt;Ryan Brideau&lt;/a&gt; previously pointed out that language is in fact a regional issue, not a government-based one. With that said, I think that it makes sense to offer services in the language of the region. Go ahead and offer passport offices mainly in French in Acadia, in English in, say, Woodstock, and both in Moncton or Fredericton. &lt;br /&gt;&lt;br /&gt;Absolutely still &lt;i&gt;be able&lt;/i&gt; to offer in either language, but if there's less demand for one language, it's economically ineffective to concentrate on providing it. This also lets us take into account, say, regions like Vancouver where Mandarin may not be an official language, but is still popular and should have services provided in it. I'd love to hear your thoughts and feedback on this idea of region-based selection of which languages to mainly offer services in.&lt;br /&gt;&lt;br /&gt;Secondly, I was discussing the topic of speaking you non-native tongue with someone who is bilingual over the weekend. She remarked that you'd never be made fun of for trying, even struggling, to speak French or English. However, I've tried to just that. I've never been made fun of, but when I've tried to order something at a restaurant and the waitress hear's what I'm trying to pass off as French, she immediately switches to English. This doesn't really do much for my confidence in their language and I think it might contribute to my preference to speak English even in an area where French may be more common. I'm not assigning blame at all or even trying to make a point. It's just interesting.&lt;br /&gt;&lt;br /&gt;Lastly, despite the fact that there is indeed an anti-French sentiment in New Brunswick, it is still frustrating to those who don't speak both languages well enough  to get government jobs. I know the government needs to offer services in both languages, that's not in question. However, you can't say that on an individual basis, people should not be frustrated by the emphasis placed on language over ability. &lt;br /&gt;&lt;br /&gt;This is a really tricky problem - we need to offer the services in English and French, but we shouldn't discriminate against those who can only speak one (either English or French). What's to be done? &lt;br /&gt;&lt;br /&gt;I have no clue, but I know it's easier to leave the province and move somewhere else than it is to fix. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;This&lt;/b&gt; is what I was trying to say in my previous post (and I apologize if I came off as callous). The problem is people are going to be frustrated by this situation and they are &lt;u&gt;going to leave&lt;/u&gt;. In earnest, I cannot wait until I get out of this area. I'm tired of these petty issues getting in the way of getting things done. As much as I'd love to love my home province, I'm often embarrassed by it and would rather live somewhere else.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-8766529008808616227?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/8766529008808616227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/problem-with-bilingualism-in-new_23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8766529008808616227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8766529008808616227'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/problem-with-bilingualism-in-new_23.html' title='The Problem with Bilingualism in New Brunswick, Take Two'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-4948221368177850635</id><published>2010-08-12T15:15:00.008-03:00</published><updated>2010-08-12T15:57:51.783-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='new brunswick'/><category scheme='http://www.blogger.com/atom/ns#' term='critical thinking'/><category scheme='http://www.blogger.com/atom/ns#' term='government'/><category scheme='http://www.blogger.com/atom/ns#' term='politics'/><title type='text'>The Problem with Bilingualism in New Brunswick</title><content type='html'>&lt;small&gt;Note: Sometimes I use the terms "learn French" and "become bilingual" interchangeably, demonstrating my Anglo-centric point of view. Please forgive me :)&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;So I was reading Karen Ruet's piece in the &lt;a href="http://dailygleaner.canadaeast.com/search/article/1169628"&gt;Gleaner&lt;/a&gt; this week which discusses the disparity in after-school and French immersion programmes around the province. She has some good points but I feel she missed, or intentionally avoided, hitting the nail on the head.&lt;br /&gt;&lt;br /&gt;The problem with French in NB is that you &lt;i&gt;need&lt;/i&gt; it to get jobs. Her solution was to increase French programmes for kids so everyone is bilingual. Huzzah! Well, not quite. &lt;br /&gt;&lt;br /&gt;No one can &lt;i&gt;move to&lt;/i&gt; the province and get work. In the author's scenario, if you didn't grow up in NB, you're SOL because you need to be fluent in French and English. Not even someone from Quebec is necessarily bilingual, either, so we're alienating all other 12 provinces and territories.&lt;br /&gt;&lt;br /&gt;I'm stating that an unnecessary number of government and public jobs, including occupations like flight attendants, overly stress the importance of bilingualism. When this attribute is a necessity to get the job, qualified people will fail to get interviewed based solely on something they can't really control. Yes, I said it, you can't control if you're bilingual (and I'll explain). &lt;br /&gt;&lt;br /&gt;What languages you speak are mostly a function of where and when you grew up. And if you don't learn a second language early in your life, chances are you never will. That's a biological fact. Imagine trying to teach someone who hasn't used algebra since 11th grade discrete math. It's possible, but too difficult. Imagine someone trying to learn French for the first time after graduating university to find a job in NB. It'd be possible, but too difficult and costly. It's simply easier to move away.&lt;br /&gt;&lt;br /&gt;So it's possible to become bilingual. Just like it's possible to change most attribute about yourself, given enough effort and resources. But imagine placing emphasis on hip-to-waist ratio or BMI. These too are attributes that you &lt;i&gt;can&lt;/i&gt; change, but it's too difficult (I'm not talking about exercise, here - I mean things like surgery to look like a 90-pound hipster). Bilingualism and body composition are two things that are both largely functions of circumstances beyond our control. Why is it acceptable to put emphasis on one but not the other for job qualifications?&lt;br /&gt;&lt;br /&gt;I'm not saying that government and businesses should not offer services in both languages - that would be inflammatory and silly. What I'm saying is maybe not &lt;i&gt;every&lt;/i&gt; government employee that interacts with the public needs to be fluently bilingual. Of course, I'm saying this as a Anglo-Saxon male, so the chances of me encountering someone who doesn't speak English and having to wait for someone else to serve me would be rare. Apply ample sodium chloride to this blog post accordingly.&lt;br /&gt;&lt;br /&gt;When you place extraordinary emphasis on one, unnecessary attribute in a job description, you end up with fewer applicants and, by extension, fewer qualified applicants. We're only hurting ourselves in the long run.&lt;br /&gt;&lt;br /&gt;The author of the Gleaner post was right - we need to offer services in French and English. She was also right in that we should increase access to bilingual education across the province. However, what we also need to do is eliminate this silly idea that everyone who serves the public in an official capacity must be fluent in both official languages. Until we get rid of this idea, young unilingual and otherwise competent workers are going to leave NB in pursuit of jobs that place value on ability first.&lt;br /&gt;&lt;br /&gt;&lt;small&gt;I'm not anti-French nor anti-Immersion. Je suis un étudiant d'un programme d'immersion. All I'm saying is that by forcing everyone to be bilingual, we're hurting our province's future.&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;EDIT: Of course people have a right to be served in their own language. I'm not stating otherwise, so please don't infer that I am.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-4948221368177850635?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/4948221368177850635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/problem-with-bilingualism-in-new.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4948221368177850635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4948221368177850635'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/problem-with-bilingualism-in-new.html' title='The Problem with Bilingualism in New Brunswick'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6358148823867118361</id><published>2010-08-10T15:12:00.010-03:00</published><updated>2010-08-10T15:46:11.909-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><category scheme='http://www.blogger.com/atom/ns#' term='CoffeeTimerApp'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>LaTeX Beamer vs Keynote</title><content type='html'>I recently used both tools to put together presentations, so let's compare!&lt;h2&gt;LaTeX Beamer&lt;/h2&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/TGGXG4lp52I/AAAAAAAAAP4/AA7aC8j9cUE/s1600/presentation.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 192px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/TGGXG4lp52I/AAAAAAAAAP4/AA7aC8j9cUE/s200/presentation.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5503846364148787042" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9fyekwTM7U8/TGGWowfPrqI/AAAAAAAAAPw/97rM-1EZbpI/s1600/beamer.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 117px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/TGGWowfPrqI/AAAAAAAAAPw/97rM-1EZbpI/s200/beamer.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5503845846578343586" /&gt;&lt;/a&gt;Beamer is a type of document used within the LaTeX typesetting program. Instead of producing standard LaTeX docs like articles and reports, it generates presentations. I chose to use LaTeX for making my presentation for Cascadia because it seem to really fit in the Academic world, but also because my only other choices at work were PowerPoint and OpenOffice.org. Hardly a choice, really.&lt;br /&gt;&lt;br /&gt;What do I like about it? Everything I love about LaTeX. Everything I knew worked - figures, formulae, and lists were all familiar to me. Columns and theorems were a bit dodgy, but I got there in the end. Additionally, I installed MacTeX on Ashley's laptop, which I'm taking with me to Vancouver, so I don't need to worry about platform dependence.&lt;br /&gt;&lt;br /&gt;Worrying about content instead of presentation works really well when you're writing a paper but not so much when making a presentation. It's difficult to make a presentation in the same mindset as a LaTeX paper. Additionally, all the default themes absolutely sucked. I found one that mirrored Apple's trademark gradient. Besides, your computer screen isn't a piece of paper - white on black should be the default for anything that is going to remain in digital format.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/TGGd3k7bN2I/AAAAAAAAAQA/r93Eh8RKzNM/s1600/iOS+Presentation.jpeg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/TGGd3k7bN2I/AAAAAAAAAQA/r93Eh8RKzNM/s200/iOS+Presentation.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5503853797754746722" /&gt;&lt;/a&gt;&lt;h2&gt;Apple's Keynote (iWork '09)&lt;/h2&gt;I helped my faculty out in a presentation to the university's recruiter office today. I wanted to make it very Apple-y, so I chose Keynote. Transitions make you look like a 13 year-old on PowerPoint unless you do them in Keynote. All of a sudden, you're avant guarde. &lt;br /&gt;&lt;br /&gt;I love the ability to move things around to make them look nice. It made me able to focus on making the presentation look good in addition to making the content worthwhile. Transitions (which, admittedly, Beamer can (somehow) do) can make your presentation more compelling. Also, you get a presenter's view complete with notes you've made about the presentation. I even purchased the Keynote Remote to control the laptop wirelessly.&lt;br /&gt;&lt;br /&gt;Unfortunately, the remote bombed when it came time to present, and the presenter view showed up on the projector's display until I figured it out. To boot, my transitions did look really cheesey after all :(&lt;h2&gt;Conclusions&lt;/h2&gt;If you can, use Keynote. It's far better than any other presentation software I've used. However, don't over do it and don't use it if you're not presenting from a mac.&lt;br /&gt;&lt;br /&gt;LaTeX is nice, and it gets you some geek cred, but it's difficult to work with. In an environment where Keynote isn't an option, LaTeX is far superior than trying to work with OpenOffice.org or PowerPoint.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6358148823867118361?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6358148823867118361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/latex-beamer-vs-keynote.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6358148823867118361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6358148823867118361'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/latex-beamer-vs-keynote.html' title='LaTeX Beamer vs Keynote'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/TGGXG4lp52I/AAAAAAAAAP4/AA7aC8j9cUE/s72-c/presentation.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-8194504421590558751</id><published>2010-08-09T10:34:00.008-03:00</published><updated>2010-08-09T15:19:01.729-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MetricMate'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='CoffeeTimerApp'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Online Marketing is Hard</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9fyekwTM7U8/TGBBaWcy9JI/AAAAAAAAAPo/3EdOUP6F2JA/s1600/coffee.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 388px; height: 400px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/TGBBaWcy9JI/AAAAAAAAAPo/3EdOUP6F2JA/s400/coffee.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5503470665605510290" /&gt;&lt;/a&gt;So I've been working on getting better rankings for my website in order to increase sales of &lt;a href="http://coffeetimerapp.com/CoffeeTimer/CoffeeTimer.html"&gt;CoffeeTimer&lt;/a&gt;. One thing I did, as you can see to the right, is create "how-to" guides for &lt;a href="http://coffeetimerapp.com/CoffeeTimer/How_to_Make_Great_Coffee.html"&gt;coffee&lt;/a&gt; and &lt;a href="http://coffeetimerapp.com/CoffeeTimer/How_to_Make_Great_Tea.html"&gt;tea&lt;/a&gt; with the app. &lt;br /&gt;&lt;br /&gt;It's been a tricky affair because I don't have much experience in marketing. First thing I did, a while ago, is to give CoffeeTimer a facelift. You wouldn't really recognize the app I released in January. Secondly, I've been focusing on usability. This is hard because if I ever update my app, then I &lt;a href="http://atteroignorantiam.blogspot.com/2010/06/problem-with-rapid-iterative.html"&gt;loose all my previous ratings&lt;/a&gt;. Updates are coming this week and next week that should fix all outstanding issues, and hopefully I won't have to release new versions for a while.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Mistakes I made:&lt;/h2&gt;Firstly, I linked directly to my &lt;a href="http://itunes.apple.com/us/artist/ash-furrow/id349578619"&gt;iTunes store&lt;/a&gt; instead of the &lt;a href="http://coffeetimerapp.com/CoffeeTimer/CoffeeTimer.html"&gt;CoffeeTimer&lt;/a&gt; and &lt;a href="http://coffeetimerapp.com/CoffeeTimer/MetricMate.html"&gt;MetricMate&lt;/a&gt; pages on &lt;a href="http://coffeetimerapp.com/"&gt;CoffeeTimerApp.com&lt;/a&gt;. This is bad because it hurts my site's PageRank and stops users from finding my site when searching for things like "how to make good coffee". &lt;br /&gt;&lt;br /&gt;There's also the fact that I'm competing for the search terms "CoffeeTimer" and "MetricMate" with sites that aggregate App Store data for their users to submit their own reviews. The only way to get around this directly is to pay them, and I'm not about to.&lt;br /&gt;&lt;br /&gt;I've switched around domains too many times. For a while, the site was hosted at home on my iMac. Then it was on UNB's server. Then it was on my friend's VPS. Now, finally, I have actual purchased hosting from &lt;a href="http://www.vagrantweb.ca/"&gt;Vagrant Web&lt;/a&gt;. I've had to go back to the other servers and place 301 redirects to the new host, since I was using a frame-based DNS mask to hide my UNB url. It has been a nightmare, and Google still has &lt;a href="http://www.google.ca/search?sourceid=chrome&amp;ie=UTF-8&amp;q=site:coffeetimerapp.com"&gt;very few&lt;/a&gt; pages indexed on my site (one of the ones it does have is still outdated).&lt;br /&gt;&lt;br /&gt;Facebook advertising was a bust - way too expensive. Bing's AdCenter was also too expensive and difficult to use. Google AdWords remain my only advertising soruce, and only because a free credit I got to try them out still has a few dollars left on it. But that's running out soon, so I'm going to have to decide exactly how much I'm willing to put into advertising for my Apps.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://coffeetimerapp.com/CoffeeTimer/CoffeeTimer.html"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 268px; height: 268px;" src="http://coffeetimerapp.com/CoffeeTimer/CoffeeTimer_files/Web%20Icon.png" border="0" alt="New icon? Best icon." /&gt;&lt;/a&gt;&lt;h2&gt;Things I'm trying out:&lt;/h2&gt;I'm trying to use some Search-Engine Optimization techniques to increase the number of "organic" clicks to my site. That means, instead of someone clicking an ad, they'd see my site after searching for, say, "gift for coffee lovers" or something. This is tricky because I'm lazy and have been using iWeb. This program seems more designed for personal pages or blogs than anything professional. Google Analytics hasn't worked well with iWeb, but I have finally figured it out. Conversion tracking with outbound links to the iTunes store for &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/browserRedirect?url=itms%253A%252F%252Fitunes.apple.com%252FWebObjects%252FMZStore.woa%252Fwa%252FviewSoftware%253Fid%253D349578616%2526mt%253D8"&gt;CoffeeTimer&lt;/a&gt; and &lt;a href="http://itunes.apple.com/us/app/metricmate/id377457866?mt=8&amp;uo=4"&gt;MetricMate&lt;/a&gt; have also proven difficult.&lt;br /&gt;&lt;br /&gt;I'm also trying to get in touch with other site owners to do some link-exchanging. My blog is, sadly, more authoritative concerning my apps than their official site is. It's also highly ranked for certain search queries, &lt;a href="http://atteroignorantiam.blogspot.com/2009/05/blue-toilet-water.html"&gt;Blue Toilet Water&lt;/a&gt; notwithstanding.&lt;br /&gt;&lt;br /&gt;All this talk of PageRank and SEO have made me feel like some sort of buzzword-crazed 13 year-old. Does anyone have any suggestions for ways that I can improve my performance?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-8194504421590558751?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/8194504421590558751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/online-marketing-is-hard.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8194504421590558751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8194504421590558751'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/online-marketing-is-hard.html' title='Online Marketing is Hard'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9fyekwTM7U8/TGBBaWcy9JI/AAAAAAAAAPo/3EdOUP6F2JA/s72-c/coffee.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7706206242382525414</id><published>2010-08-06T16:56:00.003-03:00</published><updated>2010-08-06T17:06:12.055-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='unbsu'/><title type='text'>UNB Orientation Water Bottles</title><content type='html'>So I'm preparing for a bike ride in a bit and I just washed out my (well, Ashley's) 2006 Orientation water bottle. Hillopoly, now there was a theme. Sent me mixed messages about "Uncle" &lt;strike&gt;Moneybags&lt;/strike&gt; Su. But I digress ...&lt;br /&gt;&lt;br /&gt;The fact that there are still water bottles from orientation kits from &lt;b&gt;four years ago&lt;/b&gt; is awesome. I've seen other people with them too. I prefer the newer 2009, aluminium bottles, but they don't fit in my bike's bottle holder. But I digress again ...&lt;br /&gt;&lt;br /&gt;It goes to show that the most effective way to get people using reusable water bottles in lieu of plastic water bottles from vending machines is to give them bottles they can reuse. Banning things has never been effective, otherwise we'd (all) be celibate until marriage, prohibition would not have been repealed, and no one would ever, ever say those seven words they oughtn't to on TV. &lt;br /&gt;&lt;br /&gt;Banning water bottles is about as effective as prohibition: your goal is to stop people from consuming a good. Your motivations are laudable, especially compared to the proponents of prohibition, but using prohibitionary measures as a means to achieve your end &lt;u&gt;will not work&lt;/u&gt;. If you want people to stop buying Aquafina and Desani, then give them alternatives.&lt;br /&gt;&lt;br /&gt;&lt;small&gt;While this is just a rant of mine, I did write it with a certain coalition for somethingsomething-free campuses  in mind.&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7706206242382525414?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7706206242382525414/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/unb-orientation-water-bottles.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7706206242382525414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7706206242382525414'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/unb-orientation-water-bottles.html' title='UNB Orientation Water Bottles'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-5160760576252508284</id><published>2010-08-05T15:08:00.014-03:00</published><updated>2010-08-09T10:25:24.305-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='photoshop'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Stretchable UIButton Images</title><content type='html'>I recently upgraded all the graphics of &lt;a href="http://coffeetimerapp.com/CoffeeTimer/CoffeeTimer.html"&gt;CoffeeTimer&lt;/a&gt; to use the "Retina" display on the iPhone 4. I previously hadn't considered it all that important, but I previously hadn't own an iPhone 4, either. &lt;br /&gt;&lt;br /&gt;One issue I faced, aside from a complete lack of skill in PhotoShop, is that I was using stretchable images I got from someone else online for red and green "stop" and "go" buttons. I had no source for them now except a &lt;tr&gt;&lt;td&gt;&lt;a href="http://stackoverflow.com/questions/1427818/iphone-sdk-creating-a-big-red-uibutton"&gt;stackoverflow&lt;/a&gt; post. I whipped out my PhotoShop and made these bad boys:&lt;table style="align: center; clear: both; float: none;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/TFsBuKmLffI/AAAAAAAAAPQ/2334yucWmBY/s1600/redButton%402x.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 51px; height: 91px; float: left;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/TFsBuKmLffI/AAAAAAAAAPQ/2334yucWmBY/s400/redButton%402x.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5501993262393294322" /&gt; &lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/TFsBrW8JxiI/AAAAAAAAAPI/Q0i4Nz_fC_o/s1600/redButton.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 26px; height: 46px;float: left;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/TFsBrW8JxiI/AAAAAAAAAPI/Q0i4Nz_fC_o/s400/redButton.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5501993214167074338" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9fyekwTM7U8/TFsBpKcsqNI/AAAAAAAAAPA/yO8UK2F_iT0/s1600/greenButton%402x.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 51px; height: 91px;float: left;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/TFsBpKcsqNI/AAAAAAAAAPA/yO8UK2F_iT0/s400/greenButton%402x.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5501993176454179026" /&gt;&lt;/a&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/TFsBlzv8ebI/AAAAAAAAAO4/joxSENnARbI/s1600/greenButton.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 26px; height: 46px;float: left;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/TFsBlzv8ebI/AAAAAAAAAO4/joxSENnARbI/s400/greenButton.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5501993118821284274" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;Download them in a &lt;a href="http://coffeetimerapp.com/buttons.zip"&gt;zip file&lt;/a&gt;, if you prefer.&lt;br /&gt;&lt;br /&gt;How to use them? Just throw them in your project and use this code:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;[endButton setBackgroundImage:[[UIImage imageNamed:@"redButton"]&lt;br /&gt;    stretchableImageWithLeftCapWidth:13 topCapHeight:23]&lt;br /&gt;    forState:UIControlStateNormal];&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;endButton is of course a UIButton control. Do something similar for green buttons. You can fire up PhotoShop and play with the hue to get different colours, if you like. iOS 4 will automatically grab the scaled up versions of the images for anything with a retina display, or an iPad running your app in 2X mode. &lt;br /&gt;&lt;br /&gt;These aren't perfect images, especially the large green one. However, remember these will be stretched with nine-slicing, so they'll look more like these screenshots below. The imperfections around the edges will appear a lot less prominent, and in some colour schemes, could work better to distinguish the button edge. Plus, I'm giving them away. Hopefully my pagerank in Google will rise for this blog post so that other developers who suck at PhotoShop as much as I do won't be discouraged.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://coffeetimerapp.com/CoffeeTimer/CoffeeTimer.html"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/TFsFJFhUFGI/AAAAAAAAAPY/Dk7xBBFFqpo/s400/photo.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5501997023422059618" /&gt;&lt;/a&gt;Sexy, isn't it?&lt;br /&gt;&lt;br /&gt;&lt;small&gt;&lt;a rel="license" href="http://creativecommons.org/licenses/by/3.0/"&gt;&lt;img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by/3.0/88x31.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://purl.org/dc/dcmitype/StillImage" property="dc:title" rel="dc:type"&gt;Stretchable UIButton Images&lt;/span&gt; by &lt;a xmlns:cc="http://creativecommons.org/ns#" href="http://atteroignorantiam.blogspot.com/2010/08/stretchable-uibutton-images.html" property="cc:attributionName" rel="cc:attributionURL"&gt;Ash Furrow&lt;/a&gt; is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by/3.0/"&gt;Creative Commons Attribution 3.0 Unported License&lt;/a&gt;.&lt;br /&gt;Based on a work at &lt;a xmlns:dc="http://purl.org/dc/elements/1.1/" href="http://atteroignorantiam.blogspot.com/2010/08/stretchable-uibutton-images.html" rel="dc:source"&gt;atteroignorantiam.blogspot.com&lt;/a&gt;..&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-5160760576252508284?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/5160760576252508284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/stretchable-uibutton-images.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5160760576252508284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5160760576252508284'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/08/stretchable-uibutton-images.html' title='Stretchable UIButton Images'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9fyekwTM7U8/TFsBuKmLffI/AAAAAAAAAPQ/2334yucWmBY/s72-c/redButton%402x.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-4867163099675799572</id><published>2010-07-30T13:06:00.004-03:00</published><updated>2010-07-30T13:23:20.801-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Why Apple Won't Lose the Smartphone Market Battle</title><content type='html'>I've been having a &lt;a href="http://bettween.com/greyeyes/thesandywalsh"&gt;twitter exchange&lt;/a&gt; with Halifax Developer &lt;a href="https://twitter.com/TheSandyWalsh"&gt;Sandy Walsh&lt;/a&gt; about his assertion that Apple will lose the battle for smartphone market dominance. Well, they're not going to lose. But that doesn't mean they're going to win, either.&lt;br /&gt;&lt;br /&gt;Sandy and critics of Apple like him say that Apple will lose because Google is treating hardware like a commodity. That's not a bad position to take, except that Apple is controlling the hardware and hardware is cheap. If the market dictates a lower price, then Apple will have to follow suit.&lt;br /&gt;&lt;br /&gt;They also say that the closed ecosystem of Apple-approved apps only will cause developers to stop writing Apps for the platform. Yes, it's frustrating. I know myself from publishing three apps on the App Store that it's a frustrating experience, and I've had it lucky so far. However, the APIs provided by Apple for your use are astounding. Absolutely astounding. There really hasn't been anything like them, in my opinion, for smartphones or PCs ever. Yes, they dictate how your app is supposed to behave, but they also give you an awesome framework on which you can write that app easily. They let developers focus on writing the parts of their app that are unique instead of the parts of your app that are like every other app. There are ust to many advantages to make a significant enough proportion of app developers to ditch the platform. Also, as I detail next, the platform provides enough of a market for apps that it can't be ignored, despite it's frustrating limitations.&lt;br /&gt;&lt;br /&gt;There are over 5 &lt;b&gt;billion&lt;/b&gt; downloads from the App Store to date. Over 250 million devices to run those apps. Wow. That's impressive, really. Yes, Android is picking up market share, but the market is growing as more people are affording smartphones. And you know what? I wish Android the best.&lt;br /&gt;&lt;br /&gt;Consumers don't win when companies don't have competition. That's a fact, and while I'm a developer for sure, I'm still a consumer. I don't think any one company is going to win the smartphone market battle because there are too many well-posed players. Consider RIM, Apple, and "Google" (not really a hardware manufacturer; this means Android-powered smartphones). They're in excellent positions and either have great market penetration or are gaining in fantastic strides. Awesome. Also consider Nokia's Symbian-based phones or the new WinMobile 7. &lt;br /&gt;&lt;br /&gt;Competition is out there, and I don't see the big three folding any time soon. Neither is going to win, but neither is going to lose. The only winners will be consumers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-4867163099675799572?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/4867163099675799572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/why-apple-wont-lose-smartphone-market.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4867163099675799572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4867163099675799572'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/why-apple-wont-lose-smartphone-market.html' title='Why Apple Won&apos;t Lose the Smartphone Market Battle'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-4071906736618002982</id><published>2010-07-21T06:49:00.004-03:00</published><updated>2010-07-21T07:01:06.431-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='kijiji'/><category scheme='http://www.blogger.com/atom/ns#' term='let&apos;s have a personal chat'/><category scheme='http://www.blogger.com/atom/ns#' term='coffee'/><title type='text'>The "Ash Furrow" Kijiji Impersonator</title><content type='html'>Looks like someone is using my UNB email address to reply to &lt;a href="http://fredericton.kijiji.ca/"&gt;Kijiji&lt;/a&gt; ads about coffee makers. Not just reply, but &lt;i&gt;really&lt;/i&gt; reply. They're trying to mock me by being persnickety about coffee and kitchen decor. I got the first response, and thought it could have been an accident. Someone could have mistyped their email address and used mine instead. However, I received two more responses in my inbox this morning.&lt;br /&gt;&lt;br /&gt;The issue is there's no "login" to respond to kijiji sellers; you only have to enter in an email address. Typically, one would enter one's own email address.&lt;br /&gt;&lt;br /&gt;I lamented to myself over how tragic it was that whoever is mocking me will never get to see what people responded (in case they might be legitimately interesting in any of these wonderful coffee makers). So, please find below the responses I've received from Kijiji sellers.&lt;blockquote&gt;Sorry, the one shown is the only one I have.&lt;br /&gt;(In response to:)&lt;blockquote&gt;Do you have this same piece in green or burgundy? Unfortunately it does not match my kitchen.&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;Hi&lt;br /&gt;&lt;br /&gt;I don't know exactly how big your grinder is but any grinder I have ever seen would fit on this table. It shouldn't fall over. &lt;br /&gt;Interested? You can have it for $18 &lt;br /&gt;(In response to:)&lt;blockquote&gt;Is this coffee table stable enough to support my Breville grinder? I wouldn't want it to fall over and spill any of my precious beans.&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;No sorry&lt;br /&gt;(In response to:)&lt;blockquote&gt;Does this have a built in coffee grinder? I only drink freshly ground coffee.&lt;/blockquote&gt;&lt;/blockquote&gt;I hope, whoever you are, that you find a coffee maker worthy of your clearly prosumer standards of coffee. I'd also like to take this opportunity to say that I am honestly flattered that you would think mocking Ash Furrow is a worthy use of your precious time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-4071906736618002982?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/4071906736618002982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/ash-furrow-kijiji-impersonator.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4071906736618002982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4071906736618002982'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/ash-furrow-kijiji-impersonator.html' title='The &quot;Ash Furrow&quot; Kijiji Impersonator'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-3786715421139215891</id><published>2010-07-20T12:52:00.006-03:00</published><updated>2010-07-20T14:18:35.402-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='coffee'/><title type='text'>Why does Sodexo Coffee Tastes like Ass? Here are the top Three Possibilities</title><content type='html'>&lt;small&gt;(I seriously considered bylining this "Top Three Reason's Ashley and Ryan call me a coffee snob")&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;Today, for the sake of convenience, I purchased a small dark roast coffee from the Head Hall "Head Rest" cafe. What a horrible mistake. I purchased it because I wanted a coffee to go with my already half-consumed pastry, so I needed one fast. Only a pessimist would call what I paid $1.50 for "coffee". Also, I don't know why they've stopped serving Fair Trade coffee in the Summer.&lt;br /&gt;&lt;br /&gt;But &lt;i&gt;why&lt;/i&gt; does it taste so awful? I mean, you really need to be &lt;i&gt;trying&lt;/i&gt; in order to make coffee taste that awful. It's sour, watery, and putrid. And it's not just standard things like "they use stale grinds" or "mass-produced coffee always tastes sub-par". These are reasons unique to the Head Rest that make it awful.&lt;br /&gt;&lt;br /&gt;Here is what I think:&lt;ol&gt;&lt;li&gt;&lt;b&gt;Not cleaning out their carafes&lt;/b&gt; It's no secret that Sodexo doesn't really clean out its carafes. At best, they get rinsed out with hot water - I've never any soap used. This would cake on oils brew after brew, causing the sourness that's there. And I do mean &lt;i&gt;sour&lt;/i&gt;. Coffee can and should be bitter. That's natural. What I'm upset about is the sourness of it.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Leaving beans out in the air&lt;/b&gt; Now, my friend who has restaurant experience defends this, as that's just what's done. However, it really affects the taste of the coffee. Coffee grounds stay fresh for about 10 minutes after you grind them. These are ground and packaged and set to Sodexo who uses them months later. And the first thing they do is rip open the package and dump them in a dry filter to sit there for a few days (they do forty or so at a time to save time later).&lt;/li&gt;&lt;li&gt;&lt;b&gt;Leaving coffee out in the carafes too long&lt;/b&gt; This is very similar to the last complain; The coffee sits in the carafe until its purchased. Which could be hours. And hours. And hours. Granted, at least it's in a carafe and not heated, but coffee still is only good for about two hours after it's brewed. And that's pushing it.&lt;/li&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-3786715421139215891?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/3786715421139215891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/why-sodexo-coffee-tastes-like-ass-here.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3786715421139215891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3786715421139215891'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/why-sodexo-coffee-tastes-like-ass-here.html' title='Why does Sodexo Coffee Tastes like Ass? Here are the top Three Possibilities'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1183946630145097310</id><published>2010-07-18T21:48:00.001-03:00</published><updated>2010-07-18T21:56:36.893-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='let&apos;s have a personal chat'/><category scheme='http://www.blogger.com/atom/ns#' term='coffee'/><title type='text'>Coffee Updates!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/TDIG5ijKA3I/AAAAAAAAAOg/h9-CiGhEXwk/s1600/DSC00453.JPG"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/TDIG5ijKA3I/AAAAAAAAAOg/h9-CiGhEXwk/s320/DSC00453.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5490458481314628466" /&gt;&lt;/a&gt;Well, it's been a while since I blogged about coffee. How is coffee? Where are we in our relationship? What's the latest news about coffee? Well, this is to answer all your burning questions.&lt;br /&gt;&lt;br /&gt;After a recent &lt;a href="http://twitter.com/GreyEyes/status/17181774413"&gt;roasting scare&lt;/a&gt;, which ruined a batch of beans, I've been more careful and attentive with my &lt;a href="http://twitter.com/GreyEyes/status/17182906985"&gt;roaster&lt;/a&gt;. It's still doing this thing where it doesn't work when the temperature is 25+ outside, which is unfortunate. Sadly, my &lt;a href="http://bit.ly/aQTck0"&gt;dream roaster&lt;/a&gt; is $400 and I don't have the change to spare right now.&lt;br /&gt;&lt;br /&gt;I recently purchased 10 pounds of green, fairtrade beans. They're on backorder from Toronto, but hopefully will arrive within a few weeks. I've never bought this large of a quantity at once before (of the same bean), so it's exciting :)&lt;br /&gt;&lt;br /&gt;I've been doing press at work and espresso with breakfast for a few weeks now. The press is nice at work, since what I had been doing on previous work terms (office coffee) was less than ideal. A Thermos didn't really work, since the coffee continues to brew with the sediment from the press. &lt;br /&gt;&lt;br /&gt;A few weekends ago, Ashley and I attended a community flea market near my parent's cottage. I got a never used Bodum coffee press for a dollar. I already have one, but I mean, it's a dollar! What a bargain.&lt;br /&gt;&lt;br /&gt;Tea and I are together, straining my relationship with coffee. I've found both of them have a lot to offer, and I think I've found a happy medium between the two. Combined with the home-made beer I'm making with some of the grad students at the lab, Ashley has begun to tease me about being a all-around beverage-snob (as opposed to just a coffee snob before).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/TEOgruNtP1I/AAAAAAAAAOw/8M00IFo7cCU/s1600/DSC00454.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 226px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/TEOgruNtP1I/AAAAAAAAAOw/8M00IFo7cCU/s400/DSC00454.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5495412643322478418" /&gt;&lt;/a&gt;Wil Wheaton recently recommended his friend's fresh-roasted coffee on &lt;a href="http://twitter.com/wilw/status/16707286548"&gt;twitter&lt;/a&gt;. He even gave his followers a coupon, which I used for 12 ounces of coffee for $9.75. Not a bad price. I got the bag, and was less-than-enthused about the black nature of those beans, particularly when I had ordered a "lighter roast." Although other people in the lab liked it quite a bit, I was less than fond of its bitterness. Unnecessary bitterness is more accurate, actually. I don't really roast my coffee that dark because burnt coffee tastes, well, burnt. See the picture for a comparison.&lt;br /&gt;&lt;br /&gt;It's not that Starbucks-style burnt coffee is necessarily &lt;i&gt;bad&lt;/i&gt;; in fact, I know lots of people who really enjoy it. It's just not for me (I've had to refrain in my day-to-day colloquialisms from using the term "not really my cup of tea"). When beans are oily, like the picture above, the oils that make coffee delicious are exposed to air and lose their flavour. The flavour you get from the beans is analogous to having a really well-done hotdog. It's still a hotdog, but it's not the same, is it? A lot of that favour is really just the burntedness.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1183946630145097310?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/1183946630145097310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/coffee-updates.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1183946630145097310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1183946630145097310'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/coffee-updates.html' title='Coffee Updates!'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9fyekwTM7U8/TDIG5ijKA3I/AAAAAAAAAOg/h9-CiGhEXwk/s72-c/DSC00453.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7774818507387036828</id><published>2010-07-16T09:20:00.004-03:00</published><updated>2010-07-16T09:32:24.677-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='journalism'/><category scheme='http://www.blogger.com/atom/ns#' term='censorship'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Anonymity? On My Internet? It's More Likely than You'd Think.</title><content type='html'>I was reading a story this morning of a &lt;a href="http://www.networkworld.com/community/node/63730"&gt;Massachusetts newspaper's attempts&lt;/a&gt; to force online readers to pay a one-time fee of 99 cents and use their real names in order to comment on stories. Let me detail why this will fail, or rather, why it's not what it appears.&lt;br /&gt;&lt;br /&gt;The idea is that this will reduce trolling and vitriol in the site's comment section. What it's actually trying to accomplish is relieving the newspaper of liability over those comments. &lt;br /&gt;&lt;br /&gt;We really need to examine how people interact with media on the internet. It used to be that commenting on an article was one of the only ways in which to voice your opinion. Now, however, any &lt;a href="http://atteroignorantiam.blogspot.com/"&gt;asshole&lt;/a&gt; can get a blog and comment on stories themselves. Furthermore, there are numerous sub-blog sites out there like twitter and tumblr that allow you to opine on something easily. However, neither twitter nor tumblr are usually linked to from a story.&lt;br /&gt;&lt;br /&gt;The fact of the matter is if you want your opinion read by as wide an audience as possible, it's best to voice it in the article's comment section. &lt;br /&gt;&lt;br /&gt;So what's going to happen? Well, regulars to the newspaper's site will pay a dollar and get to voice their opinion while visitors won't. This will create a closed ecosystem and discourage dissenting views from emerging. The comment quality will go down and, eventually, the comment count will fall, too. This count matters a lot to online media publishers, or at least authors of articles. &lt;br /&gt;&lt;br /&gt;So no one really wins, but the newspaper won't be liable. Which isn't a win, but isn't a loss, either.&lt;br /&gt;&lt;br /&gt;It's a high price to pay for not being sued for something someone &lt;i&gt;else&lt;/i&gt; says, but it's up to each online media publishers to make their own decision about this. The implications that, say, the Huffington Post can be sued for a comment &lt;i&gt;I make&lt;/i&gt; are, while disturbing, quite complex and a subject for a future blog post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7774818507387036828?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7774818507387036828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/anonymity-on-my-internet-its-more.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7774818507387036828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7774818507387036828'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/anonymity-on-my-internet-its-more.html' title='Anonymity? On &lt;i&gt;My&lt;/i&gt; Internet? It&apos;s More Likely than You&apos;d Think.'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-3968555009951884585</id><published>2010-07-12T00:19:00.001-03:00</published><updated>2010-07-12T12:25:21.802-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='let&apos;s have a personal chat'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Contemplating an iPhone 4 (Halp!)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/TDstNldERlI/AAAAAAAAAOo/DFtJEGe1gPA/s1600/overview_hero1_20100611.png" style="float:left;"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:left;cursor:pointer; cursor:hand;width: 400px; height: 65px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/TDstNldERlI/AAAAAAAAAOo/DFtJEGe1gPA/s1600/overview_hero1_20100611.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5493033881924027986" /&gt;&lt;/a&gt;I saw the iPhone, in person, at its announcement in San Francisco. I was blown away at the time by its features - the display, camera, integrated antenna, and so on. I was sure this was what I had been waiting for in buying a smart phone. Awesome - I'd no longer be the only iPhone developer who doesn't own an iPhone. Sweet. &lt;br /&gt;&lt;br /&gt;Then something happened - doubt set in. The $50/month figure really hit me. For three years. That's just north of $2000. Am I willing to spend $2000 for something I'm essentially getting now with my dumbphone, iPod touch + wifi? I decided not.&lt;br /&gt;&lt;br /&gt;But now, I'm not so sure. I really want one. &lt;i&gt;Really&lt;/i&gt;. So the real question is - is the $50/month worth it? I want to know what everyone thinks. Really, I do. Apple haters and people-who-don't-but-ought-to-own-cell-phones, too. I don't want just enablers, either. I'd like both sides (just don't forget I could use this for testing, right? Right?)&lt;br /&gt;&lt;br /&gt;Further, if I get one, do I get it subsidized from Telus for $200 (probably) or buy it direct from Apple for $550 (probably). An extra $350 for the ability to cancel whenever I want and to buy service from whomever I want. The question here is whether or not I'll still be happy with my iPhone 4 in 2+ years. I don't know that I will be - I've never owned a cell phone for that long, and my current iPod touch is just over a year old. I have a bad and expensive track record ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-3968555009951884585?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/3968555009951884585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/contemplating-iphone-4-halp.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3968555009951884585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3968555009951884585'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/contemplating-iphone-4-halp.html' title='Contemplating an iPhone 4 (Halp!)'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/TDstNldERlI/AAAAAAAAAOo/DFtJEGe1gPA/s72-c/overview_hero1_20100611.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-3392814085403397782</id><published>2010-07-02T08:07:00.003-03:00</published><updated>2010-07-02T08:20:24.818-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='doctor who'/><title type='text'>A Problem I have with the New Doctor Who</title><content type='html'>This describes a problem I have with the new series of Doctor Who, with Matt Smith.&lt;br /&gt;&lt;br /&gt;They redid the whole show. That's fine. They do that. They did that when Eccleston left and the TARDIS got a lot less dark and ambiently-green. They've done that when other Doctors have regenerated; Sarah Jane referred to it as "redecorating." They change the whole look and fee of the TARDIS. &lt;i&gt;On the inside&lt;/i&gt;. But this time, they went from classic and tactful to modern and shiny. And I don't like it. It's like when you're a kid and you have a toy, and you lose it. And then you get a new toy identical to your lost one, but it's not. It's all new and different and you don't like it as much until you forget about the old toy. That's what the new TARDIS is.&lt;br /&gt;&lt;br /&gt;Dave Tennant's TARDIS was a mysterious and magical thing - it complemented the steam punky interior well. It was interesting and complex; aged and ageless; perfectly imperfect. This new TARDIS looks like a toy - a set designed to be a set first, and a mysterious magical thing second. It's gleaming every time. Fresh painted panels and glistening "PULL TO OPEN." I hate it.&lt;br /&gt;&lt;br /&gt;I understand that people need to change things on TV. People need to get paid to change things, so when they go to work, they look for things to change. That's just how it works. But they changed the exterior of the &lt;i&gt;TARDIS&lt;/i&gt; - one of the few things that stay constant between Doctors. They can give Matt Smith a new Sonic screwdriver - that's fine. Green is the new blue (except in the TARDIS, which was previously green). They can get a whole set of new companions, characters, everything. It'll make moving on from Tennant's epic departure easier. But they shouldn't have changed the TARDIS. It was a cheap stunt that is very reminiscent of feature creep.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-3392814085403397782?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/3392814085403397782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/problem-i-have-with-new-doctor-who.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3392814085403397782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3392814085403397782'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/07/problem-i-have-with-new-doctor-who.html' title='A Problem I have with the New Doctor Who'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-5036313750307360941</id><published>2010-06-25T10:29:00.010-03:00</published><updated>2010-06-28T10:02:20.829-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='CoffeeTimerApp'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>The Problem with Rapid, Iterative Development for the iPhone</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://itunes.apple.com/us/app/coffeetimer/id349578616?mt=8"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 108px; height: 320px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/TCSwUkI4lkI/AAAAAAAAAOQ/ArjV9u3FoJQ/s320/appstore.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5486704113388918338" /&gt;&lt;/a&gt;&lt;br /&gt;Preface: So I've updated my prize application, &lt;a href="http://coffeetimerapp.com/CoffeeTimer/CoffeeTimer.html"&gt;CoffeeTimer&lt;/a&gt;, today. Very exciting. I'm still waiting for the updated description and screenshot to appear on the &lt;a href="http://itunes.apple.com/us/app/coffeetimer/id349578616?mt=8"&gt;App Store&lt;/a&gt;, but I'll be patient. I have no other choice. However, what's really bugging me is their rating system.&lt;br /&gt;&lt;br /&gt;A user buys an App. Maybe the rate it. Maybe they give a description of their rating. Or not. Whatever. After enough ratings, you get an average rating which the App Store gives you. Hooray! Then you get listed in Search While You Type results, and get listed above other people with poorer or no ratings. Great! You're on your way to App success!&lt;br /&gt;&lt;br /&gt;And then you update your App, and your ratings go away, as does your average rating. And you lose. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9fyekwTM7U8/TCSwqJHscGI/AAAAAAAAAOY/_DLroNvWatM/s1600/mobileAppStore.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 214px; height: 320px;" src="http://3.bp.blogspot.com/_9fyekwTM7U8/TCSwqJHscGI/AAAAAAAAAOY/_DLroNvWatM/s320/mobileAppStore.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5486704484093292642" /&gt;&lt;/a&gt;As you can see from the App Store listing to the right, taken from the web, my App has insufficient ratings to have an average. That's really too bad. The listing on the left is from the mobile App Store, and it indicates I have &lt;i&gt;no ratings&lt;/i&gt;, but what it really means is that I have no ratings for the &lt;i&gt;current versions&lt;/i&gt;. &lt;br /&gt;&lt;br /&gt;I only have two ratings, and I know who wrote them because I asked them to. I'm not above imploring my friends for help (I would want honest reviews, of course). However, I don't want to be &lt;i&gt;that guy&lt;/i&gt;. You know, the one who is always hitting you up for networking opportunities, etc. And even if I did have enough ratings from my friends to get myself a real rating, it'd all disappear as soon as I update my application. So I'd be annoying my friends for nothing, and I'm not prepared to do that.&lt;br /&gt;&lt;br /&gt;Frequently updating an application is something I believe in. Rapid, iterative development means quick bug fixes and a developer who is responsive to user feedback. I have a CoffeeTimer &lt;a href="http://twitter.com/CoffeeTimerApp"&gt;twitter account&lt;/a&gt;, &lt;a href="http://www.facebook.com/?ref=logo#!/pages/Coffee-Timer/380859466680?ref=ts"&gt;facebook page&lt;/a&gt;, and &lt;a href="http://coffeetimerapp.com/CoffeeTimer/CoffeeTimer.html"&gt;website&lt;/a&gt; for a reason, and it's not just marketing. It's to show the user that I care about their feedback and to solicit that feedback. But with this rating system, developers are discouraged from releasing frequent updates. And that's a shame.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-5036313750307360941?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/5036313750307360941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/problem-with-rapid-iterative.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5036313750307360941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5036313750307360941'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/problem-with-rapid-iterative.html' title='The Problem with Rapid, Iterative Development for the iPhone'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9fyekwTM7U8/TCSwUkI4lkI/AAAAAAAAAOQ/ArjV9u3FoJQ/s72-c/appstore.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-5231491308857491474</id><published>2010-06-23T08:59:00.015-03:00</published><updated>2010-06-23T09:34:51.838-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='every blog post gets a funny tag'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>Computational Language Terms for Everyday People</title><content type='html'>Inspired, perhaps by yesterday's &lt;i&gt;Computability and Formal Languages&lt;/i&gt; exam my friends wrote, I have compiled a list of terms relating to &lt;a href="http://xkcd.com/114/"&gt;Computational Linguistics&lt;/a&gt;.&lt;table&gt;&lt;tr&gt;&lt;th&gt;Regular Expressions&lt;/th&gt;&lt;th&gt;Irregular Expressions&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;An expression you might say in ordinary, everyday circumstances.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Oh, my, what a lovely day.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;An expression you would not or ought not to say in ordinary, every circumstances.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Lo, a flaming squirrel. Purple does sidewalks.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Context-Free Grammars&lt;/th&gt;&lt;th&gt;Context-Sensitive Grammars&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;A grammar that can be used in virtually any context; a way of speaking applicable most anywhere.&lt;br /&gt;&lt;br /&gt;(Applications of CFG's are as follows:)&lt;br /&gt;&lt;i&gt;Hello. How about that weather?&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Hello. How about that local sports team?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;A grammar that may only be used in specific contexts; a way of speaking applicable in only certain situations.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Hello. Nice to see you again.&lt;/i&gt;&lt;br /&gt;&lt;i&gt;Hello. Didja bring the drugs? I've got the money.&lt;/i&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;NP-Hard&lt;/th&gt;&lt;th&gt;NP-Easy&lt;/th&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;(This one is tricky) A class of problems to which solutions can be &lt;i&gt;verified&lt;/i&gt;, but not necessarily produced, in polynomial time and which can be reduced &lt;i&gt;from&lt;/i&gt; NP-Complete problems.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Finding you a girlfriend is turning out to be NP-Hard&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;A class of probkems to which solutions can be &lt;i&gt;verified&lt;/i&gt;, but not necessarily produced, in polynomial time and which can be reduced &lt;i&gt;to&lt;/i&gt; NP-Complete problems. This includes anything in NP, including P.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Wow, that CS 3997 midterm was NP-Easy&lt;/i&gt; &lt;small&gt;Note: no one has ever said words to this effect.&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;Chomsky Normal Form&lt;/th&gt;&lt;th&gt;Chomsky Abnormal Form&lt;/th&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/TCH9XYHIQUI/AAAAAAAAAOA/Lok7zUF07Lc/s1600/chomsky-close.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 207px; height: 320px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/TCH9XYHIQUI/AAAAAAAAAOA/Lok7zUF07Lc/s320/chomsky-close.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5485944399165145410" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9fyekwTM7U8/TCH9ewTL5sI/AAAAAAAAAOI/RN1jwJkFhXU/s1600/FotoFlexer_Photo..jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 207px; height: 320px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/TCH9ewTL5sI/AAAAAAAAAOI/RN1jwJkFhXU/s320/FotoFlexer_Photo..jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5485944525917251266" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;small&gt;I really hope Chomsky has a sense of humour and doesn't use one of his "speech codes" on me.&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-5231491308857491474?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/5231491308857491474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/computational-language-terms-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5231491308857491474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5231491308857491474'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/computational-language-terms-for.html' title='Computational Language Terms for Everyday People'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9fyekwTM7U8/TCH9XYHIQUI/AAAAAAAAAOA/Lok7zUF07Lc/s72-c/chomsky-close.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1522295956175069161</id><published>2010-06-22T08:56:00.007-03:00</published><updated>2010-06-22T09:29:28.787-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='fredericton'/><title type='text'>Reaction to Fredericton's Suggestions for Improving UNB</title><content type='html'>I woke up this morning, like I do most mornings, and sat in front of my computer while I myself slowly began to function. I headed over to twitter and, again like I do most mornings, checked out &lt;a href="http://twitter.com/fredericton_nb"&gt;fredericton_nb&lt;/a&gt;'s twitter page for the morning Gleaner articles. &lt;br /&gt;&lt;br /&gt;I read them now because a) I do like to see the city how Long-Term Residents™ see it, and b) there are no comments no the articles this early in the morning, so the user ironically named "Not Dumb" will not ruin my morning. And this morning, I found something interesting: the City telling the University of New Brunswick &lt;a href="http://dailygleaner.canadaeast.com/rss/article/1104391?utm_source=twitterfeed&amp;utm_medium=twitter"&gt;how to improve itself&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'm not going to lie. I have a hard time accepting that the province has any say in UNB's goings ons when they're paying it millions of dollars. So when I read the first line of the article, I immediately thought of this situation:&lt;blockquote&gt;Alice: You got municipal-level politics in my post-secondary educational institute!&lt;br /&gt;Bob: You got post-secondary educational institute in my municipal-level politics!&lt;/blockquote&gt;And it wasn't a pretty scene. But I continued to read, and then was gently reminded that UNB &lt;i&gt;is&lt;/i&gt; undergoing a Strategic Planning process, and they actually asked for suggestions. And everything was OK.&lt;br /&gt;&lt;br /&gt;So! What does the City of Fredericton have to say about ways in which UNB could improve itself? It boils down to these points:&lt;ol&gt;&lt;li&gt;Expand co-op opportunities and manage the co-op programs through a central office;&lt;/li&gt;&lt;li&gt;Create a centralized business office to consolidate private-sector engagement;&lt;/li&gt;&lt;li&gt;Recognize volunteer work with credits;&lt;/li&gt;&lt;li&gt; Offer increased flexibility and graduated programming;&lt;/li&gt;&lt;li&gt;Build partnerships with New Brunswick universities to explore ways to co-ordinate course offerings with other institutions, deliver modules via video teleconference;&lt;/li&gt;&lt;li&gt;Work with the provincial government on credential recognition by helping to assess immigrants' qualifications and provide guidance on upgrading needed to enter the workforce in any given specialty;&lt;/li&gt;&lt;li&gt; Consult with industry by working with private enterprise, industry experts and other post-secondary institutions to develop relevant curriculum that produces workforce-ready, competitive graduates.&lt;/li&gt;&lt;/ol&gt;Of course, the question I asked myself as a student representative, and we all should ask ourselves as students, is "how does this affect or - dare we dream - help students?" Let's think about this.&lt;br /&gt;&lt;br /&gt;A centralized co-op office could either be really bad or really good for students. Coming from Computer Science with a strong co-op program, I can see it playing out either way. Hopefully, though, it would result in better access to co-op placements. This, in the worst case of supply/demand mechanics, lowers the market price (wage) for students. However, with students facing the &lt;a href="http://oncampus.macleans.ca/education/2010/05/06/students-fight-for-summer-jobs/"&gt;highest Summer unemployment rate&lt;/a&gt; in recent history, more jobs (even at lower wages) is a good thing.&lt;br /&gt;&lt;br /&gt;Having private businesses involved with the University isn't necessarily anything to us. Academic integrity/independence, blah blah blah. It's really not something undergraduates students are affected by. Disclaimer: I'm coming from a faculty which has heavy ties to our industry, Information Technology, so this is old hat to me.&lt;br /&gt;&lt;br /&gt;Flexibility is good! Students at UNB I've talked to often complain about the rigidity of the institution. Many student volunteer and recognizing their efforts with Academic credit sounds like an interesting idea, with caveats. You shouldn't sail through a degree on volunteering alone. However, we offer credit for playing in the university symphony and, if I'm not mistaken, sports. Extending this to something that is just as rewarding &lt;b&gt;and&lt;/b&gt; helps the community is a really good idea. &lt;br /&gt;&lt;br /&gt;I really love the "relevant curriculum" bit; my faculty is beginning to lag behind in terms of what it teaches vs. what the industry is expecting grads to know. This can be seen in still teaching Java from a book which doesn't touch on many of the new and exciting features implemented in Java four years ago; (they were exciting then, but now they're standard and our students don't know about them.); we're teaching Visual Basic instead of C#; and, despite our new Mac lab, there is still have no iPhone development offerings. &lt;br /&gt;&lt;br /&gt;So, while there are some caveats and points which don't really affect students, these seem like pretty good suggestions. I know UNB is taking this strategic plan seriously*, and I hope these suggestions carry some weight. &lt;br /&gt;&lt;br /&gt;&lt;small&gt;* I mean, look at how well they executed the last strategic plan, which was to amalgamate Saint Thomas University into our Arts Faculty. An interesting idea which was, like the &lt;a href="http://www.gnb.ca/cnb/promos/cpse/index-e.asp"&gt;PSE report of 2007&lt;/a&gt;, shot down in its entirety because of a few rhetorical, knee-jerk reactions.&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1522295956175069161?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/1522295956175069161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/reaction-to-frederictons-suggestions.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1522295956175069161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1522295956175069161'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/reaction-to-frederictons-suggestions.html' title='Reaction to Fredericton&apos;s Suggestions for Improving UNB'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-9163306670279920796</id><published>2010-06-21T12:42:00.002-03:00</published><updated>2010-06-21T12:47:20.126-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>I Hate Apple-Haters</title><content type='html'>Slashdot is covering a &lt;a href="http://apple.slashdot.org/story/10/06/21/1412202/iOS-4-Releases-Today"&gt;story&lt;/a&gt; about the release of the new iOS 4 today, and the trolls are out in full-force. They're whining about App approval, no iPad iOS update, and fanboys. They don't get that the zealotry they complain with is the same thing they're complaining &lt;i&gt;about&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;I'm tired of nerds and their hate-on for anything not open source. The world doesn't work the way nerds think it should; it just doesn't. And, after all, this is just an &lt;span style="font-style:italic;"&gt;operating system&lt;/span&gt;, ffs.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://apple.slashdot.org/comments.pl?sid=1693064&amp;cid=32641616"&gt;This comment&lt;/a&gt;, while crude, rude, and offensive, adequately sums up my feelings towards anyone who calls me an Apple "fanboy" because I own anything with a piece of fruit for a logo:&lt;blockquote&gt;Oh fuck you. &lt;br /&gt;&lt;br /&gt;... Let me explain something to you, you fat, greasy, shit-for-brains retard. Just because you masturbate to the GPL and sacrifice small animals on a shrine painted with the phrase "open-source" doesn't mean the rest of the world follows your little ideology. &lt;br /&gt;&lt;br /&gt;OH MY GOD OUT OF A HUNDRED APPS, APPLE DENIED ONE!!!! FASCISM!! FASCISM!!! FASCISM!!! OH MY GOD SOMEONE DIDN'T SAY APPLE WAS THE WORST THING EVER AND STEVE JOBS MIGHT NOT BE THE DEVIL!!! FANBOY!! FANBOY!! FANBOY!! FAAAAAAAAAAAAANBOYYYYYYYYY!!!! &lt;br /&gt;&lt;br /&gt;Jesus fucking christ. Have some fucking perspective you mouth-breathing, whiny, failure at life. It's a fucking operating system. Go spend your allowance on something else if you don't like it. And go look up the definition of "fascism" while you're at it.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-9163306670279920796?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/9163306670279920796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/i-hate-apple-haters.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/9163306670279920796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/9163306670279920796'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/i-hate-apple-haters.html' title='I Hate Apple-Haters'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-629800164255115347</id><published>2010-06-21T08:45:00.006-03:00</published><updated>2010-06-21T08:59:04.227-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MetricMate'/><category scheme='http://www.blogger.com/atom/ns#' term='CoffeeTimerApp'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='wwdc'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>New App (MetricMate) is Live on the App Store (And Other Digressions)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/TB9SLRmiC7I/AAAAAAAAAN4/RY1ntEbINn4/s1600/mzl.nrqlisbc.175x175-75.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 175px; height: 175px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/TB9SLRmiC7I/AAAAAAAAAN4/RY1ntEbINn4/s320/mzl.nrqlisbc.175x175-75.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5485193224817609650" /&gt;&lt;/a&gt;While at WWDC, I had a few spare hours to code. By the time I got back to my hotel room, I was too tired to do much, but awake enough to code. It helped me process what I had learned that day. And so, I wrote an &lt;a href="http://itunes.apple.com/us/app/metricmate/id377457866?mt=8&amp;uo=4"&gt;App&lt;/a&gt;. (And designed that handsome icon myself)&lt;br /&gt;&lt;br /&gt;This app was a request from my parents, who often found it difficult, living so close to the border, to use American cook books or package recipes. What, for instance, is a stick of butter and how many cups is that? My goal was to make an interface which was easy to use and made sense to everyday people. There are conversion apps out there already, but they are all intended for intense scientific purposes. This app uses whole numbers and easy fractions only. Additionally, it will convert things like stern talking-to's to timeouts (and back again).&lt;br /&gt;&lt;br /&gt;Please take a look if you're interested. It's only 99 cents and has been showing a lot of progress since it went on sale on Friday. Better sales, I'm afraid, than &lt;a href="http://coffeetimerapp.com/"&gt;CoffeeTimer&lt;/a&gt; has been subject to for the six months it's been on the store. &lt;small&gt;(That should all change with CoffeeTimer 3.0, expected this Friday)&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;I'm also very excited, because I have received word that I have received my first independent iPhone development job. I can't say what it is, but I'm very excited to be working on this project.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://itunes.apple.com/us/app/metricmate/id377457866?mt=8&amp;uo=4" target="itunes_store"&gt;&lt;img src="http://ax.phobos.apple.com.edgesuite.net/images/web/linkmaker/badge_appstore-lrg.gif" alt=MetricMate - Ash Furrow /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-629800164255115347?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/629800164255115347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/new-app-metricmate-is-live-on-app-store.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/629800164255115347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/629800164255115347'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/new-app-metricmate-is-live-on-app-store.html' title='New App (MetricMate) is Live on the App Store (And Other Digressions)'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9fyekwTM7U8/TB9SLRmiC7I/AAAAAAAAAN4/RY1ntEbINn4/s72-c/mzl.nrqlisbc.175x175-75.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-5209391982044938263</id><published>2010-06-09T13:35:00.002-03:00</published><updated>2010-06-09T13:39:58.280-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CoffeeTimerApp'/><category scheme='http://www.blogger.com/atom/ns#' term='wwdc'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Quietly Over the Weekend, I Released a New App</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/TA_DyoWU5pI/AAAAAAAAANo/-ASNwz3ENok/s1600/mzl.lpskhxjn.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/TA_DyoWU5pI/AAAAAAAAANo/-ASNwz3ENok/s200/mzl.lpskhxjn.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5480814546125121170" /&gt;&lt;/a&gt;So, last weekend my new &lt;a href="http://itunes.apple.com/ca/app/uretire/id375598716?mt=8&amp;uo=6"&gt;App&lt;/a&gt; was released. It's a retirement timer that started out as an exercise in PhotoShop to make an icon (yes, nerds, I know I should be using Illustrator). Forgetting the inherent cruelty or apparent depression of a 22 year-old writing an App that counts down the time until you retire, it was a fun project that took me a few scant hours, and it's free! So go ahead and download away. &lt;a href="http://itunes.apple.com/ca/app/uretire/id375598716?mt=8&amp;uo=6" target="itunes_store"&gt;&lt;img height="15" width="61" alt="uRetire" src="http://ax.phobos.apple.com.edgesuite.net/images/badgeitunes61x15dark.gif" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-5209391982044938263?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/5209391982044938263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/quietly-over-weekend-i-released-new-app.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5209391982044938263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5209391982044938263'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/quietly-over-weekend-i-released-new-app.html' title='Quietly Over the Weekend, I Released a New App'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/TA_DyoWU5pI/AAAAAAAAANo/-ASNwz3ENok/s72-c/mzl.lpskhxjn.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-429600332913431268</id><published>2010-06-07T00:12:00.002-03:00</published><updated>2010-06-07T00:14:27.984-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='let&apos;s have a personal chat'/><title type='text'>Blogging/Tweeting Life Away</title><content type='html'>So I was travelling for a bit over 12 hours today and frequently I thought to myself "gee, I'd love to blog about this (new experience I'm having), but I don't have Internet access." Then it hit me that instead of thinking about blogging or tweeting things, wouldn't it be grand if I actually just went out and experienced them to the fullest. I had this thought, and immediately thought about blogging it *facepalm* I didn't realize how fargone I am :P Oh well - I just like to share.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-429600332913431268?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/429600332913431268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/bloggingtweeting-life-away.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/429600332913431268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/429600332913431268'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/bloggingtweeting-life-away.html' title='Blogging/Tweeting Life Away'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-337320938664090650</id><published>2010-06-05T13:24:00.005-03:00</published><updated>2010-06-06T00:39:14.921-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='wwdc'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Pre-WWDC Frustrations with Apple</title><content type='html'>So I'm in Nova Scotia preparing for Ashley's sisters' wedding. I got an email from Apple - there's a WWDC App! Great!&lt;br /&gt;&lt;br /&gt;Wait. It's not on the App Store, so I'll need to sync my iPod Touch to get it. Which sucks, because my iMac that I sync my iPod with is all the way in New Brunswick. &lt;br /&gt;&lt;br /&gt;OK. Well, I'll try to get my music off and sync it on Ashley's macbook (which I'm taking with me to SF). I have XCode working, and I get this:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/TAp69rG2yhI/AAAAAAAAAM8/K1tBhGcRp1Q/s1600/Screen+shot+2010-06-05+at+1.27.04+PM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 74px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/TAp69rG2yhI/AAAAAAAAAM8/K1tBhGcRp1Q/s400/Screen+shot+2010-06-05+at+1.27.04+PM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5479327096611719698" /&gt;&lt;/a&gt;Despite the fact that I downloaded the latest version of XCode Thursday before packing, apparently this version doesn't work with the OS I have on this device. Whiskey. Tango. Foxtrot. &lt;br /&gt;&lt;br /&gt;OK - so I need to wipe my iPod and &lt;i&gt;downgrade&lt;/i&gt; it's OS. Fine. I then spend 30 minutes trying to find a way to get music &lt;i&gt;off&lt;/i&gt; of an iPod. Finally, open source &lt;a href="http://expod.joynt.net/#download"&gt;expod&lt;/a&gt; works!&lt;br /&gt;&lt;br /&gt;Well, wish me luck. I have to get XCode working with my device, or die trying, before I get there. Or buy a new iPod. We'll see.&lt;br /&gt;&lt;br /&gt;UPDATE: Turns out, everyone, that it was because instead of installing &lt;i&gt;over&lt;/i&gt; an existing XCode version, it installed into a different folder. Spotlight opened the older version, and here we are. Clusterfail, Apple.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-337320938664090650?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/337320938664090650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/pre-wwdc-frustrations-with-apple.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/337320938664090650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/337320938664090650'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/pre-wwdc-frustrations-with-apple.html' title='Pre-WWDC Frustrations with Apple'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9fyekwTM7U8/TAp69rG2yhI/AAAAAAAAAM8/K1tBhGcRp1Q/s72-c/Screen+shot+2010-06-05+at+1.27.04+PM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-4432864188476909636</id><published>2010-06-02T16:39:00.008-03:00</published><updated>2010-06-02T21:51:40.344-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='let&apos;s have a personal chat'/><category scheme='http://www.blogger.com/atom/ns#' term='espresso'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Why I'm Not Buying an iPad</title><content type='html'>So the UNB Bookstore has iPads. In stock. Ready for me to hand over more than $700 for. Wow. I don't think I'm going to - simply because I'm not developing for iPads right now and I have a trip to San Fransisco next week to pay for. It'd be a really nice toy, but I know how I'd use it, and it won't be for anything more than just a toy (not to say it's not great for someone else).&lt;br /&gt;&lt;br /&gt;BUT! I thought it'd be fun to prioritize and list the things that, if I could have $700 of something for free, I'd buy instead of the iPad.&lt;dl&gt;&lt;dt style="clear: both;"&gt;&lt;b&gt;Rancilio Silvia&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/TAb4HPtLgqI/AAAAAAAAAMc/mpfY38HEhCM/s1600/Rancilio_Silvia.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 144px; height: 200px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/TAb4HPtLgqI/AAAAAAAAAMc/mpfY38HEhCM/s1600/Rancilio_Silvia.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5478338800101589666" /&gt;&lt;/a&gt; This is my dream espresso machine. I thought about buying it at tax-return season, but I couldn't justify that $700 expense, either. &lt;br /&gt;&lt;/dd&gt;&lt;dt style="clear: both;"&gt;&lt;b&gt;A second monitor for my iMac&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/TAb8XdOTmpI/AAAAAAAAAM0/_44wxtdnzTs/s1600/news_pr-apple-24-inchLEDCinemaDisplay-02a_full.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 170px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/TAb8XdOTmpI/AAAAAAAAAM0/_44wxtdnzTs/s1600/news_pr-apple-24-inchLEDCinemaDisplay-02a_full.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5478343476654611090" /&gt;&lt;/a&gt;I'm going to classify this as strictly frivolous spending that I can't justify with "but it'd be really cool."&lt;/dd&gt;&lt;dt style="clear: both;"&gt;&lt;b&gt;40% of a three-year SmartPhone Contract&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;This actually makes me &lt;a href="http://www.financialpost.com/Canadians+paying+premium+their+smartphones/3103913/story.html"&gt;kind of stabby&lt;/a&gt;.&lt;/dd&gt;&lt;dt style="clear: both;"&gt;&lt;b&gt;Half of a MacBook Pro&lt;/b&gt;&lt;/dt&gt;&lt;dd&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/TAb5sj-9PuI/AAAAAAAAAMk/gkmVlBrjKYQ/s1600/86.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 129px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/TAb5sj-9PuI/AAAAAAAAAMk/gkmVlBrjKYQ/s1600/86.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5478340540711648994" /&gt;&lt;/a&gt;Who could say no to mobile development? I actually quite miss my PowerBook G4, though at its weight, that was anything but portable.&lt;/dd&gt;&lt;/dl&gt;Actually, I'd probably still get the iPad, but only because it's new and shiny. Any of these woud be more practicle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-4432864188476909636?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/4432864188476909636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/why-im-not-buying-ipad.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4432864188476909636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4432864188476909636'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/06/why-im-not-buying-ipad.html' title='Why I&apos;m Not Buying an iPad'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/TAb4HPtLgqI/AAAAAAAAAMc/mpfY38HEhCM/s72-c/Rancilio_Silvia.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-3187670829326292550</id><published>2010-05-30T16:00:00.004-03:00</published><updated>2010-05-30T15:16:23.281-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='where the wild things are'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><category scheme='http://www.blogger.com/atom/ns#' term='CoffeeTimerApp'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='wwdc'/><category scheme='http://www.blogger.com/atom/ns#' term='fringe'/><title type='text'>One Week to WWDC (And Other Digressions)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/TAKrIgF1jrI/AAAAAAAAAMU/VPy5JQPW7HE/s1600/wwdc10_badge.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 200px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/TAKrIgF1jrI/AAAAAAAAAMU/VPy5JQPW7HE/s1600/wwdc10_badge.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5477128259377663666" /&gt;&lt;/a&gt;&lt;br /&gt;I'm getting really excited for this! If I didn't have a big and hard deadline at work, it'd be a little more exciting, but as it is, I've got to focus on work this week. Also, Ashley's sister is getting married next weekend, so I need to prepare for anything else I need this weekend.&lt;br /&gt;&lt;br /&gt;BMO Mastercard has really let me down; it's so frustrating that you see a potential problem coming, you do everything you can to prevent it from happening, but the arbitrary policies of some company put you in a tough spot. I've applied for a TD Visa, and am going to call Monday to have it rushed to the branch. The lady was very helpful. Which just leaves my passport. And the whole "affording the trip" thing (yikes).&lt;br /&gt;&lt;br /&gt;I'm also still waiting on the Approval of Coffee Timer 2.4, which was submitted almost at week ago on Victoria Day. Hopefully it'll be up in time for WWDC. At the very least, I can show it off on my own device :) The next release should be under development soon; expect a nicer UI. I've also submitted a slightly less-than-secret app, which I'll post about when/if it gets approved. My last new App was denied because it didn't add enough functionality to the platform. This one might fall under the same category - but it honestly started as an exercise in PhotoShop, so it might be a fair appraisal.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://itunes.apple.com/ca/album/fringe-season-1-original-television/id365754580"&gt;&lt;img style="color: transparent; float:left; margin:0 10px 10px 0;cursor:pointer; width:200px; height: 200px; cursor:hand;" src="http://3.bp.blogspot.com/_9fyekwTM7U8/TAKmn9eLMPI/AAAAAAAAAME/U0tOUF-kA3o/" border="0" alt=""id="BLOGGER_PHOTO_ID_5477123302282178802" /&gt;&lt;/a&gt;And one more thing - I've been getting back into Soundtracks lately. Maybe it's because there's next to no process to follow at my job, so the majority of the time I'm just solving problems or coding the solutions. Soundtracks are marvellous things to listen to while thinking. The Where the Wild Things Are soundtrack is pretty awesome, despite the inclusion of some of the movie voiceovers. A Scanner Darkly has a pretty epic soundtrack, as you might expect; it does have a few odd ones I can't really concentrate to. Fringe's soundtrack (from Season 1) is very nice. Reminds of the Batman Returns soundtrack without the insistence that every song sounds the same. I'll be anxiously waiting for Season 2's to be put up on iTunes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-3187670829326292550?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/3187670829326292550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/one-week-to-wwdc-and-other-digressions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3187670829326292550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3187670829326292550'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/one-week-to-wwdc-and-other-digressions.html' title='One Week to WWDC (And Other Digressions)'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/TAKrIgF1jrI/AAAAAAAAAMU/VPy5JQPW7HE/s72-c/wwdc10_badge.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-9076432310104050854</id><published>2010-05-29T19:04:00.004-03:00</published><updated>2010-05-29T19:22:15.837-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='religion'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>Scientific Hostility towards Religion</title><content type='html'>I read &lt;a href="http://science.slashdot.org/story/10/05/29/178208/What-Scientists-Really-Think-About-Religion?art_pos=2"&gt;this post&lt;/a&gt; on Slashdot about a book whose author details a repressive attitude in academia towards religion. Essentially, the book details how only %64 of scientists interview would consider themselves agnostic or atheist (meaning %36 of scientists believe in something). The post also mentions how many of the non-theist respondents considered themselves "spiritual".&lt;br /&gt;&lt;br /&gt;I think it's a very interesting situation; the scientific community is often viewed as god-haters and &lt;a href="http://mimg.ugo.com/200810/24547/walter-bishop.jpg"&gt;disbelievers&lt;/a&gt;. This causes people who get into science to think that they can't discuss religion, so they don't. Scientists not talking about religion furthers the stereotype that they are non-religious, etc...&lt;br /&gt;&lt;br /&gt;It's a feedback loop caused by scientists only doing what they're supposed to do (driving progress) and regular people trying to justify their belief in something which (from their point of view) has just been attacked. I think the best solution is education to show people how the scientific community works and solicit some tolerance from the more antagonistic scientists.&lt;br /&gt;&lt;br /&gt;What I believe causes this stereotype is the nature of the scientific and peer-review system itself. It is the competitive nature of science which drives progress; when someone says something you think is bunk, you call them out on it with evidence. I think this is often perceived as hostility towards religion on a grand scale by those who are at the receiving end of these retorts. &lt;br /&gt;&lt;br /&gt;I think it's pretty sad that there are those out there who are afraid to admit to their colleagues who they are. Though I really don't respect their faith, I think having to hide such a fundamental truth about yourself from the rest of world is a terrible burden to carry - whether it be sexual orientation, gender identity, political affiliation, who you love, or religion.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-9076432310104050854?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/9076432310104050854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/scientific-hostility-towards-religion.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/9076432310104050854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/9076432310104050854'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/scientific-hostility-towards-religion.html' title='Scientific Hostility towards Religion'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-961254566236884844</id><published>2010-05-27T20:00:00.002-03:00</published><updated>2010-05-27T09:25:50.167-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Different Types of Internet Users</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9fyekwTM7U8/S_3MFvUpXDI/AAAAAAAAAL8/BwKYd08ULHY/s1600/n46874121466_1722113_5130.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_9fyekwTM7U8/S_3MFvUpXDI/AAAAAAAAAL8/BwKYd08ULHY/s200/n46874121466_1722113_5130.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5475757120926866482" /&gt;&lt;/a&gt;So I was thinking that I can categorize Internet users into one of three different classifications.&lt;dl&gt;&lt;dt&gt;&lt;b&gt;Internet Vampires&lt;/b&gt; &lt;/dt&gt;&lt;dd&gt;Someone who comes out to the Internet at night. This usually occurs when someone is at their job and don't have any access to the Internet - or chose not to via blackberry, etc.&lt;/dd&gt;&lt;dt&gt;&lt;b&gt;Internet Reverse-Vampire&lt;/b&gt; &lt;/dt&gt;&lt;dd&gt;Someone who comes out to the Internet during the day. This usually happens because these users &lt;b&gt;do&lt;/b&gt; have Internet access at work and choose to use it. When they go home at night, they spend time with their "families".&lt;/dd&gt;&lt;/dt&gt;&lt;b&gt;Normal Internet User&lt;/b&gt; &lt;/dt&gt;&lt;dd&gt;Someone who, like me, is online checking email, facebook, twitter, etc and who is browsing teas, kijiji, and news both at work and in the evening. This group doesn't necessarily use the Internet more; their use may be more sporadic than concentrated evening/day use.&lt;/dd&gt;&lt;/dl&gt;&lt;small&gt;* can haz props for HTML definition list?&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;It really sucks when you're a regular Internet user, and there's a twilight in between the two group's activities (say, 3 am) and no one else is online. Notice I said regular &lt;span style="font-style:italic;"&gt;Internet user&lt;/span&gt;, not person.&lt;br /&gt;&lt;br /&gt;So that's what I was thinking. Then I realized if I make a classification system, of course everyone would fall into either one, the other,  or neither. Then I realized that there is no difference between neither and both (ie: being both an Internet Vampire and Reverse-Vampire makes you neither). Whoa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-961254566236884844?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/961254566236884844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/different-types-of-internet-users.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/961254566236884844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/961254566236884844'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/different-types-of-internet-users.html' title='Different Types of Internet Users'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9fyekwTM7U8/S_3MFvUpXDI/AAAAAAAAAL8/BwKYd08ULHY/s72-c/n46874121466_1722113_5130.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-8055062903867379108</id><published>2010-05-24T09:48:00.003-03:00</published><updated>2010-05-24T09:53:58.434-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='photoshop'/><category scheme='http://www.blogger.com/atom/ns#' term='CoffeeTimerApp'/><title type='text'>PhotoShop is *Hard*</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9fyekwTM7U8/S_p2WUJIIMI/AAAAAAAAAL0/R44XI3bhIUI/s1600/House+Icon.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 216px; height: 217px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/S_p2WUJIIMI/AAAAAAAAAL0/R44XI3bhIUI/s320/House+Icon.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5474818422758449346" /&gt;&lt;/a&gt;I feel like such a 12 year old right now. This morning I got up and, feeling adventurous, googled "PhotoShop Tutorial  Icon" and came across &lt;a href="http://www.webdesigndev.com/photoshop/create-a-glossy-home-icon-in-photoshop"&gt;this&lt;/a&gt; resource. I tried to follow the tutorial, but it's hard when step 1 is "draw a gradient background" and I don't know wtf that means, let alone how to do it.&lt;br /&gt;&lt;br /&gt;Well, after an hour of sitting here, googling things like "how to draw a circle in photoshop" and becoming &lt;b&gt;&lt;u&gt; extremely &lt;/u&gt;&lt;/b&gt; frustrated with what is the most unintuitive program ever written, I have produced an icon. Of a house. Dandy.&lt;br /&gt;&lt;br /&gt;I still don't really know how I did what I did - I mean, I know the mechanics of it, but I don't know how to reproduce it in a general way. Sort of like first-year programming students that start every assignment by copying and pasting the code from their last one. Oh, well. I guess I'll try to come up with something exciting for a coffee timer icon soon!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-8055062903867379108?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/8055062903867379108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/photoshop-is-hard.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8055062903867379108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8055062903867379108'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/photoshop-is-hard.html' title='PhotoShop is *Hard*'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9fyekwTM7U8/S_p2WUJIIMI/AAAAAAAAAL0/R44XI3bhIUI/s72-c/House+Icon.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-848505070197333947</id><published>2010-05-23T22:00:00.004-03:00</published><updated>2010-05-23T23:02:40.498-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='CoffeeTimerApp'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>The Problem with Developing your own App</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://v37s3b4h7dn47s37hg1br4h7rs7n3du7s8nu.unbf.ca/~w8320/CoffeeTimerApp/CoffeeTimer_files/shapeimage_2.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 194px; height: 193px;" src="http://v37s3b4h7dn47s37hg1br4h7rs7n3du7s8nu.unbf.ca/~w8320/CoffeeTimerApp/CoffeeTimer_files/shapeimage_2.png" border="0" alt="" /&gt;&lt;/a&gt;I really enjoyed developing &lt;a href="http://coffeetimerapp.com/"&gt;Coffee Timer&lt;/a&gt;, but as I finish a release and submit it to Apple, I've noticed a hole in my development process. It's not in the traditional waterfall methodology, nor is it covered in more agile (read: modern) development practices. The fact of the matter is, I &lt;span style="font-weight:bold;"&gt;suck&lt;/span&gt; at PhotoShop.&lt;br /&gt;&lt;br /&gt;If you're good at PhotoShop, congrats. I mean, I've tried. Not really seriously. I learned enough to get me through any itty-bitty problem. I made my own icon. It's ... an icon. Literally filled with pixels! Awesome! The problem is, I'm trying to get working on my next release to make Coffe Timer pretty before WWDC, and it ain't lookin' good ...&lt;br /&gt;&lt;br /&gt;Sure, I've added colours to "Tea" and "Coffee" timers to distinguish them (I picked the colours myself) and I follow &lt;a href="http://developer.apple.com/iphone/library/documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html"&gt;Apple's HIG&lt;/a&gt;, but beyond that and common sense UI design, I'm a pretty useless graphic designer. &lt;br /&gt;&lt;br /&gt;So, if you have any experience with PhotoShop and want to help a friend out, please feel free to offer tips, suggestions, or hadiwork on my icon (or whatever you think would embody a hot-beverage timer).&lt;br /&gt;&lt;br /&gt;EDIT: Forgot to mention the problem with developing your own App: you have to be good at everything, from back-end stuff, GUIs, graphics, marketing, translations, everything. It's a lot for one person, and you can't really afford to pay someone to do it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-848505070197333947?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/848505070197333947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/problem-with-developing-your-own-app.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/848505070197333947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/848505070197333947'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/problem-with-developing-your-own-app.html' title='The Problem with Developing your own App'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-8723260556717411133</id><published>2010-05-23T21:51:00.004-03:00</published><updated>2010-05-23T22:00:15.025-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='let&apos;s have a personal chat'/><category scheme='http://www.blogger.com/atom/ns#' term='wwdc'/><title type='text'>WWDC is Only Two Weeks Away!</title><content type='html'>In a fortnight, I'll be checked into the totally legit sounding "&lt;a href="http://www.jdvhotels.com/hotels/good"&gt;Good Hotel&lt;/a&gt;", which sits a mere few blocks away from Moscone Centre. I wasn't really excited about this until now, when I realized how awesome this is going to be. &lt;br /&gt;&lt;br /&gt;I'm unsure of what to do if someone asks me why I came. I could tell them "I run a blog", but don't want to be associated with Gizmodo in any way (kthxbye). I've also thought about mentioning &lt;a href="http://coffeetimerapp.com/"&gt;Coffee Timer&lt;/a&gt; - I mean, what could be more respectable than mentioning an App I've literally made dollars off of (minus $115 expenses). Hmm. This isn't looking good.&lt;br /&gt;&lt;br /&gt;So, what I have left is a school project that was mainly TCP/IP connection from an iPhone to a Java server (lame) or the fact I once worked for a major competitor to Apple (you know it was on the resume I sent them for this scholarship). &lt;br /&gt;&lt;br /&gt;Well, my badge is going to say "UNB" on it under my name. I suppose I can say I'm from the University. Think I could pass for a grad student? I now know enough ways to make fun of "my supervisor" to fake it, I think. &lt;br /&gt;&lt;br /&gt;Or maybe I should just stop questioning my credibility. After all, learning an entire platform by yourself, developing a UI, and marketing a product while you're a full-time student is no small feat. I mean - I'm no &lt;a href="http://twitter.com/jbrennandev"&gt;Jason Brennan&lt;/a&gt; or anything - and despite my the rejection of my "You Own an iPad" App (it's exactly what you think it is), I've got high hopes!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-8723260556717411133?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/8723260556717411133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/wwdc-is-only-two-weeks-away.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8723260556717411133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8723260556717411133'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/wwdc-is-only-two-weeks-away.html' title='WWDC is Only Two Weeks Away!'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6713272938405693142</id><published>2010-05-20T12:29:00.007-03:00</published><updated>2010-05-20T13:04:26.661-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='islam'/><category scheme='http://www.blogger.com/atom/ns#' term='censorship'/><category scheme='http://www.blogger.com/atom/ns#' term='religion'/><title type='text'>Why I'm not Participating in Draw Mohammad Day</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://friendlyatheist.com/wp-content/uploads/2010/05/Muh51.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 275px; height: 366px;" src="http://friendlyatheist.com/wp-content/uploads/2010/05/Muh51.jpg" border="0" alt="" /&gt;&lt;/a&gt;So, a few weeks ago, a television network censored South Park after receiving flack from Muslim bloggers who were upset at the depictions of Mohammad in that &lt;a href="http://en.wikipedia.org/wiki/201_(South_Park)"&gt;episode&lt;/a&gt;. It's a shame that the network received death threats over a cartoon, but it's a bigger shame that they backed down.&lt;br /&gt;&lt;br /&gt;To combat this violation of free speech, college campuses around the states started &lt;a href="http://friendlyatheist.com/2010/05/10/whos-drawing-muhammad-now/"&gt;drawing stick figures&lt;/a&gt; with "Mohammad" written next to them on sidwalks. Comical and childish yes, but at each campus they were met with vehement opposition from local Muslim Student groups. Some groups would follow them around and insult the students in chalk form. Some would write "Ali" after "Mohammad" and draw boxing gloves on the stick figure (&lt;a href="http://1.bp.blogspot.com/_Aen4aKTzDNQ/S9_TJqJFfPI/AAAAAAAAACo/s1ELbwyL8Ds/s1600/DSC02849.JPG"&gt;cute&lt;/a&gt;!). But the point was made - it really isn't allowed to draw picture sof Mohammad in our society.&lt;br /&gt;&lt;br /&gt;So a group of students organized "Everyone Draw Mohammad Day" for today, the 20th. The &lt;a href="http://www.facebook.com/note.php?note_id=10150186334210198&amp;comments#!/pages/Everybody-Draw-Mohammed-Day/121369914543425?ref=ts"&gt;facebook group&lt;/a&gt; is available, too. I like the idea, in principle. If no one had opposed the stick-figure depictions and no one had threatened violence against students drawing them, wouldn't the egg be on their faces? Sure would. But the sad fact is, that's exactly what happened. It's an illustrative and cautionary tale.&lt;br /&gt;&lt;br /&gt;The problem is that this exercise of free speech has attracted anti-Muslim and anti-Islam sentiment. Pictures posted to the facebook group are in very poor taste, and many are racist. I'm interested in free speech, not racism. And that's why I'm not participating. It's not that I'm afraid of being connected with these people, I just don't want to lend legitimacy to their purpose.&lt;br /&gt;&lt;br /&gt;I figured this would happen. It's hard to suggest things like a sane approach/opposition to Sharia Law, the end to Female Genital Mutilation by religious extremists, or free speech to draw Mohammad without drawing anti-Muslim ire. It's a real shame that people hijack noble causes like these as an excuse to justify their hatred and xenophobia.&lt;br /&gt;&lt;br /&gt;Anyways, here's a &lt;a href="http://friendlyatheist.com/2010/05/20/draw-muhammad-day-a-compilation/"&gt;compilation&lt;/a&gt; of drawings that I chuckled at. Enjoy May 20th, everyone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6713272938405693142?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6713272938405693142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/why-im-not-participating-in-draw.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6713272938405693142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6713272938405693142'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/why-im-not-participating-in-draw.html' title='Why I&apos;m not Participating in Draw Mohammad Day'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-3988174854104625126</id><published>2010-05-20T11:02:00.008-03:00</published><updated>2010-05-20T11:40:45.903-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='journalism'/><category scheme='http://www.blogger.com/atom/ns#' term='brunswickan'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>5 things you should know before dating a computer scientist</title><content type='html'>Brunswickan employee &lt;a href="http://twitter.com/hilarypage"&gt;Hilary Page Smith&lt;/a&gt; tweeted this morning a link to an interesting article &lt;a href="http://www.rockmycar.net/2007/05/10/5-things-you-should-know-before-dating-a-journalist/"&gt;5 things you should know before dating a journalist&lt;/a&gt;. It presented warnings to those who might want to date a journalist, but appears to be, in my opinion, excuses for rude and cavalier behaviour. Not wanting to rock the boat (lest I be featured in another Brunswickan spoof issue), I thought I'd run with it and do a little parody (excuses for computer scientist quirky behaviour).&lt;br /&gt;&lt;br /&gt;So, here we have it, "5 things you should know before dating a computer scientist."&lt;br /&gt;&lt;h2&gt;We can figure things out&lt;/h2&gt;Understand, we're paid to figure things out. Efficiently. You think Dynamic Programming is hard? Let me show you my 3-SAT approximation algorithm. Turns you on, right? &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;At some point, you will be something to figure out&lt;/h2&gt;Eventually, and it won't take that long, you'll mess something up. You'll have a problem that you can't solve - either because you're too slow or stupid - and we'll swoop in to save the day. &lt;br /&gt;&lt;br /&gt;We won't ask for much in return. A sandwich. Ever-lasting adoration. Maybe a Ferengi lobe-rub. You'll have to. Because we fixed things for you. You owe us!&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Yes, we think we're smarter than you&lt;/h2&gt;In fact, we know it. How could we not be?I mean, we work on machines all day. What's harder than machines? &lt;a href="http://conj.tumblr.com/post/548406621/the-future-of-search-is-simple"&gt;Nothing&lt;/a&gt;. We have a strong knowledge of how things that make the world work, work. Air-traffic control systems, traffic light control systems, microwave oven control systems. You name it.&lt;br /&gt;&lt;br /&gt;And we'll correct you.&lt;br /&gt;&lt;br /&gt;Oh, yes. We will. You'll say something like "and then the computer froze" and we'll automatically say "you mean you made the computer freeze." Don't like it? Too bad. Our arrogance and unwarranted self-assuredness is what attracted you to us in the first place. &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;You're not less important than machines - machines are just more important than anything else&lt;/h2&gt;Yeah, sorry, but if we're out on a romantic date, and I conjure up a sub-O(nlogn) sorting algorithm, I need paper. &lt;a href="http://xkcd.com/230/"&gt;Now&lt;/a&gt;. The pedagogical shortcomings of Bubble Sort is perfectly acceptable pillow-talk*. And don't get all pissy with me. We're paid to sit around and be clever all day. Incredible intelligence is not something you can just turn off.&lt;br /&gt;&lt;br /&gt;Remember, my unsurpassed intelligence and disregard (or ignorance) of social norms is what you love about us.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;A high number of you won't be disappointed (with p=0.95)&lt;/h2&gt;Our own research shows that we're incredible life partners and amazing mates. &lt;br /&gt;&lt;br /&gt;If the pitfalls turn you off, then consider:&lt;ul&gt;&lt;li&gt;The fact that we're super-intelligent means our offspring likely will be too.&lt;/li&gt;&lt;li&gt;Our reclusion from society means we have a constant supply of drug-free urine for you to use to pas your job application.&lt;/li&gt;&lt;li&gt;Staycations with WoW are much cheaper than flying to Cancun for our honeymoon (if you're awesome enough for us to marry you).&lt;/li&gt;&lt;li&gt;Who will set up your wifi network the next time you move apartments?&lt;/li&gt;&lt;/ul&gt;So consider it. Someone who is this desperate for love (or sex, or whatever you're up for) is willing to be the most loyal, dependable, but slightly &lt;a href="http://i.dailymail.co.uk/i/pix/2009/02/12/article-1143446-037D7A2C000005DC-15_468x703.jpg"&gt;quirky&lt;/a&gt; mate you'll ever have.&lt;br /&gt;&lt;br /&gt;&lt;small&gt;* Regrettably, a true story.&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-3988174854104625126?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/3988174854104625126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/5-things-you-should-know-before-dating.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3988174854104625126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3988174854104625126'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/5-things-you-should-know-before-dating.html' title='5 things you should know before dating a computer scientist'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-8114848397541772022</id><published>2010-05-19T11:04:00.007-03:00</published><updated>2010-05-19T11:35:39.255-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='its'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><title type='text'>UNB ITS Updates WebMail Interface but not Storage Capacity Despite Student Requests</title><content type='html'>So, &lt;a href="http://webmail.unb.ca"&gt;UNB's webmail&lt;/a&gt; interface. It's still using the open source horde backend, but it looks nice. I logged in to see that it's still only allowing students to store 150 megabytes of emails. How small.&lt;br /&gt;&lt;br /&gt;Last November, then UNBSU VP-External Ryan Brideau and I filed submissions for use of the student technology fee (some $400 000 of students' money that UNB disperses every year). I sat on the committee that decided the spending. Ryan suggestion to invest to increase email quota was not on the list of proposals to consider. Neither was mine concerning a trial run of Google Appliance for school mail. &lt;br /&gt;&lt;br /&gt;When questioned, an ITS staff and committee member said students require a sponsor for a submission idea, and no one from ITS (who handles submissions) thought these ideas were worthy. Well, Ryan's was, but the same committee member claimed that Ryan never returned his emails. This seems unlikely to me, as Ryan uses GMail, and their spam filters are pretty good.&lt;br /&gt;&lt;br /&gt;Most people I know of forward their UNB mail to GMail. I do too. I get a working spam filter, and sleek interface, and lots of storage. UNB Webmail offers a confusing interface and little storage. This is a significant way in which UNB and ITS are failing to meet the needs of students. I told ITS in my November submission that email is arguably the most student-visible service ITS provides, and it sucks. Rounded corners aren't going to change that.&lt;br /&gt;&lt;br /&gt;EDIT: This sort of assumes you know how the student technology fee works. This is a pretty big assumption, as I barely know how it works, and I was on the Student Technology Fee committee. I'll do another post later explaining how $400 000 of spending is decided.&lt;br /&gt;&lt;br /&gt;EDIT 2: Sorry, guys, my finger slipped! Everyone only gets 150 MB of storage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-8114848397541772022?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/8114848397541772022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/unb-its-updates-webmail-interface-but.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8114848397541772022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8114848397541772022'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/unb-its-updates-webmail-interface-but.html' title='UNB ITS Updates WebMail Interface but not Storage Capacity Despite Student Requests'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1750878106530993085</id><published>2010-05-13T08:30:00.001-03:00</published><updated>2010-05-13T08:56:21.799-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='amarok'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Ditching Amarok in Favour of Clementine (A Comparative Review)</title><content type='html'>Years ago, I was in first year; it was a time when programming was easy, liquor was hard to come by, and I had a lot of time to play with my computer. (Now I own a mac and I get things done on my computer instead of endlessly fussing about with GNome panels) I discovered a wonderful creation called &lt;a href="http://en.wikipedia.org/wiki/Amarok_(software)"&gt;Amarok&lt;/a&gt;. Then at version 1.4, Amarok was a veritable beacon of what software written for geeks should be. Features I loved included:&lt;ul&gt;&lt;li&gt;An explicit playlist (meaning an area on the screen that's a scratchpad representing what is to be played).&lt;/li&gt;&lt;li&gt;A fantastic and customizable UI.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.last.fm/user/ashfurrow"&gt;Last.fm&lt;/a&gt; support.&lt;/li&gt;&lt;li&gt;Automatic lookup of artist Wikipedia bios, lyrics, plugin support, and more.&lt;/li&gt;&lt;/ul&gt;That Summer, I succumbed to paying a third of the price for a new, floor-model PowerBook G4. Life was bliss; a Unix kernel, terminal, the ability to get things done - basically everything I could want in a computer. And then there was iTunes. &lt;br /&gt;&lt;br /&gt;I hated iTunes, despite my love for my iPod (then a shuffle). It's come a long ways, but even today I still miss Amarok 1.4. Since it's open source, however, there was hope! I compiled KDE, and all necessary libraries (gigabytes of libraries) in order to run Amarok on my mac. It ran in X11. It was slow, buggy, and the music was jittery. Too bad. I tried this several times over the next few years (I'd get a hankerin' every now and then), but always with the same results.&lt;br /&gt;&lt;br /&gt;Eventually, &lt;a href="http://upload.wikimedia.org/wikipedia/commons/a/a3/Amarok2_1.png"&gt;Amarok 2.0&lt;/a&gt; came out, with cross-platform support. I was so excited! A .dmg installer! My mac sensibilities were canoodling  with with love for Amarok, and they had made a baby! But ... what was this? Amarok 2.0? Oh, no ...&lt;br /&gt;&lt;br /&gt;Amarok 2.0 sucks. I mean, they took almost everything I loved and appreciated about 1.4 and killed it, save for Last.fm support. A shiny but clumsy UI instead of the powerful one that made me fall in love with it's predecessor. This. Blows. So I continued to use iTunes. Flash forward to three weeks ago.&lt;br /&gt;&lt;br /&gt;I started work. Unlike working at a corporation, I was handed a computer and told to do whatever I needed to to get my work done. Linux, naturally. Work meant music, which of course meant Amarok. I had forgotten about 2.0. I could live with the awful UI, except it wasn't working properly (more on that later).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter.com/Lamespotting"&gt;Lamespotting&lt;/a&gt; sent me via twitter instructions to &lt;a href="http://www.dwasifar.com/?p=1111"&gt;downgrade Amarok to 1.4&lt;/a&gt;. I thought it would be perfect, but it was still plagued with issues. That's when I found &lt;a href="http://code.google.com/p/clementine-player/"&gt;Clementine&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A bunch of people got together when 2.0 was in the works and ported the existing code to what is now Clementine. I'll do a review in a moment.&lt;br /&gt;&lt;br /&gt;Amarok 1.4 had issues that made 2.0 quite literalyl unusable for me at work. First of all, I don't like having to have an entire KDE Wallet for one program. (It refused to store my Last.fm password anywhere else) After I finally got mp3 support to work, GStreamer would skip the second half second (that is, skip from 0.5 seconds to 1.0 seconds) in every song, and Xine would stop playing after every song. Every one. Unusable. Luckily, Clementine had no such troubles :)&lt;br /&gt;&lt;br /&gt;So, what is different about Clementine? Here's a side-by-side screenshot of Clementine and Amarok 1.4:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/S-vmYOMjx8I/AAAAAAAAALs/GgqFgn-6aOM/s1600/AmarokVsClementine.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 164px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/S-vmYOMjx8I/AAAAAAAAALs/GgqFgn-6aOM/s400/AmarokVsClementine.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5470719476173621186" /&gt;&lt;/a&gt;I'm still getting used to the UI, but it's nice. Things I don't like about it include:&lt;ul&gt;&lt;li&gt;Lack of configurability for things like keyboard shortcuts.&lt;/li&gt;&lt;li&gt;Lack of "Replace Playlist" in the context menu of things in my library - I can only Append to my playlist.&lt;/li&gt;&lt;li&gt;No media player support (not a huge deal to me at work).&lt;/li&gt;&lt;li&gt;No smart playlist capabilities (also not a deal-breaker).&lt;/li&gt;&lt;li&gt;A simplistic UI that makes me feel like there's something I could be doing, but am not allowed to.&lt;/li&gt;&lt;/ul&gt;It even includes the adorable die that Amarok used to have for shuffle mode!&lt;br /&gt;&lt;br /&gt;All in all, it's a nice functional media player that has potential. If I ever get an itch to contribute to open source, and also muster the tolerance for all the frustrations that come with trying to &lt;i&gt;donate my time and efforts&lt;/i&gt;, then this may be the project for me. It's available for Windows and OS X, but I'll be sticking with iTunes for iPod syncing at home. Maybe someday I'll do a blog post on all the times I really wanted to contribute to open source, but was met with resistance and a love for the status quo from other contributors.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1750878106530993085?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/1750878106530993085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/ditching-amarok-in-favour-of-clementine.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1750878106530993085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1750878106530993085'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/ditching-amarok-in-favour-of-clementine.html' title='Ditching Amarok in Favour of Clementine (A Comparative Review)'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9fyekwTM7U8/S-vmYOMjx8I/AAAAAAAAALs/GgqFgn-6aOM/s72-c/AmarokVsClementine.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7894542021432811839</id><published>2010-05-13T07:03:00.007-03:00</published><updated>2010-05-13T07:14:02.238-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='I&apos;ve made a huge mistake'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Facebook Link to Blogger &amp; I'm Changing the Direction of This Blog</title><content type='html'>So I found a neat-looking feature in facebook the other day that I foolishly decided to try which would link my blog to facebook.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9fyekwTM7U8/S-vPfLx9HUI/AAAAAAAAALk/SQSau8bODcs/s1600/Screen+shot+2010-05-13+at+7.03.03+AM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 146px;" src="http://3.bp.blogspot.com/_9fyekwTM7U8/S-vPfLx9HUI/AAAAAAAAALk/SQSau8bODcs/s400/Screen+shot+2010-05-13+at+7.03.03+AM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5470694307016809794" /&gt;&lt;/a&gt;This also posted about everything I've written this year as "notes" to facebook, which'd be fine except for spamming people's home pages EXCEPT the fact that I'm not really enthused that things I've previously written about are coming up now.&lt;br /&gt;&lt;br /&gt;In the past 5 weeks or so, I've been doing a lot of reflecting. It's personal, so I didn't blog about it, but you can see the shift in focus of what I was writing. TSP and song lyrics instead of cartoons making fun of Christians. I'm not really interested in debating creationism or worldviews or anything anymore - not because it's futile, but because I find it personally destructive and it earns me few friends. I've been considering changing the name of my blog to reflect this, and now I'll have to consider deleting older posts, as well.&lt;br /&gt;&lt;br /&gt;So, If you see something on facebook or my blog, and it's dated mid-March or earlier, please remember that what I wrote about then doesn't necessarily reflect on how I feel now. Thank you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7894542021432811839?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7894542021432811839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/facebook-link-to-blogger-im-changing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7894542021432811839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7894542021432811839'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/facebook-link-to-blogger-im-changing.html' title='Facebook Link to Blogger &amp; I&apos;m Changing the Direction of This Blog'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9fyekwTM7U8/S-vPfLx9HUI/AAAAAAAAALk/SQSau8bODcs/s72-c/Screen+shot+2010-05-13+at+7.03.03+AM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-8345195119569097549</id><published>2010-05-07T10:54:00.004-03:00</published><updated>2010-05-07T11:06:49.811-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='academia'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='nerdom'/><category scheme='http://www.blogger.com/atom/ns#' term='logic'/><category scheme='http://www.blogger.com/atom/ns#' term='do it yourself'/><title type='text'>Arbitrary-Length Binary Multiplication via Shift &amp; Add</title><content type='html'>So I'm working on my BLIF simulator at my UNB job this summer. Awesome job, but I've run into the part of the project that is boring; I need to write software to simulate an adder, multiplier, logical-AND'er, etc ... About 30 different operations. Fun, right? Not really. Which is why I saved it for last. &lt;br /&gt;&lt;br /&gt;So I figured I'd start with the mos interesting mundane problem of them all. You have two numbers; multiply them. Easy, you're thinking. Then I say something like, "These numbers could be any length at all - you can't store them as integers or any other data type." I get these as two arrays of bits, and I need to spit them out in the same fashion. Tricky, because even though I'm in C, I can't rely on shift operations. Actually, I use this to my advantage in the end :)&lt;br /&gt;&lt;br /&gt;Looking at the sparse &lt;a href="http://en.wikipedia.org/wiki/Multiplication_algorithm#Shift_and_add"&gt;Wikipedia section&lt;/a&gt; for the algorithm that I'm going to use, I don't get much help. So I do it out on the whiteboard by hand a few times, and I get a feel for how it works. For ever '1' encountered in the multiplier, add the multiplicand to the result so far, shifted the appropriate amount of spaces. In my solution, I don't worry about keeping thins binary. Hmm, you're thinking. How does that work?&lt;br /&gt;&lt;br /&gt;Well, I get an array like '01021110'. I just look over the array from the least-significant bit. For anything I find greater than 1, I decrease it by two (adding one to it's left neighbour each time) until it is either 0 or 1. Eventually, my '01021110' turned into '01101110', which is the correct answer. Nice.&lt;br /&gt;&lt;br /&gt;I tried it out, and it works! Wonderful! The method multiply_arrays() returns a pointer to an array, whose size is the sum of the two arrays passed into it. LSB starts at 0, naturally, so when printing output or entering test data, I need to present it in "opposite order" - since {0,1,0,1} is really binary of '1010'. Capiche?&lt;br /&gt;&lt;br /&gt;Anyways, here's my solution. I thought it was clever, and I couldn't find another C implementation on the web, so I thought I'd share. Remember, sharing is caring except with unallocated pointers and sexually-explicit code comments.&lt;code&gt;&lt;pre&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;&lt;br /&gt;int *multiply_arrays(int *a, int a_length, int *b, int b_length);&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt; int a[] = {0,1,0,1};  //10&lt;br /&gt; int b[] = {1,1,0,1};  //11&lt;br /&gt;&lt;br /&gt; int *r = multiply_arrays(a, 4, b, 4);&lt;br /&gt; &lt;br /&gt; int i;&lt;br /&gt; for (i = 7; i &gt;= 0; i--)&lt;br /&gt; {&lt;br /&gt;  printf("%d", r[i]);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; printf("\n");&lt;br /&gt; free(r);&lt;br /&gt;&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int *multiply_arrays(int *a, int a_length, int *b, int b_length)&lt;br /&gt;{&lt;br /&gt; int *result, i, j;&lt;br /&gt; int result_size;&lt;br /&gt;&lt;br /&gt; result_size = a_length + b_length;&lt;br /&gt; result = calloc(sizeof(int), result_size);&lt;br /&gt;&lt;br /&gt; for (i = 0; i &lt; a_length; i++)&lt;br /&gt; {&lt;br /&gt;  if (a[i] == 1)&lt;br /&gt;  {&lt;br /&gt;   for (j = 0; j &lt; b_length; j++)&lt;br /&gt;   {&lt;br /&gt;    result[i+j] += b[j];&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; for (i = 0; i &lt; result_size; i++)&lt;br /&gt; {&lt;br /&gt;  while (result[i] &gt; 1)&lt;br /&gt;  {&lt;br /&gt;   result[i] -= 2;&lt;br /&gt;   result[i+1]++;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; return result;&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-8345195119569097549?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/8345195119569097549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/arbitrary-length-binary-multiplication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8345195119569097549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8345195119569097549'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/05/arbitrary-length-binary-multiplication.html' title='Arbitrary-Length Binary Multiplication via Shift &amp; Add'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-5091105261494236575</id><published>2010-04-25T21:25:00.005-03:00</published><updated>2010-04-25T21:36:35.905-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming challenges'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Unidirectional TSP (116)</title><content type='html'>So I tried out &lt;a href="http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;page=show_problem&amp;category=3&amp;problem=52&amp;mosmsg=Submission+received+with+ID+7924828"&gt;this problem&lt;/a&gt; from the problemset. At first glance, it looks like a pretty standard Dynamic Programming problem. Given a grid of values with each row representing a city, you can transition to a city only horizontally for it's cost. &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://uva.onlinejudge.org/external/1/116img2.gif"&gt;&lt;img style="background-color:rgb(255,255,255); display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 67px; height: 99px;" src="http://uva.onlinejudge.org/external/1/116img2.gif" border="0" alt="" /&gt;&lt;/a&gt;Not too bad, still. Additionally, the grid is actually a horizontal cylinder, so you can travel from index M[i][n] to M[i+1][0], or vice versa. Still not that tricky.&lt;br /&gt;&lt;br /&gt;I had the algorithm coded and working in under an hour, for the most part. There is a twist, though. There can be more than one minimum-weight path. You need to print the path that is lexicographically first. Not too bad, still. &lt;br /&gt;&lt;br /&gt;I was getting Wrong Answer in about 2 seconds. I finally found &lt;a href="http://online-judge.uva.es/board/viewtopic.php?f=1&amp;t=1114&amp;p=10616&amp;hilit=unidirectional+tsp#p10616"&gt;this&lt;/a&gt; helpful post with test data that broke my code. Consider: &lt;code&gt;&lt;pre&gt;5 4&lt;br /&gt;9 1 9 9&lt;br /&gt;1 9 9 9&lt;br /&gt;9 9 9 9&lt;br /&gt;1 1 1 1&lt;br /&gt;9 9 1 9&lt;/pre&gt;&lt;/code&gt;There are two paths of equal weight, "4 4 4 4" and "2 1 5 4". They're both minimum weight, but obviously 2 1 5 4 if lexicographically before 4 4 4 4. The problem with my code is both paths start at row 4. I hadn't considered using multiple parents for tracing back - I only thought about having two disjoint paths of equal weight. Throws a kink in my entire program, which is already too hackey. &lt;br /&gt;&lt;br /&gt;I'm giving up on this one. Not that I can't do it - I could - it's just not fun. I'm not doing this for stats or anything (else I wouldn't be using Java), I'm doing it because it's fun. This isn't (Horton might call it an "implementation detail", I might agree), so I'm not going to do it. I might pick it up again some time, but I'd start over with the notion of multiple parents in mind from the get-go.&lt;code&gt;&lt;pre&gt;import java.io.*;&lt;br /&gt;import java.util.*;&lt;br /&gt;&lt;br /&gt;//start time: 6:45&lt;br /&gt;&lt;br /&gt;class Main&lt;br /&gt;{&lt;br /&gt; public static void main (String [] args) throws IOException&lt;br /&gt; {&lt;br /&gt;  Scanner sc = new Scanner (System.in);&lt;br /&gt;&lt;br /&gt;  while (sc.hasNextInt())&lt;br /&gt;  {&lt;br /&gt;   int m = sc.nextInt();&lt;br /&gt;   int n = sc.nextInt();&lt;br /&gt;&lt;br /&gt;   int [][] cost = new int [m][n];&lt;br /&gt;   for (int i = 0; i &lt; m; i++)&lt;br /&gt;   {&lt;br /&gt;    for (int j = 0; j &lt; n; j++)&lt;br /&gt;    {&lt;br /&gt;     cost[i][j] = sc.nextInt();&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   int [][] M = new int [m][n];&lt;br /&gt;   int [][] T = new int [m][n];&lt;br /&gt;&lt;br /&gt;   for (int i = 0; i &lt; m; i++)&lt;br /&gt;   {&lt;br /&gt;    M[i][0] = cost[i][0];&lt;br /&gt;    T[i][0] = i;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   if (m == 1 &amp;&amp; n == 1)&lt;br /&gt;   {&lt;br /&gt;    System.out.println("1");&lt;br /&gt;    System.out.println(cost[0][0]);&lt;br /&gt;    continue;&lt;br /&gt;   }&lt;br /&gt;   if (m == 1)&lt;br /&gt;   {&lt;br /&gt;    int sum = 0;&lt;br /&gt;    for (int i = 0; i &lt; n; i++)&lt;br /&gt;    {&lt;br /&gt;     sum += cost[0][i];&lt;br /&gt;    }&lt;br /&gt;    System.out.print("1");&lt;br /&gt;    for (int i = 1; i &lt; n; i++)&lt;br /&gt;    {&lt;br /&gt;     System.out.print(" 1");&lt;br /&gt;    }&lt;br /&gt;    System.out.println("\n" + sum);&lt;br /&gt;    &lt;br /&gt;    continue;&lt;br /&gt;   }&lt;br /&gt;   if (n == 1)&lt;br /&gt;   {&lt;br /&gt;    int smallest = Integer.MAX_VALUE;&lt;br /&gt;    int smallestIndex = -1;&lt;br /&gt;    for (int i = 0; i &lt; m; i++)&lt;br /&gt;    {&lt;br /&gt;     if (smallest &gt; cost[i][0])&lt;br /&gt;     {&lt;br /&gt;      smallest = cost[i][0];&lt;br /&gt;      smallestIndex = i;&lt;br /&gt;     }&lt;br /&gt;    }&lt;br /&gt;    System.out.println(smallestIndex + 1);&lt;br /&gt;    System.out.println(cost[smallestIndex][0]);&lt;br /&gt;    continue;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   for (int j = 1; j &lt; n; j++)&lt;br /&gt;   {&lt;br /&gt;    for (int i = 0; i &lt; m; i++)&lt;br /&gt;    {&lt;br /&gt;     if (i == 0)&lt;br /&gt;     {&lt;br /&gt;      int upperLeft = M[m-1][j-1] + cost[i][j];&lt;br /&gt;      M[i][j] = upperLeft;&lt;br /&gt;      T[i][j] = m-1;&lt;br /&gt;      int middleLeft = M[i][j-1] + cost[i][j];&lt;br /&gt;      if (M[i][j] &gt; middleLeft)&lt;br /&gt;      {&lt;br /&gt;       M[i][j] = middleLeft;&lt;br /&gt;       T[i][j] = i;&lt;br /&gt;      }&lt;br /&gt;      else if (M[i][j] == middleLeft) //since we're at the top, directly left is lexicographically smaller&lt;br /&gt;       T[i][j] = i;&lt;br /&gt;      int lowerLeft = M[i+1][j-1] + cost[i][j];&lt;br /&gt;      if (M[i][j] &gt; lowerLeft)&lt;br /&gt;      {&lt;br /&gt;       M[i][j] = lowerLeft;&lt;br /&gt;       T[i][j] = i+1;&lt;br /&gt;      }&lt;br /&gt;     }&lt;br /&gt;     else if (i == m-1)&lt;br /&gt;     {&lt;br /&gt;      int upperLeft = M[i-1][j-1] + cost[i][j];&lt;br /&gt;      M[i][j] = upperLeft;&lt;br /&gt;      T[i][j] = i-1;&lt;br /&gt;      int middleLeft = M[i][j-1] + cost[i][j];&lt;br /&gt;      if (M[i][j] &gt; middleLeft)&lt;br /&gt;      {&lt;br /&gt;       M[i][j] = middleLeft;&lt;br /&gt;       T[i][j] = i;&lt;br /&gt;      }&lt;br /&gt;      int lowerLeft = M[0][j-1] + cost[i][j];&lt;br /&gt;      if (M[i][j] &gt; lowerLeft)&lt;br /&gt;      {&lt;br /&gt;       M[i][j] = lowerLeft;&lt;br /&gt;       T[i][j] = 0;&lt;br /&gt;      }&lt;br /&gt;      else if (M[i][j] == lowerLeft) //since we're at the bottom, directly left is lexicographically larger&lt;br /&gt;       T[i][j] = 0;&lt;br /&gt;     }&lt;br /&gt;     else //j is in the middle of the matrix&lt;br /&gt;     {&lt;br /&gt;      int upperLeft = M[i-1][j-1] + cost[i][j];&lt;br /&gt;      M[i][j] = upperLeft;&lt;br /&gt;      T[i][j] = i-1;&lt;br /&gt;      int middleLeft = M[i][j-1] + cost[i][j];&lt;br /&gt;      if (M[i][j] &gt; middleLeft)&lt;br /&gt;      {&lt;br /&gt;       M[i][j] = middleLeft;&lt;br /&gt;       T[i][j] = i;&lt;br /&gt;      }&lt;br /&gt;      int lowerLeft = M[i+1][j-1] + cost[i][j];&lt;br /&gt;      if (M[i][j] &gt; lowerLeft)&lt;br /&gt;      {&lt;br /&gt;       M[i][j] = lowerLeft;&lt;br /&gt;       T[i][j] = i+1;&lt;br /&gt;      }&lt;br /&gt;     }&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;   System.out.println("M[][]:");&lt;br /&gt;   for (int i = 0; i &lt; m; i++)&lt;br /&gt;   {&lt;br /&gt;    for (int j = 0; j &lt; n; j++)&lt;br /&gt;    {&lt;br /&gt;     System.out.print(M[i][j] + " " );&lt;br /&gt;    }&lt;br /&gt;    System.out.println();&lt;br /&gt;   }&lt;br /&gt;   int smallest = M[0][n-1];&lt;br /&gt;   ArrayList&lt;Integer&gt; smallestIndicies = new ArrayList&lt;Integer&gt;();&lt;br /&gt;   smallestIndicies.add(0);&lt;br /&gt;   for (int i = 1; i &lt; m; i++)&lt;br /&gt;   {&lt;br /&gt;    if (smallest &gt; M[i][n-1])&lt;br /&gt;    {&lt;br /&gt;     smallestIndicies.clear();&lt;br /&gt;     smallestIndicies.add(i);&lt;br /&gt;     smallest = M[i][n-1];&lt;br /&gt;    }&lt;br /&gt;    else if (smallest == M[i][n-1])&lt;br /&gt;    {&lt;br /&gt;     smallestIndicies.add(i);&lt;br /&gt;    }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;   if (smallestIndicies.size() &gt; 1) //tie!&lt;br /&gt;   {&lt;br /&gt;    System.out.println("Tie!");&lt;br /&gt;    boolean [] consider = new boolean[m];&lt;br /&gt;    int retVals[][] = new int [m][n];&lt;br /&gt;    for (int i = 0; i &lt; m; i++)&lt;br /&gt;    {&lt;br /&gt;     consider[i] = false;&lt;br /&gt;    }&lt;br /&gt;    for (int i : smallestIndicies)&lt;br /&gt;    {&lt;br /&gt;     consider[i] = true;&lt;br /&gt;     trace(retVals[i], T, i, n-1);&lt;br /&gt;     System.out.println("Trace:");&lt;br /&gt;     for (int k = 0; k &lt; retVals[i].length; k++)&lt;br /&gt;     {&lt;br /&gt;      System.out.print(retVals[i][k] + " " );&lt;br /&gt;     }&lt;br /&gt;     System.out.println();&lt;br /&gt;    }&lt;br /&gt;    boolean done = false;&lt;br /&gt;    for (int current = 0; current &lt; n &amp;&amp; !done; current++)&lt;br /&gt;    {&lt;br /&gt;     boolean first = true;&lt;br /&gt;     int smallestR = -1;&lt;br /&gt;     int smallestIndex = -1;&lt;br /&gt;     for (int i = 0; i &lt; m; i++)&lt;br /&gt;     {&lt;br /&gt;      if (consider[i])&lt;br /&gt;      {&lt;br /&gt;       if (first)&lt;br /&gt;       {&lt;br /&gt;        smallestR = retVals[i][current];&lt;br /&gt;        smallestIndex = i;&lt;br /&gt;        first = false;&lt;br /&gt;       }&lt;br /&gt;       else&lt;br /&gt;       {&lt;br /&gt;        if (smallestR &gt; retVals[i][current])&lt;br /&gt;        {&lt;br /&gt;         consider[smallestIndex] = false;&lt;br /&gt;         smallestR = retVals[i][current];&lt;br /&gt;         smallestIndex = i;&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;         consider[i] = false;&lt;br /&gt;        }&lt;br /&gt;       }&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;      int count = 0;&lt;br /&gt;      for (int k = 0; k &lt; m; k++)&lt;br /&gt;      {&lt;br /&gt;       if (consider[k])&lt;br /&gt;        count++;&lt;br /&gt;      }&lt;br /&gt;      if (count == 1)&lt;br /&gt;      {&lt;br /&gt;       done = true;&lt;br /&gt;      }&lt;br /&gt;     }&lt;br /&gt;    }&lt;br /&gt;    int index = -1;&lt;br /&gt;    for (int i = 0; i &lt; m; i++)&lt;br /&gt;    {&lt;br /&gt;     if (consider[i])&lt;br /&gt;     {&lt;br /&gt;      index = i;&lt;br /&gt;      break;&lt;br /&gt;     }&lt;br /&gt;    }&lt;br /&gt;    System.out.print(retVals[index][0]);&lt;br /&gt;    for (int i = 1; i &lt; n; i++)&lt;br /&gt;    {&lt;br /&gt;     System.out.print(" " + retVals[index][i]);&lt;br /&gt;    }&lt;br /&gt;    System.out.println("\n" + smallest);&lt;br /&gt;   }&lt;br /&gt;   else&lt;br /&gt;   {&lt;br /&gt;    int [] retVal = new int [n];&lt;br /&gt;    trace(retVal, T, smallestIndicies.get(0), n-1);&lt;br /&gt;    System.out.print(retVal[0]);&lt;br /&gt;    for (int i = 1; i &lt; n; i++)&lt;br /&gt;    {&lt;br /&gt;     System.out.print(" " + retVal[i]);&lt;br /&gt;    }&lt;br /&gt;    System.out.println("\n" + smallest);&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt; public static void trace(int []retVal, int [][] T, int i, int j)&lt;br /&gt; {&lt;br /&gt;  retVal[j] = i+1;&lt;br /&gt;  if (j &gt; 0)&lt;br /&gt;   trace(retVal, T, T[i][j], j-1);&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-5091105261494236575?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/5091105261494236575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/unidirectional-tsp-116.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5091105261494236575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5091105261494236575'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/unidirectional-tsp-116.html' title='Unidirectional TSP (116)'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6204574702269734272</id><published>2010-04-23T14:18:00.003-03:00</published><updated>2010-04-23T14:25:06.866-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='critical thinking'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Interpretation of Song Lyrics</title><content type='html'>So I heard this amazing song that Ashley found by &lt;a href="http://twitter.com/imogenheap"&gt;Imogen Heap&lt;/a&gt; called "Hide and Seek." Here's the video, with a link at the end to purchase the song (worth it).&lt;object align="center" width="650" height="505"&gt;&lt;param name="movie" value="http://www.youtube.com/v/dHk2lLaDzlM&amp;hl=en_GB&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/dHk2lLaDzlM&amp;hl=en_GB&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="650" height="505"&gt;&lt;/embed&gt;&lt;/object&gt;I looked up the lyrics and got this from the &lt;a href="http://www.sing365.com/music/Lyric.nsf/Hide-and-Seek-lyrics-Imogen-Heap/1C15C93FB95800BA48257008000634FB"&gt;first hit&lt;/a&gt;:&lt;blockquote&gt;where are we?&lt;br /&gt;what the hell is going on?&lt;br /&gt;the dust has only just begun to form&lt;br /&gt;crop circles in the carpet&lt;br /&gt;sinking feeling&lt;br /&gt;&lt;br /&gt;spin me round again&lt;br /&gt;and rub my eyes,&lt;br /&gt;this can't be happening&lt;br /&gt;when busy streets a mess with people&lt;br /&gt;would stop to hold their heads heavy&lt;br /&gt;&lt;br /&gt;hide and seek&lt;br /&gt;trains and sewing machines&lt;br /&gt;all those years&lt;br /&gt;they were here first&lt;br /&gt;&lt;br /&gt;oily marks appear on walls&lt;br /&gt;where pleasure moments hung before the takeover,&lt;br /&gt;the sweeping insensitivity of this still life&lt;br /&gt;&lt;br /&gt;hide and seek&lt;br /&gt;trains and sewing machines (oh, you won't catch me around here)&lt;br /&gt;blood and tears (hearts)&lt;br /&gt;they were here first&lt;br /&gt;&lt;br /&gt;Mmmm whatcha say,&lt;br /&gt;Mmm that you only meant well?&lt;br /&gt;well of course you did&lt;br /&gt;Mmmm whatcha say,&lt;br /&gt;Mmmm that it's all for the best?&lt;br /&gt;of course it is&lt;br /&gt;Mmmm whatcha say?&lt;br /&gt;Mmmm that it's just what we need&lt;br /&gt;you decided this&lt;br /&gt;whatcha say?&lt;br /&gt;Mmmm what did she say?&lt;br /&gt;&lt;br /&gt;ransom notes keep falling out your mouth&lt;br /&gt;mid-sweet talk, newspaper word cut outs&lt;br /&gt;speak no feeling no I don't believe you&lt;br /&gt;you don't care a bit, &lt;br /&gt;you don't care a bit&lt;br /&gt;&lt;br /&gt;(hide and seek)&lt;br /&gt;ransom notes keep falling out your mouth&lt;br /&gt;mid-sweet talk, newspaper word cut outs&lt;br /&gt;&lt;br /&gt;(hide and seek)&lt;br /&gt;speak no feeling no i don't believe you&lt;br /&gt;you don't care a bit,&lt;br /&gt;you don't care a (you don't care a) bit&lt;br /&gt;&lt;br /&gt;(hide and seek)&lt;br /&gt;oh no, you don't care a bit&lt;br /&gt;oh no, you don't care a bit&lt;br /&gt;&lt;br /&gt;(hide and seek)&lt;br /&gt;oh no, you don't care a bit&lt;br /&gt;you don't care a bit&lt;br /&gt;you don't care a bit&lt;/blockquote&gt;Naturally, there was a comments section discussing the meaning of the lyrics at the bottom. I read them and was disgusted. Song lyrics are amazing things when they're done well, like with this song. They mean different things to different people, and you can take different interpretations of them. They mean something to me that will be different than what they meant to you. This is why I'm frustrated by people who right this:&lt;blockquote&gt;Actually, Imogen said herself that this song was about her childhood and her parents divorce. 'Crop-circles in the carpet' are the marks that furniture leave. She's obviously not happy about the divorce, and even though her parents say it's for the best, she doesn't believe them.&lt;/blockquote&gt;... and this:&lt;blockquote&gt;In an interview with Imogen Heap herself, she said it was about 9 11. People who think it's "too deep" for it to be something like this rather than just a break up are crazy. You know there are more important things that happen in the world other than break ups. i just wish more people wrote songs about the bigger picture of the world.&lt;/blockquote&gt;What. The. Fuck. Like the artist's meaning has any impact on me.&lt;br /&gt;&lt;br /&gt;Don't get me wrong; I really like knowing an artist's motivation and meaning of lyrics, but they're on the level of trivia for me. They're interesting, but they don't affect me or my interpretation of the lyrics. To infer that interpreting lyrics differently that the artist's intentions is &lt;i&gt;wrong&lt;/i&gt; is completely ridiculous, to say nothing of the fact that, in point of 'fact', the artist wrote this song about two completely different things. People don't know what they're talking about &lt;a href="http://en.wikipedia.org/wiki/Wikipedia:Citation_needed"&gt;[citation needed]&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;From a literary perspective (something I know only a smudge about), you're not really concerned with infering the artist's meaning, nor do you even care what they &lt;i&gt;say&lt;/i&gt; they mean. The message they wanted to convey isn't what's important - it's whatever message was understood that you pay attention to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6204574702269734272?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6204574702269734272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/interpretation-of-song-lyrics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6204574702269734272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6204574702269734272'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/interpretation-of-song-lyrics.html' title='Interpretation of Song Lyrics'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-772350038883402548</id><published>2010-04-22T20:00:00.003-03:00</published><updated>2010-04-22T20:10:19.965-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UVa'/><category scheme='http://www.blogger.com/atom/ns#' term='programming challenges'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>The Blocks Problem (101)</title><content type='html'>Working on the &lt;a href="http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;page=show_problem&amp;category=3&amp;problem=37&amp;mosmsg=Submission+received+with+ID+7917245"&gt;The Block Problem&lt;/a&gt; from the UVa Online Judge. Got an answer pretty solidly. Basically, the problem is to pretend to be a robot that moves blocks around. Given initial starting positions, accept commands to move stuff around. At the end, print that stuff's location.&lt;br /&gt;&lt;br /&gt;Here are some things I ran into with this problem: &lt;ul&gt;&lt;li&gt;&lt;a href="http://atteroignorantiam.blogspot.com/2010/04/programming-challenge-blocks-problem.html"&gt;Java sucked&lt;/a&gt;. Haven't used it in a while, so I guess it's my fault (or at least that's what Java thinks).&lt;/li&gt;&lt;li&gt;We're not moving blocks from position &lt;i&gt;a&lt;/i&gt; to position &lt;i&gt;b&lt;/i&gt;, we're moving blocks from the position of &lt;i&gt;a&lt;/i&gt; to the position of &lt;i&gt;b&lt;/i&gt;. Initially, these are equal. This was pretty easy to figure out given the sample input and re-reading the question.&lt;/li&gt;&lt;li&gt;&lt;i&gt;a&lt;/i&gt; cannot equal &lt;i&gt;b&lt;/i&gt;, but neither can their respective positions. &lt;/li&gt;&lt;/ul&gt;All things considered, a fun time. Used recursion in some fun ways. Total running time: 0.748 seconds. Total coding time: 4 hours. Caveat: I am at work, and the clueless users I am paid to help come first. I had maybe an hour of coding.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;import java.io.*;&lt;br /&gt;import java.util.*;&lt;br /&gt;&lt;br /&gt;class Main&lt;br /&gt;{&lt;br /&gt;    public static void main (String [] args) throws IOException&lt;br /&gt;    {&lt;br /&gt;        Scanner sc = new Scanner(System.in);&lt;br /&gt;        int n = sc.nextInt();&lt;br /&gt;&lt;br /&gt;        Stack [] blocks = new Stack [n];&lt;br /&gt;&lt;br /&gt;        for (int i = 0; i &lt; n; i++)&lt;br /&gt;        {&lt;br /&gt;           blocks[i] = new Stack();&lt;br /&gt;           blocks[i].push(new Integer(i));&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        while (sc.hasNext()){&lt;br /&gt;            String action = sc.next();&lt;br /&gt;            if (action.equals("quit"))&lt;br /&gt;                break;&lt;br /&gt;            int a = sc.nextInt();&lt;br /&gt;            String specifier = sc.next();&lt;br /&gt;            int b = sc.nextInt();&lt;br /&gt;&lt;br /&gt;            if (a == b)&lt;br /&gt;                continue;&lt;br /&gt;&lt;br /&gt;            int aLoc = -1, bLoc = -1;&lt;br /&gt;            for (int i = 0; i &lt; n; i++)&lt;br /&gt;            {&lt;br /&gt;                for (Object o : blocks[i])&lt;br /&gt;                {&lt;br /&gt;                    int j = (Integer)o;&lt;br /&gt;                    if (j == a)&lt;br /&gt;                        aLoc = i;&lt;br /&gt;                    if (j == b)&lt;br /&gt;                        bLoc = i;&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            if (aLoc == bLoc)&lt;br /&gt;                continue;&lt;br /&gt;&lt;br /&gt;            if (action.equals("move"))&lt;br /&gt;            {&lt;br /&gt;                if (specifier.equals("onto"))&lt;br /&gt;                {&lt;br /&gt;                    int ai = -1;&lt;br /&gt;                    int bi = -1;&lt;br /&gt;                    while (ai != a)&lt;br /&gt;                    {&lt;br /&gt;                        ai = (Integer)blocks[aLoc].pop();&lt;br /&gt;                        if (ai == a)&lt;br /&gt;                            break;&lt;br /&gt;                        else&lt;br /&gt;                            blocks[ai].push(ai);&lt;br /&gt;                    }&lt;br /&gt;                    while (b != bi)&lt;br /&gt;                    {&lt;br /&gt;                        bi = (Integer)blocks[bLoc].pop();&lt;br /&gt;                        if (b == bi)&lt;br /&gt;                        {&lt;br /&gt;                            blocks[bLoc].push(b);&lt;br /&gt;                            break;&lt;br /&gt;                        }&lt;br /&gt;                        else &lt;br /&gt;                            blocks[bi].push(bi);&lt;br /&gt;                    }&lt;br /&gt;                    blocks[bLoc].push(a);&lt;br /&gt;                }&lt;br /&gt;                else //specifier equls "over"&lt;br /&gt;                {&lt;br /&gt;                    int ai = -1;&lt;br /&gt;                    while (a != ai)&lt;br /&gt;                    {&lt;br /&gt;                        ai = (Integer)blocks[aLoc].pop();&lt;br /&gt;                        if (ai == a)&lt;br /&gt;                            break;&lt;br /&gt;                        else&lt;br /&gt;                            blocks[ai].push(ai);&lt;br /&gt;                    }&lt;br /&gt;                    blocks[bLoc].push(a);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            else //action equals "pile"&lt;br /&gt;            {&lt;br /&gt;                if (specifier.equals("onto"))&lt;br /&gt;                {&lt;br /&gt;                    int bi = -1;&lt;br /&gt;                    while (b != bi)&lt;br /&gt;                    {&lt;br /&gt;                        bi = (Integer)blocks[bLoc].pop();&lt;br /&gt;                        if (b == bi)&lt;br /&gt;                        {&lt;br /&gt;                            blocks[bLoc].push(b);&lt;br /&gt;                            break;&lt;br /&gt;                        }&lt;br /&gt;                        else&lt;br /&gt;                            blocks[bi].push(bi);&lt;br /&gt;                    }&lt;br /&gt;                    pile(blocks[aLoc], a, blocks[bLoc]);&lt;br /&gt;                }&lt;br /&gt;                else //specifier equls "over"&lt;br /&gt;                {&lt;br /&gt;                    pile(blocks[aLoc], a, blocks[bLoc]);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        printBlocks(blocks);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static void printBlocks(Stack [] blocks)&lt;br /&gt;    {&lt;br /&gt;        int n = blocks.length;&lt;br /&gt;        for (int i = 0; i &lt; n; i++)&lt;br /&gt;        {&lt;br /&gt;            System.out.print(i + ":");&lt;br /&gt;            if (!blocks[i].isEmpty())&lt;br /&gt;            {&lt;br /&gt;                printStack(blocks[i]);&lt;br /&gt;            }&lt;br /&gt;            System.out.println();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static void pile(Stack a, int stop, Stack b)&lt;br /&gt;    {&lt;br /&gt;        if (a.isEmpty())&lt;br /&gt;            return;&lt;br /&gt;        int i = (Integer)a.pop();&lt;br /&gt;        if (a.isEmpty() || i == stop)&lt;br /&gt;        {&lt;br /&gt;            b.push(i);&lt;br /&gt;            return;&lt;br /&gt;        }&lt;br /&gt;        pile (a, stop, b);&lt;br /&gt;        b.push(i);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public static void printStack(Stack s)&lt;br /&gt;    {&lt;br /&gt;        if (s.isEmpty())&lt;br /&gt;            return;&lt;br /&gt;        int i = (Integer)s.pop();&lt;br /&gt;        printStack(s);&lt;br /&gt;        s.push(i);&lt;br /&gt;        System.out.print(" " + i);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-772350038883402548?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/772350038883402548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/blocks-problem-101.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/772350038883402548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/772350038883402548'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/blocks-problem-101.html' title='The Blocks Problem (101)'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7645389800886192509</id><published>2010-04-22T16:56:00.005-03:00</published><updated>2010-04-22T19:58:46.995-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UVa'/><category scheme='http://www.blogger.com/atom/ns#' term='programming challenges'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>Getting Back Into the Swing of Java</title><content type='html'>So I decided at the Help Desk to dust off the old Java skills and try my hand at a UVa problem, &lt;a href="http://uva.onlinejudge.org/index.php?option=com_onlinejudge&amp;Itemid=8&amp;category=3&amp;page=show_problem&amp;problem=37"&gt;The Blocks Problem&lt;/a&gt;. Haven't really touched Java since first year, except in a very superficial way. I remember hating it, then I fell in love with C#. Unfortunately, the Richard Stallman -types at UVa don't accept C# solutions. So it's Java. &lt;br /&gt;&lt;br /&gt;I remember why I hate it - it's a prude. I want a stack of integers, so I'm using autoboxing. Fair enough. I want a stack. I google "Java Stack API", and I get &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Stack.html"&gt;this&lt;/a&gt; as the top hit. Didn't notice it was from 1.4.2 until the compiler yelled at me for this:&lt;code&gt; warning: [unchecked] unchecked call to push(E) as a member of the raw type java.util.Stack&lt;/code&gt;Yeah, that's right. A big flashy warning that this API is 4 years out of date would've helpful, there, Sun.&lt;br /&gt;&lt;br /&gt;Anyways, using Generics (seems a little more C# now), but I get this error:&lt;code&gt;Main.java:11: generic array creation&lt;br /&gt;        Stack &amp;lt;Integer&amp;gt; [] blocks = new Stack &amp;lt;Integer&amp;gt; [n];&lt;br /&gt;                                    ^&lt;br /&gt;1 error&lt;/code&gt;What the hell. I can't create an array of a generic? I don't get it.&lt;br /&gt;&lt;br /&gt;According to &lt;a href="http://www.informatics.susx.ac.uk/courses/dats/notes/html/node181.html"&gt;this&lt;/a&gt; source, Java &lt;i&gt;doesn't permit&lt;/i&gt; you to use an array of generics. What the fuck. It's a goddamn &lt;i&gt;object&lt;/i&gt; Java, it shouldn't matter what the fuck &lt;i&gt;type&lt;/i&gt; of object it is. The C programmer in me is furious, which is nothing compared to the reaction of  my inner C# fanboi. &lt;br /&gt;&lt;br /&gt;Anyways, I'll finish this problem up and post my solution as soon as the judge accepts it. Getting a Runtime Error with 0.000 seconds of actual run time, so I'm not confident in the UVa's handling of my code :\&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7645389800886192509?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7645389800886192509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/programming-challenge-blocks-problem.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7645389800886192509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7645389800886192509'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/programming-challenge-blocks-problem.html' title='Getting Back Into the Swing of Java'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7813230841807349177</id><published>2010-04-21T12:14:00.003-03:00</published><updated>2010-04-21T12:18:12.915-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='academia'/><title type='text'>Assignment Deadlines In Exam Period</title><content type='html'>So I have this professor who disregards the university regulations that say assignments can't de due past such-and-such a date. He is also notorious for extending assignment deadlines to a fault. I've always thought that this was a really bad idea, for students, to keep requesting extensions. &lt;br /&gt;&lt;br /&gt;I have a report due on Friday, despite my other exams, which I have been busy studying for. Additionally, there are few marks for anything else in the course, but this report is worth 10% of my final grade. I have no idea how well I am doing in the course; there's no feedback at all, really. So what do I do? I asked for an extension so that I could finish studying for exams first. &lt;br /&gt;&lt;br /&gt;Which is really funny because then I took 5 minutes to blog about it. Funny/Sad? Dunno. But I needed a break.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7813230841807349177?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7813230841807349177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/assignment-deadlines-in-exam-period.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7813230841807349177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7813230841807349177'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/assignment-deadlines-in-exam-period.html' title='Assignment Deadlines In Exam Period'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-4253493802565437701</id><published>2010-04-15T10:46:00.004-03:00</published><updated>2010-04-15T11:15:00.226-03:00</updated><title type='text'>Thoughts on Lug-A-Mug and Environmentalism at UNB</title><content type='html'>Lug-a-Mug is where you carry around a reusable mug in lieu of using disposable ones where you order coffee. I started doing this in early February at UNB, and I have some reflections to make. &lt;br /&gt;&lt;br /&gt;I used a ceramic mug with a lid that I bought at the Super Store. Slipping on the ice outside the Bruns' office mid-March saw the end of it (looking back, it may have been some sort of conspiracy ...). I bought a new identical one, which fell into disuse once I stopped buying coffee on campus and a group of us pooled our resources to make our own tea and fair-trade coffee in our lounge. (Our faculty has been very supportive, provided we clean up our mess.) I started using a standard mug, which I lost in a communications lab. If anyone sees a Caris mug on E-level, let me know!&lt;br /&gt;&lt;br /&gt;I switched back to my covered mug, but it too shattered when I was serving pancakes at a recent CSA breakfast. I have now switched to a muglet I stole from my roommates on my first year sublet. It is smaller and better for tea. We'll see how it goes ...&lt;br /&gt;&lt;br /&gt;Lessons I've learned include:&lt;ul&gt;&lt;li&gt;You can use your mug as a water bottle, too! That said ...&lt;/li&gt;&lt;li&gt;Start drinking coffee black. Creamy ickiness at the bottom of a tall mug makes it hard to use the mug for water as well.&lt;/li&gt;&lt;li&gt;Ceramic mugs are better than metal or plastic because they don't adopt the flavour of what you put in them (permanently!).&lt;/li&gt;&lt;/ul&gt;Things that would have made this experience better for me:&lt;ul&gt;&lt;li&gt;More sinks on campus! The Sunken Lounge (ITD-415 in Head Hall) has a REAL SINK and it is a godsend. Honestly - it doesn't get much better. This relates to ...&lt;/li&gt;&lt;li&gt;Find a place on campus that you can make your own. This isn't going to be scalable for very long, but I found that having a place where you can clean your mug and make your own beverages. Additionally, you can leave your mug there so you don't have to lug it to and from home! This also prevents shattering when you fall on ice.&lt;/li&gt;&lt;/ul&gt;The recent StarBucks (I love Kara Thrace) promotion of giving away free coffee to people using reusable mugs has got Ashley and I thinking about the issue of the environmental impact of disposable mugs. Ashley's involvement in the Eco-Committee and Students for Sustainability was the inspiration for my switch to reusable mugs.&lt;br /&gt;&lt;br /&gt;We believe that if companies wanted to be serious about promoting reusable mugs, they should stop the practice of charging 10 cents less for reusable mug use and start charging 10 cents extra for disposable cups. Additionally, Tim Hortons customers who want to participate in Roll-up-the-rim &lt;b&gt;must&lt;/b&gt; use a disposable cup, regardless of any reusable mug use. This actively discourages participation in things like Luge-a-Mug. They could adopt something like an alternative ballot, like with McDonald's Monopoly or Irving's Cruisin' 2 Win. If they want to get &lt;u&gt;really&lt;/u&gt; serious, they could consider increasing the chances to win on these alternative ballots and only give them out to people who reuse mugs.&lt;br /&gt;&lt;br /&gt;After a semester of lugging a mug, I still use bottled water occasionally, and I still occasionally use disposable cups. I don't like it, but sometimes it's a necessity (like when my mugs shatter). I'm in favour of education concerning the impact of disposable cups and refuse in general.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-4253493802565437701?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/4253493802565437701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/thoughts-on-lug-mug-and.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4253493802565437701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4253493802565437701'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/thoughts-on-lug-mug-and.html' title='Thoughts on Lug-A-Mug and Environmentalism at UNB'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7127403212256983207</id><published>2010-04-15T10:00:00.009-03:00</published><updated>2010-04-15T11:11:57.808-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='academia'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>Thoughts on the Nature of a Computer Science Degree</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9fyekwTM7U8/S8cVSVqQldI/AAAAAAAAALc/F4waaQKyIag/s1600/20080506.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 305px; height: 400px;" src="http://3.bp.blogspot.com/_9fyekwTM7U8/S8cVSVqQldI/AAAAAAAAALc/F4waaQKyIag/s400/20080506.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5460356478006236626" /&gt;&lt;/a&gt;As we enter the UNB exam period, I helped out with a studying tutorial for first-year programming. My friend &lt;a href="http://twitter.com/ianbishop/"&gt;Ian&lt;/a&gt; and I had a conversation about what is covered in &lt;a href="http://eservices.unb.ca/calendar/undergraduate/display_desc.cgi?number=CS%25201083"&gt;CS 1083&lt;/a&gt;, the second programming course you take as a Computer Science undergrad. We disagreed on a few points.&lt;br /&gt;&lt;br /&gt;I won't go into details, but some fundamental questions about what our degree were raised. These questions were also prompted by the interesting panel discussion from Monday's Computer Science &lt;a href="http://www.cs.unb.ca/apps/fcs_rms/cgi-bin/fcs_news.cgi?id=6"&gt;Research Expo&lt;/a&gt; where several industry folk suggested things like:&lt;ul&gt;&lt;li&gt;Professors shouldn't publish as quickly without consulting industry&lt;/li&gt;&lt;/li&gt;We need more co-op participation&lt;/li&gt;&lt;li&gt;We need more CS grads with business skills&lt;/li&gt;&lt;/ul&gt;So what is a CS degree?&lt;br /&gt;&lt;br /&gt;Computer Science, or what my friend &lt;a href="http://www.facebook.com/sarcasticidealist"&gt;Steve&lt;/a&gt; has pointed out should be called "Computing Science", is the study of algorithms. That is, it is the study of a set of instructions that complete in a finite amount of steps and accomplish some task. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/S8cVG6CD21I/AAAAAAAAALU/CF84eCO7kak/s1600/20080128.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 310px; height: 400px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/S8cVG6CD21I/AAAAAAAAALU/CF84eCO7kak/s400/20080128.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5460356281611311954" /&gt;&lt;/a&gt;CS 1083 is the second course you take on programming. You (supposedly) have a firm grasp on arrays, loops, functions, object-oriented programming. In CS 1083, you learn things like recursion and some basic data structures. I think that this is the first course you take (&lt;a href="http://eservices.unb.ca/calendar/undergraduate/display_desc.cgi?number=CS%25201303"&gt;CS 1303&lt;/a&gt; notwithstanding) that studies what Computer Science really is. Talking with students yesterday, they've covered things like list/tree traversals and operations on these data structures. Algorithms.&lt;br /&gt;&lt;br /&gt;Programming is just a tool that is used to accomplish the study of algorithms. This is a lot more apparent in upper-year courses. For example:&lt;ul&gt;&lt;li&gt;&lt;a href="https://eservices.unb.ca/calendar/undergraduate/csearch.cgi?course_search=cs+3025&amp;course_search_in=both"&gt;Human-Computer Interaction&lt;/a&gt; Build a thing. Do it however. Make it easy to use.&lt;/li&gt;&lt;li&gt;&lt;a href="https://eservices.unb.ca/calendar/undergraduate/csearch.cgi?course_search=cs+4865&amp;course_search_in=both"&gt;Networks and Data Communications&lt;/a&gt; Make sure you understand the fundamental problems of high-speed communication by programming a simulation. Make it realistic.&lt;/li&gt;&lt;li&gt;&lt;a href="https://eservices.unb.ca/calendar/undergraduate/csearch.cgi?course_search=cs+3933&amp;course_search_in=both"&gt;Algorithms&lt;/a&gt; Make sure you understand Dijkstra's shortest-path algorithm by writing it. In something. Make it fast.&lt;/li&gt;&lt;/ul&gt;As you can see, it isn't about learning to program in upper-year courses, it's more like applications of that tool. &lt;small&gt;(This is why I like to present Computer Science as "Applied Math" when I help out with recruiting - forget the fact that &lt;a href="https://eservices.unb.ca/calendar/undergraduate/csearch.cgi?course_search=math+3343&amp;course_search_in=both"&gt;EVERYTHING IS A GRAPH&lt;/a&gt;)&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;This also raises the question of Industry's involvement in the curriculum creation. When the panel mentioned making CS grads with more business skills, I asked if they wanted an expanded the &lt;a href="https://eservices.unb.ca/calendar/undergraduate/display.cgi?tables=fredPrograms&amp;id=25"&gt;BISys&lt;/a&gt; programme, or wanted us to change the standard curriculum. I got a very "business" response back that the "how" doesn't matter, as long as it's done. It occurs to me that a Research Expo might have more of a focus on - or at least respect for - pure research. Perhaps mandatory co-op participation would solve things ...&lt;br /&gt;&lt;br /&gt;&lt;small&gt;As always, thanks to &lt;a href="http://www.smbc-comics.com/#comic"&gt;SMBC&lt;/a&gt; comics for the comics!&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7127403212256983207?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7127403212256983207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/thought-on-nature-of-computer-science.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7127403212256983207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7127403212256983207'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/thought-on-nature-of-computer-science.html' title='Thoughts on the Nature of a Computer Science Degree'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9fyekwTM7U8/S8cVSVqQldI/AAAAAAAAALc/F4waaQKyIag/s72-c/20080506.gif' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-3890301211434948450</id><published>2010-04-11T10:02:00.005-03:00</published><updated>2010-04-11T10:14:02.445-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='journalism'/><category scheme='http://www.blogger.com/atom/ns#' term='brunswickan'/><title type='text'>Accountability of the Media</title><content type='html'>As a follow-up to my &lt;a href="http://atteroignorantiam.blogspot.com/2010/04/unb-brunswickan-fail-2009-2010.html"&gt;previous post&lt;/a&gt;, the question has to be asked about the journalistic integrity and accountability of the Bruns. They continue to demonstrate their inability to admit even the smallest mistake (except perhaps, under threat of lawsuit). &lt;br /&gt;&lt;br /&gt;Actually newspapers are accountable to their readership. If they publish junk, no one buys their paper. &lt;br /&gt;&lt;br /&gt;Here at UNB, no one &lt;i&gt;buys&lt;/i&gt; the Bruns, but we all pay for it with a media fee. &lt;br /&gt;&lt;br /&gt;Even if the entire campus supported repealing the fee, can you imagine the backlash that would come about if the Student Union or Administration even &lt;i&gt;suggested&lt;/i&gt; that? Of course the backlash would be a product of the Bruns. And there's the problem.&lt;br /&gt;&lt;br /&gt;The Brunswickan is accountable to absolutely no one. If I have a problem with them, I can write them a letter, which they'll amend and publish, then make fun of me in their spoof issue. Seems like they're discouraging dissent. Sort of a "you can't make fun of the media - on the media can make fun of people!"&lt;br /&gt;&lt;br /&gt;We've written letters to the Editor, which were ignored and retorted. The only people that the Bruns may actually be accountable to are the companies that pay for advertising in their paper. Perhaps writing to them would be a better route to take the next time you feel the Brunswickan publishes junk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-3890301211434948450?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/3890301211434948450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/accountability-of-media.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3890301211434948450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3890301211434948450'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/accountability-of-media.html' title='Accountability of the Media'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7594006012152367639</id><published>2010-04-11T08:50:00.006-03:00</published><updated>2010-04-11T09:25:25.426-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='journalism'/><category scheme='http://www.blogger.com/atom/ns#' term='censorship'/><category scheme='http://www.blogger.com/atom/ns#' term='brunswickan'/><title type='text'>UNB Brunswickan Fail 2009-2010</title><content type='html'>&lt;small&gt;&lt;span style="font-style:italic;"&gt;Aside&lt;/span&gt;: I'd really like to link to the Brun's site to cite my sources, but apparently they've deleted all their old content when they got their new site. The more I read &lt;a href="http://thebruns.ca"&gt;the Bruns&lt;/a&gt;, the more I appreciate &lt;a href="http://www.theaquinian.net/"&gt;the Aquinian&lt;/a&gt;. &lt;/small&gt;&lt;br /&gt;&lt;br /&gt;In the Brunswickan's recent report card issue, where student leaders and current issues were arbitrarily graded, Chief Returning Officer Catrin Berghoff received an "F". The only "F", actually. Apparently parking on campus is better in the Brunswickan's opinion . It really shocked me, because the reasons that they gave for the CRO's "F" were things that were out of her control - computer glitches and UNB administrative shortcomings. &lt;br /&gt;&lt;br /&gt;The elections may have deserved an "F", but the CRO certainly didn't. I saw Catrin working hard; while I didn't always agree with her decisions, she provided a detailed report at the end of the election going through ways in which the system can be improved. &lt;br /&gt;&lt;br /&gt;Anyways, I wrote a letter to (now former) Brunswickan Editor in Chief Sarah Ratchford about what I considered to be unfair labelling and all-around bad journalism. Remember, Sarah &lt;a href="http://thebruns.ca/articles/30240"&gt;recently claimed&lt;/a&gt; in an Editorial that "taking criticism" was part of the job of the Editor in Chief.&lt;blockquote&gt;Dear Editor,&lt;br /&gt;I'm writing to express my continued frustration and disappointment with the Brunswickan this academic year. &lt;br /&gt;&lt;br /&gt;Last week's issue contained a report card littered with inconsistencies. For example, the Bruns simultaneously gave an "A" to the VP responsible for SU entertainment while giving an "N/A" to SU Entertainment. Apparently the Bruns Editorial Board is unaware of council structure, which would be fine if they didn't insist on "reporting" their uninformed opinion. And that's the problem here.&lt;br /&gt;&lt;br /&gt;The Bruns doesn't take itself seriously enough. You hold the ears of students; what you publish will remain on file forever online and in the HIL Microforms department. While anyone who has been following the Bruns this year knows that the publication can't be trusted to report with any amount of diligence or fact-checking, employers googling prospective employee's names won't. &lt;br /&gt;&lt;br /&gt;I hold the entire Editorial Board accountable for this shoddy journalism. You owe Catrin Berghoff a sincere apology for last week's "F." Since this letter will also be archived in perpetuity, I'm taking this opportunity to give Catrin an "A" for her hard work this year as CRO. And I humbly submit that my opinion is more informed than that of the Bruns - that is to say informed at all.&lt;br /&gt;&lt;br /&gt;Sincerely, &lt;br /&gt;Ash Furrow&lt;/blockquote&gt;A few days went by, before receiving this response from Sarah:&lt;blockquote&gt;Hello Ash, &lt;br /&gt;&lt;br /&gt;Thank you for your letter. &lt;br /&gt;&lt;br /&gt;Although the Bruns is out there to act as a voice for all students, and we certainly don't mind running letters from those who wish to express disappointment in the paper, as a policy we do not run content that provides incorrect information or statements that border on slander that are not considered fair comment. Should someone choose to write a letter making claims about other student groups that proved false, we would opt not to publish that either.&lt;br /&gt;&lt;br /&gt;Whether or not your letter is run is contingent upon your correction of the following points: &lt;br /&gt;&lt;br /&gt;"Apparently the Bruns Editorial Board is unaware of council structure, which would be fine if they didn't insist on "reporting" their uninformed opinion."&lt;br /&gt;&lt;br /&gt;-This is simply not true. We are one of the only student groups to actually attend council and see what goes on directly. News Editor Lee Larrett reports on those details each and every week and shares this information with the editorial board, making the Brunswickan editorial board one of the most directly-informed groups of students outside of council itself. How they choose to opine regarding the goings-on is their choice. &lt;br /&gt;&lt;br /&gt;"The Bruns doesn't take itself seriously enough."&lt;br /&gt;&lt;br /&gt;-Prove it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"While anyone who has been following the Bruns this year knows that the publication can't be trusted to report with any amount of diligence or fact-checking, employers googling prospective employee's names won't."&lt;br /&gt;&lt;br /&gt;-This statement requires proof as well. Each section editor, our copy editor, and myself do, indeed fact check each and every week. It takes up a lot of grueling hours out of our week. &lt;br /&gt;&lt;br /&gt;"Shoddy journalism."&lt;br /&gt;&lt;br /&gt;-Journalism is what is reported, and opinion provides analysis of what is reported. Page headers in the report card edition of the Brunswickan should have made clear to you that the grades provided were based on the analysis based on coverage throughout the year. To allege that this is shoddy journalism is false. Every major news organization provides opinion and analysis of their coverage.&lt;br /&gt;&lt;br /&gt;So, thank you again for your opinion. I look forward to reading a revised copy of your letter. &lt;br /&gt;&lt;br /&gt;Have a nice long weekend, &lt;br /&gt;Sarah&lt;/blockquote&gt;I couldn't believe it. It was an editorial piece that is my &lt;span style="font-style:italic;"&gt;opinion&lt;/span&gt; - I don't have to back it up. To give some context about what the Bruns thinks of Editorials, here are some quote's of Sarah's:&lt;blockquote&gt;Some people took this the wrong way, and the editorial generally just ruffled some feathers—which, by the way, is what an opinion section is supposed to do, for those of you who may be unacquainted with the ins and outs of journalism. Not everyone agrees with everyone else’s opinion; thus, opinion sections are a forum to generate discussion.&lt;/blockquote&gt;&lt;blockquote&gt;The opinions section is here to expose when things go wrong, and calling the election a snore is simply our opinion.&lt;/blockquote&gt;&lt;blockquote&gt;It was simply published to light a fire under those representatives, and show them that it is not okay to stick with the status quo."&lt;/blockquote&gt;With no way to get back your mandatory Brunswickan fee, an editorial board that ignores student opinions (in two issues prior), and a Board of Directors that is apparently a rubber-stamping committee, the Brunswickan appears accountable to no one.&lt;br /&gt;&lt;br /&gt;I sent back this reply, to which I never received an answer. &lt;blockquote&gt;Hello,&lt;br /&gt;&lt;br /&gt;I wasn't aware that it was the responsibility or place of the Editor in Chief of the Brunswickan to censor a student's opinion. It certainly wasn't the policy last year when my letters appeared to be in line with the opinion of the Brunsickan. It does seem unfair that the Brunswickan is apparently free to criticize whomever they please but are unwilling to accept criticism themselves.&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;Ash&lt;br /&gt;&lt;br /&gt;My ammended letter reads as follows:&lt;br /&gt;&lt;br /&gt;Dear Editor,&lt;br /&gt;I'm writing to express my continued frustration and disappointment with the Brunswickan this academic year. &lt;br /&gt;&lt;br /&gt;Last week's issue contained a report card littered with inconsistencies. For example, the Bruns simultaneously gave an "A" to the VP responsible for SU entertainment while giving an "N/A" to SU Entertainment. Apparently the Bruns Editorial Board is unaware of the responsibilities of executive members, which casts doubt on the reliability of their reporting. &lt;br /&gt;&lt;br /&gt;It is my opinion that the Bruns doesn't take itself seriously enough. You hold the ears of students; what you publish will remain on file forever online and in the HIL Microforms department. Employers googling prospective employee's names are going to come across what you print. You have a serious impact on this campus but I don't see that reflected in the way you report&lt;br /&gt;I hold the entire Editorial Board accountable for what I consider sub-par journalism. You owe Catrin Berghoff a sincere apology for last week's "F." Since this letter will also be archived in perpetuity, I'm taking this opportunity to give Catrin an "A" for her hard work this year as CRO. And I humbly submit that my opinion is more informed than that of the Bruns - that is to say informed at all.&lt;br /&gt;Sincerely, &lt;br /&gt;Ash Furrow&lt;/blockquote&gt;My watered-down letter appeared in the next (and final) issue of the paper.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7594006012152367639?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7594006012152367639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/unb-brunswickan-fail-2009-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7594006012152367639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7594006012152367639'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/unb-brunswickan-fail-2009-2010.html' title='UNB Brunswickan Fail 2009-2010'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-5438817177298893241</id><published>2010-04-02T20:38:00.004-03:00</published><updated>2010-04-02T21:47:40.689-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='netbook'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='os x'/><title type='text'>Impression of Ubuntu on my Netbook</title><content type='html'>I took the plunge and went for something a little different; I installed Ubuntu on my netbook over top of my previous &lt;a href="http://www.google.ca/url?sa=t&amp;source=web&amp;ct=res&amp;cd=2&amp;ved=0CAoQFjAB&amp;url=http%3A%2F%2Fatteroignorantiam.blogspot.com%2F2009%2F11%2Ftilde-and-backquote-key-not-working-on.html&amp;ei=Z4G2S82DG4X7lwfDjqX3Bw&amp;usg=AFQjCNFQCUP4x9mZSfjF4sZl7eKOkuRiYw&amp;sig2=WGJREOZVNC4_ELAl163NMw"&gt;OS X instalation&lt;/a&gt;. And it is made of so much win:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9fyekwTM7U8/S7aAM2QKsuI/AAAAAAAAALM/HeKruN_rPjU/s1600/Screenshot.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 225px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/S7aAM2QKsuI/AAAAAAAAALM/HeKruN_rPjU/s400/Screenshot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5455688956816044770" /&gt;&lt;/a&gt;Thoughts:&lt;ul&gt;&lt;li&gt;My keyboard shortcuts are all different! ALT used to be mapped to Command. PLUS: meta keys used to jump over words are different. Weird.&lt;/li&gt;&lt;li&gt;Texmaker &lt;b&gt;&amp;gt;&lt;/b&gt; TeXShop. I'm switching on my iMac.&lt;/li&gt;&lt;li&gt;Forgot how goddamn annoying it is to have different copy/paste shortcuts in the terminal is. FIXED.&lt;/li&gt;&lt;li&gt;My goddamn mouse scrolls WAY to fast and there is no way to stop it. I don't know *why* they decided not to include scroll speed in mouse settings, but they will live to regret it.&lt;/li&gt;&lt;li&gt;&lt;a href="http://dropbox.com"&gt;Dropbox&lt;/a&gt; has made my life worth living, again.&lt;/li&gt;&lt;li&gt;Interface isn't as responsive as OS X&lt;/li&gt;&lt;li&gt;&lt;b&gt;TEH SEXY!&lt;/b&gt; Loving the interface. Fits nice on my 10" screen.&lt;/li&gt;&lt;li&gt;I can now resize windows from whatever edge/corner I want to. Suck it, Apple. (I still love you)&lt;/li&gt;&lt;li&gt;BEST FEATURE: ALT-drag moves &lt;i&gt;any&lt;/i&gt; window. Even above the top menu bar. Magic.&lt;/li&gt;&lt;/ul&gt;There were some frustrations during installation, however:&lt;ul&gt;&lt;li&gt;It was &lt;u&gt;impossible&lt;/u&gt; for me to create a &lt;a href="https://help.ubuntu.com/community/Installation/FromImgFiles#Mac%20OS%20X"&gt;bootable Ubuntu USB key&lt;/a&gt; on Mac OS X. &lt;b&gt;I don't care&lt;/b&gt; whose fault this is, Apple's or Ubuntu's, it's hard as hell to do on Windows so they made a program to do it for you, but not on a Mac? In the end, I had to use a PC to do it. No, Parallels XP installation didn't cut it. I had to &lt;i&gt;use a windows machine&lt;/i&gt;. Needless to say, I was not impressed.&lt;/li&gt;&lt;li&gt;Installation went well; defaults on and everything worked out of the box. Well, not everything. Anyone who knows linux knows what I'm about to rag on next! It's ...&lt;/li&gt;&lt;li&gt;Wireless. It blew. Monkey chunks. Had to add a separate repository to get the source file and run apt-get to get things working. Googable, for sure. Fix is &lt;a href="http://www.mail-archive.com/ubuntu-bugs@lists.ubuntu.com/msg1669880.html"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Glipper doesn't come installed. Mega fail. Every OS should have one of these by default. Got it off Synaptic easily enough, but that lead to this fail ...&lt;/li&gt;&lt;li&gt;There is only a hacky workaround for adding stuff to your panel. You have to unlock the place that displays your open apps, resize it smaller, *then* you may add applets to your panel. What's so bad about this? &lt;a href="https://bugs.launchpad.net/window-picker-applet/+bug/248324"&gt;THEY KNOW&lt;/a&gt;. But they aren't doing a damn thing about it. Natalie Webber taught me well, and the last people to report bugs to are developers. They're defending the design choice despite users asking for an alternative. Typical.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;EDIT: "Glippy" was a type and does not exist. Google "Glipper" for the proper package.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-5438817177298893241?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/5438817177298893241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/impression-of-ubuntu-on-my-netbook.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5438817177298893241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5438817177298893241'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/04/impression-of-ubuntu-on-my-netbook.html' title='Impression of Ubuntu on my Netbook'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9fyekwTM7U8/S7aAM2QKsuI/AAAAAAAAALM/HeKruN_rPjU/s72-c/Screenshot.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-505221857781062684</id><published>2010-03-30T10:34:00.002-03:00</published><updated>2010-03-30T10:38:13.698-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='social networking'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='do my proof reading for me please'/><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Social Media and Networking Draft Essay</title><content type='html'>Find below an essay I whipped up this morning in class on social media and networking, their implications, advantages, limitations, and effects on society. I'd appreciate any feedback and correction of factual errors. It was a lot of fun to write :)&lt;blockquote&gt;A social network is a structure of individuals and organizations that models their relations to one another. They are not unique to the Web, but their manifestation as data has lent itself to be analyzed. Special attention can be paid to the mathematical properties of the network.&lt;br /&gt;&lt;br /&gt;MySpace is considered by many to be the inaugural social networking site on the web, though it proceeded Blogspot by four years. Launched in 2003, it allows carte blanche for user pages, allowing users to modify the underling HTML of their profiles. It can be used for personal use or for business use and is open to anyone; it is not required to join in order to participate.&lt;br /&gt;&lt;br /&gt;There are serious concerns with MySpace. As a subsidy of Newscorp, owned by Rupert Murdoch, there are concerns with how the information on MySpace will be used. &lt;br /&gt;&lt;br /&gt;Additionally, MySpace saw the rise of ``cyber bullying.'' 2008 was witness to a landmark trial of Missouri woman who posed on MySpace as a friend of a neighbourhood teenage girl. After gaining the individuals trust online, she badgered the girl until she committed suicide. The eventual conviction hinged on the fact that the woman violated the Terms of Service by using fraudulent information when she registered.&lt;br /&gt;&lt;br /&gt;Blogging has become wildly popular in recent years and has seen marked increate given the mobility of computers and devices that allow users to stay connected anywhere. Blogging takes text form, video form, and audio form (as podcasts). It has many providers offering comparable services, though some have limitations. Blogger and Wordpress are the two foremost text-based blogging service, with Youtube being the foremost video blogging service.&lt;br /&gt;&lt;br /&gt;These blogs often offer complete anonymity; Wordpress is open source software that can be installed on any web host and used to promote users ideas. This anonymity has often been challenged by the courts. Someone who writes a blog in known as a blogger.&lt;br /&gt;&lt;br /&gt;Online users are often requested by parties who feel that they have been defamed online by anonymous posters. They are often successful, though there has been backlash against this with opponents arguing that they have a right to free speech and anonymity. &lt;br /&gt;&lt;br /&gt;Bloggers often publish copyrighted material with permission of their owners, and have been the subject of harsh court rulings. Conversely, bloggers have unfairly been the target of take-down notices issued under the Digital Millennium Copyright Act. These notices are often issued when copyrighted material is used under fair use or to silence bloggers who blog unfavourably about the copyright holders.&lt;br /&gt;&lt;br /&gt;In late 2008, a BC court ruled that &lt;span style="font-style:italic;"&gt;linking to&lt;/span&gt; content was not the same as &lt;span style="font-style:italic;"&gt;republishing&lt;/span&gt; content, and therefore linking bloggers are not liable for the content they link to. Michael Geist is a professor of Law at the University of Ottawa and holds the Canada Research Chair in Internet and E-Commerce Law. He has followed closely the development of precedent in these cases. He uses his blog and twitter feed to keep Canadian bloggers up to date on developments in these laws.&lt;br /&gt;&lt;br /&gt;Blogs, and by extension online social networking in general, have been responsible for a fundamental shift in the way people consume media. It has shifted people from consumers in front of a radio of television news programme to people who report on and offer commentary on current events. &lt;br /&gt;&lt;br /&gt;Facebook is a term that is often synonymous with modern social networking. It was launched in 2004 and was initially for use on Icy League campuses. There is, like with MySpace, a complete lack of anonymity; users are required by the ToS to provide their real identity. Unlike MySapce, Facebook requires users to join before viewing content. Facebook owns all information entered onto its site by users in perpetuity, even if users delete the information, or even their accounts.&lt;br /&gt;&lt;br /&gt;This of course violates the basic tenants of Canadian privacy law. Namely, the &lt;span style="font-style:italic;"&gt;Personal Information Protection and Electronic Documents Act&lt;/span&gt; restricts businesses operating in Canada to store only information that need to to conduct their businesses and only for the amount of time they need to. Facebook has been under investigation by the Canada's Privacy Commissioner for violation of these laws.&lt;br /&gt;&lt;br /&gt;PIPEDA represents one extreme, while Facebook's ToS represents another. It has raised fundamental questions of privacy and a citizen's right to privacy in an age when laws can't keep pace with the rapid growth and development of the Internet.&lt;br /&gt;&lt;br /&gt;Twitter is a ``microblogging'' service first launched in 2006. Originally intended for use over SMS text messaging, it limits users to 140 character ``tweets.'' It is completely open and anonymous service that offers one-sided friendships; that is, I can follow your tweets without your permission and without you following me back. &lt;br /&gt;&lt;br /&gt;People who tweet, or ``tweeters'', own the content of their tweets. This has raised questions as to how Twitter survives as a business since they do not use advertisements. A public API has lead to a plethora of mobile applications that give users an ability to tweet from anywhere.&lt;br /&gt;&lt;br /&gt;However, the mobility of Twitter applications has raised questions about how much information users should be putting online. If I tweet from a Blackberry, it can upload my GPS location, letting the world know exactly where I am. &lt;br /&gt;&lt;br /&gt;Consider the 2009 Iranian election, where the government attempted to block twitter; tweeting your location allowed for fellow dissenters to come to your aide. Without a doubt, Twitter had a significant role to play in the West's knowledge of the Iranian election. This continued to shift of individuals from media consumers to media producers. This phenomenon has been coined ``little brother'', to complete converse of the traditional ``Big Brother'' government.&lt;br /&gt;&lt;br /&gt;Social networking is not new social behaviour. The advent of the Internet and mathematical graph theory has led to the use and study of social networking online. It has been responsible for irrevocably changing our society and our history, for better or worse.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-505221857781062684?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/505221857781062684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/social-media-and-networking-draft-essay.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/505221857781062684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/505221857781062684'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/social-media-and-networking-draft-essay.html' title='Social Media and Networking Draft Essay'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6276785241635298605</id><published>2010-03-28T19:00:00.003-03:00</published><updated>2010-03-28T20:58:36.050-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='creationism'/><title type='text'>Google Keywords to My Blog</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://content.screencast.com/users/Ash.Furrow/folders/Jing/media/0b5a7932-2327-4d26-8071-63a7dc49e7ab/00000032.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 382px; height: 646px;" src="http://content.screencast.com/users/Ash.Furrow/folders/Jing/media/0b5a7932-2327-4d26-8071-63a7dc49e7ab/00000032.png" border="0" alt="" /&gt;&lt;/a&gt;These are the top search terms used to link to my blog from January 1st to today.&lt;br /&gt;&lt;br /&gt;Surprised by number 16, given the recent election. Was also not surprised, but very happy about number 22. What else can you say about a group of people who have their minds made up before ever laying eyes on the evidence?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6276785241635298605?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6276785241635298605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/google-keywords-to-my-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6276785241635298605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6276785241635298605'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/google-keywords-to-my-blog.html' title='Google Keywords to My Blog'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1977599587255053978</id><published>2010-03-27T14:15:00.001-03:00</published><updated>2010-03-27T14:19:59.273-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><title type='text'>Letter to UNB Security</title><content type='html'>I wrote a letter to &lt;a href="http://www.unbf.ca/security/contact.htm"&gt;UNB Security&lt;/a&gt; regarding the inconsistent policies they seem to have regarding locked doors and lounges to and within the Integrated Technology Centre.&lt;blockquote&gt;Good afternoon,&lt;br /&gt;&lt;br /&gt;I am writing to complain that I am frequently frustrated by the inconsistent policies UNB Security seems to have regarding which doors are locked in the Integrated Technology Centre, off of Head Hall. Anytime after 6 during weekdays or anytime on the weekends, it's a roulette wheel of which doors are locked and which are unlocked.&lt;br /&gt;&lt;br /&gt;Doors to ITC are frequently locked during open hours, with different doors being locked or unlocked at random. Lounges are often locked seemingly at random. The last time I called to have ITD405 unlocked, the very friendly guard suggested I get my Dean to send something up to let Security know that the room is supposed to be open until 10pm every day, including weekends.&lt;br /&gt;&lt;br /&gt;It is incredibly frustrating  as a student to not have consistent access to the facilities I need to learn.&lt;br /&gt;&lt;br /&gt;Thank you for addressing my concerns,&lt;br /&gt;Ash Furrow&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1977599587255053978?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/1977599587255053978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/letter-to-unb-security.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1977599587255053978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1977599587255053978'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/letter-to-unb-security.html' title='Letter to UNB Security'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-3396177006544457253</id><published>2010-03-27T09:41:00.004-03:00</published><updated>2010-03-27T09:53:25.571-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='genetics'/><category scheme='http://www.blogger.com/atom/ns#' term='biology'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>Curing Colourblindness is Not Morally Wrong</title><content type='html'>... unless you're a Jehova's Witness (zing!).&lt;br /&gt;&lt;br /&gt;Interesting &lt;a href="http://hplusmagazine.com/articles/bio/monkey-see-or-one-man’s-fix-another’s-enhancement"&gt;article&lt;/a&gt; that discusses a new cure for colour blindness (that uses a virus to introduce missing DNA to an individual - take that, creationists (double zing!)). &lt;br /&gt;&lt;br /&gt;NPR is on the scene, asking the tough questions: is this morally wrong? The answer would seem obvious to just about everyone: a loud emphatic &lt;b&gt;&lt;u&gt;NO&lt;/u&gt;&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;The author (a PhD) uses an absurd hypothetical in order to turn the tables on us. If most people were colour blind, and only a few could differentiate red and green, then would it be morally right to "correct" them?&lt;br /&gt;&lt;br /&gt;It's an interesting idea, but not one worth an article. So they added the colour blindness cure bit to add validity to their idea. And it's ridiculous.&lt;br /&gt;&lt;br /&gt;This is a &lt;u&gt;cure&lt;/u&gt;, people. If someone was born without an arm and I had a pill that would &lt;u&gt;grow him a new fucking arm&lt;/u&gt;, it'd be morally wrong &lt;i&gt;not&lt;/i&gt; to give it to him. &lt;br /&gt;&lt;br /&gt;Come one, NPR. This is below the bar for you. Go out and start asking some hard-hitting questions instead of this hypothetical bullshit.&lt;br /&gt;&lt;br /&gt;EDIT: Just realized the JW zinger at the beginning of the article could be considered prejudiced and stereotypical. I promise to stop stereotyping people when the stop believing in irrationality.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-3396177006544457253?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/3396177006544457253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/curing-colourblindness-is-not-morally.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3396177006544457253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3396177006544457253'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/curing-colourblindness-is-not-morally.html' title='Curing Colourblindness is Not Morally Wrong'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-21718797649345707</id><published>2010-03-26T16:47:00.002-03:00</published><updated>2010-03-26T17:06:07.751-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='let&apos;s have a personal chat'/><title type='text'>The Amount of Time I Spend on Campus</title><content type='html'>It shocks me. Looking back at childhood, or even when I had a job, I spend so few hours in my apartment, I should start timesharing it. I was talking with my friend today, and I honestly spend more time in a single lounge doing homework or tutoring than I do at my apartment (while conscious).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Mondays&lt;/b&gt;&lt;br /&gt;Graph Theory, then lunch, Algorithms, Lab, Meeting, Council. 10:00-7:00, on average, yields 9 hours.&lt;br /&gt;&lt;b&gt;Tuesday&lt;/b&gt;&lt;br /&gt;Software Engineering II and Computer Organization II are frequently skipped, so I'll arrive around 10. Followed by lunch, Networks and Communications, Algorithms Tutorial, then I usually stay to work on Algorithms homework due Wednesdays. 11:00-9:00, on average, yields 11 hours.&lt;br /&gt;&lt;b&gt;Wednesday&lt;/b&gt;&lt;br /&gt;Typically there's a meeting at 9:30, then Graph Theory, Lunch, Algorithms, Tutoring, Supper, TA'ing. 9:30-8:30 on average yields 11 hours.&lt;br /&gt;&lt;b&gt;Thursday&lt;/b&gt;&lt;br /&gt;Software Engineering II and Computer Organization II are frequently skipped, so I'll arrive around 11. Followed by lunch, Networks and Communications, then a Networks Lab. Then TA'ing. 10:00-8:30 yields, on average, 10.5 hours.&lt;br /&gt;&lt;b&gt;Friday&lt;/b&gt;&lt;br /&gt;Friday is special! Typically, I'll have a meeting at 9:30. Graph Theory, Lunch, Algorithms, Tutoring, occasional Computer Organization II Lab, then work 4-11. 9:30-11:00, on average, yields 13.5 hours.&lt;br /&gt;&lt;br /&gt;So, on average, I spend about 56 hours on campus during the week. This isn't including volunteering I'm doing for events, and fluctuates. Lately, there's been a lot more late nights working on assignments. I'm trying to get some extra sleep by skipping morning classes Tuesdays and Thursdays, but it's not helping.&lt;br /&gt;&lt;br /&gt;The problem is, by the time I get to Fridays, I'm so wiped that I'll frequently give my shift away. Ah, well. Next Fall should be different. No Lab TA'ing, and no Friday shifts should give me more time to put together a decent supper instead of spending money on Sodexo food.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-21718797649345707?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/21718797649345707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/amount-of-time-i-spend-on-campus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/21718797649345707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/21718797649345707'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/amount-of-time-i-spend-on-campus.html' title='The Amount of Time I Spend on Campus'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7431343540613030985</id><published>2010-03-26T16:35:00.004-03:00</published><updated>2010-03-26T16:47:29.222-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='creationism'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>Problem Debating Creationism</title><content type='html'>I've always thought that the value of a good debater is someone who can argue either side of an issue with equal zeal and conviction. I tried applying this to my own inner dialogue between myself and creationism, and failed miserably. I've always thought of myself to be a super-par debater, so what gives?&lt;br /&gt;&lt;br /&gt;Let me tell you what I came up with; the problem is that debating is supposed to occur when the subject is something subjective, where no opinion is either right or wrong. The problem with debating creationism vs evolution is that evolution is scientific fact, and creationism is religion. One is correct, and the other is subjective.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Aside:&lt;/i&gt; When I mean "correct", I mean correct in the scientific "fact", or "reality" sense. For example, the theory of gravity and atomic theory are both "correct" with just as much evidence for them as evolution. If you don't believe me, go borrow &lt;i&gt;The Greatest Show on Earth&lt;/i&gt; from the library.&lt;div align="center"&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ty33v7UYYbw&amp;hl=en_US&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ty33v7UYYbw&amp;hl=en_US&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;To say that creationism is just a different &lt;a href="http://atteroignorantiam.blogspot.com/2010/03/problem-with-term-worldview.html"&gt;worldview&lt;/a&gt;, endowed with its own ineffable correctness, is more than a little disingenuous. If you want to say religion and science are separate things and deal with separate issues, fine. But when you try to bring creationism to the scientific level of evolution, you've broken your own rule. Science deals with what is real, and religion deals with what is real to you. You can't apply that to anyone else, let alone in general, so please stop trying.&lt;br /&gt;&lt;br /&gt;This means that creationists get to shut the front door and stay out of my science curriculum. That means that, while they can believe whatever they want to and make whatever rationalizations for the disconnect between reality and faith they want to, they need to accept the fact that science says the world is 4.5 billion years old. You want to talk about "god's time", "guided evolution", or what have you, fine - that's fine. I can't disprove something that's unfalsifiable, but please keep it away from science classrooms.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7431343540613030985?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7431343540613030985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/problem-debating-creationism.html#comment-form' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7431343540613030985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7431343540613030985'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/problem-debating-creationism.html' title='Problem Debating Creationism'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7247485696205129364</id><published>2010-03-21T00:07:00.002-03:00</published><updated>2010-03-21T00:10:19.879-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='where the wild things are'/><title type='text'>Where The Wild Things Are Recap</title><content type='html'>Just finished the movie after blogging about it &lt;a href="http://atteroignorantiam.blogspot.com/2010/03/why-where-wild-things-are-is-awesome.html"&gt;earlier this week&lt;/a&gt;. Jesus Christ on a cracker, this film is awesome.&lt;br /&gt;&lt;br /&gt;It's just so well done musically, cinematographically, and everything else. It's so easy to relate to the kid, it's scary. I suggest you drop whatever you're doing (it can't be that important - you're reading this, aren't you?) and go rent it. Now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7247485696205129364?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7247485696205129364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/where-wild-things-are-recap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7247485696205129364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7247485696205129364'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/where-wild-things-are-recap.html' title='Where The Wild Things Are Recap'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-8763128942196711325</id><published>2010-03-18T10:05:00.000-03:00</published><updated>2010-03-18T10:05:00.546-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='worldview'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><category scheme='http://www.blogger.com/atom/ns#' term='faith'/><title type='text'>The Problem with the term "Worldview"</title><content type='html'>Is that a worldview &lt;i&gt;can be wrong&lt;/i&gt;. Look at sexism in Fundamentalist Christianity, Judaism, and Islam. It doesn't matter what the ideals of these religions are if they're oppressing half the population! That is morally reprehensible, and any sane person would acknowledge this.&lt;br /&gt;&lt;br /&gt;The issue then becomes that a worldview really &lt;i&gt;can't&lt;/i&gt; be wrong, can it? I can say "Geology shows us that the earth is several billion years old", and someone could respond with "You may be right - but only in &lt;i&gt;your&lt;/i&gt; worldview *irritating smirk*". &lt;br /&gt;&lt;br /&gt;The thing is, that Science is based on what is &lt;i&gt;real&lt;/i&gt;. It is the rational explanation of observable things. It represents fact backed up by peer-reviewed research. It is &lt;a href="http://www.youtube.com/watch?v=ty33v7UYYbw"&gt;real&lt;/a&gt;. I blogged &lt;a href="http://atteroignorantiam.blogspot.com/2009/04/critically-analysing-critical-thinking.html"&gt;ages ago&lt;/a&gt; about why it is better to believe that which is actually real. &lt;br /&gt;&lt;br /&gt;Science represents facts of reality and is not interpretable. You can't say "I have a different view of what atomic theory means", but you could say "I have a different hypothesis about X, and the evidence supports my theory, too." Eventually, one theory pretty much holds out, except for that guy who still refuses to believe bees use dancing to indicate directions to other bees, or the flat-Earth society.&lt;br /&gt;&lt;br /&gt;Besides, no one has a problem with Science explaining things until it contradicts what they &lt;i&gt;believe&lt;/i&gt;. If I said Science shows us how to make high-speed telecommunications networks and computer terminals that allow you to read some &lt;a href="http://atteroignorantiam.blogspot.com/"&gt;stupid undergraduate's blog&lt;/a&gt;, you'd say "great!" But if I say Science shows us that we evolved through natural selection, all of a sudden it becomes perfectly acceptable to bring up the "worldview defence." To me, this seems unfair.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-8763128942196711325?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/8763128942196711325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/problem-with-term-worldview.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8763128942196711325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8763128942196711325'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/problem-with-term-worldview.html' title='The Problem with the term &quot;Worldview&quot;'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6137592768705610793</id><published>2010-03-16T21:37:00.003-03:00</published><updated>2010-03-16T21:58:46.699-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='efficiency'/><category scheme='http://www.blogger.com/atom/ns#' term='do it yourself'/><title type='text'>Efficiency for Efficiency's Sake</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/S6AlmsQ7dsI/AAAAAAAAALE/rrNgmrx3TOk/s1600-h/0315001132a.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 287px; height: 400px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/S6AlmsQ7dsI/AAAAAAAAALE/rrNgmrx3TOk/s400/0315001132a.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5449396895765722818" /&gt;&lt;/a&gt;In the name of efficiency, I have begun to store my mugs from the roof of their old storage location. In their place, I'm storing plates. This is wonderful, because both of these things &lt;b&gt;must&lt;/b&gt; be stored in cupboards, but neither can be sufficiently stacked to take full advantage of the vertical storage space.&lt;br /&gt;&lt;br /&gt;This is a trick that, for better or worse, I picked up from my childhood cabin, tended to by my grandmother. We'll see what happens when we apply for our damage deposit back ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6137592768705610793?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6137592768705610793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/efficiency-for-efficiencys-sake.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6137592768705610793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6137592768705610793'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/efficiency-for-efficiencys-sake.html' title='Efficiency for Efficiency&apos;s Sake'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/S6AlmsQ7dsI/AAAAAAAAALE/rrNgmrx3TOk/s72-c/0315001132a.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6402053374097776225</id><published>2010-03-16T21:06:00.002-03:00</published><updated>2010-03-16T21:36:16.521-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='where the wild things are'/><category scheme='http://www.blogger.com/atom/ns#' term='film review'/><category scheme='http://www.blogger.com/atom/ns#' term='let&apos;s have a personal chat'/><title type='text'>Why "Where the Wild Things Are" is Awesome</title><content type='html'>I was looking forward to "Where the Wild Things Are" for &lt;i&gt;every&lt;/i&gt; since I heard it was being made into a film. Then, I saw the trailer (below) and was really impressed with the look of the film, and the acoustic version of "Wake Up."&lt;object width="640" height="385" width="center"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Rhfywi5Y8TM&amp;hl=en_US&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Rhfywi5Y8TM&amp;hl=en_US&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;Then, "9" came out and I was truly disappointed to the point I asked Ashley if WTWTA was even worth going to see. Since I had told her that it was probably my favourite book growing up (who really remembers these things?) and that it reminded me of my maternal grandmother, she encouraged me to not give up hope. We went to go see it shortly after it came out, and I was not disappointed. &lt;br /&gt;&lt;br /&gt;Since then, I've been looking forward to it coming out on DVD. Last week, my waiting came to and end. I can't wait to watch this again! However, I checked out some of the iTunes reviews, and they were simply &lt;i&gt;awful&lt;/i&gt;. The haters complained that the film was not for children; that they had been tricked; that it was not what they had expected; that it had no plot. &lt;br /&gt;&lt;br /&gt;I saw some people take their kids to the theatre when I saw it there, and I shook my head; this is not a movie for children. It wasn't marketed as one, but it wasn't marketed as a movie not for children, either. Parents will ignore the PG-rating that they so &lt;a href="http://en.wikipedia.org/wiki/This_Film_Is_Not_Yet_Rated"&gt;desperately cling to&lt;/a&gt; and then complain when the movie is not appropriate for their precious six-year-old. They did the same thing with Avatar and, hilariously, Watchmen (to the point of the attempted rape scene, when they finally clued it). This is to be expected, if not excused.&lt;br /&gt;&lt;br /&gt;But what about the people who just thought the film was bad? Badly written, acted, and/or directed? Well, they're wrong. As an open-minded person who promotes critical thinking, it's not often I write that someone's opinion is wrong, but &lt;a href="http://en.wikipedia.org/wiki/Go_God_Go"&gt;science damn it&lt;/a&gt;, they are. If you watch this film and didn't care for it, fine, but don't go around saying the film is bad just because you have horrible, horrible, taste.&lt;br /&gt;&lt;br /&gt;To say this film is a coming of age story would be disingenuous. The main character, Max, learns several "life lessons", but it isn't really coming of age. It's about Max learning the lesson that others can get hurt, too, and that he can hurt them. We aren't born with the ability to empathize, and Max begins the story not understanding that his family have feelings of their own. Over the course of the story, he sees how you can hate someone you love, how hard it is to make friendships, how easy it is to ruin friendships, and how much it hurts when that happens.&lt;br /&gt;&lt;br /&gt;The film is stark and abrasive in its portrayal of an emotionally upset child who runs away. Max starts the film going through a really tough emotional time of his own, which is something that I really related to from my own childhood. I remember thinking the same thing when I was taught that the Sun would someday explode to swallow the Earth and remember the feeling of insignificance when you realized how small you really are. &lt;br /&gt;&lt;br /&gt;The monsters, to me, represented different facets of the main character. Not necessarily emotions, but different &lt;a href="http://xkcd.com/52/"&gt;parts of us&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;The story is a visual masterpiece; it is a well-written and well-acted narrative about a boy who feels lost and alone and learns to find comfort in family. I would recommend anyone to see it. If you dislike this film, then I you are dead to me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6402053374097776225?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6402053374097776225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/why-where-wild-things-are-is-awesome.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6402053374097776225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6402053374097776225'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/why-where-wild-things-are-is-awesome.html' title='Why &quot;Where the Wild Things Are&quot; is Awesome'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7866469143117496716</id><published>2010-03-15T14:03:00.003-03:00</published><updated>2010-03-15T14:22:52.212-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='let'/><title type='text'>Sir Howard Douglas Society Induction</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.unb.ca/news/images/left-logo.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 162px; height: 76px;" src="http://www.unb.ca/news/images/left-logo.gif" border="0" alt="" /&gt;&lt;/a&gt;In case anyone missed my &lt;a href="http://twitter.com/GreyEyes/status/10403858549"&gt;tweet&lt;/a&gt;, I am was inducted (lol - math) into the &lt;a href="http://www.unb.ca/news/view.cgi?id=1875"&gt;Sir Howard Douglas Society&lt;/a&gt; on Friday evening. This is pretty cool to me, and let me tell you why.&lt;br /&gt;&lt;br /&gt;When I first read the description of the society, I was figuratively struck by their purpose. Their Latin motto is "Non nobis solum" which means "Not for ourselves alone." I used a similar quote in my application essay by Albert Pine: "What we do for ourselves dies with us. What we do for others and the world remains and is immortal."&lt;br /&gt;&lt;br /&gt;I'm not a huge humanitarian; many of the inductees Friday evening did more important things that I have done. These are things like volunteering overseas or at the Stan Cassidy Centre. Or helping children to read. Really big, important things. These individuals are really important and cause big changes in our society.&lt;br /&gt;&lt;br /&gt;Me, on the other hand, haven't done anything so grand. The things I have done have been smaller in scale but more larger in volume. The organizers thought it'd be appropriate to include my Brunswickan contribution on the video, despite the fact that I've only written a handful of times. &lt;br /&gt;&lt;div align="center"&gt;&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/j2YqoLZS67k&amp;hl=en_US&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/j2YqoLZS67k&amp;hl=en_US&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;I'm not trying to say I don't deserve this or that others deserve it more, but my contributions have been more local, community-centric contributions. While others are busy saving lives or building future for orphans, I've been busy flipping pancakes for other undergraduates or helping out at UNB's Early Registration. I consider the time I have contributed to my faculty to be some of the most important accomplishments I have made.&lt;br /&gt;&lt;br /&gt;BTW - I really love the quote Dr. Campbell gave at the dinner. His time was cut short by a fire alarm, but it went something like&lt;blockquote&gt;Sir Howard Douglas Scholars see opportunity where others see obstacles.&lt;/blockquote&gt;I never really saw it like that; I'm a bi-poloar optimist-pessimist (that is - optimist about things that matter and pessimist about the irrelevant). &lt;br /&gt;&lt;br /&gt;This is more of a personal blog entry than my typical "I'm gonna make a point" entries. I don't think any of the other winners from Friday have made their contributions for the money (ha!) or the fame, but I am glad that UNB started this practice. I'm looking forward to attending in the future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7866469143117496716?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7866469143117496716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/sir-howard-douglas-society-induction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7866469143117496716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7866469143117496716'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/sir-howard-douglas-society-induction.html' title='Sir Howard Douglas Society Induction'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-6399644229371356750</id><published>2010-03-12T08:44:00.004-04:00</published><updated>2010-03-12T11:13:41.409-04:00</updated><title type='text'>I Cut Through STU Campus and Survived!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/S5o5lXy_BLI/AAAAAAAAAK8/USL6EsS3Oiw/s1600-h/20021227-2.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 367px; height: 400px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/S5o5lXy_BLI/AAAAAAAAAK8/USL6EsS3Oiw/s400/20021227-2.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5447730013463839922" /&gt;&lt;/a&gt;I embarked on my way to a Learning Management System Committee Meeting this morning. It is in d'Avery and begins in a few short minutes. Being a Computer Science student, I made my preparations to take the most efficient, yet most arduous, path to my destination: cutting through Saint Thomas.&lt;br /&gt;&lt;br /&gt;Forget the fact that this place is a Catholic school. &lt;i&gt;Real&lt;/i&gt; Catholic schools don't elect people like Ella Henry as Student President. No - I'm more worried about the liberal artsiness of the place. &lt;br /&gt;&lt;br /&gt;To prepare, I put on nice clothes. Liberal Arts students wear nice clothes, you know? Plus, it's Formal Friday. As I approached the campus on Windsor, I shook my fist at a car that almost cut me off. Appearing environmentally friendly is very important part of appearing to be an Arts student. &lt;br /&gt;&lt;br /&gt;As I walked through the parking lot, I repeated the phrases I had prepared earlier in case I was stopped. I knew on close inspection these students would be able to tell I didn't  belong there, so I had something to say against the Sale of NB Power, Uranium Mining in New Brunswick, and literary deconstruction. Paying attention in English class sure came in handy.&lt;br /&gt;&lt;br /&gt;As I walked beneath the McCain something something building (a &lt;i&gt;real&lt;/i&gt; schools name their buildings after the Irvings), I saw a beacon of hope: The Wu Conference Centre. My pace quickened, and within a few short minutes, I had arrived at d'Avery. I would have preferred to be surrounded by a gaggle of Engineering first-years complaining about APSc, but I'll take what I can get. Civilization!&lt;br /&gt;&lt;br /&gt;In retrospect, I suppose I didn't have too much to worry about; Arts students would still be hungover at this hour and unlikely to care much about a stray Computer Science student on their campus. Still - I feel like the area has infected me with the undeniable stench of someone getting an Arts degree. I must go home and shower. Or use a centrifuge, or something else a real student would do.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Author's Note: This is &lt;u&gt;satire&lt;/u&gt;, people. Maybe I should write for The Pillar next year ... &lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-6399644229371356750?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/6399644229371356750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/i-cut-through-stu-campus-and-survived.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6399644229371356750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/6399644229371356750'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/i-cut-through-stu-campus-and-survived.html' title='I Cut Through STU Campus and Survived!'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9fyekwTM7U8/S5o5lXy_BLI/AAAAAAAAAK8/USL6EsS3Oiw/s72-c/20021227-2.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-912881759013639350</id><published>2010-03-11T09:01:00.004-04:00</published><updated>2010-03-11T09:20:51.650-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='university'/><category scheme='http://www.blogger.com/atom/ns#' term='pse'/><title type='text'>In Defense of Art Degrees</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9fyekwTM7U8/S5jtym7uhgI/AAAAAAAAAK0/SF7z8gsxrKY/s1600-h/20030127-2.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 382px; height: 400px;" src="http://3.bp.blogspot.com/_9fyekwTM7U8/S5jtym7uhgI/AAAAAAAAAK0/SF7z8gsxrKY/s400/20030127-2.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5447365203004917250" /&gt;&lt;/a&gt;The most important thing I've gained from my experience at University is an appreciation for how much I &lt;i&gt;don't&lt;/i&gt; know. My mind is continually blown in classes by things that I thought I understood fully. &lt;br /&gt;&lt;br /&gt;Looking back at the &lt;a href="http://atteroignorantiam.blogspot.com/2009/12/problem-with-free-post-seconday.html"&gt;public education system&lt;/a&gt;, my knowledge was expanded year after year. I learned addition, then subtraction, then multiplication. I learned spelling, then grammar, then critical thinking. I learned about colours, then about light, then about waves. And so on. Each year, I expanded on what I learned in the previous year (at times, at a slow pace).&lt;br /&gt;&lt;br /&gt;At no point, however, did any one of my teachers stop, turn me backwards, and demonstrate exactly how much I've learned. The implication that I once had a narrower view of the world was never really drilled into me, except maybe by a few exceptional teachers I had in grade 12. &lt;br /&gt;&lt;br /&gt;This is what I value out of my University experience. I &lt;i&gt;don't&lt;/i&gt; know everything, so I shouldn't act like I do. I'm not trying to be nihilistic, but it's a humbling experience. Looking back to high school when I thought I &lt;i&gt;knew&lt;/i&gt; how computers worked, I had &lt;u&gt;no idea&lt;/u&gt; what I was talking about. And why should this be limited to my own field?&lt;br /&gt;&lt;br /&gt;My Computer Science degree requires certain Arts credits. I often hear complaints about these, that students don't want to take Arts courses. My exposure to Economics, Psychology, Music, and Latin aren't going to help me in my day-to-day life necessarily, but they have broadened my view of the world, and I value that perspective. I don't think that exposing students to a wide variety of fields and showing them how complex those fields are is a waste at all.&lt;br /&gt;&lt;br /&gt;Are Arts degrees useful on their own? What does it even mean to ask that? Is my CS degree useful? Sure, &lt;i&gt;I&lt;/i&gt; think so. Can I use the same yardstick to "measure" usefulness of an Arts degree? Hell no.&lt;br /&gt;&lt;br /&gt;My problem with Arts degrees, and I think this is many people's problem with them, is that there appears to be a large number of Arts degree holders that aren't applying their degree directly to their career. Is their perspective being wasted? I don't think so. Education is of social benefit; I think that, with the caveat that no one should be coerced/forced to go to University, people who pursue Arts degrees are of no less value to society than holders of any other degrees. If you're just coming here because you think you have to, I'd suggest you re-evaluate your goals and options.&lt;br /&gt;&lt;br /&gt;Now that I've finished procrastinating from studying, I need to get back to studying network utilization.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-912881759013639350?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/912881759013639350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/in-defense-of-art-degrees.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/912881759013639350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/912881759013639350'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/in-defense-of-art-degrees.html' title='In Defense of Art Degrees'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9fyekwTM7U8/S5jtym7uhgI/AAAAAAAAAK0/SF7z8gsxrKY/s72-c/20030127-2.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-4064068218558539223</id><published>2010-03-10T06:52:00.003-04:00</published><updated>2010-03-10T06:57:19.976-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='graph'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>I'm Shameless</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9fyekwTM7U8/S5d6x8NlujI/AAAAAAAAAKs/EIFn4nHwJhE/s1600-h/My+Graph.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 331px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/S5d6x8NlujI/AAAAAAAAAKs/EIFn4nHwJhE/s400/My+Graph.png" border="0" alt="I don't care what you say - they're beautiful all year round." title="I don't care what you say - they're beautiful all year round." id="BLOGGER_PHOTO_ID_5446957272723208754" /&gt;&lt;/a&gt;First spike in tackiness is as you get further from Christmas. Subsequent spikes are for when you realize it's been 6 months since Christmas, Hallowe'en, and just before Remembrance Day.&lt;br /&gt;&lt;br /&gt;Multiply by constant factors &gt; 1 for anything still plugged in and/or very colourful. Multiply by constant factor &lt; 1 for anything that's really hard to reach. Shame is constant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-4064068218558539223?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/4064068218558539223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/im-shameless.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4064068218558539223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4064068218558539223'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/im-shameless.html' title='I&apos;m Shameless'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9fyekwTM7U8/S5d6x8NlujI/AAAAAAAAAKs/EIFn4nHwJhE/s72-c/My+Graph.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-8191323312306555896</id><published>2010-03-07T19:26:00.004-04:00</published><updated>2010-03-07T19:46:52.167-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google analytics'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Heading to the Cloud!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/S5Q5ZFa1mnI/AAAAAAAAAKU/uH5enL1ZsgY/s1600-h/20060302.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 366px; height: 400px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/S5Q5ZFa1mnI/AAAAAAAAAKU/uH5enL1ZsgY/s400/20060302.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5446040952512027250" /&gt;&lt;/a&gt;So, my friend &lt;a href="http://twitter.com/ianbishop"&gt;Ian&lt;/a&gt; recently suggested that I ditch my Mail application on my iMac and netbook and switch to straight GMail account. I forward my school mail to GMail, so it's not a big deal to switch. This was precipitated by the fact that Apple's Mail application marks &lt;u&gt;anything&lt;/u&gt; I send to &lt;i&gt;myself&lt;/i&gt; as read (automatically). And you can't turn it off.&lt;br /&gt;&lt;br /&gt;Well, it's been a week, and I'm liking it so far. But let's start with the bad:&lt;ul&gt;&lt;li&gt;It consumes a browser tab; I usually like to trim down the number of open tabs.&lt;/li&gt;&lt;li&gt;If (for some reason) my Internet was out, and if (for some reason) I had to get to a previously downloaded email right away without waiting for my Internet to be back up, then I can't get to it.&lt;/li&gt;&lt;li&gt;I don't get a badge letting me know there's new mail.&lt;/li&gt;&lt;/ul&gt;But how about the good?&lt;ul&gt;&lt;li&gt;I don't get a badge letting me know there's new mail. I secretly hate this, because I'm quite obsessive about making sure it's gone. I realized I had a problem when I would mark things as read just to get rid of them, without reading them. It also means I'm not so bound to my computer.&lt;/li&gt;&lt;li&gt;My processor is freed up. This isn't an issue on my iMac, but saves cycles on my netbook.&lt;/li&gt;&lt;li&gt;It frees up space. Not really anything I need to worry about, but I'm sure a few gigs of message not on my drive is good, I guess.&lt;/li&gt;&lt;li&gt;Labels are &lt;i&gt;the shit&lt;/i&gt;. &lt;b&gt;SRSLY&lt;/b&gt;. I have created filters for quite a few things, especially work-related emails. ITS expects me to read emails as soon as I get them, but they only pay me while I'm there, so this is a great way to make sure everything gets read but doesn't clog up my inbox.&lt;/ul&gt;Overall, I'm impressed.&lt;br /&gt;&lt;br /&gt;What I need to find is a good application - maybe one that uses Growl - that will let me know when I should check my mail. Let me know if there's anything anyone could recommend in the comments.&lt;br /&gt;&lt;br /&gt;I'm also switching to Google Calendar. I have previously used Google Calendar (awesome) and synched it to my iCal. After getting many frustrating error messages from iCal, I'm trying my calendar "on the cloud", too. Maybe I'll isolate my calendar and mail in their own browser window.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-8191323312306555896?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/8191323312306555896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/heading-to-cloud.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8191323312306555896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8191323312306555896'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/heading-to-cloud.html' title='Heading to the Cloud!'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/S5Q5ZFa1mnI/AAAAAAAAAKU/uH5enL1ZsgY/s72-c/20060302.gif' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-462337485011566952</id><published>2010-03-07T15:53:00.004-04:00</published><updated>2010-03-07T16:03:10.331-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution tuesdays'/><category scheme='http://www.blogger.com/atom/ns#' term='school'/><title type='text'>My Class Schedule Next Year *Rocks*</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/S5QGUxo-bfI/AAAAAAAAAKM/xdMAxqNrAKA/s1600-h/watch-out-everyone-its-time-to-be-careful.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 336px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/S5QGUxo-bfI/AAAAAAAAAKM/xdMAxqNrAKA/s400/watch-out-everyone-its-time-to-be-careful.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5445984803390123506" /&gt;&lt;/a&gt;As I recently &lt;a href="https://twitter.com/GreyEyes/status/10128618274"&gt;tweeted&lt;/a&gt;, I'm just not in the blogging mood lately. Looks like Evolution Tuesdays were a bust. Sorry fellas - maybe this summer I'll get back into doing irrelevant stuff on the Internet during my foray into academia.&lt;br /&gt;&lt;br /&gt;Interestingly, I have picked out my class schedule, and holy cow do my classes look good. Standard Winter term with an Honours thesis and four other classes, but the Fall? Hells^yes. My two real courses are looking like Operating Systems II (program robots to do stuff) and Combinatorics (use numbers and do cool stuff). Honours (do cool stuff you like), and Programming Challenges (do interesting problems from Programming Club). Oh, yes. It's that good.&lt;br /&gt;&lt;br /&gt;Besides my two real courses, Combinatorics and OS II, look really interesting. So do my two fake courses. That said, Tuesdays and Thursday are completely free for me to schedule meetings with my Honours Supervisor and Programming Club. This fall may be the most fun I've ever had at school, and i intend to make the most of it :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-462337485011566952?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/462337485011566952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/my-class-schedule-next-year-rocks.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/462337485011566952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/462337485011566952'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/my-class-schedule-next-year-rocks.html' title='My Class Schedule Next Year *Rocks*'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/S5QGUxo-bfI/AAAAAAAAAKM/xdMAxqNrAKA/s72-c/watch-out-everyone-its-time-to-be-careful.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-5789545060313991510</id><published>2010-03-02T15:10:00.005-04:00</published><updated>2010-03-07T19:48:07.236-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unbsu'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='election'/><title type='text'>2010 UNB Student Union Election Results</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/S5Q7LUh96VI/AAAAAAAAAKc/9WPuBNHRTtQ/s1600-h/Colour+SU+Logo+(150+dpi).png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 82px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/S5Q7LUh96VI/AAAAAAAAAKc/9WPuBNHRTtQ/s200/Colour+SU+Logo+(150+dpi).png" border="0" alt=""id="BLOGGER_PHOTO_ID_5446042915073550674" /&gt;&lt;/a&gt;Since no one at the &lt;a href="http://unbsu.ca"&gt;Student Union&lt;/a&gt; has done this after two business days, I'm going to post the (unofficial) results for anyone who doesn't have access to UNB eServices.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;President&lt;/u&gt;&lt;br /&gt;Shannon Carmont-McKinley&lt;br /&gt;&lt;br /&gt;&lt;u&gt;VP-Internal&lt;/u&gt;&lt;br /&gt;Ashley Wile&lt;br /&gt;&lt;br /&gt;&lt;u&gt;VP-External&lt;/u&gt;&lt;br /&gt;Bradford McKinney&lt;br /&gt;&lt;br /&gt;&lt;u&gt;VP-Student Services&lt;/u&gt;&lt;br /&gt;Julia Coleman&lt;br /&gt;&lt;br /&gt;&lt;u&gt;VP-Finance &amp; Ops&lt;/u&gt;&lt;br /&gt;Jordan Thompson&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Science&lt;/u&gt;&lt;br /&gt;Jocelyn Fotso Soh&lt;br /&gt;Hansika Gunaratne&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Renaissance College&lt;/u&gt;&lt;br /&gt;Matthew Webb&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Nursing&lt;/u&gt;&lt;br /&gt;Sarah Montheir&lt;br /&gt;Elizabeth Stirling&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Law&lt;/u&gt;&lt;br /&gt;Julian Williams&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Kinesiology&lt;/u&gt;&lt;br /&gt;Elizabeth Hallett&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Forestry &amp; Environmental Management&lt;/u&gt;&lt;br /&gt;Rachel McKinley&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Education &lt;/u&gt;&lt;br /&gt;Hardy Cameron&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Computer Science&lt;/u&gt;&lt;br /&gt;Ash Furrow (that's me!)&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Business Administration&lt;/u&gt;&lt;br /&gt;Lauren Vail&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Arts&lt;/u&gt;&lt;br /&gt;Dylan Lenton&lt;br /&gt;Samantha Molen&lt;br /&gt;Tabatha Armstrong&lt;br /&gt;Jaden Ditzherbert&lt;br /&gt;&lt;br /&gt;&lt;u&gt;International Rep&lt;/u&gt;&lt;br /&gt;Josiah Gado&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Senate&lt;/u&gt;&lt;br /&gt;John Boldon&lt;br /&gt;Lauren Vail&lt;br /&gt;Ashley Wile&lt;br /&gt;Kevin Beets&lt;br /&gt;&lt;br /&gt;Remember these are unofficial results I got from eServices; they still need to be ratified by Council next Monday evening. There were a few acclaimed seats for Senate and Board of Governors not listed in eServices.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-5789545060313991510?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/5789545060313991510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/2010-unb-student-union-election-results.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5789545060313991510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5789545060313991510'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/03/2010-unb-student-union-election-results.html' title='2010 UNB Student Union Election Results'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9fyekwTM7U8/S5Q7LUh96VI/AAAAAAAAAKc/9WPuBNHRTtQ/s72-c/Colour+SU+Logo+(150+dpi).png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7904844021826126569</id><published>2010-02-23T15:16:00.003-04:00</published><updated>2010-02-23T15:20:30.672-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='biology'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>Google Buzz Response to Evolutionist Arguments</title><content type='html'>My friend &lt;a href="http://twitter.com/jjcomer"&gt;Josh&lt;/a&gt; sent me a &lt;a href="http://www.google.com/buzz/102027212307619239744/JU5Z4NzAjLj/Are-creationists-aware-of-the-success-of-genetic"&gt;conversation&lt;/a&gt; on Google Buzz he thought I'd find interesting. I haven't used Buzz yet, but I read the post in its entirety. After spending 10 minutes crafting a reply, I thought I'd post it instead. My reply sort of embodies and expands upon things I've blogged about &lt;a href="http://atteroignorantiam.blogspot.com/2010/01/misunderstandings-of-evolution.html"&gt;previously&lt;/a&gt;. Here it is:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Interesting post - some arguments I disagree with. I think Ronan is onto something at the very end: genetic algorithms have a fitness function that is defined well ahead of time that every iterations is moving "towards." In reality, it's just a function that measures how "good" an algorithm is. Evolution in a biological sense has no such guiding principle. &lt;br /&gt;&lt;br /&gt;If there is an opportunity for a trait to be adaptive in a given environment, then it's possible that the trait will be expressed through any number of different mutations. It's not necessarily going to happen, and these opportunities come and go at random as an environment changes and as species migrate.&lt;br /&gt;&lt;br /&gt;Evolution is quite simply the change in gene frequencies in populations. We're not getting more complex, we're not going anywhere in particular, and we're no more or less "primitive" than our ancestors generally - only in specific ways we choose to measure ourselves by our own egocentric point of view. &lt;br /&gt;&lt;br /&gt;Evolution means that adaptive traits are passed onto offspring, and traits can emerge spontaneously. That's it. Once you accept the facts that&lt;ul&gt;&lt;li&gt;children inherit their parent's traits (anyone can see this - "he has his father's nose")&lt;/li&gt;&lt;li&gt;traits can change over time by changes in the genetic code (done by random - more frequent than you'd think - mutations, virus insertions, and deletions)&lt;/li&gt;&lt;/ul&gt;then you have to accept evolution. Or at least the "microevolution" discussed in the post.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7904844021826126569?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7904844021826126569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/02/google-buzz-response-to-evolutionist.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7904844021826126569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7904844021826126569'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/02/google-buzz-response-to-evolutionist.html' title='Google Buzz Response to Evolutionist Arguments'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1559278836127966848</id><published>2010-02-16T08:30:00.001-04:00</published><updated>2010-02-16T08:30:01.429-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='evolution tuesdays'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><title type='text'>Evolution Tuesday is Postponed</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/S3ia3m-smsI/AAAAAAAAAKE/7ceBqIxShCw/s1600-h/20100130.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 302px; height: 320px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/S3ia3m-smsI/AAAAAAAAAKE/7ceBqIxShCw/s320/20100130.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5438266830196873922" /&gt;&lt;/a&gt;I have the schedule from Hell (if it existed), so I'm going to postpone this weeks' Evolution Tuesday. Perhaps until March Break. We'll see. I may take time to do a post on "How Much I hate Paired Programming, and Why You Should, Too!"&lt;br /&gt;&lt;br /&gt;Regardless, stay tuned because the next post will be about sex! Sexual reproduction, that is, and how it contributes greatly to the diversity of gene frequencies in population! We're very quickly working our way up to the Grand Unifying Theory of Biology: Evolution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1559278836127966848?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/1559278836127966848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/02/evolution-tuesday-is-postponed.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1559278836127966848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1559278836127966848'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/02/evolution-tuesday-is-postponed.html' title='Evolution Tuesday is Postponed'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_9fyekwTM7U8/S3ia3m-smsI/AAAAAAAAAKE/7ceBqIxShCw/s72-c/20100130.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-8386866452168840017</id><published>2010-02-09T08:30:00.006-04:00</published><updated>2010-02-09T08:30:01.329-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='genetics'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution tuesdays'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>Basics of Genetics Part II</title><content type='html'>Last Tuesday, I posted about the basics of genetics. Today, I'm going to expand a bit to explain "junk" DNA, mutations, and the actual study of genetics.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Junk DNA&lt;/h2&gt;I explained last week how DNA transcribes to RNA to form protein. However, there is a lot of DNA in any organism. The Human Genome contains over &lt;a href="http://en.wikipedia.org/wiki/Human_genome"&gt;3 billion base&lt;/a&gt; pairs. That's a lot. However, not all that DNA does stuff.&lt;br /&gt;&lt;br /&gt;The overwhelming majority of the human genetic sequence is made up of this "Junk DNA"; an estimated 95%. This number is contested, of course, and the definition of "Junk DNA" is not universally agreed upon. Some people insist it must not code for proteins, while other insist the proteins it codes for must have no function. The idea is, however, that it is useless in our typical view of the function of DNA.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scienceblog.com/cms/findings-challenge-basic-views-human-genome-13465.html"&gt;Recent research&lt;/a&gt; suggests that this majority of Junk DNA may actually be a complex functioning network with more subtle effects on our cells.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Mutations&lt;/h2&gt;While replicating DNA is &lt;i&gt;supposed&lt;/i&gt; to copy itself identically, shit happens. Deletions, insertions, and replacements into DNA can occur. Two of the biggest misconceptions about mutations are that they are unnatural and rare, and that they are harmful. Mutations occur in your body with alarming frequency as a part of life. Most, however, are not harmful. Consider that only 5% of your DNA actually codes for proteins. There's a 19/20 chance that any mutation won't have any, even a minute, effect on your body at all. This of course blows out of the water they fact that every cell in your body has identical DNA. Close, but not identical in the strictest sense.&lt;br /&gt;&lt;br /&gt;DNA is a lot like a linked list. It's not an array. If DNA is a linked list, and you added or deleted nodes (base pairs) of the list &lt;i&gt;before&lt;/i&gt; a section of coding DNA, it's no big deal. Certain combinations of base pairs form instructions to begin coding a protein. The fact that these sequences begin at DNA[255] before and now begin at DNA[254] don't matter. The RNA "knows" a reference to a DNA sequence in "memory", not an index to it in an array (Heap vs. Stack).&lt;br /&gt;&lt;br /&gt;This is kind of neat; mutations can occur in ancestors and not become apparent in coding DNA (due to subsequence mutations) until generations later. This is one of the ways that evolution is cool to me :)&lt;br /&gt;&lt;br /&gt;Mutations are not the only way that DNA is changed. Virus and retroviruses  are basically protein sheaths that inject DNA and RNA, respectively, into cells. In fact, an estimated 8% of our DNA actually &lt;a href="http://www.uta.edu/ucomm/mediarelations/press/2010/01/genome-biologist-reports.php"&gt;comes from viruses&lt;/a&gt; that infected our ancestors.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/1/17/Punnett_square_mendel_flowers.svg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 275px; height: 275px;" src="http://upload.wikimedia.org/wikipedia/commons/1/17/Punnett_square_mendel_flowers.svg" border="0" alt="" /&gt;&lt;/a&gt;&lt;h2&gt;Genetics and Mendel&lt;/h2&gt;Base pair sequences represent proteins. These sequence can be said to be "genes", because they do stuff. Hence genetics, the study of these genes. Genes represent a layer of abstraction for DNA; we can now focus on the effects of DNA rather than the specifics of how it works. &lt;br /&gt;&lt;br /&gt;The father of genetics is not Darwin. Darwin was unaware of &lt;i&gt;how&lt;/i&gt; parents pass inheritable traits to their offspring; he was just aware &lt;i&gt;that it happened&lt;/i&gt;. Ironically, the real father of genetics was operating in Augustine as a contemporary of Darwin who only published in German journals and never gained the fame he deserved until some 50 years after his death. Gregor Mendel was a monk who grew pea plants and wrote vast (I mean &lt;u&gt;vast&lt;/u&gt;) charts of their inherited traits on the walls of his basement.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/e/e8/Mendelian_inheritance_3_1.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 216px; height: 265px;" src="http://upload.wikimedia.org/wikipedia/commons/e/e8/Mendelian_inheritance_3_1.png" border="0" alt="" /&gt;&lt;/a&gt;Mendel devised that there are two genotypes: dominant and recessive. These genotypes are represented inside cells, while the phenotypes are the results of those genes. We now know that you have two genes for each type of genes (one on each chromosome - one from your dad and one from your mom). Knowing the genotypes of parents can predict the genotype distribution in the subsequent generation.&lt;br /&gt;&lt;br /&gt;Dominant genes typically "trump" recessive genes. Consider the ability to &lt;a href="http://www.thetech.org/genetics/ask.php?id=125"&gt;roll your tongue&lt;/a&gt;: it is a dominant trait. If you have either both genes to do it dominant, or only one of them, then you can roll your tongue. If you have only recessive genes, then you cannot. Period. It is impossible.&lt;br /&gt;&lt;br /&gt;Capital letters represent dominant genes, and lower-case letters represent recessive genes. Two parents with genotypes both Rr (dominant-recessive) both exhibit the dominant trait. Their children have a 1 in 4 chance of the four crosses of these genes: RR, Rr, rR, and rr. Notice that the order doesn't matter, so Rr and rR are equivalent. This means that the children have a 3/4 chances of exhibiting the dominant phenotype, but only have 1/4 chance of having &lt;i&gt;only&lt;/i&gt; dominant genes.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/3/3e/Autorecessive.svg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 270px; height: 316px;" src="http://upload.wikimedia.org/wikipedia/commons/3/3e/Autorecessive.svg" border="0" alt="" /&gt;&lt;/a&gt;Having the dominant-recessive mix can be advantageous, and in fact this is why some maladaptive genes survive. Consider sickle-cell anemia, afflicting populations in Africa. It is a genetic disorder where hemoglobin in red blood cells isn't circular, but shaped like a sickle. It doesn't work as a transfer for oxygen, and the afflicted person can die. &lt;br /&gt;&lt;br /&gt;This is a trait that requires &lt;i&gt;both&lt;/i&gt; dominant  genes (RR). Rr and rR genotype people are only &lt;i&gt;carriers&lt;/i&gt; of the genotype. If two Rr people mate, their children have a 1/4 chance of being afflicted with the anemia. 1/4 of course has a change of not being a carrier. Great, you think. Natural Selection will eventually lead to a population with no dominant genotype. Not so fast - the Rr are adaptive because they have an immunity to &lt;i&gt;malaria&lt;/i&gt;, which is very adaptive in Africa. That's a sad reality, and is why the sickle-cell anemia genes persist in the population.&lt;br /&gt;&lt;br /&gt;Genes are very fascinating; they are the manifestation of DNA and show the diversity of life. With this basic understanding of genetics and mutations, we are now equipped to talk about evolution next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-8386866452168840017?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/8386866452168840017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/02/basics-of-genetics-part-ii.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8386866452168840017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8386866452168840017'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/02/basics-of-genetics-part-ii.html' title='Basics of Genetics Part II'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-4016492959489614473</id><published>2010-02-02T09:30:00.000-04:00</published><updated>2010-02-02T09:31:54.936-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='evolution'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><category scheme='http://www.blogger.com/atom/ns#' term='faith'/><category scheme='http://www.blogger.com/atom/ns#' term='logic'/><title type='text'>Straw Man Accusation and Clarification</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/S2goO1n-o9I/AAAAAAAAAJ0/DMc8zMMQmkQ/s1600-h/20030116-2.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 388px; height: 400px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/S2goO1n-o9I/AAAAAAAAAJ0/DMc8zMMQmkQ/s400/20030116-2.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5433637185800545234" /&gt;&lt;/a&gt;My friend, who is a creationist, tried to point out a straw man fallacy in a &lt;a href="http://atteroignorantiam.blogspot.com/2010/01/misunderstandings-of-evolution.html"&gt;previous blog post&lt;/a&gt;. I disagreed with the premises of this argument, but I thought I'd clarify.&lt;br /&gt;&lt;br /&gt;My friend, let's call him Bruce, pointed out that, in most science, it is possible for anyone to attempt experiments to reproduce and test scientific theories. The only limitation is your interest and money. He argued that the same is not true of evolution, since we cannot test what has happened in the past. Interesting point.&lt;br /&gt;&lt;br /&gt;My complaint last week was that creationists demand mathematic-quality inductive-style proof of evolution. What I didn't explain to satisfaction was that they accept many other scientific theories without any such demand, creating a double-standard against evolution. This is true. But how about Bruce's argument that we can't tell what &lt;i&gt;has&lt;/i&gt; happened?&lt;br /&gt;&lt;br /&gt;Dawkins likes the analogue of a detective that arrives at the seen of a crime. He collects evidence in order to, within reasonable doubt, give a whodunit with an inevitable and dramatic court case to follow. Evolution is similar, not only with the evidence, but also with the unfortunate and crazy antics of being dragged into courtrooms by people who don't understand it.&lt;br /&gt;&lt;br /&gt;We have evolution that is corroborated by a myriad of radio-dating techniques, discreet levels of fossils, and DNA analysis. But hey - let's say that we don't take that into account. We don't &lt;i&gt;really&lt;/i&gt; know, they say. We weren't there. Bruce and I got into a debate over the merits of radio-dating. I'm not a geologist, so I can't do the science justice. My interest lies in biology, so that's where I will focus my response.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_9fyekwTM7U8/S2goTohQLkI/AAAAAAAAAJ8/rYCHWGzaBDk/s1600-h/20061106.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 345px; height: 400px;" src="http://1.bp.blogspot.com/_9fyekwTM7U8/S2goTohQLkI/AAAAAAAAAJ8/rYCHWGzaBDk/s400/20061106.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5433637268182019650" /&gt;&lt;/a&gt;We can observe evolution in present day (what is (sometimes vindictively named "micro-evolution"). Look at the &lt;a href="http://en.wikipedia.org/wiki/Peppered_moth_evolution"&gt;Peppered Moth&lt;/a&gt; for a great example. The biology is sound; the only two remaining chinks in the armour of the case for evolution are the time required and how it all began.&lt;br /&gt;&lt;br /&gt;The time involved is, to me, a non-issue. We have radio isotopes that decay at a steady rate since the creation of that matter, and we can date the age of the earth to about 4.5 billion years old. To deny this is to basically admit that you're arguing science from the Bible, which is certainly fallacious. The "how it got started" remains a topic of scientific inquiry. I don't know, but I'm confident that we won't stop looking for an answer until we have one.&lt;br /&gt;&lt;br /&gt;In the end, we can't &lt;i&gt;really&lt;/i&gt; hope to repeat scientific experiments to exhaustion until we're satisfied with the results because we don't have the time or money to get a dozen PhDs each (despite what the "Free PSE" crowd says - zing!). We have to rely on the scientific peer-review process and rely on the fact that bad science is outed. Our understanding of evolution has been around for 150 years, and has been scrutinized and revised over that time. It hasn't &lt;i&gt;evolved&lt;/i&gt;, though the pun is tempting, but it has adapted to account for new information. &lt;br /&gt;&lt;br /&gt;As a final thought, think to yourselves what is more likely: a scientific theory that reasonably explains something has been tested and verified, or a world-wide cartel of researchers, journal publishers, textbook publishers, and authors has conspired to prop up a false theory, and refuse to accept the fact that they're wrong because of ... what again? I thought so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-4016492959489614473?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/4016492959489614473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/02/straw-man-accusation-and-clarification.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4016492959489614473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4016492959489614473'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/02/straw-man-accusation-and-clarification.html' title='Straw Man Accusation and Clarification'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/S2goO1n-o9I/AAAAAAAAAJ0/DMc8zMMQmkQ/s72-c/20030116-2.gif' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-5225526270726887760</id><published>2010-02-02T08:30:00.004-04:00</published><updated>2010-02-02T08:54:10.145-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='evolution tuesdays'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>Basics of Genetics Part I</title><content type='html'>Last Tuesday I wrote a post about &lt;a href="http://atteroignorantiam.blogspot.com/2010/01/misunderstandings-of-evolution.html"&gt;misunderstandings of evolution&lt;/a&gt;. I believe that the root of skepticism of scientific facts like evolution is lack of understanding. I'd like to help correct that and to that end, I'll be doing a few posts explaining the basics of evolution. Hopefully these will spark some interest and understanding the next time you're thinking about Life, the Universe, and Everything, or maybe it'll help you win a logical argument about the aforementioned important stuff.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.chem.cmu.edu/groups/achim/images/res-supr-fig4-big.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 285px; height: 411px;" src="http://www.chem.cmu.edu/groups/achim/images/res-supr-fig4-big.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;h2&gt;DNA Representation and Replication&lt;/h2&gt;DNA stands for deoxyribonucleic acid. It was discovered by Watson and Crick in the 1930's in the same hospital that just months prior was home to the birth of Douglas Noel Adams, who shares the famous abbreviation. DNA is present in all cells in your body. It is made up of four different nucleotide base pairs. These pairs are called A, C, T, and G. It is not important what these stand for, because you'll rarely use the term guanine because it's easier to say "G".&lt;br /&gt;&lt;br /&gt;DNA exists like a ladder that is twisted from head to toe to form a double helix. Rungs of the ladder represent connections between two base pairs, with the sides of the ladder representing nucleotide base pairs. A attaches only to T and C attaches only to G, and vice-versa. THis is because A-T connections are double-bonds and C-G connections are triple bonds. No overlap. Therefore, you can use one side of this "ladder" to form it's &lt;i&gt;complement&lt;/i&gt;, the other side. &lt;code&gt;A C T G C C T G&lt;br /&gt;T G A C G G A C&lt;/code&gt;the top and bottom lines correspond to one another. This is important for DNA to replicate when cells divide; the ladder is straightened and cut down the middle of it's rungs. Free-floating base pairs join the half-rungs and form two new, identical ladders. This process is happening every second of every day in the cells of your body.&lt;br /&gt;&lt;br /&gt;This is how DNA replicates in cells, but how does it define you?&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;How DNA Defines You&lt;/h2&gt;DNA doesn't only split apart for replication; it also separates temporarily to produce proteins. It splits up, like when it replicates, and RNA (ribonucleic acid) lines up along one side of the DNA. Like with DNA replication, only certain amino acids in RNA align with the amino acids in DNA. RNA does not have T, but instead has U. A DNA sequence (top) corresponds to the RNA sequence (bottom):&lt;code&gt;A T G C A T T A G&lt;br /&gt;U A C G U A A U C&lt;/code&gt;This process is called transcription. Not so hard, right?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/en/d/d4/RNA-codons.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 225px; height: 382px;" src="http://upload.wikimedia.org/wikipedia/en/d/d4/RNA-codons.png" border="0" alt="" /&gt;&lt;/a&gt;The RNA then leaves the nucleus of the cell (where DNA resides) and goes to ribosomes, an organelle that exists inside cells. These ribosomes take the ordered RNA sequences, in groups of three base pairs, or &lt;i&gt;codons&lt;/i&gt;, and selects an amino acid for each group of three and joins them in the same order. This amino acids are bonded together in a polypeptide chain to form (drumroll please ...) a protein! Please note that the finer points of RNA, including the difference between &lt;i&gt;messenger&lt;/i&gt; RNA and &lt;i&gt;transport&lt;/i&gt; RNA is beyond the scope of this introductory post.&lt;br /&gt;&lt;br /&gt;The table that defines which groups of codons code for amino acids is available on &lt;a href="http://en.wikipedia.org/wiki/Genetic_code#RNA_codon_table"&gt;Wikipedia&lt;/a&gt;, so given a sequence of DNA, &lt;i &gt;you&lt;/i&gt; could figure out which proteins are created! I wrote a C++ program in High School to do just that, automatically. It was better than transcribing the DNA and looking up the amino acids for the several hundred base pairs on my Biology assignment.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Proteins&lt;/h2&gt;Proteins' shapes are defined by the amino acids that they are made up of. Likewise, proteins' shapes define their function. These proteins go about your body and are used in a lot of different ways. They define whether your hair is curly or straight, the pigment of your skin, and many other characteristics. The biggest function of proteins is the formation of enzymes. Enzymes are "like, crazy, whoa", in the words of my fiancee. They are the proteins that actually &lt;i&gt;do&lt;/i&gt; things. They are the controllers of chemical reactions inside the cells and outside the cells. They are heavily relied upon in digestion.&lt;br /&gt;&lt;br /&gt;Different proteins are used at different times in your life, but not all DNA is used to code for proteins. I'll get to that next time, when I discuss mutations and applied genetics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-5225526270726887760?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/5225526270726887760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/02/basics-of-genetics-part-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5225526270726887760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5225526270726887760'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/02/basics-of-genetics-part-i.html' title='Basics of Genetics Part I'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-5747488375192219174</id><published>2010-01-26T08:30:00.006-04:00</published><updated>2010-02-02T08:54:36.814-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='evolution tuesdays'/><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='evolution'/><category scheme='http://www.blogger.com/atom/ns#' term='sci-fi'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>Misunderstandings of Evolution</title><content type='html'>I &lt;a href="https://twitter.com/GreyEyes/status/8157529920"&gt;tweeted&lt;/a&gt; the other day about a software engineering assignment I was working on. Question 1: Name something in the room that is not designed. I want to answer "myself", but I've gotten in trouble before when trying to piss teachers off by pressing their buttons. My friend Paddy &lt;a href="https://twitter.com/tapi/status/8157916860"&gt;jest-fully replied&lt;/a&gt;, suggesting a waterfall model is an appropriate design metaphor. For those of you lucky enough to not be familiar with the &lt;a href="http://en.wikipedia.org/wiki/Waterfall_model"&gt;waterfall development methodology&lt;/a&gt;, it is an iterative developer methodology that builds on previous iterations to improve a product through specific design phases:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/en/e/e2/Waterfall_model.svg"&gt;&lt;img style="border: none; display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://upload.wikimedia.org/wikipedia/en/e/e2/Waterfall_model.svg" border="0" alt="" /&gt;&lt;/a&gt;I cannot stress enough how this model does not represent how evolution actually works.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.ivstatic.com/files/et/imagecache/636/files/blog_articles/avatar-gun.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 318px; height: 238px;" src="http://www.ivstatic.com/files/et/imagecache/636/files/blog_articles/avatar-gun.jpg" border="0" alt="BFG" /&gt;&lt;/a&gt;Evolution is a smattering of random mutations. Think of it like the largest shotgun you've ever seen, even in &lt;span style="font-style:italic;"&gt;Avatar&lt;/span&gt;. Think of several hundred million million of them. Imagine evolution as each one of those shotguns firing into the dark. If they hit something, great! But they were not aiming at all. They just fired blindly. &lt;br /&gt;&lt;br /&gt;In nature, if a mutation works for a population, we call it &lt;i&gt;adaptive&lt;/i&gt;. If a trait is adaptive in an environment (which can change), it is &lt;i&gt;possible&lt;/i&gt; that the mutation will occur and flourish in the population. It's not guaranteed, but human trials have concluded this. The difference is, human trials are artificial selection, and nature is natural selection. &lt;br /&gt;&lt;br /&gt;Natural selection, however, isn't working &lt;i&gt;towards&lt;/i&gt; anything. Genes propagate throughout a population if they are adaptive. If not, they don't. The problem with the waterfall analogy is that it works only from an egocentric historical perspective, looking &lt;i&gt;back&lt;/i&gt; at how we have evolved. We can see this in the &lt;a href="http://en.wikipedia.org/wiki/Phylogenetic_tree"&gt;Phylogenetic Tree&lt;/a&gt;: &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Tree_of_life_SVG.svg/500px-Tree_of_life_SVG.svg.png"&gt;&lt;img style="border: none; display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 500px; height: 500px;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Tree_of_life_SVG.svg/500px-Tree_of_life_SVG.svg.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We only see the adaptive mutations that have survived. Looking back, it's easy to &lt;i&gt;say&lt;/i&gt; "This is how we got here - gradually getting more human-like." But that's not the case. We were (and are) gradually (and sometimes quickly) mutating randomly and being selected non-randomly. To say it was a roll of the dice is not accurate; mutations are random, but the selection of which mutations are adaptive is not. &lt;br /&gt;&lt;br /&gt;These is no development methodology that is sufficiently analogous to be used in Paddy's simile. All methodologies work &lt;i&gt;towards&lt;/i&gt; something. They don't always have a specific goal in mind (I'm looking at you, Scrum), but they do work to iteratively improve the product. Evolution doesn't try to improve on a specific &lt;i&gt;feature&lt;/i&gt; of a population, it's just natural selection that makes advantageous gene mutations propagate; it doesn't work on individual products, but rather on vast &lt;i&gt;populations&lt;/i&gt; of individuals; it does not try and achieve some specified feature (like an eye, tooth, or wing), but diverges randomly and selects the traits that work in a given environment.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://images-3.redbubble.net/img/clothing/bodycolor:red/size:large/style:mens/view:main/3038033-1-evolution-of-spock-star-trek.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 220px; height: 220px;" src="http://images-3.redbubble.net/img/clothing/bodycolor:red/size:large/style:mens/view:main/3038033-1-evolution-of-spock-star-trek.jpg" border="0" alt="" /&gt;&lt;/a&gt;I think a big culprit of misreporting evolution is Science Fiction. To name a few popular ones, there's StarGate, Star Trek, Farscape (ha! popular :P). These shows have all presented a version of evolution that is purely scientific fiction. These shows talk about "Step forwards" in evolution that don't exist. They extrapolate millions of years of evolution from dinosaurs (in seconds, I might add, which is computationally impossible). They present an evolution which isn't the same scientific theory as biologists use, but they do it so well, it's easy to see where some creationist arguments come from.&lt;br /&gt;&lt;br /&gt;Evolution is often countered by creationists that argue that we can't possibly know how we got here, since we're looking back through history. They insist on the need for mathematical theorem-quality &lt;i&gt;proofs&lt;/i&gt; that indicate evolution is true. These are neither possible nor relevant. Many things cannot be &lt;i&gt;proven&lt;/i&gt;, but we rely on the fact that they &lt;i&gt;are&lt;/i&gt; true every day. For example, you couldn't prove to the degree that creationists demand that the earth revolves around the sun, but we rely on this fact every day to explain our solar system.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i.imgur.com/bnfvU.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 377px; height: 411px;" src="http://i.imgur.com/bnfvU.png" border="0" alt="" /&gt;&lt;/a&gt;Another tactic used by evolution opponents is that scientists start with ideas and do experiments intended to prove those ideas. Starting with the Bible and working backwards is no different. The key here is that when starting with a hypothesis, even if experimental evidence proves that hypothesis to be wrong, scientists will accept that and we still have learned something. biblical creationists, on the other hand, will not accept the fact that the evidence proves their theory wrong and instead will come up with new ways to make the facts fit their hypothesis. If a hypothesis can't be proven wrong, it's hardly science, is it?&lt;br /&gt;&lt;br /&gt;One blog post is hardly sufficient to explain the subtleties of evolutionary biology. I'm not even a biologist, and only have a keen interest in it (which is great, since I'm marrying a biology enthusiast and student). If anyone wants clarification on any points, ask me, or take a look at Dawkin's &lt;a href="http://www.amazon.ca/Greatest-Show-Earth-Evidence-Evolution/dp/1416594787"&gt;new book&lt;/a&gt;. It &lt;i&gt;is&lt;/i&gt; Dawkins, after all, so he is a little crass. However, compared to The God Delusion, the book is a straight-forward lesson on evolutionary biology.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-5747488375192219174?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/5747488375192219174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/01/misunderstandings-of-evolution.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5747488375192219174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/5747488375192219174'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/01/misunderstandings-of-evolution.html' title='Misunderstandings of Evolution'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1599497049952377881</id><published>2010-01-18T17:19:00.007-04:00</published><updated>2010-01-18T17:31:02.544-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unbsu'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='democracy'/><title type='text'>On the Merits of Online Voting</title><content type='html'>Or how I learned to stop worrying and enjoy life.&lt;br /&gt;&lt;br /&gt;Ahem. &lt;br /&gt;&lt;br /&gt;Well, the Student Union is keeping online voting. The Brunswickan called me a "strong voice" for online voting, while the commenters on the NB Media Co-op site called me some other things I'm not going to repeat here. &lt;br /&gt;&lt;br /&gt;I'm not an expert and I never claimed to be. After the meeting, I spoke with Ryan Brideau, the VP-External who voted against keeping our system in favour of paper ballots because he liked the spirit of paper voting more than the electronic voting. I agreed with him at the time, but felt it was more pragmatic for our union to use online voting. &lt;br /&gt;&lt;br /&gt;However, now I'm not so sure. That is, not so sure if I prefer paper voting in spirit over online voting. Let me illustrate this with a flowchart:&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 252px; height: 541px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/S1TRCrOL7rI/AAAAAAAAAJs/m_fVnh0oI1k/s400/Elections_Blog.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5428193294780460722" /&gt;I thought paper ballots were better in principle, but I'm not so sure anymore. I mean, look at BattleStar Galactica! They cheated an elections there and they were using &lt;i&gt;paper ballots&lt;/i&gt;! In all seriousness, though, people often point to the US Elections to show how one system is better than the other. Either paper ballots suck because "look what happened in Florida!", or electronic voting sucks because "look what happened in Florida!" Unimpressed Ash is unimpressed.&lt;br /&gt;&lt;br /&gt;The fact of the matter is, neither system is perfect because a perfect voting system doesn't exist. If we accept this fact and try to instead minimize costs while maximizing accountability, I think that preferences between online and paper voting will differ from situation to situation. In the case of the UNB Student Union, I believe we made the right choice to uphold online voting, because the alternative is intractable.&lt;br /&gt;&lt;br /&gt;I'll be mulling this issue over for a while, I assure you, and I may sway back to my position that paper is better in principle (after all, they both start with the letter "p"!), and I'll let you know if I do. &lt;br /&gt;&lt;br /&gt;I hate to disable comments on a blog post, but I'm going to do it here because I don't feel like getting flamed or dragged into some sort of pissing contest or name-calling. This is my opinion, and not the opinion of anyone else, so piss off if you don't agree with me. My email is public, so if you want to say something to me, &lt;a href="http://unbsu.ca/content/239081"&gt;say it to my face&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Warm wishes to you and yours!&lt;br /&gt;Ash Furrow&lt;br /&gt;UNB SU Computer Science Representative.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1599497049952377881?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1599497049952377881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1599497049952377881'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/01/on-merits-of-online-voting.html' title='On the Merits of Online Voting'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/S1TRCrOL7rI/AAAAAAAAAJs/m_fVnh0oI1k/s72-c/Elections_Blog.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-3247921788007599865</id><published>2010-01-17T18:00:00.005-04:00</published><updated>2010-03-10T13:09:26.737-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='CoffeeTimerApp'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='objective-c'/><title type='text'>Thoughts on iPhone Development</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9fyekwTM7U8/S1OJD7JJ07I/AAAAAAAAAJc/9V-_5w0KqE4/s1600-h/a4b2897f897868.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 355px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/S1OJD7JJ07I/AAAAAAAAAJc/9V-_5w0KqE4/s400/a4b2897f897868.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5427832676420277170" /&gt;&lt;/a&gt;Well, I've finished developing and have released my &lt;a href="http://coffeetimerapp.com"&gt;CoffeTimer&lt;/a&gt; (&lt;a href="http://twitter.com/CoffeeTimerApp"&gt;twitter&lt;/a&gt;). I had a lot of help from &lt;a href="http://stackoverflow.com"&gt;StackOverflow&lt;/a&gt; and particularly, my friend &lt;a href="http://twitter.com/jasonbrennan"&gt;Jason&lt;/a&gt;. It has been a rollercoaster.&lt;br /&gt;&lt;h2&gt;Platform Choice&lt;/h2&gt;Someone recently asked me why I chose the iPhone as a platform for my application. I feel I didn't really give them a satisfactory answer, so I'll try again here.&lt;br /&gt;&lt;br /&gt;I worked for a company that produces handheld devices other than the iPhone (which is the root of their question - why not that platform?). One of the reasons is because I didn't want to be accused by anyone of using insider knowledge to develop my sweet App. Also, I have heard Apple's the easiest to develop for in terms of consistent and easy UI. This is important to me, and while I am interested in Human-Computer Interaction research, I am not a UI developer. I wasn't prepared to make my UI kit from scratch, so I used Apple's. &lt;br /&gt;&lt;br /&gt;Primarily, though, I chose the iPhone because I own an iPod touch, and no other handhelds than a plain old cell phone. Developing for another platform would mean getting a hold of devices (plural!) to test on. the iPhone has an OS that is common to all devices and I can be sure that if it runs on my iPod, it'll be fine on anything else. This is probably a virtue of the iPhone's infancy in the handheld market; I'm sure things will get buggered up given enough time, but I took advantage of this fact while I could.&lt;br /&gt;&lt;h2&gt;Documentation&lt;/h2&gt;First off, Apple's &lt;a href="http://developer.apple.com/iphone/library/navigation/index.html"&gt;Developer Documentation&lt;/a&gt; is extensive. Each class and/or concept has three components: a library specification, a programming guide, and a programming tutorial. This doesn't even mention the many, many different complete sample applications they have. However, you really need to know your way around a Mac, because a lot of the documentation is only relevant to the version of the XCode IDE that was around when the documentation was written. &lt;br /&gt;&lt;br /&gt;Human Interface Guidelines are awesome. They are strict, explicit, understandable, and intuitive rules for a developer to follow to ensure a consistent user experience. This includes some pretty pedantic, but subtly important stuff. For example, the &lt;a href="http://developer.apple.com/iphone/library/documentation/UserExperience/Conceptual/MobileHIG/ContentViews/ContentViews.html#//apple_ref/doc/uid/TP40006556-CH12-SW13"&gt;difference&lt;/a&gt; between disclosure indicators and detail disclosure indicators on UITableViewCells. Wow. Any developer who is unwilling or unable to follow consistent and well-defined human interface guidelines should stay within the protective cocoon of academia. Seriously.&lt;br /&gt;&lt;h2&gt;Project Management&lt;/h2&gt;There is a lot to do between writing and releasing code. However, I was myself responsible for the activities that would have normally consumed an entire software development team, including project descriptions, icons, translations, and more. It is, as Apple claims, the quickest route from code to customer, but there is a lot to know. My next app will go a lot smoother now that I know all the tricks. And there are a lot of tricks.&lt;br /&gt;&lt;br /&gt;Releasing an App requires you to use iTunes Connect. The interface is oddly unlike Apple - unintuitive and hard to use. Perhaps it's just me. My app was originally rejected because it was trying to load a Unit Testing framework not available on the device, so it crashed. That took some figuring out.&lt;br /&gt;&lt;br /&gt;Apple supplies some promotional materials (images and documents) that you're allowed to use if you sign and mail them some more contracts, on top of the GST/HST contract. I'll get around to it eventually ...&lt;br /&gt;&lt;h2&gt;The Finished Product&lt;/h2&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/browserRedirect?url=itms%253A%252F%252Fitunes.apple.com%252FWebObjects%252FMZStore.woa%252Fwa%252FviewSoftware%253Fid%253D349578616%2526mt%253D8"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 194px; height: 193px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/S1OJXG3s7_I/AAAAAAAAAJk/1kki1wx8yTk/s320/WebIcon.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5427833005985820658" /&gt;&lt;/a&gt;&lt;a href="http://coffeetimerapp.com"&gt;CoffeeTimer&lt;/a&gt; is currently at 2.2, with 2.3 awaiting approval. I'll be listening for any feedback, of course. I'm not sure when I'll have the time to write another App, but I have a few ideas. Maybe this summer, when I'm not so busy will school work and volunteerism. Ah, who am I kidding, this might be it, but it's been a blast. &lt;br /&gt;&lt;br /&gt;Also, I'd like to point out that while there is a veritable plethora of public domain sounds, very few of them are good for alarms. I settled for applause, a cup of (gasp!) tea being poured, "Ding", a Cuckoo clock, and Canadian Geese. Awesome.&lt;br /&gt;&lt;h2&gt;Learning the API&lt;/h2&gt;The Sanford CS193p lectures available on iTunes U are useful, but not as much as I would have expected. I already knew some Objective-C, and they seemed designed for people who have never programmed before. They were useful to get an idea of the practices, but nothing code-specific. &lt;br /&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;I guess in the end it's like any development club; hard to break into at first, easy once you know what you're doing, and there's always someone to lend a hand if you &lt;a href="http://lmgtfy.com/"&gt;Google&lt;/a&gt; first and ask the right question. For anyone looking to get into iPhone Development, I encourage you to take a look! The simulator is free, to feel free to have a go and see if you're interested in getting in the App Store!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-3247921788007599865?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/3247921788007599865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/01/thoughts-on-iphone-development.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3247921788007599865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/3247921788007599865'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/01/thoughts-on-iphone-development.html' title='Thoughts on iPhone Development'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9fyekwTM7U8/S1OJD7JJ07I/AAAAAAAAAJc/9V-_5w0KqE4/s72-c/a4b2897f897868.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-1420704404569760199</id><published>2010-01-10T12:03:00.006-04:00</published><updated>2010-01-10T12:23:26.365-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='h1n1'/><category scheme='http://www.blogger.com/atom/ns#' term='health'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>There is Nothing to Fear but Fear Itself. And H1N1.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/S0n-TVEHhLI/AAAAAAAAAJU/lIX4Yz2e6PM/s1600-h/20060813.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 357px; height: 400px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/S0n-TVEHhLI/AAAAAAAAAJU/lIX4Yz2e6PM/s400/20060813.gif" border="0" alt="Thanks to SMBC Comics!"id="BLOGGER_PHOTO_ID_5425146834169857202" /&gt;&lt;/a&gt;I wish I had blogged about this sooner, but friends of mine can attest that I made this prediction early last fall:&lt;blockquote&gt;One of two possible outcomes will occur: A) Everybody gets infected with H1N1 and the vaccine proponents raise a giant "I told you so" sign in front of everyone else, or B) The pandemic stays under control and the vaccine proponents raise a giant "Thank goodness - it was all the vaccine!"&lt;/blockquote&gt;I've already begun seeing news headlines (though Google has failed me) to the effect of B. &lt;br /&gt;&lt;br /&gt;Were the vaccines effective? Sure - against individuals receiving the vaccine. They were less effective against stopping the pandemic in general. I don't mind people suggesting the vaccine at all - it is prudent to get it in a lot of cases, including health and age. What I mind are the people who insist by electing &lt;i&gt;not&lt;/i&gt; to get the vaccine, I am somehow endangering their health. Or their children's. Or the dog's. It's a bit ridiculous.&lt;br /&gt;&lt;br /&gt;There was a CBC Radio interview on the radio late 2009 with the mother of NB's &lt;a href="http://www.cbc.ca/canada/new-brunswick/story/2009/12/29/nb-flu-death.html"&gt;most recent victim&lt;/a&gt;, and 29-year old asthma sufferer who was not vaccinated. He was hospitalized for over a month before succumbing to the virus, with complications along the way. I feel for this woman, and the young man's family, I really do, but that doesn't mean that everyone needs to get the vaccine.&lt;br /&gt;&lt;br /&gt;Everyone and their dog can tell you that the media is blowing things out of proportion. Christ - the media is even telling you this! But I'm surrounded by my rational friends who are reacting to this media-overload, and I find myself doing the same thing. No one is immune to the forces of marketing. &lt;br /&gt;&lt;br /&gt;So - what's the point of this post? It's to remind everyone - including myself - that things are going to be alright, that the overwhelming majority of people are going to come out of this pandemic unscathed, and that we shouldn't let the fear of H1N1 become more dangerous than the virus itself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-1420704404569760199?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/1420704404569760199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/01/there-is-nothing-to-fear-but-fear.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1420704404569760199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/1420704404569760199'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/01/there-is-nothing-to-fear-but-fear.html' title='There is Nothing to Fear but Fear Itself. And H1N1.'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/S0n-TVEHhLI/AAAAAAAAAJU/lIX4Yz2e6PM/s72-c/20060813.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-7228513087357273384</id><published>2010-01-04T22:00:00.001-04:00</published><updated>2010-01-04T22:13:43.357-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='objective-c'/><title type='text'>Comparison of C# to Objective-C Properties</title><content type='html'>So I've been learning Objective-C over the past few weeks, coming off of a year of professional C# development. It's been an interesting experience; the hardest part of learning to program for any new platform is learning the API. The API provides conveniences to the programmer (so they don't have to reinvent the wheel each time and fuck up the entire program in the process) and also provide access to features available on that device. Apple is big on the second point, and they provide books worth of documentation, for free, for developers to use in order to make sure the programs on the iPhone/iTouch provide a good user experience.&lt;br /&gt;&lt;br /&gt;A really nifty feature that both C# (.Net 3.0+) and Objective-C 2.0+ have is called "properties." A property is a public member of a class that exposes a private one (yes - I'm aware that "member" is a C# term). These are analogous to getters and setters that Java students learn on their first day of Object-Oriented Programming. &lt;br /&gt;&lt;br /&gt;Properties are accessed in both languages via dot-syntax. In C#, properties are declared as either &lt;code&gt;public int Number {get;set;}&lt;/code&gt; ... or if you want to do things yourself...&lt;code&gt;private int number;&lt;br /&gt;public int Number{&lt;br /&gt;  get { return this.number; }&lt;br /&gt;  set { this.number = value; }&lt;br /&gt;}&lt;/code&gt;Now, with Objective-C 2.0, properties are done like this:&lt;code&gt;@interface MyClass : NSObject&lt;br /&gt;{&lt;br /&gt;  int number;&lt;br /&gt;} &lt;br /&gt;@property (&lt;i&gt;options&lt;/i&gt;) int number;&lt;br /&gt;@end&lt;br /&gt;&lt;br /&gt;@implementation SomeClass&lt;br /&gt;@synthesize number;&lt;br /&gt;@end&lt;/code&gt;Notice the key difference: Objective-C requires a private variable of the same name (well, you can change that, but whatever). C# automatic properties don't require this private member.&lt;br /&gt;&lt;br /&gt;This is important because in C#, unless you do the heavy-lifting, and special logic that you have it your getters or setters is must be applied when you access the data from within the object itself (where you can assure yourself that &lt;i&gt;you&lt;/i&gt; know what you're doing). Consider the following example: You have a Time property that gives out and accepts hours as a long, but stores the info internally as seconds. In your getter, you'd need to have additional logic to convert and in your setter, you need the same, and maybe some exception throwing if you get an invalid entry. But you'd &lt;u&gt;have to do the heavy-lifting&lt;/u&gt;. This isn't the case in Objective-C.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-7228513087357273384?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/7228513087357273384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/01/comparison-of-c-to-objective-c.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7228513087357273384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/7228513087357273384'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/01/comparison-of-c-to-objective-c.html' title='Comparison of C# to Objective-C Properties'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-8141009563882853136</id><published>2010-01-02T13:04:00.003-04:00</published><updated>2010-01-02T13:16:46.481-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fail'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Rude Kijiji Repliers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/Sz9_cGnqwFI/AAAAAAAAAJE/LBoGVeHc05A/s1600-h/20070224after.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 194px; height: 200px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/Sz9_cGnqwFI/AAAAAAAAAJE/LBoGVeHc05A/s200/20070224after.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5422192597167423570" /&gt;&lt;/a&gt;Yesterday I put up &lt;a href="http://fredericton.kijiji.ca/c-buy-and-sell-computers-Apple-PowerBook-G4-Laptop-Sold-for-270-W0QQAdIdZ177291077"&gt;this ad&lt;/a&gt; on &lt;a href="http://fredericton.kijiji.com"&gt;kijiji&lt;/a&gt;. It read:&lt;blockquote&gt;I am offering a 1.67 GHz 2 GB RAM powerbook from a smoke free home. 17" is great for watching movies on, and I have the cables to hook it up to any TV for video and sound, so it'd make a good multimedia system. I have freshly wiped it with Mac OS X 10.5, so when you turn it on it'll be like factory new.&lt;br /&gt;&lt;br /&gt;One small dent on the side. The battery has seen better days; it'll hold a charge for about 90 minutes. 100 GB Hard Drive and DVD burner, too.&lt;br /&gt;&lt;br /&gt;Make me an offer!&lt;/blockquote&gt;It requested $300 or best offer. And wow, some of the replies I got ... lacked tact. Here are a few excerpts:&lt;blockquote&gt;Send me your phone number and we will discuss.&lt;/blockquote&gt;I absolutely &lt;b&gt;hate&lt;/b&gt; it when people on kijiji refuse to work over email. It boggles the mind.&lt;blockquote&gt;200$ cash . leave your number if so.&lt;/blockquote&gt;&lt;blockquote&gt;Send me your phone number to make an appointment to view.&lt;/blockquote&gt;&lt;blockquote&gt;Send me your phone number to make an appointment to view.&lt;/blockquote&gt;&lt;blockquote&gt;do you still have? if so what is your number?&lt;/blockquote&gt;&lt;blockquote&gt;250 for your old G4&lt;/blockquote&gt;Obviously these people have never worked in retail.&lt;blockquote&gt;I will give you 220 for your old G4 and does it comes with an os disk?&lt;/blockquote&gt;&lt;blockquote&gt;Do you still have this labtop cause I am interested can give you 200 for it but make fast.&lt;/blockquote&gt;Stupid internet ruining our generation's patience.&lt;blockquote&gt;How old is your Powerbook G4? and does it comes with the disk? Is it in a good cosmetic condition? If yes to all question I will pay 240 for it not more cause it does not worth more then this. Send me an email if you want to sell it.&lt;/blockquote&gt;How can "yes" be the answer to "how old is it?"&lt;blockquote&gt;I want this please give me your number so I can call. Tks.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Lack of grammar, spelling, and manners abound. You wouldn't treat a salesman like this ... wait - three years in retail taught me they &lt;i&gt;would&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;For reference, this was the winner:&lt;blockquote&gt;What have you been offered so far? &lt;br /&gt;How about $250?&lt;/blockquote&gt;I managed to haggle up to $270 based on other offers. In less than 18 hours, the page had over 160 page views. *blink*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-8141009563882853136?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/8141009563882853136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/01/rude-kijiji-repliers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8141009563882853136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/8141009563882853136'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2010/01/rude-kijiji-repliers.html' title='Rude Kijiji Repliers'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/Sz9_cGnqwFI/AAAAAAAAAJE/LBoGVeHc05A/s72-c/20070224after.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-4355531940599551475</id><published>2009-12-21T16:32:00.004-04:00</published><updated>2009-12-21T17:43:28.823-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unit testing'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='objective-c'/><title type='text'>Unit Testing to Learn Frameworks</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9fyekwTM7U8/Sy_fLX7J67I/AAAAAAAAAI8/nWLBHC8dNHU/s1600-h/20080316.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 329px; height: 400px;" src="http://4.bp.blogspot.com/_9fyekwTM7U8/Sy_fLX7J67I/AAAAAAAAAI8/nWLBHC8dNHU/s400/20080316.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5417794263243680690" /&gt;&lt;/a&gt;I love unit tests and test driven developments. The best case I've heard against them is the question: "What tests the tests?" The answer is, your code does. Unit tests create a coupling with your code; if one does not work, then you can't ensure that the other one does (without extensive QA work). Normally it's desirable to avoid coupling in all forms (because we're CS people and CS people don't &lt;i&gt;couple&lt;/i&gt; with anything). &lt;br /&gt;&lt;br /&gt;However, coupling in this case ensures two things:&lt;ul&gt;&lt;li&gt;that your methods perform as expected&lt;/li&gt;&lt;li&gt;that you know what the fuck you're actually doing&lt;/li&gt;&lt;/ul&gt;That second point underscores the first: in order to write tests for a method, particularly &lt;i&gt;before&lt;/i&gt; you write the method itself, you have to know what that method is supposed to do. Subdividing the possible inputs and outputs into equivalency classes and testing one case from each class combination serves this purpose. Sometimes the test are longer than your code, but that's OK.&lt;br /&gt;&lt;br /&gt;So why do I mention frameworks? Well, because I'm teaching myself the Objective-C iPhone OS framework right now. I know languages, and I understood the syntax and quirks (except for memory management) of Obj-C in a few hours. It's taken me several weeks since then to learn the framework.&lt;br /&gt;&lt;br /&gt;The framework includes what my friend Jason calls "heavy lifting." The framework provides ADT's, UI Stuff, and a connection to the OS. Understanding how to and when to use the framework is a necessary (but not sufficient) condition to effectively writing an application. I find auto-complete helps a lot, but I thought of an even better way to do this the next time I need to learn a framework: unit test.&lt;br /&gt;&lt;br /&gt;It just occurred to me that &lt;i&gt;unit testing&lt;/i&gt; a framework would be the best way to learn about them. For example, to learn about the .Net List class, you'd test to see what happens when you try to retrieve items from a list with 0, 1, and more than 1 items (the contingency classes, as far as I can discern). By testing out how they work, you can learn how to use them.&lt;br /&gt;&lt;br /&gt;The only issue is, of course, you'd need to know the unit testing framework for &lt;i&gt;that&lt;/i&gt; framework first!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-4355531940599551475?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/4355531940599551475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2009/12/unit-testing-to-learn-frameworks.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4355531940599551475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/4355531940599551475'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2009/12/unit-testing-to-learn-frameworks.html' title='Unit Testing to Learn Frameworks'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9fyekwTM7U8/Sy_fLX7J67I/AAAAAAAAAI8/nWLBHC8dNHU/s72-c/20080316.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3330879629742965503.post-529462059525145622</id><published>2009-12-10T14:30:00.003-04:00</published><updated>2009-12-10T22:54:33.401-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unb'/><category scheme='http://www.blogger.com/atom/ns#' term='rant'/><category scheme='http://www.blogger.com/atom/ns#' term='unbsu'/><category scheme='http://www.blogger.com/atom/ns#' term='pse'/><title type='text'>The Problem with Free Post-Seconday Education</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.toothpastefordinner.com/123004/graduate-school.gif"&gt;&lt;img style="display: block; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 576px; height: 225px;" src="http://www.toothpastefordinner.com/123004/graduate-school.gif" border="0" alt="" /&gt;&lt;/a&gt;BAM. Title kind of hits the nail square on the head, doesn't it? Well, here we are, for Ash Furrow's opinion on why Post-Secondary Education shouldn't be free. &lt;br /&gt;&lt;br /&gt;First off, why the hell should it be? You're receiving something, and when you receive a good or service, you have to pay for it. Well, we could argue about the difference between an education and a cup of coffee, or perhaps look at the social costs and benefits, or we could get to the heart of things: free education is an answer to a problem. The problem &lt;u&gt;isn't&lt;/u&gt; that PSE isn't free, and making it free isn't the solution.&lt;br /&gt;&lt;h2&gt;The &lt;u&gt;Real&lt;/u&gt; Problem&lt;/h2&gt;The real problem in our society is that it is perceived that you need a degree to get anywheres. Is this perception true? Maybe. Consider: you need a degree to become an officer in our military; you need a degree to become a manager in our Government; companies like IBM will turn their noses up at brilliant employees just because they didn't spend 4+ in PSE.&lt;br /&gt;&lt;br /&gt;So what is the actual problem? PSE has become more a formality than formal education. It's perceived to be required because High School doesn't prepare anybody for anything.&lt;br /&gt;&lt;br /&gt;HS has been designed for academic achievers and "scaled down" to everybody else. The problem is that you can't do this and expect everyone to get the most out of the system. It's analogous to designing clothing for skinny people and making them bigger for large people: the clothes don't fit right.&lt;br /&gt;&lt;h2&gt;The Problem with the Free PSE "Solution"&lt;/h2&gt;I'm not going to make the case against Free PSE using Supply and Demand frameworks and market forces for three reasons:&lt;ul&gt;&lt;li&gt;It's all been said before.&lt;/li&gt;&lt;li&gt;I only have an introductory knowledge of either of these things, so I'm not qualified to make an argument without research.&lt;/li&gt;&lt;li&gt;The people fighting for Free PSE, in my experience, don't "believe in" the market, let alone believe that it should have &lt;i&gt;any&lt;/i&gt; influence on &lt;i&gt;anything&lt;/i&gt;.&lt;/li&gt;&lt;/ul&gt;Making education more affordable/accessible is a good thing because it allows more qualified individuals to attend. However, it also encourages people who aren't qualified to attend. This isn't saying too many people are coming to university; it's saying that too many people feel they &lt;i&gt;need&lt;/i&gt; to come to university.&lt;br /&gt;&lt;br /&gt;I didn't really like my HS principal, but there was one thing he and I agreed on completely: you don't need to go to university. He encouraged all of us to explore our options as far as trade schools, volunteer activities, going directly into the work force, or anything else we wanted to do. I think he had seen far too many parents push their students just to have their children return home "Christmas Graduates" to stand by anymore.&lt;br /&gt;&lt;br /&gt;So, if not everyone is fit for university, but society expects people to go to university, where does that leave a significant proportion of HS graduates? In the shitter, that's where. &lt;br /&gt;&lt;br /&gt;The problem with making PSE free is that more of these students are going to go and feel like they wasted their time. It's going to hurt the very people who it's trying to help.&lt;br /&gt;&lt;h2&gt;The Solution to the Problem&lt;/h2&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9fyekwTM7U8/SyG0RFWCTRI/AAAAAAAAAIw/dHs6KsMzHk4/s1600-h/20030509-2.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 392px; height: 400px;" src="http://2.bp.blogspot.com/_9fyekwTM7U8/SyG0RFWCTRI/AAAAAAAAAIw/dHs6KsMzHk4/s400/20030509-2.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5413806432661425426" /&gt;&lt;/a&gt;If making PSE free isn't the solution, then what gives? &lt;strike&gt;Clearly the solution to any social problem is socialism.&lt;/strike&gt; The solution to this isn't the BandAid that free PSE represents. Instead, it is going to require a fundamental shift in our perception of what exactly a HS diploma gets you.&lt;br /&gt;&lt;br /&gt;If I asked you right now what a diploma is worth, without any work experience, what you're answer be? Not much. Not much at all. What's the best way to get people to change their perception of this? Make the diploma worth something.&lt;br /&gt;&lt;br /&gt;I don't like the old system where you're essentially "sorted" into different streams: academic, industrial, and home eq. It limits students if they graduate and want to do something else later in life. A better solution would allow students to take courses that interest them and teach them valuable skills. &lt;br /&gt;&lt;br /&gt;There are only two construction courses offered currently in WHS. Students are forced to take Computer Applications and other uninteresting courses in order to get enough credits to graduate. &lt;br /&gt;&lt;br /&gt;I am picturing a system where a graduate of any Canadian HS can get a job somewhere other than the service industry. I want an education system that prepares citizens, not students. I want a system where every graduate knows how to balance a cheque book and use online banking to manage their lives; one where people know how to protect themselves from identity theft and can cook meals for a healthy diet.&lt;br /&gt;&lt;br /&gt;This problem extends further back than just to HS. It's a problem with our education system. I'd suggest taking all this money that could make PSE free (everyone assumes the government is just sitting on it) and invest it into something that actually &lt;i&gt;does&lt;/i&gt; help our entire society: education, but not necessarily PSE. By the time we're investing in citizens at a post-secondary level, we've already left a significant portion of society behind.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3330879629742965503-529462059525145622?l=atteroignorantiam.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://atteroignorantiam.blogspot.com/feeds/529462059525145622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://atteroignorantiam.blogspot.com/2009/12/problem-with-free-post-seconday.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/529462059525145622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3330879629742965503/posts/default/529462059525145622'/><link rel='alternate' type='text/html' href='http://atteroignorantiam.blogspot.com/2009/12/problem-with-free-post-seconday.html' title='The Problem with Free Post-Seconday Education'/><author><name>Ash Furrow</name><uri>http://www.blogger.com/profile/05230541271685400773</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_9fyekwTM7U8/SfJ56PDa5eI/AAAAAAAAAAM/ZldUN-9wA2A/S220/coffee.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9fyekwTM7U8/SyG0RFWCTRI/AAAAAAAAAIw/dHs6KsMzHk4/s72-c/20030509-2.gif' height='72' width='72'/><thr:total>10</thr:total></entry></feed>
