<?xml version="1.0"?><rss version="2.0">
  <channel>
    <title>sux0r | Blog</title>
    <link>http://www.sux0r.org/blog</link>
    <description></description>
    <item>
      <title>Sux0r 2.2.0</title>
      <link>http://www.sux0r.org/blog/view/30</link>
      <description>&lt;p&gt;Sux0r 2.2.0 is &lt;a href="http://sourceforge.net/projects/sux0r/"&gt;now available&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;The main theme of this release is an upgraded technology stack. Smarty 3 templates and jQuery instead of Prototype. Check the changelogs for the minutia.&lt;/p&gt;&#xD;
&lt;p&gt;This release was done as part of &lt;a href="http://blitzweekend.com/"&gt;Blitzweekend&lt;/a&gt; at the &lt;a href="http://notmanwall.com/"&gt;Notman House&lt;/a&gt;.&lt;/p&gt;&#xD;
&lt;p&gt;I first read about the event &lt;a href="http://montrealtechwatch.com/2011/02/28/who-is-in-for-code-sprints-at-notman-house/"&gt;here&lt;/a&gt;. Blitzweekend is loosely organized around group coding sessions. Everyone sits in the same space and does, say, a 3 hour sprint. After the sprint the group takes a break to talk shop. Breaking the rules, like checking your email, social networking, or interrupting others, means putting a dollar in the shame jar. All in good fun of course.&lt;/p&gt;&#xD;
&lt;p&gt;For me it was very productive. I was able to QA, package, and launch sux0r 2.2.0. Montrealers looking for a reason to get together and hack? This is it.&lt;/p&gt;&#xD;
&lt;p&gt;Good times.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;sux0r 2.2.0, shiekasai theme:&lt;/em&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;em&gt;&lt;img src="/data/photos/sux0r_shiekasai_theme_1299345998c815491_fullsize.png" alt="sux0r_shiekasai_theme_1299345998c815491.png" /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>I guess this is my blog?</title>
      <link>http://www.sux0r.org/blog/view/29</link>
      <description>&lt;p&gt;I've been working on Sux0r again.&lt;/p&gt;&#xD;
&lt;p&gt;Since I got back from&#xA0;&lt;a href="http://www.shiekasai.com/aux/muku/rauma"&gt;Finland&lt;/a&gt;, where I took care of my baby girl while my wife did her art project, I've been hanging out in various 514 caf&#xE9;s coding for various projects; both personal and professional. Because of the baby this is sort of a year off. In a few weeks we're going to Sapporo to see my in-laws. Baby parade 2011.&lt;/p&gt;&#xD;
&lt;p&gt;I hope to release Sux0r 2.2 before next weeks'&#xA0;&lt;a href="http://confoo.ca/"&gt;ConFoo&lt;/a&gt; conference. I'm upgrading to &lt;a href="http://www.smarty.net/"&gt;Smarty 3&lt;/a&gt;, replacing Prototype/&lt;a href="http://script.aculo.us/"&gt;Scriptaculous&lt;/a&gt; with &lt;a href="http://jqueryui.com/"&gt;jQuery-UI&lt;/a&gt;, doing minor code cleanup, and including a new skin based on &lt;a href="http://www.shiekasai.com/"&gt;ShieKasai.Com&lt;/a&gt;. This isn't trivial but won't result in any new features. Ideally, I'm laying the groundwork for contributors to take a second look at the project.&lt;/p&gt;&#xD;
&lt;p&gt;In case it wasn't obvious, I'm also the same conner_bw from&#xA0;&lt;a href="http://www.renoise.com/"&gt;Renoise&lt;/a&gt;.&#xA0;That's&#xA0;the business card i'll be handing out at ConFoo. Not really web, but the &lt;a href="https://code.google.com/p/xrnx/"&gt;Lua Scripting API&lt;/a&gt; and the nerdiness of Renoise might appeal to some? Whatever the case, I have business cards with my renoise email on 'em so that's what you're getting.&lt;/p&gt;&#xD;
&lt;p&gt;I'm looking forward to the conference.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Social Network</title>
      <link>http://www.sux0r.org/blog/view/28</link>
      <description>&lt;div style="color: #000000; font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: #ffffff; margin: 8px;"&gt;&#xD;
&lt;p&gt;I rented The Social Network from the local video store. I live a few blocks away so it's not inconvenient. Montreal is all about the neighbourhood and walking around in it.&lt;/p&gt;&#xD;
&lt;p&gt;The lessons I learned were that old money power structures get 'er done and knowing the old testament gives you bonus philanthropy dollars? The reference to Friendster and Myspace were a nice touch, if only to drive home the point that the winning conditions behind Facebook were a pyramid scheme model of exclusivity and american socialites.&lt;/p&gt;&#xD;
&lt;p&gt;Nah, just joshing. It was good entertainement. It also reminded me of Sux0r. So here I am pinging a dormant project, once inspired, now not so sure, insert sleeping dragon metaphor here. More a schmuck than a zuk, but still typing into the void.&lt;/p&gt;&#xD;
&lt;p&gt;Nullwhore.&lt;/p&gt;&#xD;
&lt;/div&gt;</description>
    </item>
    <item>
      <title>JavaScript, The Plague That Never Ends</title>
      <link>http://www.sux0r.org/blog/view/27</link>
      <description>&lt;div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"&gt;There's a difference between webpage and a webapp; have the good taste to make the distinction.&lt;/div&gt;&#xD;
&lt;div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"&gt;JavaScript opulence is great for web apps that allow the user to manipulate data, the backend of a CMS, or a corporate intranet application with specific requirements for a small subset of people.&lt;/div&gt;&#xD;
&lt;p&gt;&lt;strong&gt; There's a difference between webpage and a webapp; have the good taste to make the distinction.&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;JavaScript opulence is great for web apps that allow the user to manipulate data, the backend of a CMS, or a corporate intranet application with specific requirements for a small subset of people.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Javascript is like seasoning, don't dump a sack of pepper on my food because you want to show off how much pepper you have. &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;JavaScript is nice when you want inline voting, a rollover for more info, and other elegant innovations.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;The browser is a consistent interface. &lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;In the late 90's people raged on Flash. The main arguments were that it was superfluous, ruined the web browser experience, and negatively affected simple web crawlers.&lt;/p&gt;&#xD;
&lt;p&gt;Now, JavaScript is repeating those same mistakes, but worse. Some examples:&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;The infinite scroll bar&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;The scrollbar, in a web browser, indicates the length of a page. It even resizes proportionally based on the amount of content in the page. When the scrollbar reaches the bottom, I know I am done. I use the scrollbar as a visual indicator for time and space; this is extremely valuable information.&lt;/p&gt;&#xD;
&lt;p&gt;Some sites now automatically append new content once the scrollbar reaches the bottom. This is idiotic.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Pagination&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;When I click Page 2, I expect Page 2. Not Page 1 repopulated with new information.  My browser has a built in status indicator, a URL that acts as an ID for the page, and a back button. Overriding this behaviour is stupidity.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Inline loading&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;The browser has a cache, a web crawler that pre-caches inline URLs, and other great innovations. Web servers have text compression, communicates with the browser to avoid sending redundant pages, and trivial setup procedures to cache static pages&#xD;
&#xD;
. Unless you are Gmail, there is no benefit to inline loading. It looks better because you have animation? No. It's boneheaded.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Stop the insanity!&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-weight: normal;"&gt;Help I've fallen and I can't get up...&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>More Bayesian Feed Filtering (BayesFF) Project</title>
      <link>http://www.sux0r.org/blog/view/26</link>
      <description>&lt;p&gt;Just a reminder that the &lt;a href="http://bayesianfeedfilter.wordpress.com/"&gt;BayessFF project&lt;/a&gt;, run by ICBL at Heriot Watt University, is still ongoing.&lt;/p&gt;&#xD;
