<?xml version="1.0"?>

<rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
>

<channel rdf:about="http://simon.incutio.com/syndicate/softeng/rss1.0">
  <title>Software Engineering</title>
  <link>http://simon.incutio.com/</link>
  <description>Simon Willison's Software Engineering cateory</description>
  <language>en-uk</language>
  <webMaster>simon@incutio.com</webMaster>
  <items>
    <rdf:Seq>
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2005/07/10/less" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2004/01/15/explanation" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2003/12/16/crazedAntiIdiotariansStillWrit" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2003/11/15/aeronChairs" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2003/07/09/marketingForGeeks" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2003/05/04/strongTesting" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2002/11/29/conversationWithMartinFowler" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2002/11/24/owaspGuide" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2002/11/24/phpPatterns" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2002/11/12/leakyAbstractions" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2002/11/08/objectPersistence" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2002/11/01/jspBitsAndPieces" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2002/11/01/docsThoughtsOnLinuxLunacy" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2002/10/29/softwareEngineeringForPHP" />
      <rdf:li rdf:resource="http://simon.incutio.com/archive/2002/10/27/scriptletsAndPythonCard" />
    </rdf:Seq>
  </items>
</channel>

<item rdf:about="http://simon.incutio.com/archive/2005/07/10/less">
  <title>Less code is more</title>
  <description>&lt;p id=&quot;p-0&quot;&gt;I've pointed to it a couple of the times from the &lt;a href=&quot;http://simon.incutio.com/blogmarks/&quot;&gt;blogmarks&lt;/a&gt;, but it's worth re-iterating here: if you have any interest at all in LAMP, agile programming or open-source development methodologies you should take a look at &lt;a href=&quot;http://lesscode.org/&quot;&gt;lesscode.org&lt;/a&gt;. To quote their &lt;a href=&quot;http://lesscode.org/about/&quot;&gt;about page&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote cite=&quot;http://lesscode.org/about/&quot;&gt;&lt;p id=&quot;p-1&quot;&gt;lesscode.org is a place to advocate, discuss, and practice the art of
using &lt;em&gt;less code&lt;/em&gt; to get &lt;em&gt;more done&lt;/em&gt;. We shun complexity and challenge
the status-quo when it impedes our ability to simplify our development
tools and processes. We appreciate 
&lt;a href=&quot;http://python.org/&quot;&gt;Python&lt;/a&gt;, &lt;a href=&quot;http://ruby-lang.org/&quot; title=&quot;Ruby: Programmer's Best Friend&quot;&gt;Ruby&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/LAMP&quot; title=&quot;The LAMP Platform&quot;&gt;LAMP&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/REST&quot; title=&quot;Representationl State Transfer&quot;&gt;REST&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/KISS_principle&quot; title=&quot;KISS principle&quot;&gt;KISS&lt;/a&gt;, &lt;a href=&quot;http://www.jwz.org/doc/worse-is-better.html&quot; title=&quot;Worse is better&quot;&gt;worse is
better&lt;/a&gt;, and &lt;a href=&quot;http://www.talklikeapirate.com/&quot; title=&quot;w00t!&quot;&gt;talk like a pirate day&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p id=&quot;p-2&quot;&gt;&lt;a href=&quot;http://naeblis.cx/rtomayko/&quot;&gt;Ryan Tomayko&lt;/a&gt; is the guy behind the site, and he evidently has a lot to get off his chest.&lt;/p&gt;

&lt;p id=&quot;p-3&quot;&gt;In other recommendations, Ka-Ping Yee has been providing excellent coverage and analysis of &lt;a href=&quot;http://cups.cs.cmu.edu/soups/&quot; title=&quot;Symposium On Usable Privacy and Security&quot;&gt;SOUPS 2005&lt;/a&gt; over at &lt;a href=&quot;http://usablesecurity.com/2005/07/&quot; title=&quot;Usable Security archive for July 2005&quot;&gt;Usable Security&lt;/a&gt;. And on an unrelated note, I've been deriving a great deal of amusement from &lt;a href=&quot;http://iharthdarth.livejournal.com/&quot;&gt;I Harth Darth&lt;/a&gt;.&lt;/p&gt;

&lt;p id=&quot;p-4&quot;&gt;I'm off to San Francisco for a week. Stay safe.&lt;/p&gt;</description>
  <link>http://simon.incutio.com/archive/2005/07/10/less</link>
  <dc:subject>Software Engineering</dc:subject>
  <dc:date>2005-07-10T02:53:44-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2004/01/15/explanation">
  <title>Advice worth repeating</title>
  <description>&lt;p&gt;Tim Bray's &lt;a href=&quot;http://www.tbray.org/ongoing/When/200x/2004/01/13/LawOfConversation&quot; title=&quot;Two Laws of Explanation&quot;&gt;Laws of Explanation&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote cite=&quot;http://www.tbray.org/ongoing/When/200x/2004/01/13/LawOfConversation&quot;&gt;
&lt;h4&gt;The First Law&lt;/h4&gt;

&lt;p&gt;When you're explaining something to somebody and they don't get it, that's not their problem, it's your problem.&lt;/p&gt;

&lt;h4&gt;The Second Law&lt;/h4&gt;

&lt;p&gt;When someone's explaining something to you and you're not getting it, it's not your problem, it's their problem.&lt;/p&gt;
&lt;/blockquote&gt;</description>
  <link>http://simon.incutio.com/archive/2004/01/15/explanation</link>
  <dc:subject>Software Engineering</dc:subject>
  <dc:date>2004-01-15T04:54:43-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2003/12/16/crazedAntiIdiotariansStillWrit">
  <title>Joel on Eric</title>
  <description>&lt;p&gt;Joel Spolsky's &lt;a href=&quot;http://www.joelonsoftware.com/articles/Biculturalism.html&quot; title=&quot;Biculturalism&quot;&gt;latest essay&lt;/a&gt; reviews Eric Raymond's &lt;a href=&quot;http://www.faqs.org/docs/artu/&quot;&gt;The Art of Unix Programming&lt;/a&gt; (a book I &lt;em&gt;really&lt;/em&gt; want to pick up) and uses it as background for a discussion of the cultural differences between Windows and Unix programmers. As always, it's an insightful piece.&lt;/p&gt;

&lt;p&gt;Joel's key point is that while Unix programmers write code for other programmers, Windows programmers write code for end users. Unix programs end up being far more powerful and flexible, but Windows programs allow Aunt Madge to send email. Joel places the blame for the lack of success of Linux as a desktop operating systems on the cultural values that underpin it, which celebrate the diversity of multiple window managers rather than condeming them for confusing end users.&lt;/p&gt;

&lt;p&gt;It's all good stuff. I'd argue that the rise of web-based applications balances the playing field somewhat in terms of ease of use of the different platforms - most people can handle a web application now (look at the success of webmail) and most browser behave in pretty much the same way no matter what operating system they run on. I guess that's why Microsoft were so scared of Netscape back in 1996.&lt;/p&gt;</description>
  <link>http://simon.incutio.com/archive/2003/12/16/crazedAntiIdiotariansStillWrit</link>
  <dc:subject>Software Engineering</dc:subject>
  <dc:date>2003-12-16T01:24:12-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2003/11/15/aeronChairs">
  <title>Analysing methodologies</title>
  <description>&lt;p&gt;Joel Spolsky on &lt;a href=&quot;http://www.joelonsoftware.com/items/2003/11/14.html&quot; title=&quot;Time for the next Book of the Month.&quot;&gt;analysing development methodologies&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote cite=&quot;http://www.joelonsoftware.com/items/2003/11/14.html&quot;&gt;&lt;p&gt;But we don't have the data. We don't have any data. You can give us anecdotes left and right about how methodology X worked or didn't work, but you can't prove that when it worked it wasn't just because of one really, really good programmer on the team, and you can't prove that when it failed is wasn't just because the company was in the process of going bankrupt and everybody was too demoralized to do anything at all, Aeron chairs notwithstanding.&lt;/p&gt;&lt;/blockquote&gt;</description>
  <link>http://simon.incutio.com/archive/2003/11/15/aeronChairs</link>
  <dc:subject>Software Engineering</dc:subject>
  <dc:date>2003-11-15T02:13:18-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2003/07/09/marketingForGeeks">
  <title>Marketing for Geeks</title>
  <description>&lt;p&gt;This is excellent: &lt;a href=&quot;http://software.ericsink.com/Act_Your_Age.html&quot;&gt;Marketing for Geeks&lt;/a&gt;, a series of articles (three at the moment) by Eric Sink. I've never really been interested in marketing but Eric got me hooked with  geek friendly examples such as Paint Shop Pro and CityDesk and I ended up learning a great deal. The writing style is similar to that of Joel Spolsky, so if you enjoy &lt;a href=&quot;http://www.joelonsoftware.com/&quot;&gt;Joel on Software&lt;/a&gt; you'll certainly enjoy this.&lt;/p&gt;</description>
  <link>http://simon.incutio.com/archive/2003/07/09/marketingForGeeks</link>
  <dc:subject>Software Engineering</dc:subject>
  <dc:date>2003-07-09T13:09:04-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2003/05/04/strongTesting">
  <title>Strong Typing vs Strong Testing</title>
  <description>&lt;p&gt;In &lt;a href=&quot;http://mindview.net/WebLog/log-0025&quot;&gt;Strong Typing vs. Strong Testing&lt;/a&gt;, Bruce Eckel reconsiders the old idea that languages without strong typing can't be relied on to create large programs:&lt;/p&gt;

&lt;blockquote cite=&quot;http://mindview.net/WebLog/log-0025&quot;&gt;&lt;p&gt;This became a puzzle to me: if strong static type checking is so important, why are people able to build big, complex Python programs (with much shorter time and effort than the strong static counterparts) without the disaster that I was so sure would ensue?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;His conclusion is that type checking by the compiler does not garauntee the correctness of a program in the first place; it's just another test. Comprehensive unit testing can more than compensate for the lack of type checking in languages such as Python, especially since the huge productivity bonus provided by Python allows more tests to be written starting at an earlier stage in development.&lt;/p&gt;

&lt;p&gt;Incidentally, Bruce recently &lt;a href=&quot;http://mindview.net/WebLog/log-0022&quot; title=&quot;RSS Feed up&quot;&gt;added an RSS feed&lt;/a&gt;.&lt;/p&gt;</description>
  <link>http://simon.incutio.com/archive/2003/05/04/strongTesting</link>
  <dc:subject>Python, Software Engineering</dc:subject>
  <dc:date>2003-05-04T20:32:56-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2002/11/29/conversationWithMartinFowler">
  <title>Conversation with Martin Fowler</title>
  <description>&lt;p&gt;A conversation with Martin Fowler, parts &lt;a href=&quot;http://www.artima.com/intv/refactor.html&quot; title=&quot;Refactoring with Martin Fowler&quot;&gt;I&lt;/a&gt;, &lt;a href=&quot;http://www.artima.com/intv/principles.html&quot; title=&quot;Design Principles and Code Ownership&quot;&gt;II&lt;/a&gt;, &lt;a href=&quot;http://www.artima.com/intv/evolution.html&quot; title=&quot;Evolutionary Design&quot;&gt;III&lt;/a&gt; and &lt;a href=&quot;http://www.artima.com/intv/flexplex.html&quot; title=&quot;Flexibility and Complexity&quot;&gt;IV&lt;/a&gt;.&lt;/p&gt;</description>
  <link>http://simon.incutio.com/archive/2002/11/29/conversationWithMartinFowler</link>
  <dc:subject>Software Engineering</dc:subject>
  <dc:date>2002-11-29T23:43:01-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2002/11/24/owaspGuide">
  <title>OWASP Security guide</title>
  <description>&lt;p&gt;The &lt;a href=&quot;http://www.owasp.org/&quot;&gt;Open Web Application Security Project&lt;/a&gt; (&lt;acronym title=&quot;Open Web Application Security Project&quot;&gt;OWASP&lt;/acronym&gt;) have a &lt;a href=&quot;http://www.owasp.org/guide/&quot; title=&quot;About the OWASP Guide&quot;&gt;free guide&lt;/a&gt; to building secure web applications, which covers a large range of common problems such as cross site scripting and &lt;acronym title=&quot;Structured Query Language&quot;&gt;SQL&lt;/acronym&gt; injection vulnerabilities. The report is a 60 page &lt;acronym title=&quot;Portable Document Format&quot;&gt;PDF&lt;/acronym&gt; and although I haven't had time to go through it yet it looks like an excellent read.&lt;/p&gt;</description>
  <link>http://simon.incutio.com/archive/2002/11/24/owaspGuide</link>
  <dc:subject>Web Services, Software Engineering, Systems Administration</dc:subject>
  <dc:date>2002-11-24T21:19:55-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2002/11/24/phpPatterns">
  <title>phpPatterns</title>
  <description>&lt;p&gt;&lt;a href=&quot;http://www.phppatterns.com/&quot;&gt;phpPatterns&lt;/a&gt; is a brand new site which advocates and documents the use of object oriented design patterns with &lt;acronym title=&quot;PHP: Hypertext Preprocessor&quot;&gt;PHP&lt;/acronym&gt;. It's a great concept and the site already has some impressive content (although it could really do with a PHP references tutorial). The site is a project of Harry Fuecks, a regular contributor to &lt;a href=&quot;http://www.sitepointforums.com/forumdisplay.php?forumid=34&quot;&gt;SitePoint's PHP forums&lt;/a&gt;.&lt;/p&gt;</description>
  <link>http://simon.incutio.com/archive/2002/11/24/phpPatterns</link>
  <dc:subject>PHP, Software Engineering</dc:subject>
  <dc:date>2002-11-24T16:13:16-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2002/11/12/leakyAbstractions">
  <title>Leaky abstractions</title>
  <description>&lt;p&gt;Joel Spolsky: &lt;a href=&quot;http://www.joelonsoftware.com/articles/LeakyAbstractions.html&quot;&gt;The Law of Leaky Abstractions&lt;/a&gt;&lt;/p&gt;
&lt;blockquote cite=&quot;http://www.joelonsoftware.com/articles/LeakyAbstractions.html&quot;&gt;
&lt;p&gt;Code generation tools which pretend to abstract out something, like all abstractions, leak, and the only way to deal with the leaks competently is to learn about how the abstractions work and what they are abstracting. So the abstractions save us time working, but they don't save us time learning.&lt;/p&gt;

&lt;p&gt;And all this means that paradoxically, even as we have higher and higher level programming tools with better and better abstractions, becoming a proficient programmer is getting harder and harder.&lt;/p&gt;
&lt;/blockquote&gt;</description>
  <link>http://simon.incutio.com/archive/2002/11/12/leakyAbstractions</link>
  <dc:subject>Software Engineering, Programming</dc:subject>
  <dc:date>2002-11-12T14:33:03-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2002/11/08/objectPersistence">
  <title>Object persistence</title>
  <description>&lt;p&gt;Simon Brunning &lt;a href=&quot;http://www.brunningonline.net/simon/blog/archives/000526.html#000526&quot; title=&quot;Persistence&quot;&gt;talks about persistence&lt;/a&gt;, and how much more complicated it is now that objects are involved. The best explanation I've seen of how objects and relational databases can be used together was in Martin Fowler's &lt;a href=&quot;http://www.amazon.com/exec/obidos/ASIN/0321127420/104-1365940-3319951&quot;&gt;Patterns of Enterprise Application Architecture&lt;/a&gt;, but now that the book has been published he has removed the &lt;a href=&quot;http://www.martinfowler.com/isa/index.html&quot; title=&quot;ISA is now closed&quot;&gt;online version&lt;/a&gt;. IBM's DeveloperWorks has a new article up describing &lt;a href=&quot;http://www-106.ibm.com/developerworks/linux/library/l-pypers.html&quot; title=&quot;Python persistence management&quot;&gt;persistence management in Python&lt;/a&gt;, which talks in details about Python's native serialization method (pickling) but only mentions &lt;acronym title=&quot;Zope Object DataBase&quot;&gt;ZODB&lt;/acronym&gt; in passing. I agree with Simon - object databases just don't seem as elegant a solution as &lt;acronym title=&quot;Relational DataBase Management System&quot;&gt;RDBMS&lt;/acronym&gt;s. Object databases may provide persistence but they don't seem nearly as powerful as relational databases when it comes to flexibility of accessing data.&lt;/p&gt;</description>
  <link>http://simon.incutio.com/archive/2002/11/08/objectPersistence</link>
  <dc:subject>Python, Software Engineering, Programming</dc:subject>
  <dc:date>2002-11-08T14:36:32-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2002/11/01/jspBitsAndPieces">
  <title>JSP bits and pieces</title>
  <description>&lt;p&gt;I've been reading up on the Jakarta Struts &lt;acronym title=&quot;Model View Controller&quot;&gt;MVC&lt;/acronym&gt; framework, courtesy of &lt;a href=&quot;http://www.brunningonline.net/simon/blog/archives/000357.html&quot; title=&quot;JSPs, the MVC model, and Struts&quot;&gt;Simon Brunning&lt;/a&gt;. &lt;a href=&quot;http://www-106.ibm.com/developerworks/java/library/j-struts/index.html#h1&quot;&gt;Struts, an open-source MVC implementation&lt;/a&gt; is a great starting point, and the ONJava &lt;a href=&quot;http://www.onjava.com/onjava/jsp_servlets/&quot;&gt;JSP/JSTL series&lt;/a&gt; (also found &lt;a href=&quot;http://www.brunningonline.net/simon/blog/archives/000512.html#000512&quot; title=&quot;O'Reilly Struts article&quot;&gt;via Simon&lt;/a&gt;) were very informative as well.&lt;/p&gt;</description>
  <link>http://simon.incutio.com/archive/2002/11/01/jspBitsAndPieces</link>
  <dc:subject>Software Engineering</dc:subject>
  <dc:date>2002-11-01T14:56:53-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2002/11/01/docsThoughtsOnLinuxLunacy">
  <title>Doc's thoughts on Linux Lunacy</title>
  <description>&lt;p&gt;Doc Searls is back from the Linux Lunacy cruise, and has been talking about the future of the software industry in &lt;a href=&quot;http://www.linuxjournal.com/article.php?sid=6414&quot;&gt;What I learned on Linux Lunacy&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote cite=&quot;http://www.linuxjournal.com/article.php?sid=6414&quot;&gt;&lt;p&gt;
That's over, and it's not because a pile of overfunded dot-com fantasies crashed to the ground. It's over because the market doesn't want it any more. The market wants something more like professional services--architects, designers and builders. Good businesses all, but not the kind that are &quot;venture scale&quot;, as they say.
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;I think this is the classic business case for open source software - pay software engineers to buld custom solutions from freely available (open source) components. The engineers make a good living, the company gets good software and hopefully some more open source material is fed back to the community as a result. Is the market really heading that way? A lot of very smart people seem to think so. The next few years could be very interesting indeed.&lt;/p&gt;</description>
  <link>http://simon.incutio.com/archive/2002/11/01/docsThoughtsOnLinuxLunacy</link>
  <dc:subject>Software Engineering</dc:subject>
  <dc:date>2002-11-01T00:59:34-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2002/10/29/softwareEngineeringForPHP">
  <title>Software Engineering practises for PHP</title>
  <description>&lt;p&gt;Scott Johnson's presentation on &lt;a href=&quot;http://www.fuzzygroup.com/phpcon2002/engineering/index_files/frame.htm&quot;&gt;Software Engineering Practices for Large Scale PHP Projects&lt;/a&gt; is fantastic - lots of excellent practical advice for professional development with PHP. It's a shame the presentation slides require Internet Explorer (due to being exported from Power Point) but it was more than worth firing up IE to view them.&lt;/p&gt;</description>
  <link>http://simon.incutio.com/archive/2002/10/29/softwareEngineeringForPHP</link>
  <dc:subject>PHP, Software Engineering</dc:subject>
  <dc:date>2002-10-29T02:07:49-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>
<item rdf:about="http://simon.incutio.com/archive/2002/10/27/scriptletsAndPythonCard">
  <title>PythonCard scriptlets</title>
  <description>&lt;p&gt;Kevin Altis on &lt;a href=&quot;http://radio.weblogs.com/0102677/2002/10/21.html#a20&quot; title=&quot;Kevin Altis: Monday, October 21, 2002&quot;&gt;scripting applications&lt;/a&gt; written in PythonCard:&lt;/p&gt;

&lt;blockquote cite=&quot;http://radio.weblogs.com/0102677/2002/10/21.html#a20&quot;&gt;&lt;p&gt;
The entire object model of a PythonCard application is exposed, so if an app doesn't have the feature you want, you can probably extend it with a short &quot;macro&quot; in Python. All scripts are run in the shell, so they share the shell namespace and thus scripts can share variables since the namespace doesn't go away until the application is closed.
&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Kevin calls these scripts &quot;scriptlets&quot; and has posted an &lt;a href=&quot;http://radio.weblogs.com/0102677/categories/pythoncard/2002/05/10.html&quot; title=&quot;codeEditor&quot;&gt;example scriptlet&lt;/a&gt; that can insert the current date and time straight in to any text file opened with the PythonCard codeEditor.&lt;/p&gt;

&lt;p&gt;Sam Ruby was recently quoted as &lt;a href=&quot;http://weblog.infoworld.com/udell/2002/10/07.html#a461&quot; title=&quot;Java, C#, Python, and Ruby&quot;&gt;stating the following&lt;/a&gt; over on Jon Udell's blog:&lt;/p&gt;

&lt;blockquote cite=&quot;http://weblog.infoworld.com/udell/2002/10/07.html#a461&quot;&gt;&lt;p&gt;
While Java and C# battle over who is the rightful successor to C++, it is quite possible that a language like Python (or, dare I say it, Ruby) will ultimately be the one that wins out.
&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This is an interesting train of thought. Scripting languages such as Python undeniably lead to faster development times (no compile cycle, less book keeping syntax to worry about) and as computers continue to get faster and cheaper the overhead associated with these languages becomes less and less important. Kevin's concept of an application with an exposed object model that can be tweaked by the user is a powerful idea, and one that could bring real benefits; Python is not a difficult language to program in, and applications which can be scripted easily can become very popular (just look at the &lt;a href=&quot;http://www.mirc.com/&quot;&gt;mIRC&lt;/a&gt; community for an example of that). Unfortunately the ability to script an application also leads to inherent security flaws, as have been seen with VBScript and Microsoft Office - although in the case of Office most of the problems stem from the ability to add macros to individual documents (there are surprisingly few mIRC security alerts despite the in built scripting engine).&lt;/p&gt;</description>
  <link>http://simon.incutio.com/archive/2002/10/27/scriptletsAndPythonCard</link>
  <dc:subject>Python, Software Engineering</dc:subject>
  <dc:date>2002-10-27T10:58:01-00:00</dc:date>
  <dc:creator>Simon Willison</dc:creator>
</item>

</rdf:RDF>