<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>SweetFriday</title>
        <link>http://www.neverfriday.com/sweetfriday/</link>
        <description>Talking about software, programming, computer science, etc.</description>
        <language>en</language>
        <copyright>Copyright 2010</copyright>
        <lastBuildDate>Tue, 06 Jul 2010 14:55:12 -0500</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>First Ever Toronto Free Software Meetup, 5:30pm, Wednesday 14 July 2010, at LinuxCaffe</title>
            <description><![CDATA[I've been thinking about starting a Toronto Free Software group for many many months (since around October 2009) and decided that I finally have enough time to do so.<div><br /></div><div>So here we go, <b>the first meetup of the Toronto Free Software group will take place on the 14th of July (a Wednesday) at the LinuxCaffe, 326 Harbord St, Toronto.</b> <a href="http://linuxcaffe.com/contact">Click here to get directions.</a></div><div><br /></div><div>It will start at around 5:30pm and I'll have a sign or something that says Free Software on it. Or maybe I'll just hold up a book on C++?</div>]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2010/07/first-ever-toronto-free-softwa.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2010/07/first-ever-toronto-free-softwa.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Computing Science</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Emacs</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Java</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">JavaScript</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Lisp</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Perl</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Python</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Ruby</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Scheme</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Squeak</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Web</category>
            
            
            <pubDate>Tue, 06 Jul 2010 14:55:12 -0500</pubDate>
        </item>
        
        <item>
            <title>Starting a new project for the summer at least</title>
            <description><![CDATA[In order to build up my skills I'm starting a new project with my cousin. <a href="http://goaugust.com/">We're calling it GoAugus</a>t and currently we're focusing on website design and have started designing website templates and will eventually work on blog templates for<a href="http://wordpress.org/"> WordPress</a>. The templates will be sold and we're making an effort to stick to free &amp; open source software and we're also trying to use images and other works that use a Creative Commons license.<div><br /></div><div>In this way we can avoid legal hassles (lots of people use weird license terms for their images) and we can support free culture and spread someone's work so that more people can enjoy it! I really like that last part and I've been trying to take more pictures so that I could release them under the Creative Commons licenses.</div><div><br /></div><div>For the GoAugust project we may also be programming desktop applications using the Titanium Application framework. I'm curious to see how flexible JavaScript is and to see how (hopefully) painless building an application using HTML/CSS/Javascript is.</div><div><br /></div><div>I've been taking a class in discrete maths and accounting and I'll do a post covering the topics from class. I have a huge bunch of notes on maths and I can't seem to understand some of the function and set theory stuff :/</div>]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2010/06/starting-a-new-project-for-the.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2010/06/starting-a-new-project-for-the.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Web</category>
            
            
            <pubDate>Thu, 10 Jun 2010 17:15:35 -0500</pubDate>
        </item>
        
        <item>
            <title>A Response to &quot;Trains, Elevators, and Computer Science&quot;</title>
            <description><![CDATA[ <p><a href="http://rjlipton.wordpress.com/2010/02/08/trains-elevators-and-computer-science/">The article, &quot;Trains, Elevators, and Computer Science&quot;</a>, begins with a
brief history of trains and elevators and specifically their braking
systems. The writer, Dick Lipton, a computer science professor at
Georgia Tech university, positions his article as practical by first
stating that George Westinghouse was &quot;not a theoretician, but was one
of the great inventors of the 1800's&quot;, then fully explaining the
braking problems and adding little comments such as &quot;Pretty neat&quot; and
&quot;extremely clever&quot; after some engineering idea.</p>

<p>After 10 paragraphs of history we finally reach the point where Lipton
explains the &quot;general principle&quot; behind both and the relation to
computing science. This principle is</p>

<blockquote>
...do not rely on an action, but on the structure of the system. Make
the default, a passive state, a safe state so that when the system
fails, it gets to the safe state by default.
</blockquote>
]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2010/02/a-response-to-trains-elevators.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2010/02/a-response-to-trains-elevators.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Computing Science</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">computer science</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">computers</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">computing science</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">programming</category>
            
            <pubDate>Wed, 10 Feb 2010 21:41:10 -0500</pubDate>
        </item>
        
        <item>
            <title>A Response to &quot;Comments == Code Smell&quot;</title>
            <description><![CDATA[ <p><a href="http://memeagora.blogspot.com/2008/11/comments-code-smell.html">The writer of this article, Neal Ford, apparently dislikes any comments and calls them &quot;code smells&quot;.</a></p>

<p>He suggests that inline comments are unnecessary when
method/function/procedure names are specific and they have one
specific purpose.</p>

<p>Ford may be onto something here but he obsesses over the latest and
supposedly greatest software methdologies. Some of the obsessions are
dynamic languages, &quot;agile&quot; methodology, and &quot;test/behaviour-driven&quot;
development. What I found worse was the re-labeling and mis-crediting
of an old software development idea. Ford credits Kent Beck and calls
it the &quot;compose method&quot; pattern but everyone else (at least those who
know their history) will recognize it as a central idea in structured
programming. This apparent pattern, really an old idea given a new
name, describes the writing of smaller functions/methods with a clear,
specific purpose. The beauty of structured programming is that it
gives us a way to convert blocks of code into smaller functions.</p>
]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2010/02/a-response-to-comments-code-sm.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2010/02/a-response-to-comments-code-sm.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Computing Science</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Java</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Ruby</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">java</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">programming</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">ruby</category>
            
            <pubDate>Tue, 09 Feb 2010 04:10:17 -0500</pubDate>
        </item>
        
        <item>
            <title>Some Dijkstra Quotes</title>
            <description><![CDATA[ <p>A few weeks ago I picked up the books <a href="http://www.amazon.com/Discipline-Programming-Edsger-W-Dijkstra/dp/013215871X">A Discipline in Programming</a> and
<a href="http://www.amazon.com/Structured-Programming-E-W-Dijkstra-Hoare/dp/B000OHQL5C/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1257447527&amp;sr=1-1">Structured Programming</a>. The first is by <a href="http://en.wikipedia.org/wiki/Edsger_W._Dijkstra">E. W. Dijkstra</a> and the second
includes a large section written by him. I became interested in these
books after reading a few of Dijkstra's other papers and about Donald
Knuth's great works. The computer science field could stand to have a
bit more formalism in it and less hand-waving about &quot;real-world&quot; tools
and methodologies.</p>

<p>Here are some quotes that I found especially good.</p>
]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2009/11/some-dijkstra-quotes.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2009/11/some-dijkstra-quotes.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Computing Science</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Writing</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">computer science</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">computers</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">computing science</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">dijkstra</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">programming</category>
            
            <pubDate>Thu, 05 Nov 2009 14:36:21 -0500</pubDate>
        </item>
        
        <item>
            <title>GNU Moe Tutorial/Review</title>
            <description><![CDATA[ <p><a href="http://www.neverfriday.com/sweetfriday/2009/09/free-software-supporter-18-ann.html">Yesterday I was looking at a listing of updates for free software projects.</a>
I commented that the package <a href="http://www.gnu.org/software/moe/moe.html">moe</a> could be used as a replacement for
<code>nano</code> or <code>zile</code>, that is, when you need to quickly edit files from the
command-line.</p>



<p>So today I'm giving it a go.
<a href="http://ftp.gnu.org/gnu/moe/">I downloaded moe via the GNU project's FTP server and installed it.</a>
The compilation was insanely fast, I think it took less than 10
seconds to get it all built and installed.</p>
]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2009/09/gnu-moe-tutorialreview.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2009/09/gnu-moe-tutorialreview.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Writing</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">free software</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">gnu</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">software</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">writing</category>
            
            <pubDate>Sat, 12 Sep 2009 21:56:24 -0500</pubDate>
        </item>
        
        <item>
            <title>Free Software Supporter #18 announces some recent GNU software releases</title>
            <description><![CDATA[ <p><a href="http://www.fsf.org/free-software-supporter/">Free Software Supporter</a> is a newsletter run by
<a href="http://www.fsf.org/">the FSF (Free Software Foundation)</a> and in it they have a section
announcing a few software releases from <a href="http://www.gnu.org/">the GNU project</a>. However, they
do not seem to provide any description of the projects aside from
their name and version.</p>]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2009/09/free-software-supporter-18-ann.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2009/09/free-software-supporter-18-ann.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">free software</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">fsf</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">gnu</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">programming</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">software</category>
            
            <pubDate>Fri, 11 Sep 2009 22:59:25 -0500</pubDate>
        </item>
        
        <item>
            <title>PLATO and the TUTOR programming language manual</title>
            <description><![CDATA[I was reading a bit about <a href="http://en.wikipedia.org/wiki/PLATO_%28computer_system%29">PLATO</a>, a computer system for computer-aided instruction, and it is astonishingly old. It was around in the 70s, the 80s, etc. The language originally used for creating lessons and tutorials was called <a href="http://en.wikipedia.org/wiki/TUTOR_%28programming_language%29">TUTOR</a>. I've been extremely curious about the language since I first read about it on the weekend and I'm glad to say that I've found the manual.<br /><br /><a href="http://www.eric.ed.gov/ERICWebPortal/custom/portlets/recordDetails/detailmini.jsp?_nfpb=true&amp;_&amp;ERICExtSearch_SearchValue_0=ED050583&amp;ERICExtSearch_SearchType_0=no&amp;accno=ED050583">It can be found here</a>.<br /><br /><a href="http://www.eric.ed.gov/ERICWebPortal/custom/portlets/recordDetails/detailmini.jsp?_nfpb=true&amp;_&amp;ERICExtSearch_SearchValue_0=ED050583&amp;ERICExtSearch_SearchType_0=no&amp;accno=ED050583"><font style="font-size: 0.8em;">Here is a mirror hosted on this web server just in case.</font></a><br /><br />I bet there are a few gems in this manual. History is awesome ;-)<br /> ]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2009/09/plato-and-the-tutor-programmin.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2009/09/plato-and-the-tutor-programmin.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">programming</category>
            
            <pubDate>Wed, 02 Sep 2009 16:18:49 -0500</pubDate>
        </item>
        
        <item>
            <title>Java Applets and Wikipedia</title>
            <description><![CDATA[<a href="http://strategy.wikimedia.org/wiki/Proposal:Java_applet_support">There is a proposal to allow the inclusion of Java applets into Wikipedia to increase interactivity. </a><i>What this says to me is that the Web is not enough and that it is mainly a document system. </i>Instead, the Wikipedians should build a proper desktop application for viewing Wikipedia articles and then separate it from the Web and HTML. This would allow them to display the information in a variety of forms and fix the flaws of the Web.<br /><br />The first thing I would add is a way of linking to specific paragraphs or sentences. The second thing I would add is a proper discussion board system and possibly add an IRC chat component. For the chat component, I would also make it easy to paste snippets of the conversations into the discussion board. This is useful because you may have discussed an article with someone and then made changes to it, but everyone else would be unaware of your discussion unless they checked the discussion board and the discussion may have provided a rationale for why you made the change.<br /><br /><i>Java applets and more interactivity would be a fine addition to Wikipedia, but this is solving the wrong problem.</i><br />]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2009/09/java-applets-and-wikipedia.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2009/09/java-applets-and-wikipedia.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Java</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Web</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">java</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">web</category>
            
            <pubDate>Wed, 02 Sep 2009 15:58:02 -0500</pubDate>
        </item>
        
        <item>
            <title>Web Junk</title>
            <description><![CDATA[ <p><code>INS</code> and <code>DEL</code> elements re-discovered and used for version control. HTML document's version
history kept within itself.</p>
<p>HTML pages as containing structure and storing their contents in separate files. Easier for everyone to deal with and splits up your page into logical pieces.</p>]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2009/08/web-junk.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2009/08/web-junk.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Python</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Web</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">programming</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">python</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">web</category>
            
            <pubDate>Mon, 24 Aug 2009 18:29:15 -0500</pubDate>
        </item>
        
        <item>
            <title>What The Macintosh Took Away</title>
            <description><![CDATA[<!-- title: What The Macintosh Took Away -->

<p style="font-style: italic;">Update: I found a copy of the essay <a href="http://people.artcenter.edu/~vanallen/web_techniques/tednelson_liberate.htm" title="Inter@ctive Week: Time To Liberate The Web">here</a> but it appears to be a reprint with a different title, &ldquo;Time To Liberate The Web&rdquo;. Same content though, so it doesn't matter.</p>

<p>I found an essay by <a href="http://en.wikipedia.org/wiki/Ted_Nelson" title="About Ted Nelson">Ted Nelson</a> titled &ldquo;Way Out Of The Box&rdquo;, and it's about limitations imposed by technical-minded people on everyone else. It's about the assumptions made when programs and computers are designed.</p>

<p>Here is a particularly good passage that tells us what we sacrifice when we force users to become distinct from programmers,</p>

<blockquote><p>Suppose they gave you MTV, and in return took away your right to vote? Would you care? Some of us would. That's how I think of today's computer world, beginning with the Macintosh. The  Macintosh gave us Fonts,  pretty fonts to play  with, and graphic arts tools  that previously were out  of reach, except in  the most high-budget realms of advertising and coffeetable book production. Those fonts and graphic arts tools were a great gift.</p>

  <p><em>But nobody seems to have noticed what the Macintosh took away.</em></p>

  <p>It took away THE RIGHT TO PROGRAM.</p>

  <p><em>If you bought  an Apple II, you could begin  programming it right out of the  box. I have friends who bought  the Apple II without knowing  what programming was, and became professional programmers almost overnight. The system was clean and simple and allowed you to do graphics.</em></p>

  <p>But the Macintosh (and now the Windows PC) are another story. And the story is simple: PROGRAMMING IS ONLY FOR OFFICIAL REGISTERED &ldquo;DEVELOPERS&rdquo;.</p></blockquote>

<p>(Emphasis mine)</p>
]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2009/08/what-the-macintosh-took-away.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2009/08/what-the-macintosh-took-away.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">computers</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">design</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">programming</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">writing</category>
            
            <pubDate>Thu, 13 Aug 2009 17:46:08 -0500</pubDate>
        </item>
        
        <item>
            <title>EventCal style update</title>
            <description><![CDATA[ <p>So I was studying my marketing textbook and I realized that Free Software has an awful reputation because of bad marketing. The software is, for the most part, technically sound, however the image of it is awful. This then reminded me of <a href="http://neverfriday.com/eventcal/">EventCal</a>, the Python HTML calendar generator that I wrote a few years ago. I still get emails about it once in a while, even though I'm not actively maintaining.</p>

<p>So instead of studying, I created a quick checklist on what a Free Software website should have in order to be considered helpful by users. I won't post that list here just yet, because I want to write up a few other checklists and notes on marketing.</p>]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2009/08/eventcal-style-update.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2009/08/eventcal-style-update.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Web</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">design</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">eventcal</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">web</category>
            
            <pubDate>Thu, 06 Aug 2009 23:19:55 -0500</pubDate>
        </item>
        
        <item>
            <title>Beginner Infographics with Free Software</title>
            <description><![CDATA[ <p>I've become interested in infographics, those fancy diagrams and charts and illustrations/visualizations of data that make them stick in your mind more easily. Why settle for an ugly chart when you can just adjust the fonts and colours a bit and get something sweeter looking.</p>]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2009/08/beginner-infographics-with-fre.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2009/08/beginner-infographics-with-fre.html</guid>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">design</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">free software</category>
            
            <pubDate>Wed, 05 Aug 2009 13:47:50 -0500</pubDate>
        </item>
        
        <item>
            <title>Relative Timing With Org-Mode</title>
            <description><![CDATA[ <!-- Page published by Emacs Muse begins here -->
<!-- body -->
<p>I hve been re-arranging my TODO lists using Emacs's <a href="http://orgmode.org/">Org-Mode</a> and when I realized that it could calculate the exact hours taken for a bunch of tasks, I felt I should explore the rest of the Org-Mode manual and see what else I had been missing out on.</p>

<p>Org-Mode allows you to use <a href="http://orgmode.org/manual/Relative-timer.html">relative timers</a> which, it says, are useful for recording notes during a meeting or video viewing. I did not understand exactly how to use the relative timers, but it looks like they are like timestamps. Here's a brief run-down and example on how to use them.</p>]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2009/07/relative-timing-with-orgmode.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2009/07/relative-timing-with-orgmode.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Emacs</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Writing</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">emacs</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">org-mode</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">writing</category>
            
            <pubDate>Tue, 28 Jul 2009 17:22:07 -0500</pubDate>
        </item>
        
        <item>
            <title>Composable Regular Expressions and Fields</title>
            <description><![CDATA[ <p><a href="http://martinfowler.com/bliki/ComposedRegex.html" title="ComposedRegex">Martin Fowler wrote a brief     article about composing regular expressions</a> in order to make it easier to deal with individual   "tokens" and to give them structure.</p>]]></description>
            <link>http://www.neverfriday.com/sweetfriday/2009/07/composable-regular-expressions.html</link>
            <guid>http://www.neverfriday.com/sweetfriday/2009/07/composable-regular-expressions.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">Java</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Python</category>
            
                <category domain="http://www.sixapart.com/ns/types#category">Scheme</category>
            
            
                <category domain="http://www.sixapart.com/ns/types#tag">java</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">python</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">regular expressions</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">scheme</category>
            
                <category domain="http://www.sixapart.com/ns/types#tag">scripting</category>
            
            <pubDate>Thu, 23 Jul 2009 17:00:06 -0500</pubDate>
        </item>
        
    </channel>
</rss>