&lt;p&gt;They have their own SVN branch in the sux0r SourceForge repository and are doing very interesting things.&lt;/p&gt;&#xD;
&lt;p&gt;One day, when time permits, I will try and merge their efforts into the trunk of the project. For now, check out their work &lt;a href="http://bayesianfeedfilter.wordpress.com/2010/07/09/how-to-install-the-bayesian-feed-filter/"&gt;using these setup instructions&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sux0r 2.1.0</title>
      <link>http://www.sux0r.org/blog/view/25</link>
      <description>&lt;p&gt;Sux0r 2.1.0 is now available.&lt;/p&gt;&#xD;
&lt;p&gt;Quite simply, this version is all about refactoring and documentation updates for developers. A lot of code changes, no new features.&lt;/p&gt;&#xD;
&lt;p&gt;Cheers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Howto uncompress a .TAR.GZ file in the Linux terminal</title>
      <link>http://www.sux0r.org/blog/view/24</link>
      <description>&lt;p&gt;I use MacOSX . By default, I use .ZIP compression or .DMG images &lt;em&gt;(Death to .SIT files).&lt;/em&gt; Every once in a while I have to administer a Linux box and I run into a TAR or a TAR.GZ file, but I alway forget how to uncompress it. As a favour to myself, and to avoid searching for the term "How do I unzip a TAR.GZ file?" I'm jotting, this down for all future generations too lazy to read the man page.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;TAR &lt;/strong&gt;is a compression technology used to create a &lt;strong&gt;T&lt;/strong&gt;ape &lt;strong&gt;AR&lt;/strong&gt;chive files. The resulting file is known as a tarball. To uncompress it use:&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;&lt;span style="font-family: courier new,courier;"&gt;tar xvf filename.tar&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If the tarball has also been gzipped, it will have the extension TAR.GZ and you can use the following command:&lt;br /&gt; &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;&lt;span style="font-family: courier new,courier;"&gt;tar xvfz filename.tar.gz&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt; &lt;br /&gt;Roll credits:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #000000;"&gt;&lt;span style="font-family: courier new,courier;"&gt;x = extract files from an archive&lt;br /&gt;v = verbosely list files processed&lt;br /&gt;f = use archive file or device F&lt;br /&gt;z = filter the archive through gzip&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sux0r 2.0.7</title>
      <link>http://www.sux0r.org/blog/view/23</link>
      <description>&lt;p&gt;Summary of changes: The behavior of the &lt;select&gt; list was changed to make it easier to initially train documents. SQL queries were reduced when doing loginCheck(). The way we ignore indexes was changed to be compatible with XAMPP. The code tries to use iconv //TRANSLIT for RSS feeds. The killSession() function was moved to the suxUser() class. Corrupted stopword files were fixed. An issue with an unwanted ampersand character showing up in photoalbum listings was fixed. JavaScript menus were fixed so that they appear over the slider. Rounded borders were added to the default template. Other minor optimizations were made. Smarty was updated to 2.6.26, and TinyMCE to 3.2.5&lt;/p&gt;&#xD;
