<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Stefan Tilkov&apos;s Random Stuff</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/" />
    <link rel="self" type="application/atom+xml" href="http://www.innoq.com/blog/st/atom.xml" />
    <id>tag:www.innoq.com,2007-11-25:/blog/st//3</id>
    <updated>2008-10-02T21:06:24Z</updated>
    <subtitle>Thoughts on Architecture, REST and SOA, Model-Driven Development, and whatever else crosses my path</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Publishing Platform 4.0</generator>

<entry>
    <title>Apple Drops iPhone NDA</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/10/apple_drops_iphone_nda.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2766</id>

    <published>2008-10-02T21:06:21Z</published>
    <updated>2008-10-02T21:06:24Z</updated>

    <summary>From someone without a name at Apple: We have decided to drop the non-disclosure agreement (NDA) for released iPhone software.We put the NDA in place because the iPhone OS includes many Apple inventions and innovations that we would like to...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p>From someone without a name at <a href="http://developer.apple.com/iphone/program/">Apple</a>:</p>

<blockquote>
  <p>We have decided to drop the non-disclosure agreement (NDA) for released iPhone software.<br /><br />We put the NDA in place because the iPhone OS includes many Apple inventions and innovations that we would like to protect, so that others don’t steal our work. It has happened before. While we have filed for hundreds of patents on iPhone technology, the NDA added yet another level of protection. We put it in place as one more way to help protect the iPhone from being ripped off by others.<br /><br />However, the NDA has created too much of a burden on developers, authors and others interested in helping further the iPhone’s success, so we are dropping it for released software. Developers will receive a new agreement without an NDA covering released software within a week or so. Please note that unreleased software and features will remain under NDA until they are released.<br /><br />Thanks to everyone who provided us constructive feedback on this matter.</p>
</blockquote>

<p>Very cool.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Ioke</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/10/ioke.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2765</id>

    <published>2008-10-02T20:08:46Z</published>
    <updated>2008-10-02T20:08:47Z</updated>

    <summary>Ola Bini: So it seems only fitting that I’ve decided to go public with Ioke, the source code, what it is and where it’s going.Ioke is a strongly typed, extremely dynamic, prototype based object oriented language. It’s homoiconic and got...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p><a href="http://olabini.com/blog/2008/09/ioke/">Ola Bini</a>:</p>

<blockquote>
  <p>So it seems only fitting that I’ve decided to go public with Ioke, the source code, what it is and where it’s going.<br /><br />Ioke is a strongly typed, extremely dynamic, prototype based object oriented language. It’s homoiconic and got built in support for several kinds of macros. The languages that most closely influence Ioke is Io, Smalltalk, Self, Ruby and Lisp (Specifically Common Lisp).</p>
</blockquote>

<p>This sounds a lot like a language I'd like.  </p>
]]>
        

    </content>
</entry>

<entry>
    <title>How to GET a Cup of Coffee</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/10/how_to_get_a_cup_of_coffee.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2764</id>

    <published>2008-10-02T18:53:22Z</published>
    <updated>2008-10-02T18:53:35Z</updated>

    <summary> In a new article, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application&apos;s flow through the use of hypermedia in a RESTful application, using the well-known example from Gregor Hohpe&apos;s Starbucks does not use Two-Phase-Commit&quot;...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<blockquote>
<p>In <a href="http://www.infoq.com/articles/webber-rest-workflow">a new article</a>, Jim Webber, Savas Parastatidis and Ian Robinson show how to drive an application's flow through the use of hypermedia in a RESTful application, using the well-known example from Gregor Hohpe's <a href="http://www.eaipatterns.com/ramblings/18_starbucks.html">Starbucks</a> does not use Two-Phase-Commit" to illustrate how the Web's concepts can be used for integration purposes.</p>
<p>
While many people have grasped the utility of <a href="http://www.infoq.com/articles/rest-introduction">REST</a> for simple cases, the authors show how to get more value out of the REST core concepts, specifically the "hypermedia as the engine of application state" principle. They show how links, included within resource representations retrieved from the server, can enable the client to find out which possible transitions are available from a particular point in the overall application flow.</p>
</blockquote>

