<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>~ryanlowe/blog</title>
<link>http://www.ryanlowe.ca/blog/</link>
<description></description>
<language>en-us</language>
<copyright>Copyright 2008</copyright>
<lastBuildDate>Mon, 21 Apr 2008 23:19:18 -0500</lastBuildDate>
<pubDate>Mon, 21 Apr 2008 23:22:34 -0500</pubDate>
<generator>http://www.movabletype.org/?v=3.11</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 

<item>
<title>blog@ryanlowe.ca no more</title>
<description><![CDATA[<p>Hey folks! It's been a while since I've blogged and unfortunately I won't be blogging much soon.  I just had to announce this...</p>

<p>I used to use <b>blog@ryanlowe.ca</b> on places that were posted publicly like blog comments and domain registrations.  I also used to use it on this blog for people to contact me about Ruby on Rails freelancing work.  Over the years it became a serious source of spam and almost no useful emails.  So as of today, blog@ryanlowe.ca bounces anything sent to it.</p>

<p>If you are looking for a freelance consultant with <b>three years of full-time Ruby on Rails experience</b> then I'm your guy.  Contact me at rails AT (this domain).  Cheers!</p>]]></description>
<link>http://www.ryanlowe.ca/blog/archives/001616_blogryanloweca_no_more.php</link>
<guid>http://www.ryanlowe.ca/blog/archives/001616_blogryanloweca_no_more.php</guid>
<category>Navel Gazing</category>
<pubDate>Mon, 21 Apr 2008 23:19:18 -0500</pubDate>
</item>
<item>
<title>Forging Email Headers: Good, Bad or Ugly?</title>
<description><![CDATA[<p>My new Ruby on Rails project <a href="http://www.heyheadsup.com">Hey! Heads Up</a> (<b>H!</b> for short) sends quite a bit of email to notify people about updates from others.  Should those updates appear to come from H! or from the person that triggered the notification?  I don't know enough about email to answer that question but I'll outline the problem and you can let me know what you think.</p>

<p>Hey! Heads up lets you manage "temporary" links.  They are temporary because you don't know if you want to keep them yet or not.  Maybe someone sent you an article/video/website but you don't have time to check it out.  You'll still want to keep track of it until you do read it but do you really want to bookmark it in the browser or on a site like <a href="http://del.icio.us">del.icio.us</a>?  H! is a "TODO" list of these temporary links, so you can prioritize them.</p>

<p>Once you do check out the article, H! lets you send it to other people that use H! (and soon to anyone by email).  When H! "sends" the item the other people are notified by email that there's a new item in their H! incoming list.  Right now this email appears to be from <b>Hey! Heads Up &lt;help@heyheadsup.com&gt;</b>.  Replies to this email address get forwarded to me, the website administrator.</p>

<p>But there are all sorts of problems with this approach to notifying by email, primarily spam filters.  Many people are now filtering email by their contact list and/or a <a href="http://en.wikipedia.org/wiki/Whitelist">whitelist</a> to reduce spam.  Unless help@heyheadsup.com is on their whitelist, people don't get H! notifications.</p>

<p>So my question is: would it be better to "forge" these notification emails to appear as though they are coming from the sender of the item?  Presumably these people are already in the contact lists of the people they are sending H! items to, so the notification has a much better chance of making it through the spam filters.</p>

<p>As well, seeing a notification coming from a specific person instead of help@heyheadsup.com for everyone could make it easier to sort and prioritize these notification emails in a person's email inbox.</p>

<p>Why is forging emails bad?  Some spam filters could flag emails sent by mail software from one domain (like heyheadsup.com) and forged with a "from" with another (like gmail.com).  But I've seen the technique used in a lot of places, so it's hard to say how much it is frowned upon.  As a website creator, forging emails would essentially be sending emails on a person's behalf.</p>

<p>How about the industry leaders?  Facebook's notification emails have a from text that looks like:  Facebook &lt;notification+m1--ujud@facebookmail.com&gt;.  The strange reply address could be used to sort feedback but otherwise it's a little confusing.  To top it off, using a similar-but-not-quite-the-same-domain (facebookmail.com instead of facebook.com) for emails is a common phishing technique.</p>

<p>Are there more precedents?  Is there any consensus?  Opinions are appreciated.  Would you want a site to send notification emails in your name?</p>

<p>BTW, if you want to give H! a try it is in alpha testing.  Fire me an email at blog[at]ryanlowe[dot]ca to join the alpha test group.</p>]]></description>
<link>http://www.ryanlowe.ca/blog/archives/001614_forging_email_headers_good_bad_or_ugly.php</link>
<guid>http://www.ryanlowe.ca/blog/archives/001614_forging_email_headers_good_bad_or_ugly.php</guid>
<category>Software Engineering</category>
<pubDate>Fri, 19 Oct 2007 12:22:37 -0500</pubDate>
</item>
<item>
<title>Sarcastic Dictionary (Part 1 of Many)</title>
<description><![CDATA[<p>Forgive the diversion, I have two new words for our ever-expanding English <a href="http://dictionary.reference.com/browse/lexicon">lexicon</a>.  Consider these my definitions, others may exist.</p>

<p><b>pre·tire·ment</b> is when a person take themselves "<i>off the market</i>", moves from downtown to the suburbs and subsequently raises kids on a responsibly-attained fixed income.  Fun is sometimes deferred until the retirement years and money is (again) responsibly saved to pay for it.  Other features of pretirement include a mortgage, car lease payments, thirty pounds and a sudden interest in interior decorating.</p>

<p>As the name suggests pretirement often directly preceeds retirement, although this isn't always the case, see: <i>born-again bachelor</i> on page 862.</p>

<p>An <b>un·ter·view</b> or a <b>re·cruit and switch</b> occurs when a person is recruited to work at a company, but the company interviews the person as though they had applied for the job.  The affect is amplified when the recruiter doesn't participate in the first interview and the reasons for recruitment in the first place are lost in the shuffle.  Relatively common in the high tech industry.</p>

<p><i>Standard Disclaimer</i></p>

<p>Entries in the Sarcastic Dictionary volumes I through XIV are not to be taken seriously ...with the possible exception of volume IX, it's exceptionally biting.</p>]]></description>
<link>http://www.ryanlowe.ca/blog/archives/001613_sarcastic_dictionary_part_1_of_many.php</link>
<guid>http://www.ryanlowe.ca/blog/archives/001613_sarcastic_dictionary_part_1_of_many.php</guid>
<category>Work</category>
<pubDate>Thu, 04 Oct 2007 12:05:28 -0500</pubDate>
</item>
<item>
<title>Tags Hierarchies</title>
<description><![CDATA[<p>I would like to explain an idea I have before I try to implement it.  I wouldn't doubt if this idea has been done before but I can't find any <a href="http://www.rubyonrails.org">Rails</a> implementations of it.</p>

<p>I want to support a tag hierarchies on <a href="http://www.heyheadsup.com">Hey! Heads Up</a>.  Tag hierarchies will result in implicit tagging, which most people do in their heads anyway.  Examples of implicit tagging will probably help:</p>

<p>1. Something tagged 'hockey' should also be tagged 'sport'<br />
2. Something tagged 'MacBook' should also be tagged 'Apple'<br />
3. Something tagged 'Rails' should also be tagged 'Ruby'</p>

<p>"<i>Why would I want all of these generalized implicit tags on my stuff?</i>", you might ask.  In <a href="http://www.heyheadsup.com">Hey! Heads Up</a> you can view your item lists by tag.  If I wanted to read all of the sports items I'd have to go through hockey, football, baseball, golf lists individually.</p>

<p>I could support AND-ing these tags together in the URL -- and I want support that, as well as support OR -- but just being able to say "<i>give me everything tagged 'sport'</i>" would be much cleaner.</p>

<p>Tagging is a personal thing and it seems like everyone does it differently.  That's one of the advantages of tagging over a predefined hierarchy.  But a lot of people don't like to be redundant.  If I tag something with 'hockey' I'm not going to explicitly tag it with 'sport' as well.</p>

<p>When tagging replaced hierarchies as the new way to classify/organize things in the "Web 2.0" world, we lost something.  We lost the implicit nature of hierarchies because tags are a flat <a href="http://en.wikipedia.org/wiki/Taxonomy">taxonomy</a>.  The upside is that now it's easier to classify things with tags that are <a href="http://dictionary.reference.com/browse/orthogonal">orthogonal</a> subjects -- like 'hockey' and 'book'.  But the hierarchical nature of each subject that was so handy is lost, so my hockey book wouldn't be classified with 'sport' and 'book'.</p>

<p>How do I support a tag hierarchy taxonomy?  I could make a global taxonomy for Hey! Heads Up and force implicit tags on people but that doesn't sound right.</p>

<p>A better solution is allowing people to create their own tag hierarchies.  Then they can make the hierarchies for certain subjects as detailed as they want them to be.  Every orthogonal subject would have its own tag hierarchy -- the subjects wouldn't be linked together at the top of the taxonomy.</p>

<p>Sure it's more work for people to set up but people who care about it will think it is worth it.  People already set up tagging (labelling) for web applications like Gmail in advance.  For everyone else, tag hierarchies will be optional and regular tagging will still be supported.</p>

<p>If Gmail had label hierarchies, I would definitely use them.  But perhaps I'm in the minority.</p>

<p>How I implement tag hierarchies on the back-end isn't that important to this discussion but it could result in a new Rails plugin, if there isn't already one out there.</p>]]></description>
<link>http://www.ryanlowe.ca/blog/archives/001612_tags_hierarchies.php</link>
<guid>http://www.ryanlowe.ca/blog/archives/001612_tags_hierarchies.php</guid>
<category>Ruby on Rails</category>
<pubDate>Thu, 27 Sep 2007 11:29:45 -0500</pubDate>
</item>
<item>
<title>Twisting Rails is Risky Business</title>
<description><![CDATA[<p>I normally don't jump into the PHP vs Ruby/Rails debates but this time I can't help myself.  Found via <a href="http://www.jumpsocial.com/blog/index.php/2007/09/23/php-vs-ruby">Darcy Whyte</a>, Derek Sivers' provocatively titled article <a href="http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html">7 reasons I switched back to PHP after 2 years on Rails</a> deserves a reply from the Rails community.</p>

<p>Let's start with his quote: <i>"...twisting the deep inner guts of Rails to make it do things it was never intended to do.  But at every step, it seemed our needs clashed with Rails’ preferences."</i></p>

<p>Derek switched his project from PHP to Rails, didn't do things "The Rails Way" and wonders why it was difficult.  The project failed and he rewrote the new version in PHP in two months, creating a smaller and custom framework inspired by Rails in the process.  </p>

<p>The Rails framework helps developers if they follow the conventions and can hurt them if they deviate too far from them.  Jeremy Kemper (bitsweat) knows this -- as do all good Ruby on Rails developers.  From his description of his project, it sounds like Derek used Rails improperly.</p>

<p>Maybe Jeremy should have been more assertive about how Rails is meant to do things and explained The Rails Way better.  When you're a Rails expert that's part of your job because people are still getting used to Rails' new approach and how it can help them.  A Rails expert needs to explain to his boss the impact and risk of deviating too far from The Rails Way.</p>

<p>Of course PHP is a better solution than Rails for writing a custom framework, it's a programming language.  He would have been just as successful writing his custom framework in Ruby.  Trying to "twist" a framework like Rails into a custom framework is just asking for trouble.  Use a hammer for nails, don't blame a wrench for not working well.</p>

<p>Sure, Rails has "The Rails Way" conventions for developers but that doesn't mean it's too templated and all Rails applications end up looking the same to users.  There's a lot of UI flexibility available and copying existing "web 2.0" look and feel is a design decision.  From the outside Rails applications can look like applications from any other framework or programming language.</p>

<p>Quote: <i>"Is there anything Rails/Ruby can do that PHP can't do?"</i></p>

<p>No, there probably isn't.  Is there anything PHP can do that Ruby/Rails can't?  From the end-user perspective, probably not.  So we're in a dead heat -- but that argument is a red herring.</p>

<p>If you follow The Rails Way, development can be *faster* than PHP because a lot of things are done for you, like object persistence with ActiveRecord.  The tools need to be used as they were intended.</p>

<p>The moral for Rails projects is this:  Learn about The Rails Way before you start.  Don't go off the rails and override a lot of the default behaviour if you can't handle the business risk of doing so.  Pun intended.</p>]]></description>
<link>http://www.ryanlowe.ca/blog/archives/001611_twisting_rails_is_risky_business.php</link>
<guid>http://www.ryanlowe.ca/blog/archives/001611_twisting_rails_is_risky_business.php</guid>
<category>Ruby on Rails</category>
<pubDate>Thu, 27 Sep 2007 09:52:14 -0500</pubDate>
</item>


</channel>
</rss>