<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?>

<feed xmlns="http://purl.org/atom/ns#" version="0.3" xml:lang="en-ZA">
<link href="https://www.blogger.com/atom/7492582" rel="service.post" title="The Schedule 7 Experience" type="application/atom+xml"/>
<link href="https://www.blogger.com/atom/7492582" rel="service.feed" title="The Schedule 7 Experience" type="application/atom+xml"/>
<title mode="escaped" type="text/html">The Schedule 7 Experience</title>
<tagline mode="escaped" type="text/html">I surf the web so you don't have to</tagline>
<link href="http://blog.schedule7.com" rel="alternate" title="The Schedule 7 Experience" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582</id>
<modified>2007-02-04T09:41:47Z</modified>
<generator url="http://www.blogger.com/" version="6.72">Blogger</generator>
<info mode="xml" type="text/html">
<div xmlns="http://www.w3.org/1999/xhtml">This is an Atom formatted XML site feed. It is intended to be viewed in a Newsreader or syndicated to another site. Please visit the <a href="http://help.blogger.com/bin/answer.py?answer=697">Blogger Help</a> for more info.</div>
</info>
<convertLineBreaks xmlns="http://www.blogger.com/atom/ns#">true</convertLineBreaks>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109812512728614588" rel="service.edit" title="Intelligent Design" type="application/atom+xml"/>
<link href="http://en.wikipedia.org/wiki/Intelligent_design" rel="related" title="Intelligent Design" type="text/html"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-10-18T20:28:46+02:00</issued>
<modified>2004-10-20T22:00:46Z</modified>
<created>2004-10-18T18:45:27Z</created>
<link href="http://blog.schedule7.com/2004/10/intelligent-design.html" rel="alternate" title="Intelligent Design" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109812512728614588</id>
<title mode="escaped" type="text/html">Intelligent Design</title>
<content type="application/xhtml+xml" xml:base="http://blog.schedule7.com" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml">
<a href="http://blog.schedule7.com/2004/07/genetic-algorithms-vs-natural.html">My recent article</a> about the limitations in the current theory of evolution caused something of a stir. I've been reading up on the matter a bit, and it turns out that this "anti-Darwin"ism has a name, so-called Intelligent Design. This is the new, hipper, term for creationism, that carefully avoids using the bible, but still argues that natural selection is wrong, and that an "intelligent being" (God or Aliens) must be responsible.
<br/>
<br/>It does seem that many of my naive criticisms of Darwinian theories of natural selection fall under the Intelligent Design camp, which is probably not a good thing. (Intelligent Design is essentially a pseudoscience). What has troubled me, however, is the assertion by many scientists, who should be in the know, that natural selection can explain all my concerns, yet they seem unable to back up their claims. So I did some reading. As I've been discovering more and more lately, <a href="http://en.wikipedia.org/wiki/Irreducible_complexity">wiki</a> is a great place to start.  That article goes some way to exploring possible explanations for "irreducible complexity".  This <a href="http://www.asa3.org/evolution/irred_compl.html">article</a> is a well written case study of how a particular example of irreducible complexity (hemoglobin) may have arisen through natural selection. It's not totally convincing, and lacking in hard data, but it's definitely plausible.
<br/>
<br/>A <a href="http://www.wired.com/wired/archive/12.10/evolution.html">recent article </a>in Wired magazine highlights the ongoing battles the Intelligent Design camp are having to get alternative theories to evolution discussed in American schools. It's an exceptionally one-sided article, but has good breadth and discusses many of the role players in the current debate and as such is well worth a read.
<br/>
<br/>
<span style="font-weight: bold;">Update</span>: This <a href="http://www.talkdesign.org/faqs/icdmyst/ICDmyst.html">article at talkorigins</a> discusses Irreducible Complexity (IC) in some detail, and essentially dismisses it, establishing that either systems are not IC, or demonstrates ways in which known IC systems could have evolved by means of natural selection.
<br/>
<br/>It identifies possible ways in which IC systems could have evolved:
<br/>
<ul>   <li>    Previously using more parts than necessary for the function</li>   <li>    The parts themselves evolve</li>   <li>    Deployment of parts (gene regulation) evolves</li>   <li>    New parts are created (gene duplication) and may then evolve.</li> </ul> For instance, the swimming mechanism of flagella may well have involved an arm waving about in earlier forms. This arm may have been insufficient to propel the flagellum, but it would have disturbed the water around it, which in itself is a useful function, in terms of bringing food within range.
<br/>
</div>
</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109465550985149178" rel="service.edit" title="Why Your Anti-spam Solution Won't Work" type="application/atom+xml"/>
<link href="http://craphound.com/spamsolutions.txt" rel="related" title="Why Your Anti-spam Solution Won't Work" type="text/html"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-09-08T16:58:29+02:00</issued>
<modified>2004-09-08T14:58:29Z</modified>
<created>2004-09-08T14:58:29Z</created>
<link href="http://blog.schedule7.com/2004/09/why-your-anti-spam-solution-wont-work.html" rel="alternate" title="Why Your Anti-spam Solution Won't Work" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109465550985149178</id>
<title mode="escaped" type="text/html">Why Your Anti-spam Solution Won't Work</title>
<content type="application/xhtml+xml" xml:base="http://blog.schedule7.com" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml">
<a href="http://craphound.com/spamsolutions.txt">The Last Word</a>
</div>
</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109462306376947253" rel="service.edit" title="Skype Reviewed" type="application/atom+xml"/>
<link href="http://www.masternewmedia.org/news/2004/09/07/skype_reviewed.htm" rel="related" title="Skype Reviewed" type="text/html"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-09-08T07:57:43+02:00</issued>
<modified>2004-09-08T05:57:43Z</modified>
<created>2004-09-08T05:57:43Z</created>
<link href="http://blog.schedule7.com/2004/09/skype-reviewed.html" rel="alternate" title="Skype Reviewed" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109462306376947253</id>
<title mode="escaped" type="text/html">Skype Reviewed</title>
<content type="application/xhtml+xml" xml:base="http://blog.schedule7.com" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml">People keep asking me about Skype, and whether they should try it out. This 
<br/>
<a href="http://www.masternewmedia.org/news/2004/09/07/skype_reviewed.htm">review</a> of Skype is well balanced, pointing out some of the obvious and not-so-obvious flaws.
<br/>
<br/>From my own experience, my broadband connection, which makes use of Wifi technology, suffers from very high latency, and hence renders Skype unusable.
<br/>
<br/>If it's usable on dialup, I'd be interested in hearing about that.</div>
</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109403980212185449" rel="service.edit" title="Stored Procedures, what are they good for?" type="application/atom+xml"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-09-01T13:38:42+02:00</issued>
<modified>2004-09-01T11:56:42Z</modified>
<created>2004-09-01T11:56:42Z</created>
<link href="http://blog.schedule7.com/2004/09/stored-procedures-what-are-they-good.html" rel="alternate" title="Stored Procedures, what are they good for?" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109403980212185449</id>
<title mode="escaped" type="text/html">Stored Procedures, what are they good for?</title>
<content type="application/xhtml+xml" xml:base="http://blog.schedule7.com" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml">
<span class="txt">We're all familiar with the traditional benefits of stored procedures. For instance, <a href="http://www.devshed.com/c/a/fMySQL/A-DIY-Approach-to-Stored-Procedures-in-MySQL/">this site</a>, which talks about implementing stored procs in mySQL, lists them nice and succinctly:
<br/>
<ol>
<li>
<strong> Better performance  </strong>Stored procedures are faster because they are pre-compiled SQL code. This reduces the “Compile and Execute” step to just “Execute’ in most cases.  Also, only the call to the stored procedure needs to be sent to the server instead of chunks of information – this reduces the information that needs to be sent to the server and acts like a call to a remote procedure. This is an advantage when it comes to code that is called repeatedly. However, the load on the server is another point to consider since most of the processing will now be done on the server.
<br/>
<br/>  </li> <li>
<strong>Easier to maintain  </strong>Since all the SQL can now be stored on the server, it is easier to make changes to the stored procedure than to a bunch of SQL statements distributed all over the application. 
<br/>
<br/>
</li>
<li>
<strong>Security</strong>  Although the use of stored procedures is not by itself a guarantee of security, it can be used to create an environment where applications and users can only access database tables through the stored procedures, instead of giving them direct access to the tables. The benefit is a layer of abstraction.
<br/>
<br/>
</li>
<li>
<strong>Optimization </strong> When a SQL statement is parsed by the server, it is optimized internally by the server. If a bunch of SQL statements are sent to the server, repeatedly, they have to be optimized each time. The SQL statements in the stored procedure that is in memory have to only be optimized once and an execution plan is created for the SQL statements in the stored procedure.</li>
</ol>But, is it as simple as that? Not if you believe <a href="http://weblogs.asp.net/fbouma/archive/2003/11/18/38178.aspx">Frans</a>. He argues that dynamic SQL is the way to go. He makes some good arguements, for instance, pointing out that for MS SQL Server in particular, stored procs have no special priority over other SQL code, and are in fact compiled at run time (thus countering, to some extent, the performance arguement, although he does ignore the benefit of reduced network traffic).
<br/>
<br/>He also objects to the API that you effectively create with stored procs, which can be a problem when the underlying table changes, as this forces the CRUD procs (at least) to change accordingly, breaking any existing client code.
<br/>
<br/>My take? Having worked on many systems where the DB layer was accessed by many systems and languages, I'd say a fixed API was a good thing. Also, it limits the rewriting of identical (byt error prone) code over and over again.
<br/>
<br/>Aside: many of the arguements for and against ORM tools apply equally well in this case.
<br/>
</span>
</div>
</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109403738050398874" rel="service.edit" title="Everything you wanted to know about blogging but were afraid to ask" type="application/atom+xml"/>
<link href="http://simonworld.mu.nu/archives/037779.php" rel="related" title="Everything you wanted to know about blogging but were afraid to ask" type="text/html"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-09-01T13:16:20+02:00</issued>
<modified>2004-09-01T11:16:20Z</modified>
<created>2004-09-01T11:16:20Z</created>
<link href="http://blog.schedule7.com/2004/09/everything-you-wanted-to-know-about.html" rel="alternate" title="Everything you wanted to know about blogging but were afraid to ask" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109403738050398874</id>
<title mode="escaped" type="text/html">Everything you wanted to know about blogging but were afraid to ask</title>
<content type="application/xhtml+xml" xml:base="http://blog.schedule7.com" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml">Fascinating list of blogging tips. I especially like the frequent reminders that this a time vacuum that suck up more time the more popular it gets
<br/>
<br/>
<a href="http://simonworld.mu.nu/archives/037779.php">Simon World :: Everything you wanted to know about blogging but were afraid to ask</a>: "Everything you wanted to know about blogging but were afraid to ask"</div>
</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109385507068662631" rel="service.edit" title="Making Money From Open Source" type="application/atom+xml"/>
<link href="http://www.webmink.net/free/Publish-ix.htm" rel="related" title="Making Money From Open Source" type="text/html"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-08-30T10:37:50+02:00</issued>
<modified>2004-08-30T08:37:50Z</modified>
<created>2004-08-30T08:37:50Z</created>
<link href="http://blog.schedule7.com/2004/08/making-money-from-open-source.html" rel="alternate" title="Making Money From Open Source" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109385507068662631</id>
<title mode="escaped" type="text/html">Making Money From Open Source</title>
<content type="application/xhtml+xml" xml:base="http://blog.schedule7.com" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml">This is the first reasonably coherent effort I've found to explain how one makes money by releasing open source software. I'm not sure it really applies to the little guy, but it seeks to explain how people like IBM and Sun can make money by giving away products like <a href="http://www.eclipse.org/">Eclipse</a> and <a href="http://lg3d.dev.java.net/">Project Looking Glass</a>
<br/> 
<br/>
<a href="http://www.webmink.net/free/Publish-ix.htm">Making Money From Open Source</a>
</div>
</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109351019585615658" rel="service.edit" title="The End of PC's As We Know Them" type="application/atom+xml"/>
<link href="http://www.mobile-weblog.com/archives/virtual_keyboard.html" rel="related" title="The End of PC's As We Know Them" type="text/html"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-08-26T10:49:55+02:00</issued>
<modified>2004-08-26T08:49:55Z</modified>
<created>2004-08-26T08:49:55Z</created>
<link href="http://blog.schedule7.com/2004/08/end-of-pcs-as-we-know-them.html" rel="alternate" title="The End of PC's As We Know Them" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109351019585615658</id>
<title mode="escaped" type="text/html">The End of PC's As We Know Them</title>
<content type="application/xhtml+xml" xml:base="http://blog.schedule7.com" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml">Smaller and smaller computers is the current trend (palmtops, cell phones and so forth). The only thing holding them back from being utterly dominant is the awkward user interface - the keyboard/selection devices become hopelessly unusable, and the screens become unreadable.
<br/>
<br/>However, <a href="http://www.mobile-weblog.com/archives/virtual_keyboard.html">check out this technology</a>
<br/>
<br/>There's no reason they couldn't eventually do this for screens as well.
<br/>
</div>
</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109344938659867127" rel="service.edit" title="Java Faster than C/C++" type="application/atom+xml"/>
<link href="http://www.idiom.com/%7Ezilla/Computer/javaCbenchmark.html" rel="related" title="Java Faster than C/C++" type="text/html"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-08-25T17:56:26+02:00</issued>
<modified>2004-08-25T15:56:26Z</modified>
<created>2004-08-25T15:56:26Z</created>
<link href="http://blog.schedule7.com/2004/08/java-faster-than-cc.html" rel="alternate" title="Java Faster than C/C++" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109344938659867127</id>
<title mode="escaped" type="text/html">Java Faster than C/C++</title>
<content type="application/xhtml+xml" xml:base="http://blog.schedule7.com" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml">This fascinating article refers to numerous benchmarks and provides sensible academic reasons why Java is as fast or faster than C/C++ in most cases. The most compelling reason is that the JIT compiler knows precisesly what machine it is running on, and can thus tune the code much more effectively than a normal commercial c/c++ compiler. It's almost unfair, really
<br/>
<br/>
<a href="http://www.idiom.com/%7Ezilla/Computer/javaCbenchmark.html">Java pulling ahead? Java versus C   benchmarks</a>
</div>
</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109320934185730503" rel="service.edit" title="Copyright vs P2P" type="application/atom+xml"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-08-22T23:08:41+02:00</issued>
<modified>2004-08-22T21:15:41Z</modified>
<created>2004-08-22T21:15:41Z</created>
<link href="http://blog.schedule7.com/2004/08/copyright-vs-p2p.html" rel="alternate" title="Copyright vs P2P" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109320934185730503</id>
<title mode="escaped" type="text/html">Copyright vs P2P</title>
<content type="application/xhtml+xml" xml:base="http://blog.schedule7.com" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml">In a remarkable decision for Peer to Peer developers and users, the USA Ninth Circuit recently ruled in favour of Grokster in <span style="font-style: italic;">MGM vs Grokster</span>
<br/>
<br/>from <a href="http://www.eff.org/deeplinks/archives/001834.php">EFF</a>:
<br/>
<br/>...the Court observed that, in the long run, a competive, unfettered market for innovation ends up helping copyright owners (even if it doesn't help <i>today's</i> entertainment industry oligopolists). In fact, today's ruling will likely be remembered as yet another example of the courts rescuing the entertainment industry from its own short-sightedness. In the words of the Court, "Further, as we have observed, we live in a quicksilver technological environment with courts ill-suited to fix the flow of internet innovation. The introduction of new technology is always disruptive to old markets, and particularly to those copyright owners whose works are sold through wellestablished distribution mechanisms. Yet, history has shown that time and market forces often provide equilibrium in balancing interests, whether the new technology be a player piano, a copier, a tape recorder, a video recorder, a personal computer, a karaoke machine, or an MP3 player."
<br/>
<br/>There is an absolutely fascinating one hour mp3 of the oral arguements from both MGM and Grokster/EFF available <a href="http://www.eff.org/IP/P2P/MGM_v_Grokster/20040203_oral_arg.mp3">here</a>. The arguements are very persuavive from both sides, and very clearly spelt out. It really does make all those endless courtroom dramas you see on TV quite dull by comparison, I strongly recommend downloading and listening to it.
<br/>
</div>
</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109311842509842744" rel="service.edit" title="Chess Legend Bobby Fischer Arrested" type="application/atom+xml"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-08-21T21:52:25+02:00</issued>
<modified>2004-08-21T20:00:25Z</modified>
<created>2004-08-21T20:00:25Z</created>
<link href="http://blog.schedule7.com/2004/08/chess-legend-bobby-fischer-arrested.html" rel="alternate" title="Chess Legend Bobby Fischer Arrested" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109311842509842744</id>
<title mode="escaped" type="text/html">Chess Legend Bobby Fischer Arrested</title>
<content type="application/xhtml+xml" xml:base="http://blog.schedule7.com" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml">OK, this isn't exactly new <a href="http://www.reuters.co.uk/newsPackageArticle.jhtml?type=worldNews&amp;storyID=560586%A7ion=news">news</a>, it happened about a month ago. But its taken a few twists and turns along the way.
<br/>
<br/>First, lets recap. Back in 1992, Bobby and Boris Spassky had a rematch of their famous 1972 battle. This was held in Yugoslavia. At the time, the USA had imposed sanctions against Yugoslavia, and as a result, issued a warrant for Fischer's arrest. He vanished for a long time, only to resurface in the Philippines after 9/11, to express his delight at the attack at the WTC attack. Not exactly endearing himself to Uncle Sam, then.
<br/>
<br/>Anyway, he was recently arrested in Japan, attempting to travel on his apparently invalid USA passport. Appeals against his deportation are currently underway, although he is now attempting to renounce his US citizenship.
<br/>
<br/>In a recent bizarre <a href="http://chessbase.com/newsdetail.asp?newsid=1843">development</a>, Boris Spassky has written to President Bush, asking that he too be arrested, and placed in Fischer's cell (along with a chess set).
<br/>
<br/>
</div>
</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109311520336506240" rel="service.edit" title="The End of Secure Transactions Over the Internet?" type="application/atom+xml"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-08-21T20:58:43+02:00</issued>
<modified>2004-08-21T19:06:43Z</modified>
<created>2004-08-21T19:06:43Z</created>
<link href="http://blog.schedule7.com/2004/08/end-of-secure-transactions-over.html" rel="alternate" title="The End of Secure Transactions Over the Internet?" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109311520336506240</id>
<title mode="escaped" type="text/html">The End of Secure Transactions Over the Internet?</title>
<content type="application/xhtml+xml" xml:base="http://blog.schedule7.com" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml">Some of you may have heard that someone "cracked the system used by secure sites". In fact, what has happened is that someone has managed to produce a "collision" on SHA-0. This means they have managed to generate two different messages that, when they have the SHA-0 hashing algorithm applied, generate the same hash result. The implications are not fully known yet, but note that they are not able to produce a collision message against a particular message. In other words, they can produce a message M and M' where H(M) = H(M'), but <span style="font-weight: bold;">can't</span> currently produce a message M1 against <span style="font-style: italic;">your message</span>, where H(M1)=H(<span style="font-style: italic;">your message</span>)
<br/>
<br/>This <a href="http://www.rtfm.com/movabletype/archives/2004_08.html#001059">site</a> explains it as clearly as I've seen so far. It also suggests some of the implications of the results.
<br/>
</div>
</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109117994215631036" rel="service.edit" title="Great Hacking vs Great Writing" type="application/atom+xml"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-07-30T11:26:36+02:00</issued>
<modified>2004-08-02T12:22:36Z</modified>
<created>2004-07-30T09:32:22Z</created>
<link href="http://blog.schedule7.com/2004/07/great-hacking-vs-great-writing.html" rel="alternate" title="Great Hacking vs Great Writing" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109117994215631036</id>
<title mode="escaped" type="text/html">Great Hacking vs Great Writing</title>
<content mode="escaped" type="text/html" xml:base="http://blog.schedule7.com" xml:space="preserve">The java blog world is up in arms about Paul Graham's anti-java tone in his &lt;a href="http://www.paulgraham.com/gh.html"&gt;recent&lt;/a&gt; controversial post. &#13;&lt;br /&gt;&#13;&lt;br /&gt;See &lt;a href="http://epesh.blog-city.com/read/750419.htm"&gt;here&lt;/a&gt;&amp;nbsp;and &lt;a href="http://tim.littlebluefrog.com/archives/000292.html"&gt;here&lt;/a&gt;&amp;nbsp;for instance. &#13;&lt;br /&gt;&#13;&lt;br /&gt;If you are a passionate programmer, Paul's writing can be very inspirational. His ongoing anti-java bias is, however,&amp;nbsp;very offputting. Regardless of your preferred language, at the end of the day, we're programming finite state automata. Different languages give us more or less abstraction levels, possibly allowing certain concepts to be&amp;nbsp;expressed more succinctly, but nothing can change the fact that all we are doing is manipulating bytes, comparing bytes&amp;nbsp;and diverting to other memory locations based on those comparisons. &#13;&lt;br /&gt;&#13;&lt;br /&gt;Update:&#13;&lt;br /&gt;&#13;&lt;br /&gt;&lt;a href="http://www.manageability.org/blog/stuff/architecture-of-participation-and-hacking"&gt;Here&lt;/a&gt;&amp;nbsp;is a well written response, the last sentence in particular is very telling.&#13;&lt;br /&gt;&lt;a href="http://jroller.com/page/fate?anchor=paul_graham_is_a_tedious"&gt;Here&lt;/a&gt;, on the other hand, is a cutting response, and the comments are even better - check out Starsky McFlirt's comments: "&amp;nbsp;Oh sorry, I forgot, he also applied a basic statistical concept to email filtering as well that worked for like at least one year. Somebody give the man a f**kin Nobel prize tout suite. " still has me chuckling.&#13;&lt;br /&gt;</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109093435181973578" rel="service.edit" title="Open Source Databases Compared" type="application/atom+xml"/>
<link href="http://www.geocities.com/mailsoftware42/db/" rel="related" title="Open Source Databases Compared" type="text/html"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-07-27T15:16:11+02:00</issued>
<modified>2004-07-27T13:19:11Z</modified>
<created>2004-07-27T13:19:11Z</created>
<link href="http://blog.schedule7.com/2004/07/open-source-databases-compared.html" rel="alternate" title="Open Source Databases Compared" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109093435181973578</id>
<title mode="escaped" type="text/html">Open Source Databases Compared</title>
<content mode="escaped" type="text/html" xml:base="http://blog.schedule7.com" xml:space="preserve">MySQL, PostgreSQL and Firebird: well-known databases to be sure. But which one to choose? &lt;a href="http://www.geocities.com/mailsoftware42/db/"&gt;This&lt;/a&gt;&amp;nbsp;site provides an excellent comparison and checklist of which features each database supports.&#13;&lt;br /&gt;&#13;&lt;br /&gt;</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109047840932769267" rel="service.edit" title="MySQL Gotchas" type="application/atom+xml"/>
<link href="http://sql-info.de/mysql/gotchas.html" rel="related" title="MySQL Gotchas" type="text/html"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-07-22T08:34:09+02:00</issued>
<modified>2004-07-22T06:40:09Z</modified>
<created>2004-07-22T06:40:09Z</created>
<link href="http://blog.schedule7.com/2004/07/mysql-gotchas.html" rel="alternate" title="MySQL Gotchas" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109047840932769267</id>
<title mode="escaped" type="text/html">MySQL Gotchas</title>
<content mode="escaped" type="text/html" xml:base="http://blog.schedule7.com" xml:space="preserve">This &lt;a href="http://sql-info.de/mysql/gotchas.html"&gt;site&lt;/a&gt;&amp;nbsp;contains a very detailed list of gotcha's with MySQL (i.e. unusual behaviour not consistent with the majority of other databases out there). They are not necessarily bugs. It's quite hard core and very detailed, but could be useful if you're ever scratching your head wondering why something odd is going on with your MySQL queries.&#13;&lt;br /&gt;&amp;nbsp;&#13;&lt;br /&gt;Topics include&#13;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Strange null behaviour&lt;/li&gt;&lt;li&gt;Varchar fields are non-case sensitive by default&lt;/li&gt;&lt;li&gt;Peculiar comment behaviour&lt;/li&gt;&lt;li&gt;Division by zero gives null rather than an error&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;and dozens more&lt;/p&gt;</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
<entry xmlns="http://purl.org/atom/ns#">
<link href="https://www.blogger.com/atom/7492582/109032244018414499" rel="service.edit" title="Genetic Algorithms vs Natural Selection" type="application/atom+xml"/>
<author>
<name>Chris Welsh</name>
</author>
<issued>2004-07-20T12:55:08+02:00</issued>
<modified>2004-07-20T19:20:08Z</modified>
<created>2004-07-20T11:20:40Z</created>
<link href="http://blog.schedule7.com/2004/07/genetic-algorithms-vs-natural.html" rel="alternate" title="Genetic Algorithms vs Natural Selection" type="text/html"/>
<id>tag:blogger.com,1999:blog-7492582.post-109032244018414499</id>
<title mode="escaped" type="text/html">Genetic Algorithms vs Natural Selection</title>
<content type="application/xhtml+xml" xml:base="http://blog.schedule7.com" xml:space="preserve">
<div xmlns="http://www.w3.org/1999/xhtml">A recent <a href="http://www.mail2web.com/cgi-bin/redir.asp?lid=0&amp;newsite=http://quintonh.blogspot.com/2004/07/software-that-evolves.html">post by quinton</a> got me thinking about genetic algorithms, and more specifically, about the fact that the algorithm is essentially based on Darwin's theory of natural selection. It's a great technique for solving certain classes of problems, but it troubles me somewhat that the process of evolution (upon which the algorithm is based) is not properly established. 
<br/>  
<br/>In general, I think the evidence for evolution is very strong. However, the mechanics of how it works still needs proper explanation - at the present time natural selection seems unable to explain things properly. Let me outline a few objections to the theory of natural selection: 
<br/>  
<br/>1) How the first replicator could arise is not at all explained. (The first replicator is the first entity able to reproduce itself). There are any many suggested theories, none satisfying. Currently, the first replicator mechanism is not explained, not proved and not reproducable. 
<br/>  
<br/>2) The fossil subset is very poor. Only a tiny fraction of species show intermediate forms, and <strong>no</strong> species show smooth transitions. Darwin himself thought that the lack of fossil records was the biggest threat to his theory, but was confident that in the fullness of time, sufficient fossil data would come to light. Good hominid fossil records have been found in recent times (presumably because human evolution is more interesting), but that aside, it's arguable that over 100 years after his death, the fossil records are even poorer (as some promising fossil records from his time were proved to be incorrect). 
<br/>  
<br/>3) Irreducible complexity. This is a popular weapon of creationists, typically they refer to complex components such as the eye. More compelling are some of the metabolic pathways present in organisms - the fact that complex molecules are synthezed in 12 or more steps, with no useful by-products. Hence the whole process would have to have been discovered "at once". 
<br/>  
<br/>4) Staggeringly variable rates of evolution. Certain species seem to have "forgotten" to evolve despite being subject to the same evolutionary stresses. 
<br/>  
<br/>5) Problems with DNA itself. Despite the genome mapping project, it is becoming increasingly difficult to see how DNA could contain enough information to define a complex phenotype. 
<br/>  
<br/>6) The timescales present major difficulties, perhaps even the most significant objection. The timescales to evovle from hominoid to hominid seem too short by many orders of magnitude. 
<br/>  
<br/>Now, the bulk of these objections can be overcome by either (a) substantially increasing the time available or (b) coming up with a better mechanism than natural selection. 
<br/>
<br/>Let me stress again that I have no time for creationists, who for me fall into the same category as astrologists, homeopaths and psychics (i.e. people who believe in things despite the absence of scientific evidence). However, based on the points above, I think the theory of natural selection is currently inadequate to explain evolution properly. And as such, its use as a basis for a computer algorithm is suspect.
<br/>  
<br/>Thanks to Alex for his input in structuring this article. 
<br/>
<br/>
<br/>
</div>
</content>
<draft xmlns="http://purl.org/atom-blog/ns#">false</draft>
</entry>
</feed>