<p>A really, really excellent article at <a href="http://www.infoq.com/articles/webber-rest-workflow">InfoQ</a>.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>JAOO Wrap-up</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/10/jaoo_wrapup.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2763</id>

    <published>2008-10-01T21:50:53Z</published>
    <updated>2008-10-02T18:51:32Z</updated>

    <summary>JAOO 2008, as was to be expected, was pretty great. It&apos;s hard to describe why, but it has a very unique feeling to it – it&apos;s different from any other conference I&apos;ve been to. I met a lot of people...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p>JAOO 2008, as was to be expected, was pretty great. It's hard to describe why, but it has a very unique feeling to it – it's different from any other conference I've been to. I met a lot of people I knew, or was happy to get to know, including Arjen Poutsma and Ian Robinson, Erik Meijer, Dan North, Michael Nygard Ola Bini, Erik Doernenburg, Michael Koziarski, Gregor Hohpe, Kevlin Henney, Rickard Öberg, of course the organizers, Kresten Krab Thorup, Aino Vonge Corry, and all of the other very nice Trifork folks.</p>

<p>Some of the most interesting things from my point of view: I attended Michael Nygard's absolutely great talks and had a chance to chat with him over dinner; I spent a while hacking together the very early stages of a REST DSL for Ramaze with Dan North; I exchanged ideas with Michael Koziarski about REST support in Rails 2.2, and I extracted a free copy of the ThoughtWorks Anthology from Erik Doernenburg. Talk about meeting interesting people :-)</p>

<p>All in all, probably Europe's coolest conference; highly recommended.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>JAOO 2008: REST Patterns and Antipatterns</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/10/jaoo_2008_rest_patterns_and_an.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2762</id>

    <published>2008-10-01T09:35:54Z</published>
    <updated>2008-10-01T09:35:58Z</updated>

    <summary>I&apos;ve uploaded the slides from my own talk at JAOO 2008 (warning: this is a 12MB PDF). As usual, not sure how much value they have on their own; YMMV....</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p>I've uploaded <a href="http://www.innoq.com/blog/st/presentations/2008/2008-09-30-REST-Patterns--JAOO.pdf">the slides from my own talk at JAOO 2008</a>  (warning: this is a 12MB PDF). As usual, not sure how much value they have on their own; YMMV.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>JAOO 2008: Arjen Poutsma on RESTful Web services with Spring</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/09/jaoo_2008_arjen_poutsma_on_res.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2761</id>

    <published>2008-09-30T14:23:33Z</published>
    <updated>2008-09-30T14:25:33Z</updated>

    <summary>These are my unedited notes from Arjen Poutsma&apos;s very good talk at JAOO. REST intro (using very nice Airport pictures) pointer to http://livehttpheaders.mozdev.org/ The fact that PUT can be used to create resources in addition to updating them is one...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p>These are my unedited notes from Arjen Poutsma's very good talk at JAOO.</p>

<ul>
<li>REST intro (using very nice Airport pictures)</li>
<li>pointer to http://livehttpheaders.mozdev.org/</li>
<li>The fact that PUT can be used to create resources in addition to updating them is one of the major differences between HTTP and CRUD</li>
<li>"Representations as reflection of resources on the cave wall" ... where have I heard this before? ;-)</li>
<li>Example for usefulness of stateless communication: Google results in the form of pages, state not kept on the server, but in the representations sent to the client [Note to self: Paging is an excellent example.]</li>
<li>OrderManagement and CustomerManagement example [pictures by me ;-)]</li>
<li>Next up: REST in Java</li>
<li>servlets handle OPTIONS correctly (?)</li>
<li>spring mvc - classic mvc has limited multi-method handling, Spring @MVC (2.5) improves this</li>
<li>servlets can be wired up within Spring just like a controller</li>
<li>Struts 2 has a REST plugin</li>
<li>Restlet is pretty good in his opinion</li>
<li>Restlet creates abstraction over HTTP, has Spring support</li>
<li>JAX-RS - annotation-based REST framework, considered pretty cool</li>
<li>JAX-RS example</li>
<li>client side: java.net has proxy issues and surprises</li>
<li>commons HTTP client - powerful, but very verbose</li>
<li>REST + Spring</li>
<li>@Controller annotation for classes, get picked up automagically</li>
<li>URI template support for @RequestMapping method annotation</li>
<li>automatic conversion of content of specific types to Java objects and back</li>
<li>view resolution based on accept header</li>
<li>Formats: XML based on Spring-WS OXM (abstraction over mapping layers), JSON, Atom, RSS, Flex</li>
<li>Shallow ETag support w/ a very simple ServletFilter</li>
<li>RestTemplate as core client-side component, similar to other templates (Jdbc, Jms, WS)</li>
<li>getForObject - performs GET and converts</li>
<li>postForLocation - performs POST and retrieves location header</li>
<li>put, delete</li>
<li>uri = "http://example.com/hotels/{id}"; HotelList result = template.getForObject(uri, HotelList.class, "1")</li>
<li>will be part of Spring 3.0, PathParam in M1 (Oct), REST follows later</li>
<li>3.0 final planned for early 2009</li>
<li>Spring security nicely integrated with HTTP authentication</li>
</ul>
]]>
        

    </content>
</entry>

<entry>
    <title>JAOO 2008: Ian Robinson on RESTful Enterprise development
</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/09/jaoo_2008_ian_robinson_on_rest.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2760</id>

    <published>2008-09-30T12:22:27Z</published>
    <updated>2008-09-30T12:22:29Z</updated>

    <summary>These are my unedited notes from Ian Robinson&apos;s very interesting talk at JAOO. Context: Engagement w/ a large entertainment and communications company. replace 20+ year old VAX BASIC billing application order capture, fulfilment, product catalogue, field force management, … new...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p>These are my unedited notes from Ian Robinson's very interesting talk at JAOO.</p>

<ul>
<li>Context: Engagement w/ a large entertainment and communications company.</li>
<li>replace 20+ year old VAX BASIC billing application</li>
<li>order capture, fulfilment, product catalogue, field force management, …</li>
<li>new design for the next 10-15 years</li>
<li>general SOA-like structure - product mgmgt, customer mgmt, order mgmt, provisioning, …</li>
<li>12-14 business meaningful services, relatively self-contained</li>
<li>overall view of service estate doesn't change when new products are introduced or processes changed</li>
<li>self-sufficient business services - no chatty service architecture</li>
<li>each service can do its job from beginning to end</li>
<li>services contain the data they need</li>
<li>[very nice - actually matches my understanding of services perfectly]</li>
<li>redundant information in services - therefore no hard runtime dependencies </li>
<li>is it really redundant? no - order management and product management both need product info, but don't care about the others</li>
<li>within the service boundary, there may be other distributed development to support e.g. wrapping a COTS app</li>
<li>how are these data items replicated between systems?</li>
<li>first question: who needs what</li>
<li>events are used to distribute information</li>
<li>some events related to entity state, some related to application state (e.g. service ordered, service provided)</li>
<li>Implementation options for events: point to point (publisher maintains subscriber list), bus/middleware, consumer pull events (consumers poll publishers, guaranteed delivery delegated to consumers, no list of subscribers to maintain)</li>
<li>bridge within the service that wraps a 3rd party app: atom client retrieves feed and applies them via the vendor app's WS </li>
<li>Atom - what does published information look like</li>
<li>AtomPub - how is information published</li>
<li>atom feeds for specific time ranges - request to generic URI, specific URI returned in Content-Location header</li>
<li>link rel=next to get to the previous archive (decided to stick with Atom terminology instead of inventing a "previous" rel)</li>
<li>entries have a self link - each entry can be returned individually</li>
<li>multiple category elements to classify (e.g. "product" and "created")</li>
<li>links to objects within the entries as XML "Href" elements [I would have preferred an attribute called href]</li>
<li>clients can follow links to retrieve the full archive</li>
<li>interesting link to Pat Helland's data on the inside, data on the outside - set cache max age to 30 days for stuff that's no longer mutable (events of the past)</li>
<li>cache responses locally when following links</li>
<li>used WinInet local cache (same one as used by IE) for implementation</li>
<li>navigate backwards first, then forward again; second request served from local cache</li>
<li>archive size/granularity could change - as long as clients just follow links, they don't care</li>
<li>support for conditional GETs and ETags</li>
<li>"conservative" in using application/xml for the content types instead of some custom media type</li>
<li>etag attribute in links to underlying resources <Link etag='6'>http://...</Link></li>
<li>client can extract ETag, do a conditional GET [nice idea]</li>
<li>high degree of connectedness</li>
<li>[unfortunately, time was up - a pity. I'd have loved to here more.]</li>
</ul>
]]>
        

    </content>
</entry>

<entry>
    <title>iPhone Developer Conference</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/09/iphone_developer_conference.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2759</id>

    <published>2008-09-28T20:07:00Z</published>
    <updated>2008-09-29T04:21:19Z</updated>

    <summary>I&apos;ve prepared a presentation that I intend to submit to the O&apos;Reilly iPhoneLive Conference, let me know what you think....</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p>I've prepared <a href="http://www.innoq.com/blog/st/iPhone-Experience.pdf">a presentation</a> that I intend to submit to the O'Reilly iPhoneLive Conference, let me know what you think.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>DRM Desaster</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/09/drm_desaster.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2758</id>

    <published>2008-09-28T19:58:25Z</published>
    <updated>2008-09-28T19:58:26Z</updated>

    <summary>Via James Robertson, wonderful quote from Boing Boing on Walmart shutting down its DRM servers: But don&apos;t worry, this will never ever happen to all those other DRM companies -- unlike little fly-by-night mom-and-pop operations like Wal*Mart, the DRM companies...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p>Via <a href="http://www.cincomsmalltalk.com/blog/blogView?showComments=true&amp;printTitle=DRM_Sucks,_Reason_9_million&amp;entry=3399981880">James Robertson</a>, wonderful quote from <a href="http://www.boingboing.net/2008/09/26/walmart-shutting-dow.html">Boing Boing</a> on <a href="http://gizmodo.com/5055854/walmart-shutting-down-mp3-store-drm-servers-umpteenth-reminder-to-not-buy-drmd-content">Walmart shutting down its DRM servers</a>:</p>

<blockquote>
  <p>But don't worry, this will never ever happen to all those other DRM companies -- unlike little fly-by-night mom-and-pop operations like Wal*Mart, the DRM companies are rock-ribbed veterans of commerce and industry, sure to be here for a thousand years. So go on buying your Audible books, your iTunes DRM songs, your Zune media, your EA games... None of these companies will ever disappear, nor will the third-party DRM suppliers they use. They are as solid and permanent as Commodore, Atari, the Soviet Union, the American credit system and the Roman Empire.</p>
</blockquote>
]]>
        

    </content>
</entry>

<entry>
    <title>JAOO 2008</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/09/jaoo_2008.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2757</id>

    <published>2008-09-28T18:11:25Z</published>
    <updated>2008-09-28T18:12:19Z</updated>

    <summary>I&apos;m heading of to JAOO in Århus, Denmark, tomorrow morning – my favorite conference (and I do know quite a few). I&apos;ll be part of a panel on cloud computing on Monday and host a half-day track on REST on...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p>I'm heading of to <a href="http://jaoo.dk/conference/">JAOO in Århus, Denmark</a>, tomorrow morning – my favorite conference (and I do know quite a few). I'll be part of <a href="http://jaoo.dk/presentation/Cloud+Panel+Discussion">a panel on cloud computing</a> on Monday and host a half-day track on REST on Tuesday, but I'll also make sure to attend lots of other sessions. </p>

<p>The speakers in <a href="http://jaoo.dk/tracks/show_track.jsp?trackOID=206">the REST track</a> are <a href="http://iansrobinson.com/">Ian Robinson</a>, <a href="http://blog.springframework.com/arjen/">Arjen Poutsma</a>, and myself – this time, all of us will try to move beyond the basics and avoid any kind of this-vs.-that debate.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>PdaNet -- Use your iPhone as a Wireless Router for your PC/Mac</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/09/pdanet_use_your_iphone_as_a_wi.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2756</id>

    <published>2008-09-27T07:06:06Z</published>
    <updated>2008-09-27T07:06:08Z</updated>

    <summary>vowe nails it – this will finally make me jailbreak my iPhone: PdaNet has been one of the most popular software for Windows Mobile phones and Palm OS phones. It is now ported to the iPhone! The 1.2 version turns...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p><a href="http://vowe.net/archives/009941.html">vowe</a> nails it – <a href="http://www.junefabrics.com/iphone/index.php">this</a> will finally make me jailbreak my iPhone:</p>

<blockquote>
  <p>PdaNet has been one of the most popular software for Windows Mobile phones and Palm OS phones. It is now ported to the iPhone! The 1.2 version turns your iPhone into a true WiFi router for your computer (MAC or PC), and allows your laptop to go online wirelessly through the 3G network on the iPhone. </p>
</blockquote>
]]>
        

    </content>
</entry>

<entry>
    <title>The Pragmatic Bookshelf | iPhone News</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/09/the_pragmatic_bookshelf_iphone.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2755</id>

    <published>2008-09-25T06:03:08Z</published>
    <updated>2008-09-25T06:03:14Z</updated>

    <summary>The Pragmatic Programmers pull their iPhone book: We’ve had the iPhone book ready to go beta for some months, but were prevented from publishing it because of the iPhone SDK’s Non-Disclosure Agreement (which affects all publishers regarding this material, regardless...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p><a href="http://www.pragprog.com/news/ubuntu-kung-fu-shippingpodcast-iphone-news">The Pragmatic Programmers</a> pull their iPhone book:</p>

<blockquote>
  <p>We’ve had the iPhone book ready to go beta for some months, but were prevented from publishing it because of the iPhone SDK’s Non-Disclosure Agreement (which affects all publishers regarding this material, regardless of whether the reader is a member of the ADC or not).<br /><br />Normally, pre-release NDA’s such as this one are lifted when the product finally ships. We expected that this NDA would be lifted when the iPhone 2.0 software shipped, but it wasn’t. The September announcement came and went, and still the NDA remains in place.<br /><br />It now appears that Apple does not intend to lift the NDA any time soon. Regrettably, this means we are pulling our iPhone book out of production. But all is not lost: we are actively looking at alternative ways of getting this content to you. It probably won’t happen anytime soon, but know that we are doing what we can.</p>
</blockquote>

<p>Apple is acting totally idiotically. The whole NDA business, the App store approach … As <a href="http://daringfireball.net/linked/2008/09/24/snell-iphone">John Gruber points out</a>:</p>

<blockquote>
  <p>Apple’s stewardship of the App Store, to date, can only be explained by malevolence or incompetence. Either way, they should change course.</p>
</blockquote>

<p>What's especially sad is that if Apple just acted sanely – making the App Store the best instead of the only option to get apps onto your iPhone, similarly to iTunes/iPod, and lifting the stupid NDA restrictions – it's whole approach to iPhone development would be <em>just perfect</em>.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Serialising Java Objects to RDF with Jersey</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/09/serialising_java_objects_to_rd.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2754</id>

    <published>2008-09-24T20:25:00Z</published>
    <updated>2008-09-24T20:25:01Z</updated>

    <summary>Henry Story: JAX-RS deals with the mapping of java objects to a representation format - any format. Writing a good format, though, is at least as tricky as building RESTful services. So JAX-RS solves only half the problem. What is...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p><a href="http://blogs.sun.com/bblfish/entry/serialising_java_objects_to_rdf">Henry Story</a>:</p>

<blockquote>
  <p>JAX-RS deals with the mapping of java objects to a representation format - any format. Writing a good format, though, is at least as tricky as building RESTful services. So JAX-RS solves only half the problem. What is needed is to make it easy to serialize any object in a manner that scales to the web. For this we have RDF, the Resource Description Framework. By combining JAX-RS and the So(m)mer's @rdf annotation one can remove remove the hurdle of having to create yet another format, and do this in a way that should be really easy to understand.</p>
</blockquote>

<p>This is very cool, if a little verbose due to Java syntax.</p>
]]>
        

    </content>
</entry>

<entry>
    <title>World Day Against Software Patents - 24 September</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/09/world_day_against_software_pat.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2753</id>

    <published>2008-09-24T09:17:42Z</published>
    <updated>2008-09-24T09:18:01Z</updated>

    <summary> &quot;A software patent is a right to litigate against authors of software granted to an applicant as a reward for the disclosure of hot air.&quot;...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p><a href="http://stopsoftwarepatents.org/">
<img src="http://www.innoq.com/blog/st/stop-sw-patents-vert-200x.png" height="333" width="200" border="0" hspace="4" vspace="4" alt="Stop Software Patents Banner" /></a></p>

<p>"A software patent is a right to litigate against authors of software granted to an applicant as a reward for the disclosure of hot air."</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Wahlprüfungsbeschwerde in Hessen</title>
    <link rel="alternate" type="text/html" href="http://www.innoq.com/blog/st/2008/09/wahlprufungsbeschwerde_in_hess.html" />
    <id>tag:www.innoq.com,2008:/blog/st//3.2752</id>

    <published>2008-09-24T06:12:34Z</published>
    <updated>2008-09-24T06:12:34Z</updated>

    <summary>CCC gegen den Wahnsinn: Der Chaos Computer Club (CCC) hat wie angekündigt eine Wahlprüfungsbeschwerde in Hessen eingereicht. Die Beschwerde richtet sich gegen den Einsatz von NEDAP-Wahlcomputern in acht hessischen Gemeinden. Aufgrund der schwerwiegenden Wahlfehler in Hessen, wie etwa der Lagerung...</summary>
    <author>
        <name>Stefan Tilkov</name>
        <uri>http://www.innoq.com/blog/st/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.innoq.com/blog/st/">
        <![CDATA[<p><a href="http://www.ccc.de/updates/2008/wahlpruefungsbeschwerde-in-hessen">CCC gegen den Wahnsinn</a>:</p>

<blockquote>
  <p>Der Chaos Computer Club (CCC) hat wie angekündigt eine Wahlprüfungsbeschwerde in Hessen eingereicht. Die Beschwerde richtet sich gegen den Einsatz von NEDAP-Wahlcomputern in acht hessischen Gemeinden. Aufgrund der schwerwiegenden Wahlfehler in Hessen, wie etwa der Lagerung der Wahlcomputer bei Parteifunktionären und der mangelnden Einhaltung der Vorschriften zur sicheren Lagerung der Computer, ist nun zu entscheiden, ob die Wahlen in den acht betroffenen Wahlkreisen wiederholt werden müssen.</p>
</blockquote>
]]>
        

    </content>
</entry>

</feed>
