Sorry

This feed does not validate.

In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://www.protocol7.com/atom

  1. <?xml version="1.0" encoding="UTF-8"?><feed
  2.  xmlns="http://www.w3.org/2005/Atom"
  3.  xmlns:thr="http://purl.org/syndication/thread/1.0"
  4.  xml:lang="en-US"
  5.  xml:base="http://protocol7.com/wp-atom.php"
  6.   >
  7. <title type="text">protocol7</title>
  8. <subtitle type="text">Random, useless stuff</subtitle>
  9.  
  10. <updated>2016-06-21T05:32:23Z</updated>
  11.  
  12. <link rel="alternate" type="text/html" href="http://protocol7.com" />
  13. <id>http://protocol7.com/feed/atom/</id>
  14. <link rel="self" type="application/atom+xml" href="http://protocol7.com/feed/atom/" />
  15.  
  16. <generator uri="https://wordpress.org/" version="4.6">WordPress</generator>
  17. <entry>
  18. <author>
  19. <name>Niklas</name>
  20. <uri>http://protocol7.com</uri>
  21. </author>
  22. <title type="html"><![CDATA[Introducing Apache Vysper]]></title>
  23. <link rel="alternate" type="text/html" href="http://protocol7.com/archives/2011/01/09/introducing-apache-vysper/" />
  24. <id>http://protocol7.com/?p=1663</id>
  25. <updated>2011-01-09T22:07:58Z</updated>
  26. <published>2011-01-09T22:04:27Z</published>
  27. <category scheme="http://protocol7.com" term="Uncategorized" /><category scheme="http://protocol7.com" term="Apache" /><category scheme="http://protocol7.com" term="Jabber" /><category scheme="http://protocol7.com" term="vysper" /><category scheme="http://protocol7.com" term="XMPP" /> <summary type="html"><![CDATA[This is the first in a series of posts I&#8217;m planning to do on Apache Vysper. This first post will mostly deal with what Vysper is, later posts will go into details on various ways of using Vysper. Vysper is an implementation of an XMPP (aka Jabber) server in Java. Vysper is a subproject of [&#8230;]]]></summary>
  28. <content type="html" xml:base="http://protocol7.com/archives/2011/01/09/introducing-apache-vysper/"><![CDATA[<div class='microid-a2349e9f392363ac85789fb65904234ff10f2b76'><p><img src="http://mina.apache.org/vysper/index.data/vysper_logo.png" alt="Vysper logo" style="float:right" /> This is the first in a series of posts I&#8217;m planning to do on <a href="http://mina.apache.org/vysper/">Apache Vysper</a>. This first post will mostly deal with what Vysper is, later posts will go into details on various ways of using Vysper.</p>
  29. <p>Vysper is an implementation of an <a href="http://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol">XMPP</a> (aka Jabber) server in Java. Vysper is a subproject of Apache MINA and is licensed under Apache License, Version 2.0. Vysper aims to run both standalone as well as embedded into your application. When running embedded, you can closely integrate your application with Vysper, e.g. to share user management or session state. Vysper is still in the early stages, but is certainly usable for early adopters. The currently released version is 0.6, but the example below is based on <a href="http://svn.apache.org/repos/asf/mina/vysper/trunk/">SVN trunk</a>, which will in the near future become 0.7.</p>
  30. <p>XMPP is specified as two RFCs (<a href="http://www.ietf.org/rfc/rfc3920.txt">RFC 3920</a>, <a href="http://www.ietf.org/rfc/rfc3921.txt">RFC 3921</a> for the core protocol and <a href="http://xmpp.org/extensions/">a great number of extensions, called XEP:s</a>. Vysper implements the RFCs as part of it&#8217;s server core. For many of the extensions, these are implemented as Vysper modules, meaning as a user, you can choose which modules to have run on your server. For example, some might want to use the <a href="http://xmpp.org/extensions/xep-0060.html">publish-subscribe extension</a> while others want to use the <a href="http://xmpp.org/extensions/xep-0045.html">multi-user chat</a> and <a href="http://xmpp.org/extensions/xep-0133.html">service administration</a> modules. XMPP also supports different network protocols, e.g. the main XML-over-TCP/IP protocol, HTTP long-polling (in XMPP-land called <a href="http://xmpp.org/extensions/xep-0206.html">BOSH</a>) or <a href="http://tools.ietf.org/html/draft-moffitt-xmpp-over-websocket-00">websockets</a>. Vysper implements these as so called Endpoints. And as with modules, the user can pick and choose which protocols are desired. </p>
  31. <p>For the exact details of which specifications Vysper support, please check this <a href="http://mina.apache.org/vysper/standards-support.html">link</a>.</p>
  32. <p>Configuring Vysper can either be done using the Java API as in the example below, or by using a dependency injection framework. Vysper currently ships with examples for Spring.</p>
  33. <p>Enough theory, let&#8217;s look at an example. The code below shows the basics of running Vysper from a simple Java application. Afterwards, we&#8217;ll look into what the code actually does. </p>
  34. <p>To get going, you need to download Vysper, in this case from SVN and build it using Maven (these instructions will be updated when Vysper 0.7 is released). The code below will work on 0.6 with some slight modifications. If building from source sounds intimidating, I&#8217;ve set up this example as <a href="https://github.com/protocol7/vysper-intro">a project on Github</a>, where you can also find archive downloads of the sample with the required dependencies.</p>
  35. <pre name="code" class="java">
  36.  
  37. XMPPServer server = new XMPPServer("vysper.org");
  38.        
  39. StorageProviderRegistry providerRegistry = new MemoryStorageProviderRegistry();
  40.  
  41. AccountManagement accountManagement = (AccountManagement) providerRegistry.retrieve(AccountManagement.class);
  42.  
  43. Entity user = EntityImpl.parseUnchecked("[email protected]");
  44. accountManagement.addUser(user, "password");
  45.  
  46. server.setStorageProviderRegistry(providerRegistry);
  47.  
  48. server.addEndpoint(new TCPEndpoint());
  49.  
  50. server.setTLSCertificateInfo(new File("keystore.jks"), "sekrit");
  51.  
  52. server.start();
  53. System.out.println("Vysper server is running...");
  54.  
  55. server.addModule(new EntityTimeModule());
  56. server.addModule(new VcardTempModule());
  57. server.addModule(new XmppPingModule());
  58. server.addModule(new PrivateDataModule());
  59. </pre>
  60. <p>Number below refer to code lines in the example above.<br />
  61. 1. Create the server and provide the domain it will be running on. Users at this domain will be addressed as &#8220;[email protected]&#8221;.<br />
  62. 3. Create a storage provide registry. This is a service locator for all the different pieces in Vysper which needs to persist stuff, like users or rosters (the list of friends). In this case, we use the simplest implementation, which stores things in memory.<br />
  63. 5-8. From the above service locator, get the storage provider for users in order to add a user for testing. XMPP uses user identifiers in the form [email protected], similar to mail. These are called entities. Here, you can probably imaging AccountManagement instead being an implementation which looks up users in LDAP or similar.<br />
  64. 10. Set the storage provide registry on the server.<br />
  65. 12. As described above, Vysper uses different types of endpoints for the different network protocols. TCPEndpoint implements the core XMPP protocol as described in RFC 3920. It&#8217;s required for regular XMPP clients like Adium or Psi to be able to connect to the server. By default, this uses port 5222.<br />
  66. 14. Provide a PKI keystore, this enables the server to use SSL when clients connect and ensures that sensitive stuff (passwords as well as conversations) is kept secret.<br />
  67. 16. Start the server. Vysper is now running and clients will be able to connect to it. You can try it out with your favourite IM client.<br />
  68. 19-22. Here we add modules for some XMPP extensions. Which to use depends largely on the purpose of the server. These must be added after the server is started as they require the server to be fully initiated.</p>
  69. <p>And, that&#8217;s it. You now hopefully got a working XMPP server running and you can go play with the other neat features it supports. Also, if you have any further questions, feel free to ask on <a href="http://mina.apache.org/vysper/mailing-lists.html">our mailing list</a> or comment below.</p>
  70. <p>In the next post, I will describe the architecture of Vysper and how messages, called stanzas in XMPP terms, flow through the server.</p>
  71. </div>]]></content>
  72. <link rel="replies" type="text/html" href="http://protocol7.com/archives/2011/01/09/introducing-apache-vysper/#comments" thr:count="7"/>
  73. <link rel="replies" type="application/atom+xml" href="http://protocol7.com/archives/2011/01/09/introducing-apache-vysper/feed/atom/" thr:count="7"/>
  74. <thr:total>7</thr:total>
  75. </entry>
  76. <entry>
  77. <author>
  78. <name>Niklas</name>
  79. <uri>http://protocol7.com</uri>
  80. </author>
  81. <title type="html"><![CDATA[Syncing tweets to WordPress]]></title>
  82. <link rel="alternate" type="text/html" href="http://protocol7.com/archives/2010/04/04/syncing-tweets-to-wordpress/" />
  83. <id>http://protocol7.com/?p=1653</id>
  84. <updated>2010-04-04T15:33:04Z</updated>
  85. <published>2010-04-04T15:33:04Z</published>
  86. <category scheme="http://protocol7.com" term="Uncategorized" /><category scheme="http://protocol7.com" term="backup" /><category scheme="http://protocol7.com" term="ownyourdata" /><category scheme="http://protocol7.com" term="twitter" /><category scheme="http://protocol7.com" term="Wordpress" /> <summary type="html"><![CDATA[The way old tweets just go missing worries me. This is my first tweet, not available on Google Search (at least not when writing this post). While my average tweet isn&#8217;t of much value, over time it builds into something I want to own and have around forever. And I want Google and the others [&#8230;]]]></summary>
  87. <content type="html" xml:base="http://protocol7.com/archives/2010/04/04/syncing-tweets-to-wordpress/"><![CDATA[<div class='microid-8170ac61128b59e4a7e5b059b18f5211c19eab3a'><p>The way old tweets just go missing worries me. This is <a href="http://twitter.com/protocol7/statuses/55813322">my first tweet</a>, <a href="http://www.google.se/search?q=%22Alright,+will+twitter+be+at+all+useful%22">not available on Google Search</a> (at least not when writing this post). While my average tweet isn&#8217;t of much value, over time it builds into something I want to own and have around forever. And I want Google and the others to index it. As usual, this means I want keep it on my own domain. So, I had to set up some form of sync to my <a href="http://protocol7.com/">protocol.com domain</a>. Since I&#8217;m a <a href="http://wordpress.org/">WordPress</a> fanboy, keeping these in WP made sense to me. Turns out, it was simpler than I expected.</p>
  88. <p>Getting my tweets distills down to two methods: getting the archive and continuously getting the new ones.</p>
  89. <p>First, I run <a href="http://www.backupify.com/">backupify</a> to keep a basic backup of my online stuff, among that, my twitter stream. Highly recommended. backupify keeps my entire Twitter history as an Atom feed. Now, WordPress still does not support importing posts from Atom, so I had to convert the feed into RSS 2.0. A simple XSL-T stylesheet (<a href="http://github.com/protocol7/atom2rss">available on my GitHub</a>) took care of that. Please note that the stylesheet is purpose-made for this conversion, if you want a generic Atom to RSS 2.0 stylesheet, you might need to be a bit more strict, especially on the date formatting. </p>
  90. <p>So, now I had all my tweets as a RSS 2.0 feed. I could start importing this into WordPress. Turns out the import would die after some hundred tweets (perhaps something with my MySQL settings) but since the importer verifies duplicates, I could simple just rerun the job until all entries was imported.</p>
  91. <p>Then, to get continuos synchronization, I use the <a href="http://wordpress.org/extend/plugins/twitter-tools">Twitter tools plugin for WordPress</a>. It will poll my Twitter stream every 10 minutes and create posts for every new tweet. Works as designed.</p>
  92. <p><img src="http://protocol7.com/wp/wp-content/uploads/2010/04/twitter-tools-300x203.png" alt="twitter-tools" title="twitter-tools" width="300" height="203" class="alignright size-medium wp-image-1654" srcset="http://protocol7.com/wp/wp-content/uploads/2010/04/twitter-tools-300x203.png 300w, http://protocol7.com/wp/wp-content/uploads/2010/04/twitter-tools.png 698w" sizes="(max-width: 300px) 100vw, 300px" /></p>
  93. <p>That&#8217;s it really. I also adapted an <a href="http://www.freshpressthemes.com/twitter-wordpress-theme/">existing Twitter inspired template</a> for WordPress to be even better for tweets (don&#8217;t show title, don&#8217;t show author, permalink post time and so on). And, <a href="http://protocol7.com/tweets">here we go, all my tweets</a>, ready for indexing and saved for posterity. Now all I need to do is to write something useful that is actually worth saving, but that&#8217;s the easy part right :-)</p>
  94. </div>]]></content>
  95. <link rel="replies" type="text/html" href="http://protocol7.com/archives/2010/04/04/syncing-tweets-to-wordpress/#comments" thr:count="0"/>
  96. <link rel="replies" type="application/atom+xml" href="http://protocol7.com/archives/2010/04/04/syncing-tweets-to-wordpress/feed/atom/" thr:count="0"/>
  97. <thr:total>0</thr:total>
  98. </entry>
  99. <entry>
  100. <author>
  101. <name>Niklas</name>
  102. <uri>http://protocol7.com</uri>
  103. </author>
  104. <title type="html"><![CDATA[Speaking at Oredev]]></title>
  105. <link rel="alternate" type="text/html" href="http://protocol7.com/archives/2009/10/26/speaking-at-oredev/" />
  106. <id>http://protocol7.com/?p=1651</id>
  107. <updated>2009-10-26T22:21:46Z</updated>
  108. <published>2009-10-26T22:21:46Z</published>
  109. <category scheme="http://protocol7.com" term="Uncategorized" /><category scheme="http://protocol7.com" term="conference" /><category scheme="http://protocol7.com" term="jaxrs" /><category scheme="http://protocol7.com" term="oredev" /><category scheme="http://protocol7.com" term="REST" /> <summary type="html"><![CDATA[Next week, I&#8217;ll be presenting at ?redev in Malm?. My session will be on the strengths and weaknesses of JAX-RS. So, if you happen to be in Malm?, feel free to come by and say hi. I&#8217;ll be sharing the presentation and the accompanying code here after the talk. I also understand there will be [&#8230;]]]></summary>
  110. <content type="html" xml:base="http://protocol7.com/archives/2009/10/26/speaking-at-oredev/"><![CDATA[<div class='microid-21317b6975c90abcb23d91f94e5728e4b4a7adaf'><p>Next week, I&#8217;ll be presenting at <a href="http://www.oredev.org/">?redev in Malm?</a>. <a href="http://www.oredev.org/prod/oredev/site.nsf/docsbycodename/session?opendocument&#038;sid=74973266B956E2E7C1257593006F5518&#038;day=4&#038;track=E92AC6A14535633BC12575A5004943A0">My session</a> will be on the strengths and weaknesses of JAX-RS. So, if you happen to be in Malm?, feel free to come by and say hi. I&#8217;ll be sharing the presentation and the accompanying code here after the talk. I also understand there will be videos of all talks available so if you like to see me stuttering, have a look at the conference site afterward. </p>
  111. <p>Unfortunately, it seems like work will only allow me for visiting the conference over day. Given the quality of speakers, this is utter failure, but what do you do. </p>
  112. </div>]]></content>
  113. <link rel="replies" type="text/html" href="http://protocol7.com/archives/2009/10/26/speaking-at-oredev/#comments" thr:count="0"/>
  114. <link rel="replies" type="application/atom+xml" href="http://protocol7.com/archives/2009/10/26/speaking-at-oredev/feed/atom/" thr:count="0"/>
  115. <thr:total>0</thr:total>
  116. </entry>
  117. <entry>
  118. <author>
  119. <name>Niklas</name>
  120. <uri>http://protocol7.com</uri>
  121. </author>
  122. <title type="html"><![CDATA[WAS plugin for Nagios]]></title>
  123. <link rel="alternate" type="text/html" href="http://protocol7.com/archives/2009/06/03/was-plugin-for-nagios/" />
  124. <id>http://protocol7.com/?p=1649</id>
  125. <updated>2009-06-03T21:41:13Z</updated>
  126. <published>2009-06-03T21:41:13Z</published>
  127. <category scheme="http://protocol7.com" term="Uncategorized" /><category scheme="http://protocol7.com" term="jms" /><category scheme="http://protocol7.com" term="monitoring" /><category scheme="http://protocol7.com" term="nagios" /><category scheme="http://protocol7.com" term="pmi" /><category scheme="http://protocol7.com" term="was" /><category scheme="http://protocol7.com" term="websphere" /> <summary type="html"><![CDATA[At one on my current work assignments, we use Nagios (or more specifically, the OP5 packaged Nagios) for all our infrastructure and application monitoring. We also use a fair amount on WebSphere Application Server instances. Thus, we needed to monitor WAS from Nagios, including some WAS internals like heap size and connection pool sizes. Looking [&#8230;]]]></summary>
  128. <content type="html" xml:base="http://protocol7.com/archives/2009/06/03/was-plugin-for-nagios/"><![CDATA[<div class='microid-98bf4e49c919d9c32c42a2a90b4be6debb1dc8da'><p>At one on my current <a href="http://callistaenterprise.se/">work</a> assignments, we use Nagios (or more specifically, the <a href="http://www.op5.se/op5/produkter/monitor">OP5 packaged Nagios</a>) for all our infrastructure and application monitoring. We also use a fair amount on WebSphere Application Server instances. Thus, we needed to monitor WAS from Nagios, including some WAS internals like heap size and connection pool sizes. Looking around the Tubes, we failed to find any decent Nagios plugin for WAS, so it turned out I had to write one myself. Since the customer has chosen to open source these types of projects, the code is <a href="http://code.google.com/p/nagios-was/">now available</a> over at Google Code under an ASL 2.0 license.</p>
  129. <p>The plugin will connect to the WAS JMX interface and uses PMI statistics as the source of data. The API for this is pretty horrible, and based on the lack of discussions around it on the web, I presume not that frequently used. But, at least it provides us with the information we need.</p>
  130. <p>Currently, the plugin support monitoring <a href="http://code.google.com/p/nagios-was/wiki/MonitorJvmHeapsize">JVM heap size</a>, <a href="http://code.google.com/p/nagios-was/wiki/MonitorThreadPools">thread pools</a>, <a href="http://code.google.com/p/nagios-was/wiki/MonitorJdbcConnectionPools">JDBC connection pools</a> and <a href="http://code.google.com/p/nagios-was/wiki/MonitorLiveSessions">live sessions</a>. Lots of other things could potentially be monitored, but this was what we needed. The plugin also supports <a href="http://nagiosplug.sourceforge.net/developer-guidelines.html#AEN201">Nagios performance data</a>, meaning Nagios will provide pretty graphs for your pleasure. We use this a lot to investigate trends like what happens during traffic peaks, long term application behavior or effects of improvements made in applications. </p>
  131. <p>Getting started is pretty simple, you currently need to download the source code and use Maven to build it into a JAR. You also need to <a href="http://code.google.com/p/nagios-was/wiki/InitialConfiguration">configure a properties file with information on how to connect to your WAS server</a>. After that, it works like any other Nagios plugin.</p>
  132. <p>The plugin has been tested on WAS 6.1 running in non-clustered environments. </p>
  133. <p>If you&#8217;re interested in improving on the plugin, feel free to <a href="mailto:[email protected]">get in touch</a> and we&#8217;ll most likely grant you commit rights on the project. There are many areas where the code could be improved as well as extended to support additional stuff to monitor, like JMS connection pools or HTTP response times. Also, support for clustered WAS setups and other WAS versions would be most welcome. </p>
  134. </div>]]></content>
  135. <link rel="replies" type="text/html" href="http://protocol7.com/archives/2009/06/03/was-plugin-for-nagios/#comments" thr:count="1"/>
  136. <link rel="replies" type="application/atom+xml" href="http://protocol7.com/archives/2009/06/03/was-plugin-for-nagios/feed/atom/" thr:count="1"/>
  137. <thr:total>1</thr:total>
  138. </entry>
  139. <entry>
  140. <author>
  141. <name>Niklas</name>
  142. <uri>http://protocol7.com</uri>
  143. </author>
  144. <title type="html"><![CDATA[Spring time clean up]]></title>
  145. <link rel="alternate" type="text/html" href="http://protocol7.com/archives/2009/04/12/spring-time-clean-up/" />
  146. <id>http://protocol7.com/?p=1645</id>
  147. <updated>2009-04-13T20:31:10Z</updated>
  148. <published>2009-04-12T20:58:24Z</published>
  149. <category scheme="http://protocol7.com" term="Uncategorized" /><category scheme="http://protocol7.com" term="protocol7" /><category scheme="http://protocol7.com" term="theme" /><category scheme="http://protocol7.com" term="Wordpress" /> <summary type="html"><![CDATA[Feeling it was that time of the year when you get the urge for a new site look. Of course, not that anyone actually visits sites anymore. But still. Seeing Jonas Bon?r site, I wanted that theme so bad. Turns out it&#8217;s based on the default Jekyll theme and Jonas was happy to let me [&#8230;]]]></summary>
  150. <content type="html" xml:base="http://protocol7.com/archives/2009/04/12/spring-time-clean-up/"><![CDATA[<div class='microid-f3596dc446ec50c1c5548d662bfa555ebff67535'><p>Feeling it was that time of the year when you get the urge for a new site look. Of course, not that anyone actually visits sites anymore. But still. Seeing <a href="http://jonasboner.com/">Jonas Bon?r site</a>, I wanted that theme so bad. Turns out it&#8217;s based on the default <a href="http://github.com/mojombo/jekyll/tree/master">Jekyll</a> theme and Jonas was happy to let me steal the look. So, I&#8217;ve now adopted it as a WordPress theme. Right now, it&#8217;s pretty much a straight copy of Jonas look, but I wanted to have a baseline to start from. Over time, it will likely diverge somewhat from the current look. Also, I will publish the sources in the coming days on <a href="http://github.com/protocol7/">my GitHub page</a>. </p>
  151. <p>Update: I&#8217;ve now <a href="http://github.com/protocol7/wp-jekyll-theme/tree/master">published the theme</a> on my github. Since Jekyll is under a MIT license, I picked the same license for this theme.</p>
  152. </div>]]></content>
  153. <link rel="replies" type="text/html" href="http://protocol7.com/archives/2009/04/12/spring-time-clean-up/#comments" thr:count="0"/>
  154. <link rel="replies" type="application/atom+xml" href="http://protocol7.com/archives/2009/04/12/spring-time-clean-up/feed/atom/" thr:count="0"/>
  155. <thr:total>0</thr:total>
  156. </entry>
  157. <entry>
  158. <author>
  159. <name>Niklas</name>
  160. <uri>http://protocol7.com</uri>
  161. </author>
  162. <title type="html"><![CDATA[My SDC presentation]]></title>
  163. <link rel="alternate" type="text/html" href="http://protocol7.com/archives/2009/04/04/my-sdc-presentation/" />
  164. <id>http://protocol7.com/?p=1639</id>
  165. <updated>2009-04-04T20:17:01Z</updated>
  166. <published>2009-04-04T20:17:01Z</published>
  167. <category scheme="http://protocol7.com" term="Uncategorized" /><category scheme="http://protocol7.com" term="jaxrs" /><category scheme="http://protocol7.com" term="presentation" /><category scheme="http://protocol7.com" term="REST" /><category scheme="http://protocol7.com" term="sdc2009" /> <summary type="html"><![CDATA[I finally found the time to publish my presentation from SDC2009. The topic is REST basics in general and JAX-RS in particular. As many of my presentations, the slides are not that very rich on words. I like having keywords on the slide which I can talk around, rather than the full manuscript. Thus, the [&#8230;]]]></summary>
  168. <content type="html" xml:base="http://protocol7.com/archives/2009/04/04/my-sdc-presentation/"><![CDATA[<div class='microid-82aaef6fa14ac9edb65afe52c78e342c6bafc76d'><p>I finally found the time to publish <a href="http://www.slideshare.net/protocol7/rest-made-simple-with-java">my presentation from SDC2009</a>. The topic is REST basics in general and JAX-RS in particular. As many of my presentations, the slides are not that very rich on words. I like having keywords on the slide which I can talk around, rather than the full manuscript. Thus, the slides might not be that very useful on their own, but even so, I wanted to post them. I will also clean up and publish the demo application I refer to in the slides. I&#8217;ll post an update when it&#8217;s done.</p>
  169. <p>SDC2009 was a nice conference, but not having plenty of power cords and free wifi feels a bit old by now. My favorite talk was <a href="http://jonasboner.com/">Jonas Bon?r</a> on <a href="http://jonasboner.com/talks/state_youre_doing_it_wrong/html/all.html">JVM concurrency</a>. Jonas is extremely knowledgeable on the topic and gave me some new insights. </p>
  170. </div>]]></content>
  171. <link rel="replies" type="text/html" href="http://protocol7.com/archives/2009/04/04/my-sdc-presentation/#comments" thr:count="0"/>
  172. <link rel="replies" type="application/atom+xml" href="http://protocol7.com/archives/2009/04/04/my-sdc-presentation/feed/atom/" thr:count="0"/>
  173. <thr:total>0</thr:total>
  174. </entry>
  175. <entry>
  176. <author>
  177. <name>Niklas</name>
  178. <uri>http://protocol7.com</uri>
  179. </author>
  180. <title type="html"><![CDATA[SDC 2009]]></title>
  181. <link rel="alternate" type="text/html" href="http://protocol7.com/archives/2009/03/22/sdc-2009/" />
  182. <id>http://protocol7.com/?p=1637</id>
  183. <updated>2009-03-22T22:18:54Z</updated>
  184. <published>2009-03-22T22:18:54Z</published>
  185. <category scheme="http://protocol7.com" term="Uncategorized" /><category scheme="http://protocol7.com" term="conferences" /><category scheme="http://protocol7.com" term="jaxrs" /><category scheme="http://protocol7.com" term="REST" /><category scheme="http://protocol7.com" term="sdc2009" /><category scheme="http://protocol7.com" term="Talks" /> <summary type="html"><![CDATA[This Tuesday sees the first Scandinavian Developers Conference here in G?teborg. For a newcomer conference, the speakers and subjects they&#8217;ve been able to attract seems quite impressive. I&#8217;ll be there talking on REST in general and JAX-RS in particular. It&#8217;s a new talk for me, so I&#8217;ve been busy preparing (surprised every time how long [&#8230;]]]></summary>
  186. <content type="html" xml:base="http://protocol7.com/archives/2009/03/22/sdc-2009/"><![CDATA[<div class='microid-30c9b99e7eee7ad8a85b6ec1584f894984e2844c'><p>This Tuesday sees the first <a href="http://www.scandevconf.se/">Scandinavian Developers Conference</a> here in G?teborg. For a newcomer conference, the speakers and subjects they&#8217;ve been able to attract <a href="http://www.scandevconf.se/conference/detailed-program/">seems quite impressive</a>. I&#8217;ll be there talking on REST in general and <a href="http://jcp.org/en/jsr/detail?id=311">JAX-RS</a> in particular. It&#8217;s a new talk for me, so I&#8217;ve been busy preparing (surprised every time how long it takes to get some slides done) and hopefully it will turn out okay. If you&#8217;re there, please come by and say hi. </p>
  187. </div>]]></content>
  188. <link rel="replies" type="text/html" href="http://protocol7.com/archives/2009/03/22/sdc-2009/#comments" thr:count="0"/>
  189. <link rel="replies" type="application/atom+xml" href="http://protocol7.com/archives/2009/03/22/sdc-2009/feed/atom/" thr:count="0"/>
  190. <thr:total>0</thr:total>
  191. </entry>
  192. <entry>
  193. <author>
  194. <name>Niklas</name>
  195. <uri>http://protocol7.com</uri>
  196. </author>
  197. <title type="html"><![CDATA[Scrum for real]]></title>
  198. <link rel="alternate" type="text/html" href="http://protocol7.com/archives/2009/03/05/scrum-for-real/" />
  199. <id>http://protocol7.com/?p=1630</id>
  200. <updated>2009-03-05T21:18:51Z</updated>
  201. <published>2009-03-05T21:12:42Z</published>
  202. <category scheme="http://protocol7.com" term="Uncategorized" /><category scheme="http://protocol7.com" term="books" /><category scheme="http://protocol7.com" term="scrum" /><category scheme="http://protocol7.com" term="xp" /> <summary type="html"><![CDATA[I just finished reading Henrik Knibergs &#8220;Scrum and XP from the Trenches&#8221; (Amazon). Of course, I guess everyone already know this but if you have anything remotely to do with Scrum, you should make sure you read this book as soon as possible. It&#8217;s shock full of great, practical tips on how you best work [&#8230;]]]></summary>
  203. <content type="html" xml:base="http://protocol7.com/archives/2009/03/05/scrum-for-real/"><![CDATA[<div class='microid-4ca25df07c67114b63c8bc07e60c1ff172e33fc6'><p><img src="http://protocol7.com/wp/wp-content/uploads/2009/03/trenches-197x300.jpg" alt="trenches" title="trenches" width="197" height="300" style="float:right" class="alignright size-medium wp-image-1633" srcset="http://protocol7.com/wp/wp-content/uploads/2009/03/trenches-197x300.jpg 197w, http://protocol7.com/wp/wp-content/uploads/2009/03/trenches.jpg 249w" sizes="(max-width: 197px) 100vw, 197px" /><br />
  204. I just finished reading <a href="http://blog.crisp.se/henrikkniberg">Henrik Knibergs</a> &#8220;<a href="http://www.infoq.com/minibooks/scrum-xp-from-the-trenches">Scrum and XP from the Trenches</a>&#8221; (<a href="http://www.amazon.com/Scrum-Trenches-Enterprise-Software-Development/dp/1430322640/ref=pd_bbs_sr_5?ie=UTF8&#038;s=books&#038;qid=1232449912&#038;sr=8-5">Amazon</a>). Of course, I guess everyone already know this but if you have anything remotely to do with Scrum, you should make sure you read this book as soon as possible. It&#8217;s shock full of great, practical tips on how you best work within the bounds of Scrum. In fact, given how thin it is, it probably has the highest density of knowledge I have ever come across in a book. Well worth the four hours or so it takes to read. </p>
  205. </div>]]></content>
  206. <link rel="replies" type="text/html" href="http://protocol7.com/archives/2009/03/05/scrum-for-real/#comments" thr:count="0"/>
  207. <link rel="replies" type="application/atom+xml" href="http://protocol7.com/archives/2009/03/05/scrum-for-real/feed/atom/" thr:count="0"/>
  208. <thr:total>0</thr:total>
  209. </entry>
  210. <entry>
  211. <author>
  212. <name>Niklas</name>
  213. <uri>http://protocol7.com</uri>
  214. </author>
  215. <title type="html"><![CDATA[FtpServer one oh]]></title>
  216. <link rel="alternate" type="text/html" href="http://protocol7.com/archives/2009/03/05/ftpserver-one-oh/" />
  217. <id>http://protocol7.com/?p=1628</id>
  218. <updated>2009-03-05T21:04:50Z</updated>
  219. <published>2009-03-05T21:04:50Z</published>
  220. <category scheme="http://protocol7.com" term="Uncategorized" /><category scheme="http://protocol7.com" term="Apache" /><category scheme="http://protocol7.com" term="ftp" /><category scheme="http://protocol7.com" term="FtpServer" /> <summary type="html"><![CDATA[A few days back, we finally release the big 1.0 of Apache FtpServer. It&#8217;s been a long, sometimes slow, ride to get there, but we now have a pretty damn stable piece of software. So, if you happen to need an FTP server for your Java application, make sure to check it out. It supports [&#8230;]]]></summary>
  221. <content type="html" xml:base="http://protocol7.com/archives/2009/03/05/ftpserver-one-oh/"><![CDATA[<div class='microid-34f221b4a3c661b7f058c58a44e42918f1e97993'><p>A few days back, we finally release the big 1.0 of <a href="http://mina.apache.org/ftpserver">Apache FtpServer</a>. It&#8217;s been a long, sometimes slow, ride to get there, but we now have a pretty damn stable piece of software. So, if you happen to need an FTP server for your Java application, make sure to check it out. It supports several ways of integration, including a fully extensible API, so you can do some pretty clever things with it. And we got a friendly <a href="http://mina.apache.org/ftpserver/mailing-lists.html">mailing list</a> for helping you out if you get stuck. </p>
  222. <p>If you&#8217;re already a user, we&#8217;re always looking for feedback on your experiences as well as testimonials. Feel free to contact us on the mailing list.</p>
  223. <p>Of course, 1.0 is not the end of the line, we have some nice features being implemented for <a href="http://https://issues.apache.org/jira/browse/FTPSERVER/fixforversion/12313458">1.1</a>, including improved scalability for passive connections and a more powerful native file system. </p>
  224. </div>]]></content>
  225. <link rel="replies" type="text/html" href="http://protocol7.com/archives/2009/03/05/ftpserver-one-oh/#comments" thr:count="0"/>
  226. <link rel="replies" type="application/atom+xml" href="http://protocol7.com/archives/2009/03/05/ftpserver-one-oh/feed/atom/" thr:count="0"/>
  227. <thr:total>0</thr:total>
  228. </entry>
  229. <entry>
  230. <author>
  231. <name>Niklas</name>
  232. <uri>http://protocol7.com</uri>
  233. </author>
  234. <title type="html"><![CDATA[Building Despotify on Ubuntu]]></title>
  235. <link rel="alternate" type="text/html" href="http://protocol7.com/archives/2009/02/24/building-despotify-on-ubuntu/" />
  236. <id>http://protocol7.com/?p=1624</id>
  237. <updated>2009-02-24T21:11:16Z</updated>
  238. <published>2009-02-24T21:11:16Z</published>
  239. <category scheme="http://protocol7.com" term="Uncategorized" /><category scheme="http://protocol7.com" term="despotify" /><category scheme="http://protocol7.com" term="Linux" /><category scheme="http://protocol7.com" term="Music" /><category scheme="http://protocol7.com" term="spotify" /><category scheme="http://protocol7.com" term="ubuntu" /> <summary type="html"><![CDATA[Despotify is out, here&#8217;s how to build and run it on Ubuntu sudo apt-get install libssl-dev zlib1g-dev libvorbis-dev libpulse-dev libexpat1-dev libncurses5-dev wget http://downloads.sourceforge.net/despotify/despotify-r761.tar.gz?use_mirror=freefr tar xvf despotify-r761.tar.gz cd despotify-r761/ make ./despotify Now enjoy your text based GUI]]></summary>
  240. <content type="html" xml:base="http://protocol7.com/archives/2009/02/24/building-despotify-on-ubuntu/"><![CDATA[<div class='microid-2ae9a1af62c39e5c0fdde0e3ad2e268656870194'><p>Despotify is out, here&#8217;s how to build and run it on Ubuntu</p>
  241. <pre>
  242. sudo apt-get install libssl-dev zlib1g-dev libvorbis-dev libpulse-dev libexpat1-dev libncurses5-dev
  243. wget http://downloads.sourceforge.net/despotify/despotify-r761.tar.gz?use_mirror=freefr
  244. tar xvf despotify-r761.tar.gz
  245. cd despotify-r761/
  246. make
  247. ./despotify <your username> </your><your password>
  248. </your></pre>
  249. <p>Now enjoy your text based GUI</p>
  250. <p><img src="http://protocol7.com/wp/wp-content/uploads/2009/02/despotify.png" alt="Despotify GUI" title="Despotify GUI" width="666" height="465" class="alignnone size-full wp-image-1625" srcset="http://protocol7.com/wp/wp-content/uploads/2009/02/despotify.png 666w, http://protocol7.com/wp/wp-content/uploads/2009/02/despotify-300x209.png 300w" sizes="(max-width: 666px) 100vw, 666px" /></p>
  251. </div>]]></content>
  252. <link rel="replies" type="text/html" href="http://protocol7.com/archives/2009/02/24/building-despotify-on-ubuntu/#comments" thr:count="13"/>
  253. <link rel="replies" type="application/atom+xml" href="http://protocol7.com/archives/2009/02/24/building-despotify-on-ubuntu/feed/atom/" thr:count="13"/>
  254. <thr:total>13</thr:total>
  255. </entry>
  256. </feed>
  257.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda