<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>jastram.de Blog - Software</title>
    <link>http://jastram.de/blog/</link>
    <description>Commentary from a world citizen</description>
    <dc:language>en</dc:language>
    <admin:errorReportsTo rdf:resource="mailto:michael@jastram.de" />
    <generator>Serendipity 1.3.1 - http://www.s9y.org/</generator>
    
    <image>
        <url>http://jastram.de/images/frame-michael.gif</url>
        <title>RSS: jastram.de Blog - Software - Commentary from a world citizen</title>
        <link>http://jastram.de/blog/</link>
        <width></width>
        <height></height>
    </image>

<item>
    <title>Guess how much Software there is in a Car</title>
    <link>http://jastram.de/blog/blog.php?/archives/338-Guess-how-much-Software-there-is-in-a-Car.html</link>
            <category>Business</category>
            <category>Software</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/338-Guess-how-much-Software-there-is-in-a-Car.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=338</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=338</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    Did you know that a third of the cost of a plane goes towards the fuselage, a third towards the engines, and a third towards software?  It&#039;s getting there for cars, too.  Here is a &lt;a href=&quot;http://news.discovery.com/tech/toyota-recall-software-code.html&quot;&gt;great article that is full of interesting trivia&lt;/a&gt;.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 02 Mar 2010 21:42:33 -0500</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/338-guid.html</guid>
    
</item>
<item>
    <title>Running Rodin 1.1 with Ubuntu 9.10</title>
    <link>http://jastram.de/blog/blog.php?/archives/333-Running-Rodin-1.1-with-Ubuntu-9.10.html</link>
            <category>Eclipse RCP</category>
            <category>Java</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/333-Running-Rodin-1.1-with-Ubuntu-9.10.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=333</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=333</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    &lt;p&gt;I had a few issues getting Rodin 1.1 to work properly after Updating Ubuntu to 9.10.  The main issue is the HTML-Viewer that Eclipse uses.  It wraps Firefox/xulrunner in an SWT-Control.  Unfortunately, Firefox 3.5 (xulrunner 1.9.1) is incompatible with Eclipse 3.4, on which Rodin is based.&lt;/p&gt;&lt;p&gt;To work around this problem, you need to install &lt;a href=&quot;http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.0.15/runtimes/&quot;&gt;xulrunner 1.9.0&lt;/a&gt;.  I installed it locally at ~/opt/xulrunner-1.9.0.15&lt;/p&gt;&lt;p&gt;Next, you need to edit your rodin.ini (in the Rodin installation directory) and add the following line:&lt;/p&gt;&lt;p&gt;-Dorg.eclipse.swt.browser.XULRunnerPath=~/opt/xulrunner-1.9.0.15&lt;/p&gt;&lt;p&gt;That&#039;s it!  This also works for running Eclipse 3.4 (in that case, you have to edit eclipse.ini).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Good luck!&lt;/p&gt; 
    </content:encoded>

    <pubDate>Fri, 06 Nov 2009 23:30:52 -0500</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/333-guid.html</guid>
    
</item>
<item>
    <title>Building a GWT app that is an Eclipse Plug-In</title>
    <link>http://jastram.de/blog/blog.php?/archives/329-Building-a-GWT-app-that-is-an-Eclipse-Plug-In.html</link>
            <category>Eclipse RCP</category>
            <category>Java</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/329-Building-a-GWT-app-that-is-an-Eclipse-Plug-In.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=329</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=329</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    &lt;p&gt;For my own reference:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Create a new GWT-Project&lt;/li&gt;&lt;li&gt;Give it a standard Plug-In name (e.g. de.jastram.gwtexample)&lt;/li&gt;&lt;li&gt;Give the Project the Plug-In Nature (Right-click on Project &amp;gt; Configure &amp;gt; Convert to Plug-in Projects...)&lt;/li&gt;&lt;li&gt;Add Dependency to de.jastram.jettyrunner&lt;/li&gt;&lt;li&gt;Add Extension de.jastram.jettyrunner.warrunner&lt;/li&gt;&lt;li&gt;Add a war-element&lt;/li&gt;&lt;li&gt;That&#039;s it - don&#039;t forget to compile.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt; 
    </content:encoded>

    <pubDate>Wed, 23 Sep 2009 11:28:03 -0400</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/329-guid.html</guid>
    
</item>
<item>
    <title>Using Map Requirements Modelling with the B-Method</title>
    <link>http://jastram.de/blog/blog.php?/archives/325-Using-Map-Requirements-Modelling-with-the-B-Method.html</link>
            <category>Requirements</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/325-Using-Map-Requirements-Modelling-with-the-B-Method.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=325</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=325</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    A colleague recommended a paper by Babar, Tosic and Potter, entitled &amp;quot;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4425832&quot;&gt;Aligning the Map Requirements Modelling with the B-method for Formal Software Development&lt;/a&gt;.&amp;quot;  There is certainly some overlap with my research, and it&#039;s interesting for me to see &lt;a href=&quot;http://en.wikipedia.org/wiki/Problem_Frames_Approach&quot;&gt;Problem Frames&lt;/a&gt; being integrated in the approach presented as well.&lt;p&gt;To be honest, I was a little disapointed.  The most crucial part of the method is how to get from the requirements to the formal model.  This is described in Sec. 3, but in such an informal manner that I don&#039;t see that much value.  It shows that the methods are compatible, but little beyond that.  I guess that&#039;s what the authors mean by &amp;quot;aligning&amp;quot; the methods.&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 27 Jul 2009 17:10:15 -0400</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/325-guid.html</guid>
    
</item>
<item>
    <title>Independent Verification and Validation of Software pays of (big time!)</title>
    <link>http://jastram.de/blog/blog.php?/archives/322-Independent-Verification-and-Validation-of-Software-pays-of-big-time!.html</link>
            <category>Requirements</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/322-Independent-Verification-and-Validation-of-Software-pays-of-big-time!.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=322</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=322</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    &lt;br /&gt;
Just finished a paper &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=796141&quot;&gt;&lt;span class=&quot;headNavBlueXLarge2&quot;&gt;Evaluating the effectiveness of independent verification andvalidation&lt;/span&gt;&lt;/a&gt; by Arthur et.al.  What the authors state is not that surprising: independent verification and validation (V&amp;amp;V) efforts result in significantly better results than V&amp;amp;V done by the same team.  This paper is interesting for a number of reasons:&lt;ul&gt;&lt;li&gt;The result stem from a controlled study of two identical projects, one realized with &amp;quot;normal&amp;quot; V&amp;amp;V (done by the team), the other using independent V&amp;amp;V&lt;/li&gt;&lt;li&gt;The independent V&amp;amp;V group detected significantly more critical faults (97 vs. 58).  Why? The authors conclude that a new class of faults was identified by the IV&amp;amp;V group: &amp;quot;The IV&amp;amp;V team from Group 1 identified an additional class of critical faults not found by Group 2. More specifically, a substantial number of the critical faults reported by Group 1 stem from the &lt;b&gt;detection and recording of ambiguous or unclear statements&lt;/b&gt; in the requirement specifications and design documents. (...) Group 1 reported 40 such faults. (...) Group 2 reported only one such fault.&amp;quot;&lt;/li&gt;&lt;li&gt;Even though both projects were completed and considered a success, things during acceptance testing looked different.  An independent acceptance test suite consisting of 36 tests was provided.  The non-independent V&amp;amp;V group&#039;s software passed only 11 tests, while the independent V&amp;amp;V group&#039;s software passed 33.&lt;/li&gt;&lt;/ul&gt; 
    </content:encoded>

    <pubDate>Tue, 21 Jul 2009 15:15:21 -0400</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/322-guid.html</guid>
    
</item>
<item>
    <title>Analyzing Natural Language Requirements - automatically?</title>
    <link>http://jastram.de/blog/blog.php?/archives/321-Analyzing-Natural-Language-Requirements-automatically.html</link>
            <category>Requirements</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/321-Analyzing-Natural-Language-Requirements-automatically.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=321</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=321</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    &lt;a href=&quot;http://quars.isti.cnr.it/&quot;&gt;QuARS &lt;/a&gt;is a tool for analyzing Natural Language Requirements - although it would be an exaggeration to call it &amp;quot;automatic&amp;quot;.  The tool performs a morphological and syntactical analysis on plain text requirements and attempts to measure vagueness, subjectivity, weakness, and a few more.&lt;p&gt;Natural Language Requirements (NLRs) won&#039;t go away any time soon - that&#039;s why this kind of research makes a lot of sense.  But it&#039;s unbelievable tricky to work with NLRs in an automated way.  There are three main approaches to deal with the richness of natural languge:&lt;/p&gt;&lt;p&gt;&lt;b&gt;Restrictive&lt;/b&gt;: constrain the form of the NLRs, e.g. using templates.  Very convenient for the Requiremens Engineer, but not that nice for the stakeholder.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Inductive&lt;/b&gt;: This is mainly theory about writing styles, without going into detail on how to do things better.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Analytic&lt;/b&gt;: In this approach, we accept the NLRs, but provide feedback for fixing them.  These have the hightest chance of adaption, because they are the least invasive.  This is also the route of QuARS: Analyze the requirements and provide some feedback on how to improve them.&lt;/p&gt;&lt;p&gt;The biggest catch (in my opinion) is that many analyses require well-maintained dictionaries to be effective.  I wanted to try the tool out, but they didn&#039;t provide a download link (or information about a commercial version, for that matter).  I wrote them an email, if I get an answer, I&#039;ll update here.&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sun, 14 Jun 2009 10:31:44 -0400</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/321-guid.html</guid>
    
</item>
<item>
    <title>Fluents: Events or Ticks?</title>
    <link>http://jastram.de/blog/blog.php?/archives/320-Fluents-Events-or-Ticks.html</link>
            <category>Requirements</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/320-Fluents-Events-or-Ticks.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=320</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=320</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    &lt;p&gt;Imagine you have a system that can have a number of states, and &amp;quot;events&amp;quot; for state transitions.  Fluents are then the constructs that help to reason about state transitions.&lt;/p&gt;&lt;p&gt;Here is an example inspired by &lt;a href=&quot;http://www.jukm.org/jucs_6_7/light_control_problem_description/Queins_S.pdf&quot; title=&quot;The Light Control Problem&quot;&gt;[Queins et. al. 2000]&lt;/a&gt; that got picked up by &lt;a href=&quot;http://pubs.doc.ic.ac.uk/synchronous-fltl/synchronous-fltl.pdf&quot; title=&quot;Fluent temporal logic for discrete-time event-based models&quot;&gt;[Letier 2005]&lt;/a&gt;: Assume that you have the task of building a light controller.  By pushing a button, light is turned out and will switch off after some time.  pushing the button when the light is on will reset the timer.&lt;/p&gt;&lt;p&gt;In this example, we may have the state variables light ∈ {on, off} and timer ∈ {0..n}.  For now, the timer simply counts ticks.  To set these state variables, we may have the events &amp;quot;pushButton&amp;quot;, &amp;quot;switchOn&amp;quot;, &amp;quot;switchOff&amp;quot;, and &amp;quot;tick&amp;quot;.&lt;/p&gt;&lt;p&gt;A Fluent is a proposition defined by a pair of sets of events.  Events from the first set the fluent to true, the second to false, e.g.:&lt;/p&gt;&lt;p&gt;fluent LightOn = &amp;lt;switchOn, switchOff&amp;gt;&lt;/p&gt;&lt;p&gt;We can use the Fluent in  temporal logic (e.g. LTL):&lt;/p&gt;&lt;p&gt;◻ (pushButton X LightOn)&lt;/p&gt;&lt;p&gt;The box means &amp;quot;always&amp;quot;, and X means &amp;quot;next&amp;quot;. So the above means &amp;quot;When pushing the button, next the fluent LightOn must be true&amp;quot;.&lt;/p&gt;&lt;p&gt;Quite a bit is fishy here.  For instance, what exactly does &amp;quot;next&amp;quot; mean?  This is where Letier&#039;s contribution comes from: it could be the next event (which he calls asynchronous) or the next tick (which he calls synchronous).  Also check out how restrictive the statement is in the asqnchronous case: It is not allowed to insert any events after pushButton, which would make refinement through stuttering impossible.&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 09 Jun 2009 17:10:04 -0400</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/320-guid.html</guid>
    
</item>
<item>
    <title>Aspects in Requirements Engineering</title>
    <link>http://jastram.de/blog/blog.php?/archives/318-Aspects-in-Requirements-Engineering.html</link>
            <category>Requirements</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/318-Aspects-in-Requirements-Engineering.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=318</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=318</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;p&gt;After Aspect Oriented Programming (AOP) became popular, people started to think about Aspect Oriented Requirements Engineering (AORE).  &lt;a href=&quot;https://www.ict.tuwien.ac.at/ict/portal/media-type/html/role/user/page/default.psml/js_pane/Institut,Mitarbeiterportlets,Mitarbeiter&quot;&gt;Kaindl&lt;/a&gt; published a &lt;a href=&quot;http://ftp.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-337/paper13.pdf&quot;&gt;neat article trying to figure out&lt;/a&gt; what exactly was meant by that. Amongst other things, he points out that there is confusion about whether &amp;quot;Aspect&amp;quot; is meant as a synonym for crosscutting concern or a solution to it (in his opinion, the first doesn&#039;t make much sense, and I agree; even the secion he doesn&#039;t like to much, but the term is established, and we&#039;re stuck with it now).&lt;/p&gt;&lt;p&gt;So Aspects solve cross-cutting concerns; in Software Development, typicall cross-cutting concerns are authorization, authentication, transaction management and more.  Aspects provide a means to modularize these concerns.&lt;/p&gt;&lt;p&gt;Kaindl points out that almost always there is the hidden assumption that crosscutting concerns in software are the same as crosscutting concerns in requirements - but there is no foundation for that assumption!  In fact, I would consider this a dangerous assumption.&lt;/p&gt;&lt;p&gt;So where does that leave us? Kaindl&#039;s point is that we should avoid falling into the trap that cross-cutting concerns in requirements are not necessarily the same as in software.  But what are the cross-cutting concerns in requirements?  That&#039;s a question that needs more research, but I am sure that it depends on the representation of the requirements, amongst other things.  In a plain text specification, every entity (noun) or every action (verb) could be considered a cross-cutting concern.  Consider a specification for a simple traffic light.  Many requirements may refer to the same,  traffic light in the specification.  In the specification, the traffic light is a crosscutting concern.  But not in the implementation - there, the traffic light may be one neatly capsuled object.  Other representations don&#039;t have this problem.  &lt;a href=&quot;http://en.wikipedia.org/wiki/KAOS&quot;&gt;KAOS&lt;/a&gt;, for instance, explicitly models objects.&lt;/p&gt;&lt;p&gt;Food for thought.&lt;/p&gt;&lt;p /&gt;&lt;p /&gt; 
    </content:encoded>

    <pubDate>Mon, 11 May 2009 22:34:00 -0400</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/318-guid.html</guid>
    
</item>
<item>
    <title>The Hunt for Gollum</title>
    <link>http://jastram.de/blog/blog.php?/archives/317-The-Hunt-for-Gollum.html</link>
            <category>Lifestyle</category>
            <category>Web</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/317-The-Hunt-for-Gollum.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=317</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=317</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    This weekend an amazing film got released: The &lt;a href=&quot;http://www.thehuntforgollum.com/&quot;&gt;Hunt for Gollum&lt;/a&gt;, a side plot from the Lord of the Rings.  Watch it for free online.  This movie shows how the whole can be so much more than the sum of the parts, and that the Internet is an amazing enabler.  Enjoy.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 05 May 2009 23:08:31 -0400</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/317-guid.html</guid>
    
</item>
<item>
    <title>Falschdarstellung zu Spring im JavaMagazin?</title>
    <link>http://jastram.de/blog/blog.php?/archives/311-Falschdarstellung-zu-Spring-im-JavaMagazin.html</link>
            <category>Java</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/311-Falschdarstellung-zu-Spring-im-JavaMagazin.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=311</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=311</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    Laut Eberhard Wolff hat das aktuelle Editorial &lt;a href=&quot;http://jandiandme.blogspot.com/2008/11/java-magazin-editorial.html&quot;&gt;eine Anzahl sachlicher Fehler&lt;/a&gt;.  Ich habe das ganze nicht geprüft, habe aber leider selbst feststellen müssen, dass Informationen im JavaMagazin nicht immer gut recherchiert sind.  &lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sun, 23 Nov 2008 22:50:58 -0500</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/311-guid.html</guid>
    
</item>
<item>
    <title>Naval Architects</title>
    <link>http://jastram.de/blog/blog.php?/archives/296-Naval-Architects.html</link>
            <category>Job</category>
            <category>Software</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/296-Naval-Architects.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=296</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=296</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    Here is an interesting blog entry by Shane Paterson that explains why a &lt;a href=&quot;http://www.javaworks.co.nz/blojsom/blog/default/2008/07/23/A-rose-by-any-other-name&quot;&gt;Naval Architect is called Architect&lt;/a&gt;.  I don&#039;t quite agree with his suggestion to change Solution Architect to Solution Engineer, but that is another question.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Wed, 30 Jul 2008 10:11:45 -0400</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/296-guid.html</guid>
    
</item>
<item>
    <title>Requirements in Cocktail Recipes</title>
    <link>http://jastram.de/blog/blog.php?/archives/295-Requirements-in-Cocktail-Recipes.html</link>
            <category>Requirements</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/295-Requirements-in-Cocktail-Recipes.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=295</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=295</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    &lt;br /&gt;
I have a friend who is a chemist.  She once said that everybody can cook, but that chemists are the best cooks.  Why?  Because chemists can follow recipes really well - after all, that&#039;s what they do all day long.  They mix precise amounts of chemicals in well-defined manner and perform processes on them by the book, to ensure repeatable results.  Now, what does that have to do with requirements engineering?&lt;br /&gt;
 &lt;br /&gt;&lt;a href=&quot;http://jastram.de/blog/blog.php?/archives/295-Requirements-in-Cocktail-Recipes.html#extended&quot;&gt;Continue reading &quot;Requirements in Cocktail Recipes&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Fri, 25 Jul 2008 18:30:00 -0400</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/295-guid.html</guid>
    
</item>
<item>
    <title>10 ways to improve your code</title>
    <link>http://jastram.de/blog/blog.php?/archives/285-10-ways-to-improve-your-code.html</link>
            <category>Java</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/285-10-ways-to-improve-your-code.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=285</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=285</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    Nothing really new here, but &lt;a href=&quot;http://www.regdeveloper.co.uk/2008/03/10/ten_ways_to_improve_code/&quot;&gt;Neil Ford created a list of 10 ways for writing better code&lt;/a&gt;.  All of them have been mentioned before, but it never harms to remind ourselves of good practices.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 10 Mar 2008 11:16:51 -0400</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/285-guid.html</guid>
    
</item>
<item>
    <title>New business models in a new world</title>
    <link>http://jastram.de/blog/blog.php?/archives/284-New-business-models-in-a-new-world.html</link>
            <category>Business</category>
            <category>Software</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/284-New-business-models-in-a-new-world.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=284</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=284</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    A very &lt;a href=&quot;http://www.edge.org/3rd_culture/kelly08/kelly08_index.html&quot;&gt;interesting read by Kevin Kelly&lt;/a&gt; regarding what&#039;s better than free.  In my opinion, this is required reading by every tech start-up.  Value must come from somewhere, and this article outlines eight value propositions that work in a world where everything can be copied for next to nothing.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Thu, 21 Feb 2008 17:22:34 -0500</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/284-guid.html</guid>
    
</item>
<item>
    <title>Chandler closes down</title>
    <link>http://jastram.de/blog/blog.php?/archives/280-Chandler-closes-down.html</link>
            <category>Software</category>
    
    <comments>http://jastram.de/blog/blog.php?/archives/280-Chandler-closes-down.html#comments</comments>
    <wfw:comment>http://jastram.de/blog/wfwcomment.php?cid=280</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://jastram.de/blog/rss.php?version=2.0&amp;type=comments&amp;cid=280</wfw:commentRss>
    

    <author>micky@alum.mit.edu (Michael Jastram)</author>
    <content:encoded>
    &lt;p&gt;&lt;a href=&quot;http://www.kapor.com/&quot;&gt;Mich Karpor&lt;/a&gt;, creator of Lotus 1-2-3 and founder of &lt;a href=&quot;http://www.osafoundation.org/&quot;&gt;OSAF&lt;/a&gt; finally pulled out the &lt;a href=&quot;http://chandlerproject.org/&quot;&gt;Chandler project&lt;/a&gt;, an open source development of a new Personal Information Manager, after six years.  The project made some headlines when it started and recently again after the publishing of the book &lt;a href=&quot;http://www.dreamingincode.com/&quot;&gt;Dreaming in Code&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;I saw Kapor once at &lt;a href=&quot;http://mit.edu/&quot;&gt;MIT&lt;/a&gt;, where he gave a guest lecture, and I value his enthusiasm.  It&#039;s a shame the project folded.&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sun, 27 Jan 2008 21:29:09 -0500</pubDate>
    <guid isPermaLink="false">http://jastram.de/blog/blog.php?/archives/280-guid.html</guid>
    
</item>

</channel>
</rss>