&lt;p&gt;While upgrading, I accidentally deleted my data directory. I am thoroughly embarrassed. This means things like photos and avatars have gone missing. Let this be a lesson to &lt;a href="http://www.xs4all.nl/~voorburg/backup.html"&gt;do backups.&lt;/a&gt; The same kind of lesson you get when being kicked in the genitals. Hopefully the data files will be recovered in the next few days.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Edit: &lt;/strong&gt;The photos have returned. Horray! Thank you &lt;a href="http://www.networkredux.com/"&gt;Network Redux&lt;/a&gt;, world's greatest web hosting company.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Bayesian Feed Filtering (BayesFF) Project</title>
      <link>http://www.sux0r.org/blog/view/22</link>
      <description>&lt;p&gt;I was recently contacted by &lt;a href="http://www.icbl.hw.ac.uk/~philb/"&gt;Phil Barker&lt;/a&gt;, &lt;a href="http://www.macs.hw.ac.uk/~santiago/"&gt;Santy Chumbe&lt;/a&gt; and &lt;a href="http://www.macs.hw.ac.uk/~mthljr/"&gt;Lisa Rogers&lt;/a&gt; of the &lt;a href="http://www.icbl.hw.ac.uk/"&gt;ICBL&lt;/a&gt; in Edinburgh, Scotland.&lt;/p&gt;&#xD;
&lt;p&gt;Long story short, they are working on the&#xA0;&lt;a href="http://bayesianfeedfilter.wordpress.com/"&gt;The Bayesian Feed Filtering project,&lt;/a&gt;&#xA0;they will be using Sux0r for this project, and you should check it out. &#xA0;The full project proposal is available on the &lt;a href="http://bayesianfeedfilter.wordpress.com/about/"&gt;About&lt;/a&gt; page.&lt;/p&gt;&#xD;
&lt;p&gt;If things go as planned Sux0r will get a RESTful API out of this. Very exciting!&#xA0;&lt;/p&gt;</description>
    </item>
    <item>
      <title>A man walks into a bar, Sux0r 2.0.6</title>
      <link>http://www.sux0r.org/blog/view/21</link>
      <description>&lt;p&gt;Changes in 2.0.6:&lt;/p&gt;&#xD;
&lt;div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"&gt;Italian translation&lt;/div&gt;&#xD;
&lt;div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"&gt;A few tweaks to make sux0r IIS 7 compatible&lt;/div&gt;&#xD;
&lt;div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"&gt;Bugfix: Editing a blog wasn't working with Postgres&lt;/div&gt;&#xD;
&lt;div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"&gt;Converted all tables to Innodb, tried to optimize SQL indexes&lt;/div&gt;&#xD;
&lt;div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"&gt;Changed link_table_ naming convention to: link__table__&lt;/div&gt;&#xD;
&lt;div style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"&gt;Updated symbionts: Smarty 2.6.25, TinyMCE 3.2.4.1&lt;/div&gt;&#xD;
&lt;ul&gt;&#xD;
&lt;li&gt;Italian translation by&#xA0;&lt;span style="font-family: Helvetica;"&gt;Gilberto "Velenux" Ficara, thanks!&lt;/span&gt;&lt;/li&gt;&#xD;
&lt;li&gt;A few tweaks to make sux0r &lt;a href="http://twitter.com/PHPonWindows"&gt;IIS 7 compatible&lt;/a&gt;&lt;/li&gt;&#xD;
&lt;li&gt;Bugfix: Editing a blog wasn't working with Postgres&lt;/li&gt;&#xD;
&lt;li&gt;Converted all tables to Innodb, tried to optimize SQL indexes&lt;/li&gt;&#xD;
&lt;li&gt;Changed link_table_ naming convention to: link__table__&lt;/li&gt;&#xD;
&lt;li&gt;Updated symbionts: Smarty 2.6.25, TinyMCE 3.2.4.1&lt;/li&gt;&#xD;
&lt;/ul&gt;&#xD;
&lt;p&gt;In other news, I am a finalist in &lt;a href="http://www.webnotwar.ca/"&gt;Microsoft's Web Not War&lt;/a&gt;&#xA0;&lt;a href="http://phponwindows.ca/FTW/"&gt;FTW Throwdown&lt;/a&gt;&#xA0;competition. Exciting! I'll be in Toronto on Wednesday, representing the bald sweaty developer. Come to &lt;a href="http://identi.ca/tag/webnotwar"&gt;#webnotwar&lt;/a&gt; and heckle me? Pictures to follow.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>


