Congratulations!

[Valid Atom 1.0] This is a valid Atom 1.0 feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://www.cafeaulait.org/today.atom

  1. <?xml version="1.0"?>
  2. <feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US" xml:base="http://www.cafeaulait.org/today.atom">
  3.  <logo>/images/cup.gif</logo>
  4.  <icon>/favicon.ico</icon>
  5.  <updated>2014-04-17T13:00:02-04:00</updated>
  6.  <id>http://www.cafeaulait.org/</id>
  7.  <title>Cafe au Lait Java News and Resources</title>
  8.  <link rel="self" type="application/atom+xml" href="/today.atom"/>
  9.  <subtitle>Cafe au Lait is the preeminent independent source of Java information on the net. Unlike many other Java sites, Cafe au Lait is neither beholden to specific companies nor to advertisers. At Cafe au Lait you'll find many resources to help you develop your Java programming skills here including daily news summaries, FAQ lists, tutorials, course notes, examples, exercises, book reviews, user groups and more.</subtitle>
  10.  <rights>Copyright 2014 Elliotte Rusty Harold</rights>
  11.  <author>
  12.    <name>Elliotte Rusty Harold</name>
  13.  </author>
  14.  <entry>
  15.    <title>Quote of the Day</title>
  16.    <content type="xhtml">
  17.      <div xmlns="http://www.w3.org/1999/xhtml">
  18.        <blockquote cite="http://www.vanityfair.com/online/oscars/2010/06/penn-jillette-is-willing-to-be-a-guest-on-adolf-hitlers-talk-show.html">
  19.          <div>
  20. it's like arguing that fairies are coming out of my toaster in the middle of the night. You can't prove to me that there aren't fairies in my toaster, but that doesn't mean you should take me seriously. What I have a problem with is not so much religion or god, but faith. When you say you believe something in your heart and therefore you can act on it, you have completely justified the 9/11 bombers. You have justified Charlie Manson. If it's true for you, why isn't it true for them? Why are you different? If you say "I believe there's an all-powerful force of love in the universe that connects us all, and I have no evidence of that but I believe it in my heart," then it's perfectly okay to believe in your heart that Sharon Tate deserves to die. It's perfectly okay to believe in your heart that you need to fly planes into buildings for Allah.
  21. </div>
  22.        </blockquote>
  23.        <p>--Penn Jillette <br class="empty" clear="none"/>
  24. Read the rest in <a href="http://www.vanityfair.com/online/oscars/2010/06/penn-jillette-is-willing-to-be-a-guest-on-adolf-hitlers-talk-show.html" shape="rect">Penn Jillette Is Willing to Be a Guest on Adolf Hitler's Talk Show | Little Gold Men | Vanity Fair</a></p>
  25.      </div>
  26.    </content>
  27.    <author>
  28.      <name>Penn Jillette</name>
  29.    </author>
  30.    <link rel="alternate" href="http://www.cafeaulait.org/quotes2014.html#quote2010June20"/>
  31.    <link rel="permalink" href="http://www.cafeaulait.org/quotes2014.html#quote2010June20"/>
  32.    <id>http://www.cafeaulait.org/quotes2014.html#quote2010June20</id>
  33.    <updated>2010-06-20T10:01:13Z</updated>
  34.  </entry>
  35.  <entry>
  36.    <title>Several people have wondered what (if anything) is going on here.
  37.          </title>
  38.    <content type="xhtml">
  39.      <div xmlns="http://www.w3.org/1999/xhtml" id="November_15_2010_23111" class="2010-11-15T06:25:11Z">
  40. <p>
  41. Several people have wondered what (if anything) is going on here.
  42. The short answer is that this site is on hiatus while
  43. I work on a new backend.
  44. The code used to drive this site is vintage 1995 (yes, it's been around that long)
  45. so it really doesn't meet the needs of a modern site.
  46. </p>
  47.  
  48. <p>
  49. When I was writing and teaching
  50. more or less fulltime, I could treat this site as part of that,
  51. and arguably it returned the time I invested, but that's no longer the case.
  52. It was becoming more and more obvious to me that there really hasn't been much of value here for a long time, both to me or to site readers; and that if Cafe au Lait was to become valuable again some serious rethinking and rework was needed.
  53. This site has always been a part time endeavor, and I did not feel I had the time to both continue updating it in its current state; and to work on improving it going forward.
  54. Nor did I think it was really worth pushing forward in its current state.
  55. Consequently early this year I made a deliberate decision to devote what time I had to writing a modern backend and putting updates aside while I did that.
  56. </p>
  57.  
  58. <p>
  59. Why write something new instead of adapt an existing modern backend such as WordPress?
  60. WordPress would have made sense if the site were valuable in and of itself, but the site really didn't seem to be. My thinking was (and still is) that the infrastructure
  61. holds more potential than the content. That potential may or may not be realized, but I am still reasonably convinced that the site in and of itself no longer justifies the time investment I'd have to put into it to keep it running in its current form.
  62. </p>
  63.  
  64. <p>
  65. Work on the new system is ongoing in fits and starts, but it may yet take some time before it's ready. The new site almost launched in very rough form a month ago, but hosting issues held that up.
  66. When it is ready, (if it is?) you'll hear it here first.
  67. </p>
  68. </div>
  69.    </content>
  70.    <link rel="alternate" href="http://www.cafeaulait.org/#November_15_2010_23111"/>
  71.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010November15.html#November_15_2010_23111"/>
  72.    <id>http://www.cafeaulait.org/#November_15_2010_23111</id>
  73.    <updated>2010-11-15T06:25:11Z</updated>
  74.  </entry>
  75.  <entry>
  76.    <title>IBM's developerWorks has published my latest article, "When you can't throw an exception".
  77.          </title>
  78.    <content type="xhtml">
  79.      <div xmlns="http://www.w3.org/1999/xhtml" id="April_7_2010_29652" class="2010-04-07T08:14:12Z">
  80. <p>
  81. IBM's developerWorks has published my latest article,
  82. <a href="http://www.ibm.com/developerworks/java/library/j-ce/index.html" shape="rect">"When you can't throw an exception"</a>. This article explores the different options for working with an insufficiently expansive <code>throws</code> clause.  
  83. What do you do when you need to override or implement a method that doesn't declare an exception you need to throw?
  84. This is one of the thornier problems with checked exceptions, and far more often than not programmers get this one wrong.
  85. </p>
  86. </div>
  87.    </content>
  88.    <link rel="alternate" href="http://www.cafeaulait.org/#April_7_2010_29652"/>
  89.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010April7.html#April_7_2010_29652"/>
  90.    <id>http://www.cafeaulait.org/#April_7_2010_29652</id>
  91.    <updated>2010-04-07T08:14:12Z</updated>
  92.  </entry>
  93.  <entry>
  94.    <title>I've released XOM 1.2.5, my free-as-in-speech (LGPL) dual streaming/tree-based API for processing XML with Java.
  95.          </title>
  96.    <content type="xhtml">
  97.      <div xmlns="http://www.w3.org/1999/xhtml" id="April_6_2010_25616" class="2010-04-06T07:07:56Z">
  98. <p>
  99. I've released <a href="http://www.xom.nu/" shape="rect">XOM 1.2.5</a>,  my free-as-in-speech (LGPL)
  100. dual streaming/tree-based API for processing XML with Java.
  101. 1.2.5 is a very minor release. The only visible change is that Builder.build((Reader) null) now throws a NullPointerException instead of a confusing MalformedURLException.
  102. I've also added support for Maven 2, and hope to get the packages uploaded to the central repository in a week or two.
  103. </p>
  104. </div>
  105.    </content>
  106.    <link rel="alternate" href="http://www.cafeaulait.org/#April_6_2010_25616"/>
  107.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010April6.html#April_6_2010_25616"/>
  108.    <id>http://www.cafeaulait.org/#April_6_2010_25616</id>
  109.    <updated>2010-04-06T07:07:56Z</updated>
  110.  </entry>
  111.  <entry>
  112.    <title>In other news, I have had very little time to work on this site lately.
  113.          </title>
  114.    <content type="xhtml">
  115.      <div xmlns="http://www.w3.org/1999/xhtml" id="April_6_2010_25791" class="2010-04-06T07:10:51Z">
  116. <p>
  117. In other news, I have had very little time to work on this site lately.
  118. In order to have any time to work on other projects including XOM and Jaxen, I've had to let this site slide.
  119. I expect to have more news about that soon.
  120. </p>
  121. </div>
  122.    </content>
  123.    <link rel="alternate" href="http://www.cafeaulait.org/#April_6_2010_25791"/>
  124.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010April6.html#April_6_2010_25791"/>
  125.    <id>http://www.cafeaulait.org/#April_6_2010_25791</id>
  126.    <updated>2010-04-06T07:10:51Z</updated>
  127.  </entry>
  128.  <entry>
  129.    <title>Also, speaking of Jaxen, I noticed that the website has been a little out of date for a while now because I neglected to update the releases page when 1.1.2 was released in 2008.
  130.          </title>
  131.    <content type="xhtml">
  132.      <div xmlns="http://www.w3.org/1999/xhtml" id="April_6_2010_26099" class="2010-04-06T07:15:59Z">
  133. <p>
  134. Also, speaking of Jaxen, I noticed that the <a href="http://jaxen.codehaus.org/" shape="rect">website</a> has been a little out of date for a while now because I neglected to update the <a href="http://jaxen.codehaus.org/releases.html" shape="rect">releases page</a> when 1.1.2 was released in 2008. Consequently, a lot of folks have been missing out on the latest bug fixes and optimizations. If you're still using Jaxen 1.1.1 or earlier, please upgrade when you get a minute. Also, note that the official site is http://jaxen.codehaus.org/. jaxen.org is a domain name spammer. I'm not sure who let that one slide, but we'll have to see about grabbing it back one of these days.
  135. </p>
  136. </div>
  137.    </content>
  138.    <link rel="alternate" href="http://www.cafeaulait.org/#April_6_2010_26099"/>
  139.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010April6.html#April_6_2010_26099"/>
  140.    <id>http://www.cafeaulait.org/#April_6_2010_26099</id>
  141.    <updated>2010-04-06T07:15:59Z</updated>
  142.  </entry>
  143.  <entry>
  144.    <title>Modern Jass is an interesting open source, annotations based Design-by-Contract system for Java 6.
  145.          Annotations include.</title>
  146.    <content type="xhtml">
  147.      <div xmlns="http://www.w3.org/1999/xhtml" id="February_24_2010_26312" class="2010-02-24T07:19:32Z">
  148. <p>
  149. <img src="images/newicon.png" alt="" width="90" height="54" hspace="5" vspace="5" border="0" align="left"/>
  150. <a href="http://modernjass.sourceforge.net/" shape="rect">Modern Jass</a> is an interesting open source, annotations based Design-by-Contract system for Java 6.
  151. Annotations include:
  152. <br clear="all"/>
  153.  
  154. </p>
  155.  
  156. <ul>
  157. <li><code>@Invariant</code></li>
  158. <li> <code>@Pre</code>  Precondition</li>
  159. <li><code>@Post</code> Postconditions</li>
  160. <li>    <code>@SpecCase</code> a full method specification (normal and exceptional behaviour)</li>
  161. <li>    <code>@Also</code> a container for multiple specifications</li>
  162. <li>    <code>@Min</code> the lower bound of a numerical value </li>
  163. </ul>
  164.  
  165.  
  166. <p>
  167. My biggest concern with this is that it makes the same mistake assertions did: it uses errors that can be be disabled at runtime where it should be using runtime exceptions.
  168. This makes it a debugging tool, but not really part of the running code.
  169. </p>
  170. </div>
  171.    </content>
  172.    <link rel="alternate" href="http://www.cafeaulait.org/#February_24_2010_26312"/>
  173.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010February24.html#February_24_2010_26312"/>
  174.    <id>http://www.cafeaulait.org/#February_24_2010_26312</id>
  175.    <updated>2010-02-24T07:19:32Z</updated>
  176.  </entry>
  177.  <entry>
  178.    <title>The Apache Jakarta Project has released Commons-DBCP 1.3 and 1.4, a library for pooling database connections.
  179.          </title>
  180.    <content type="xhtml">
  181.      <div xmlns="http://www.w3.org/1999/xhtml" id="February_16_2010_24627" class="2010-02-16T07:50:27Z">
  182.  
  183. <p>
  184. The Apache Jakarta Project has released
  185. <a href="http://jakarta.apache.org/commons/dbcp/" shape="rect">Commons-DBCP 1.3</a> and 1.4, a library for pooling database connections.
  186. Version 1.4 supports JDBC 4 and requires Java 1.6.  Version 1.3 supports JDBC 3 and requires Java 1.4.
  187. According to the web page,
  188. "Creating a new connection for each user can be time consuming (often requiring multiple seconds of clock time), in order to perform a database transaction that might take milliseconds. Opening a connection per user can be unfeasible in a publicly-hosted Internet application where the number of simultaneous users can be very large. Accordingly, developers often wish to share a 'pool' of open connections between all of the application's current users. The number of users actually performing a request at any given time is usually a very small percentage of the total number of active users, and during request processing is the only time that a database connection is required. The application itself logs into the DBMS, and handles any user account issues internally."
  189. "Both releases contain
  190. numerous bug fixes and enhancements. Support for pooling managed
  191. connections and callable statements has been added, and several
  192. long-standing API consistency and reliability issues have been
  193. resolved."
  194. </p>
  195. </div>
  196.    </content>
  197.    <link rel="alternate" href="http://www.cafeaulait.org/#February_16_2010_24627"/>
  198.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010February16.html#February_16_2010_24627"/>
  199.    <id>http://www.cafeaulait.org/#February_16_2010_24627</id>
  200.    <updated>2010-02-16T07:50:27Z</updated>
  201.  </entry>
  202.  <entry>
  203.    <title>Google has posted version 1.3.1 of the AppEngine for Java SDK.</title>
  204.    <content type="xhtml">
  205.      <div xmlns="http://www.w3.org/1999/xhtml" id="February_12_2010_24421" class="2010-02-12T07:47:01Z">
  206. <p>
  207. Google has posted version 1.3.1  of the <a href="http://code.google.com/appengine/docs/java/overview.html" shape="rect">AppEngine for Java SDK</a>.
  208. </p>
  209.  
  210. <blockquote>
  211. <p>
  212. App Engine uses the Java Servlet standard for web applications. You provide your app's servlet classes, JavaServer Pages (JSPs), static files and data files, along with the deployment descriptor (the web.xml file) and other configuration files, in a standard WAR directory structure. App Engine serves requests by invoking servlets according to the deployment descriptor.
  213. </p>
  214.  
  215. <p>
  216. The JVM runs in a secured "sandbox" environment to isolate your application for service and security. The sandbox ensures that apps can only perform actions that do not interfere with the performance and scalability of other apps. For instance, an app cannot spawn threads, write data to the local file system or make arbitrary network connections. An app also cannot use JNI or other native code. The JVM can execute any Java bytecode that operates within the sandbox restrictions.
  217. </p>
  218.  
  219. </blockquote>
  220.  
  221. <p>
  222. Version 1.3.1
  223. adds  <a href="http://code.google.com/appengine/docs/java/datastore/queriesandindexes.html#Query_Cursors" shape="rect">Datastore Query Cursors</a>, Transactional Tasks, Custom Admin Console pages, <a href="http://code.google.com/appengine/docs/java/tools/localunittesting.html" shape="rect">built-in support for unit testing</a>, and
  224.    URLFetch  asynchronous requests.
  225. </p>
  226. </div>
  227.    </content>
  228.    <link rel="alternate" href="http://www.cafeaulait.org/#February_12_2010_24421"/>
  229.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010February12.html#February_12_2010_24421"/>
  230.    <id>http://www.cafeaulait.org/#February_12_2010_24421</id>
  231.    <updated>2010-02-12T07:47:01Z</updated>
  232.  </entry>
  233.  <entry>
  234.    <title>The Apache Project has released Ant 1.8, the popular XML based, open source build tool for Java.
  235.          </title>
  236.    <content type="xhtml">
  237.      <div xmlns="http://www.w3.org/1999/xhtml" id="February_8_2010_69403" class="2010-02-08T19:17:43Z">
  238.  
  239. <p>
  240. The Apache Project has released  <a href="http://ant.apache.org/" shape="rect">Ant 1.8</a>,
  241. the popular XML based,
  242. open source build tool for Java. New features in 1.8 include
  243. </p>
  244. <ul>
  245.  
  246. <li>A top level element <code>extension-point</code> allows build files to be extended with custom targets more easily</li>
  247. <li><code>if</code> and <code>unless</code> attributes will be evaluated according to the values of the properties entered if these properties evaluate to true, false, on, off</li>
  248. <li> An  <code>include</code> provides an alternative to <code>&lt;import&gt;</code> that should be preferred when you don't want to override any targets</li>
  249. </ul>
  250.  
  251.  
  252. <p>
  253. Java 1.4 or later is required. I should probably move XOM over to this version.
  254. The <code>if</code> and <code>unless</code> attributes will be extremely helpful in further automaing the build process.
  255. </p>
  256.  
  257. </div>
  258.    </content>
  259.    <link rel="alternate" href="http://www.cafeaulait.org/#February_8_2010_69403"/>
  260.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010February8.html#February_8_2010_69403"/>
  261.    <id>http://www.cafeaulait.org/#February_8_2010_69403</id>
  262.    <updated>2010-02-08T19:17:43Z</updated>
  263.  </entry>
  264.  <entry>
  265.    <title>JetBrains has released IntelliJ IDEA 9.0.1, which I ereally should test drive one of these days.
  266.          </title>
  267.    <content type="xhtml">
  268.      <div xmlns="http://www.w3.org/1999/xhtml" id="January_25_2010_16540" class="2010-01-25T05:36:40Z">
  269. <p>
  270. JetBrains has released
  271. <a href="http://www.jetbrains.com/idea/" shape="rect">IntelliJ IDEA</a> <a href="http://www.jetbrains.com/idea/features/release_notes901.html" shape="rect">9.0.1</a>, which I ereally should test drive one of these days. New features in the 9.0 line include:
  272. </p>
  273.  
  274.  
  275. <ul>
  276. <li>"New background-enabled file indexing allows you to start using essential editing features almost immediately. All the advanced features become available in minutes.
  277.  
  278. The responsiveness of the user interface has been improved, with many time-consuming operations now performed in the background.
  279.  
  280. We have also introduced on-the-fly module reloading, which means that changes in .iml files (in particular, after updating from version control) no longer require reopening the entire project."</li>
  281. <li>Global unused symbols highlighting</li>
  282. <li>Easy class exclusion from completion &amp; auto-import </li>
  283. <li>Built-in spell checker (They didn't have this already?!)</li>
  284. <li>Auto-folding (ditto?!)</li>
  285. <li>Subversion 1.6 </li>
  286. <li>JEE 6</li>
  287. <li>JSR 308 type annotations such as <code>@Nonnull</code></li>
  288. <li>OSGI (Bleah.)</li>
  289. <li>Google App Engine</li>
  290. <li> GWT 1.7 and 2.0</li>
  291. <li>Android (Yay!)</li>
  292. <li>Flex (Interesting choice)</li>
  293. <li>PHP (About time!)</li>
  294. <li>UML (Boo!)</li>
  295. </ul>
  296.  
  297. <p>
  298. 9.0.1 is a bug fix release.
  299. </p>
  300.  
  301. </div>
  302.    </content>
  303.    <link rel="alternate" href="http://www.cafeaulait.org/#January_25_2010_16540"/>
  304.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010January25.html#January_25_2010_16540"/>
  305.    <id>http://www.cafeaulait.org/#January_25_2010_16540</id>
  306.    <updated>2010-01-25T05:36:40Z</updated>
  307.  </entry>
  308.  <entry>
  309.    <title>The Gnu Project has released version 4.4.3 of GCC, the GNU Compiler Collection.
  310.          </title>
  311.    <content type="xhtml">
  312.      <div xmlns="http://www.w3.org/1999/xhtml" id="January_23_2010_67810" class="2010-01-23T19:50:10Z">
  313. <p>
  314. The Gnu Project has released version <a href="http://gcc.gnu.org/gcc-4.4/" shape="rect">4.4.3</a> of <a href="http://gcc.gnu.org/" shape="rect"><acronym>GCC</acronym></a>,
  315. the GNU Compiler Collection.
  316. <acronym>GCC</acronym> contains frontends for C, C++, Objective C, Fortran, Ada, and Java as well as libraries for these languages.
  317. <acronym>GCC</acronym>'s Java is a clean room implementation
  318. that doesn't use any Sun code,
  319. so it doesn't always exactly match Sun release versions, but this is roughly at the Java 1.5 level with some omissions.
  320. "4.4.3 is a bug-fix release containing fixes for regressions and
  321. serious bugs in GCC 4.4.2." GCC is released
  322. under the Gnu General Public License.
  323. </p>
  324. </div>
  325.    </content>
  326.    <link rel="alternate" href="http://www.cafeaulait.org/#January_23_2010_67810"/>
  327.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010January23.html#January_23_2010_67810"/>
  328.    <id>http://www.cafeaulait.org/#January_23_2010_67810</id>
  329.    <updated>2010-01-23T19:50:10Z</updated>
  330.  </entry>
  331.  <entry>
  332.    <title>The Eclipse Project has posted the fourth "milestone" of Eclipse 3.6 Helios.
  333.          </title>
  334.    <content type="xhtml">
  335.      <div xmlns="http://www.w3.org/1999/xhtml" id="January_21_2010_24094" class="2010-01-21T07:42:34Z">
  336. <p>
  337. The Eclipse Project has posted the fourth "milestone" of <a href="http://download.eclipse.org/eclipse/downloads/drops/S-3.6M4-200912101301/eclipse-news-M4.html" shape="rect">Eclipse 3.6 Helios</a>. This release adds PowerPC 64-bit support, virtual folders, Wrap indent in StyledText, expanded JUnit 4 support, and warnings for missing <code>@Override</code> on methods that implementa na interface.
  338. </p>
  339. </div>
  340.    </content>
  341.    <link rel="alternate" href="http://www.cafeaulait.org/#January_21_2010_24094"/>
  342.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010January21.html#January_21_2010_24094"/>
  343.    <id>http://www.cafeaulait.org/#January_21_2010_24094</id>
  344.    <updated>2010-01-21T07:42:34Z</updated>
  345.  </entry>
  346.  <entry>
  347.    <title>The Apache Project has posted the first release candidate of Ant 1.8, the popular XML based, open source build tool for Java.
  348.          </title>
  349.    <content type="xhtml">
  350.      <div xmlns="http://www.w3.org/1999/xhtml" id="January_19_2010_20953" class="2010-01-19T06:49:13Z">
  351.  
  352. <p>
  353. The Apache Project has posted the first release candidate of  <a href="http://ant.apache.org/" shape="rect">Ant 1.8</a>,
  354. the popular XML based,
  355. open source build tool for Java. New features in 1.8 include
  356. </p>
  357. <ul>
  358.  
  359. <li>A top level element <code>extension-point</code> allows build files to be extended with custom targets more easily</li>
  360. <li><code>if</code> and <code>unless</code> attributes will be evaluated according to the values of the properties entered if these properties evaluate to true, false, on, off</li>
  361. <li> An  <code>include</code> provides an alternative to <code>&lt;import&gt;</code> that should be preferred when you don't want to override any targets</li>
  362. </ul>
  363.  
  364.  
  365. <p>
  366. Java 1.4 or later is required.
  367. </p>
  368.  
  369. </div>
  370.    </content>
  371.    <link rel="alternate" href="http://www.cafeaulait.org/#January_19_2010_20953"/>
  372.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010January19.html#January_19_2010_20953"/>
  373.    <id>http://www.cafeaulait.org/#January_19_2010_20953</id>
  374.    <updated>2010-01-19T06:49:13Z</updated>
  375.  </entry>
  376.  <entry>
  377.    <title>The Legion of the Bouncy Castle has released version 1.45 of the Bouncy Castle Java Cryptography API, an open source, clean-room implementation of the Java Cryptography Extension (JCE).
  378.          </title>
  379.    <content type="xhtml">
  380.      <div xmlns="http://www.w3.org/1999/xhtml" id="January_15_2010_17802" class="2010-01-15T05:57:42Z">
  381. <p>
  382. <img src="images/bouncycastle.gif" alt="" width="100" height="119" hspace="5" vspace="5" border="0" align="left"/>
  383. The Legion of the Bouncy Castle has released version 1.45
  384. of the <a href="http://www.bouncycastle.org/" shape="rect">Bouncy Castle Java Cryptography API</a>, an open source,
  385. clean-room implementation of the Java Cryptography Extension (JCE).
  386. It supports X.509 certificates, PKCS12, S/MIME, CMS, PKCS7, TEA, XTEA, SHA224, and lots of other juicy acronyms. It also includes its own light-weight crypto <acronym>API</acronym> that works in Java 1.0 and later, and does not depend on the JCE. Version 1.45 adds support for "EC MQV to the light weight and CMS/SMIME
  387. libraries. In addition to that OpenPGP now supports UTF-8 in file names
  388. for literal data, EC keys are now serialisable, and the provider now
  389. makes use of a privileged block for constructing the provider table.
  390.  
  391. In addition, to additionally improve the security and reliability of the
  392. libraries, ASN.1 processing has been reviewed to further reduce the
  393. likelihood of OutOfMemory errors for badly corrupted streams, and use of
  394. constant time comparisons have been introduced to remove the possibility
  395. of timing attacks in several areas such as with cipher modes like GCM
  396. and CCM."
  397. <br clear="all"/>
  398. </p>
  399. </div>
  400.    </content>
  401.    <link rel="alternate" href="http://www.cafeaulait.org/#January_15_2010_17802"/>
  402.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010January15.html#January_15_2010_17802"/>
  403.    <id>http://www.cafeaulait.org/#January_15_2010_17802</id>
  404.    <updated>2010-01-15T05:57:42Z</updated>
  405.  </entry>
  406.  <entry>
  407.    <title>IBM's developerWorks has published my latest article, Speaking Java without an accent.
  408.          </title>
  409.    <content type="xhtml">
  410.      <div xmlns="http://www.w3.org/1999/xhtml" id="January_13_2010_20301" class="2010-01-13T06:38:21Z">
  411. <p>
  412. IBM's developerWorks has published my latest article, <a href="http://www.ibm.com/developerworks/java/library/j-noaccent.html" shape="rect">
  413. Speaking Java without an accent</a>. C++ programmers often put certain inflections on Java code that unmistakably mark them as converts rather than native speakers.
  414. In this article, I explore a number of Java programming idioms that often get overlooked precisely because semantically they don't matter all that much, if at all. They are purely issues of style and convention. A few of them have plausible justifications. Some of them lack even that. But all of them help distinguish Java code that sounds right from Java code that sounds wrong.
  415. </p>
  416. </div>
  417.    </content>
  418.    <link rel="alternate" href="http://www.cafeaulait.org/#January_13_2010_20301"/>
  419.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010January13.html#January_13_2010_20301"/>
  420.    <id>http://www.cafeaulait.org/#January_13_2010_20301</id>
  421.    <updated>2010-01-13T06:38:21Z</updated>
  422.  </entry>
  423.  <entry>
  424.    <title>Julien Ponge has released IzPack 4.3.23, an open source tool for building cross-platform installers in Java.
  425.          </title>
  426.    <content type="xhtml">
  427.      <div xmlns="http://www.w3.org/1999/xhtml" id="January_6_2010_23804" class="2010-01-06T07:37:44Z">
  428. <p>
  429. Julien Ponge has released
  430. <a href="http://izpack.org/" shape="rect">IzPack 4.3.23</a>,
  431. an open source tool for building cross-platform installers in Java.
  432. "This ia a stable, maintenance release that fixes some issues found in IzPack 4.3.1 and IzPack 4.3.2."
  433. IzPack is published under the Apache License 2.0.
  434. </p>
  435. </div>
  436.    </content>
  437.    <link rel="alternate" href="http://www.cafeaulait.org/#January_6_2010_23804"/>
  438.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010January6.html#January_6_2010_23804"/>
  439.    <id>http://www.cafeaulait.org/#January_6_2010_23804</id>
  440.    <updated>2010-01-06T07:37:44Z</updated>
  441.  </entry>
  442.  <entry>
  443.    <title>Bob Martin has released FitNesse 20100103.
  444.          </title>
  445.    <content type="xhtml">
  446.      <div xmlns="http://www.w3.org/1999/xhtml" id="January_5_2010_18625" class="2010-01-05T05:10:25Z">
  447. <p>
  448. Bob Martin has released <a href="http://fitnesse.org/" shape="rect">FitNesse 20100103</a>.
  449. FitNesse is an open-source Wiki with built-in web server
  450. for  defining acceptance tests as web pages containing simple tables of inputs and expected outputs. New features in this release include:
  451. </p>
  452.  
  453. <ul>
  454. <li>Parameterized Scenario Tables </li>
  455. <li> Can run nested Suites using !see.</li>
  456. <li>Plain Text Tables.  e.g. tables without using vertical strokes.</li>
  457. <li>Sequential Arguments in Script Tables. </li>
  458. <li>Pages can now be saved in HTML format.  FitNesse will still render and test them. </li>
  459. </ul>
  460.  
  461. </div>
  462.    </content>
  463.    <link rel="alternate" href="http://www.cafeaulait.org/#January_5_2010_18625"/>
  464.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2010January5.html#January_5_2010_18625"/>
  465.    <id>http://www.cafeaulait.org/#January_5_2010_18625</id>
  466.    <updated>2010-01-05T05:10:25Z</updated>
  467.  </entry>
  468.  <entry>
  469.    <title>Google has released version the Google Collections Library 1.0, which extends the standard JDK collections classes with.</title>
  470.    <content type="xhtml">
  471.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_31_2009_28567" class="2009-12-31T08:56:07Z">
  472. <p>
  473. Google has released version the <a href="http://code.google.com/p/google-collections/" shape="rect">Google Collections Library 1.0</a>, which extends the standard JDK collections classes with:
  474. </p>
  475.  
  476. <blockquote>
  477. <ul><li>
  478. <strong>New Collection types:</strong> <a href="http://google-collections.googlecode.com/svn/trunk/javadoc/index.html?com/google/common/collect/Multimap.html" shape="rect">Multimap</a>, <a href="http://google-collections.googlecode.com/svn/trunk/javadoc/index.html?com/google/common/collect/Multiset.html" shape="rect">Multiset</a>, <a href="http://google-collections.googlecode.com/svn/trunk/javadoc/index.html?com/google/common/collect/BiMap.html" shape="rect">BiMap</a> and others </li>
  479. <li>High-performance <strong>immutable implementations</strong> of the standard collection types, for example <a href="http://google-collections.googlecode.com/svn/trunk/javadoc/index.html?com/google/common/collect/ImmutableSet.html" shape="rect">ImmutableSet</a> </li><li><strong><a href="http://google-collections.googlecode.com/svn/trunk/javadoc/index.html?com/google/common/collect/MapMaker.html" shape="rect">MapMaker</a></strong>, a builder for concurrent hash maps with many advanced features </li>
  480. <li><strong><a href="http://google-collections.googlecode.com/svn/trunk/javadoc/index.html?com/google/common/collect/Ordering.html" shape="rect">Ordering</a></strong>, which can only be described as a "Comparator on steroids" </li><li><strong><a href="http://google-collections.googlecode.com/svn/trunk/javadoc/index.html?com/google/common/collect/Iterators.html" shape="rect">Iterators</a> and <a href="http://google-collections.googlecode.com/svn/trunk/javadoc/index.html?com/google/common/collect/Iterables.html" shape="rect">Iterables</a></strong> utility classes: element-based equality, cycle, concat, partition, filter with predicate, transform with function, and much more </li><li><strong>Lists</strong>, <strong>Sets</strong> and <strong>Maps</strong> utility classes: a plethora of convenient factory methods and much more </li><li><strong>Forwarding collections</strong>, such as <a href="http://google-collections.googlecode.com/svn/trunk/javadoc/index.html?com/google/common/collect/ForwardingSet.html" shape="rect">ForwardingSet</a>, allowing you to customize collection behavior without subclassing </li><li>Implementation helpers like <a href="http://google-collections.googlecode.com/svn/trunk/javadoc/index.html?com/google/common/collect/AbstractIterator.html" shape="rect">AbstractIterator</a></li>
  481. </ul>
  482. </blockquote>
  483.  
  484. <p>
  485. I've been using this library for a couple of years now. There's some good stuff in here, but it's mostly relatively minor. For example instead of writing
  486. </p>
  487.  
  488. <pre xml:space="preserve">List&lt;String&gt; list = new ArrayList&lt;String&gt;();</pre>
  489.  
  490. <p>you can instead write</p>
  491.  
  492. <pre xml:space="preserve">List&lt;String&gt; list = Lists.newArrayList();</pre>
  493.  
  494. <p>
  495. Yes, it saves a few characters and avoids an annoying redundant generic type declaration; but is it worth the extra dependency?
  496. The downside of this sort of library is that most projects don't need but a small subset of this functionality, and end up pulling in a lot of extra stuff they don't need to get the one or two pieces they do need.  
  497. Of course it's open source (Apache License 2.0) so you can just fork out the one or two pieces you need for your own program and repackage them; but I do wish Java had a better way to use just a <code>Multimap</code>, for example, without pulling in  <code>Multiset</code>, <code>Bimap</code>, forwarding collections, and everything else.
  498. Java 5 or later is required.
  499. </p>
  500. </div>
  501.    </content>
  502.    <link rel="alternate" href="http://www.cafeaulait.org/#December_31_2009_28567"/>
  503.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December31.html#December_31_2009_28567"/>
  504.    <id>http://www.cafeaulait.org/#December_31_2009_28567</id>
  505.    <updated>2009-12-31T08:56:07Z</updated>
  506.  </entry>
  507.  <entry>
  508.    <title>Alan Ezust, Slava Pestov, Björn "Vampire" Kautler, Marcelo Vanzin, Matthieu Casanova, Eric Berry, and Eric Le Lay have released jEdit 4.3, a free-as-in-speech (GPL 2.0) programmer's editor written in Java with extensive plug-in support and my preferred text editor on Windows and Unix (though still far behind TextMate and BBEdit on the Mac.) Java 5 or later is now required.</title>
  509.    <content type="xhtml">
  510.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_30_2009_19087" class="2009-12-30T05:18:07Z">
  511. <p>
  512. Alan Ezust, Slava Pestov, Björn "Vampire" Kautler, Marcelo Vanzin, Matthieu Casanova,
  513. Eric Berry, and Eric Le Lay have released
  514. <a href="http://www.jedit.org" shape="rect">jEdit 4.3</a>,
  515. a free-as-in-speech (GPL 2.0) programmer's editor written in Java with extensive plug-in
  516. support and
  517. my preferred text editor on Windows and Unix (though still far behind TextMate and BBEdit on the Mac.)
  518. Java 5 or later is now required.
  519. </p>
  520. </div>
  521.    </content>
  522.    <link rel="alternate" href="http://www.cafeaulait.org/#December_30_2009_19087"/>
  523.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December30.html#December_30_2009_19087"/>
  524.    <id>http://www.cafeaulait.org/#December_30_2009_19087</id>
  525.    <updated>2009-12-30T05:18:07Z</updated>
  526.  </entry>
  527.  <entry>
  528.    <title>Bare Bones Software has released version 9.3.1 of BBEdit, my preferred text editor on the Mac, my favorite XML editor on any platforms, what I'm using to type these very words.
  529.          </title>
  530.    <content type="xhtml">
  531.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_23_2009_29505" class="2009-12-23T08:12:45Z">
  532. <p>
  533. <img src="images/bbedit.png" alt="" width="32" height="32" hspace="5" vspace="5" border="0" align="right"/>
  534. Bare Bones Software has released version 9.3.1 of <a href="http://www.barebones.com/support/bbedit/current_notes.html" shape="rect">BBEdit</a>, my preferred text editor on the Mac, my favorite  XML editor on any platforms, what I'm using to type these very words.
  535. This release fixes bugs including some issues in handling UTF-8 with byte-order marks.
  536. </p>
  537. </div>
  538.    </content>
  539.    <link rel="alternate" href="http://www.cafeaulait.org/#December_23_2009_29505"/>
  540.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December23.html#December_23_2009_29505"/>
  541.    <id>http://www.cafeaulait.org/#December_23_2009_29505</id>
  542.    <updated>2009-12-23T08:12:45Z</updated>
  543.  </entry>
  544.  <entry>
  545.    <title>Version 1.7 of Groovy has been released.
  546.          </title>
  547.    <content type="xhtml">
  548.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_22_2009_61340" class="2009-12-22T17:02:20Z">
  549. <p>
  550. <img src="images/groovy-logo.png" alt="" width="227" height="112" hspace="5" vspace="5" border="0" align="right"/>
  551. <a href="http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242&amp;version=15781" shape="rect">Version 1.7</a> of  <a href="http://groovy.codehaus.org/Download" shape="rect">Groovy</a> has been released. Groovy is
  552. a <abbr title="Java virtual machine">JVM</abbr> hosted scripting language that "builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk." New features in 1.7 include:
  553. <br clear="all"/>
  554. </p>
  555.  
  556. <ul>
  557. <li> Anonymous Inner Classes and nested classes. (I could have sworn Groovy had closures so it didn't need these half-measures?)</li>
  558. <li>Can now annotate imports, packages and variable declarations</li>
  559. <li> Power Asserts, whatever those are</li>
  560. <li> AST Viewer and AST Builder, for easing the creation of AST transformations</li>
  561. <li> Several GroovyConsole enhancements, like line numbers, a new output view, and more</li>
  562. <li> SQL batch updates and transaction support</li>
  563. <li>The kitchen sink</li>
  564. </ul>
  565.  
  566.  
  567.  
  568. </div>
  569.    </content>
  570.    <link rel="alternate" href="http://www.cafeaulait.org/#December_22_2009_61340"/>
  571.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December22.html#December_22_2009_61340"/>
  572.    <id>http://www.cafeaulait.org/#December_22_2009_61340</id>
  573.    <updated>2009-12-22T17:02:20Z</updated>
  574.  </entry>
  575.  <entry>
  576.    <title>JetBrains has released TeamCity 5.0, a $1999 payware continuous integration server.
  577.          </title>
  578.    <content type="xhtml">
  579.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_21_2009_27148" class="2009-12-21T08:32:28Z">
  580. <p>
  581. JetBrains has released <a href="http://www.jetbrains.com/teamcity/index.html" shape="rect">TeamCity</a>  <a href="http://www.jetbrains.com/teamcity/features/newfeatures.html" shape="rect">5.0</a>, a $1999 payware continuous integration server. TeamCity manages builds and can be configured not to check in code unless tests pass. "This release brings a huge potential improvement in scalability by reinforcing its distributed build grid with Amazon EC2 cloud integration. Features such as build configuration templates, project archiving, and backup&amp;restore eliminate unnecessary redundancy and hassle in configuring large build infrastructures.
  582. To make TeamCity feel at home everywhere and benefit developer productivity, we've added issue tracker integration, better support for Maven, Command line tool for personal builds, and many other features."
  583. </p>
  584. </div>
  585.    </content>
  586.    <link rel="alternate" href="http://www.cafeaulait.org/#December_21_2009_27148"/>
  587.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December21.html#December_21_2009_27148"/>
  588.    <id>http://www.cafeaulait.org/#December_21_2009_27148</id>
  589.    <updated>2009-12-21T08:32:28Z</updated>
  590.  </entry>
  591.  <entry>
  592.    <title>Google has released the Android Development Kit 2.0.1.
  593.          </title>
  594.    <content type="xhtml">
  595.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_17_2009_28069" class="2009-12-17T08:48:49Z">
  596. <p>
  597. Google has released the <a href="http://android-developers.blogspot.com/2009/12/android-sdk-updates.html" shape="rect">Android Development Kit 2.0.1</a>. According to Xavier Ducrohet:</p>
  598.  
  599. <blockquote>
  600. <p>Android 2.0.1 is a minor update to <a href="http://android-developers.blogspot.com/2009/10/announcing-android-20-support-in-sdk.html" title="Android 2.0" shape="rect">Android 2.0</a>. This update includes several bug fixes and behavior changes, such as application resource selection based on API level and changes to the value of some Bluetooth-related constants. For more detailed information, please see the <a href="http://developer.android.com/sdk/android-2.0.1.html" title="Android 2.0.1 release notes" shape="rect">Android 2.0.1 release notes</a>.</p>
  601.  
  602. <p>To differentiate its behavior from Android 2.0, the API level of Android 2.0.1 is 6. All Android 2.0 devices will be updated to 2.0.1 before the end of the year, so developers will no longer need to support Android 2.0 at that time. Of course, developers of applications affected by the behavior changes should start compiling and testing their apps immediately.</p><p>We are also providing an update to the Android 1.6 SDK component. Revision 2 includes fixes to the compatibility mode for applications that don't support multiple screen sizes, as well as SDK fixes. Please see the <a href="http://developer.android.com/sdk/android-1.6.html" title="Android 1.6, revision 2 release notes" shape="rect">Android 1.6, revision 2 release notes</a> for the full list of changes.</p><p>Finally, we are also releasing an update to the SDK Tools, now in revision 4. This is a minor update with mostly bug fixes in the SDK Manager. A new version of the Eclipse plug-in that embeds those fixes is also available. </p>
  603. </blockquote>
  604.  
  605.  
  606. </div>
  607.    </content>
  608.    <link rel="alternate" href="http://www.cafeaulait.org/#December_17_2009_28069"/>
  609.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December17.html#December_17_2009_28069"/>
  610.    <id>http://www.cafeaulait.org/#December_17_2009_28069</id>
  611.    <updated>2009-12-17T08:48:49Z</updated>
  612.  </entry>
  613.  <entry>
  614.    <title>The Apache Jakarta Project has released POI 3.6, an open source Java library "for reading and writing Microsoft Office file formats, such as Excel, PowerPoint, Visio and Word."</title>
  615.    <content type="xhtml">
  616.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_16_2009_28127" class="2009-12-16T08:49:47Z">
  617. <p>
  618. The Apache Jakarta Project has  released <a href="http://jakarta.apache.org/poi/index.html" shape="rect">POI 3.6</a>, an open source Java library
  619. "for reading and
  620. writing Microsoft Office file formats, such as Excel, PowerPoint, Visio and
  621. Word." Version 3.6 focuses on improving performance and reucing memory usage.
  622. </p>
  623. </div>
  624.    </content>
  625.    <link rel="alternate" href="http://www.cafeaulait.org/#December_16_2009_28127"/>
  626.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December16.html#December_16_2009_28127"/>
  627.    <id>http://www.cafeaulait.org/#December_16_2009_28127</id>
  628.    <updated>2009-12-16T08:49:47Z</updated>
  629.  </entry>
  630.  <entry>
  631.    <title>Sun has released NetBeans 6.8, its open source IDE for Java.
  632.          </title>
  633.    <content type="xhtml">
  634.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_15_2009_20137" class="2009-12-15T06:36:37Z">
  635. <p>
  636. Sun has released  <a href="http://www.netbeans.org/community/releases/68/" shape="rect">NetBeans 6.8</a>, its open source IDE for Java. C++. PHP, and  Ruby. New features in this version include:
  637. </p>
  638.  
  639. <ul>
  640. <li>EJB 3.1 support
  641.        </li><li>RESTful web services (JAX-RS 1.1), GlassFish Metro 2.0 web services (JAX-WS 2.2),  JAXB 2.2
  642.        </li><li>Java Persistence JPA 2.0, deployment, debugging and profiling with GlassFish v3 application server</li>
  643.  
  644.        <li>Code completion, error hints, namespace completion, documentation popups, and tag auto-import for Facelets
  645.        </li><li>Editor support for Facelets libraries, composite components, expression language, including generators for JSF and HTML forms
  646.        </li><li>Customizable JSF components palette generates JSF forms and JSF data tables from entities
  647.        </li>
  648.  
  649.        <li>JavaFX SDK 1.2.1
  650.        </li>
  651. <li>Editor Hints: Fix Imports, Surround With, Implements Abstract Methods, and more
  652.        </li><li>Improved navigation: Hyperlinks, Go to Type, Find Usages
  653.      </li>
  654.        <li>Full JIRA support
  655.        </li><li>Project dashboard with more member and project details, improved search and navigation, easier project sharing
  656.        </li><li>Improved instant messenger integration
  657.        </li>
  658. <li>Improved issue tracker integration</li>
  659.  
  660.        <li>PHP 5.3
  661.        </li>
  662. <li>Symfony Framework support
  663.        </li>
  664. <li>PHPUnit, Code Coverage, FTP/SFTP integration improvements, exclude PHP project folders from scanning/indexing
  665.      </li>
  666.  
  667.        <li>New Project from Maven archetype catalog and improved support for Java EE 6, Groovy, Scala projects
  668.        </li>
  669.        <li>Support for Rails 2.3.2 apps with dispatchers, JRuby 1.3.1, Ruby 1.9 debugging, and RSpec 1.2.7
  670.        </li>
  671. <li>C++ Profiling: New Microstate Accounting indicator, Thread Map view, Thread Analyzer, Hot Spots view, Memory Leaks view, Sync Problems view
  672.        </li>
  673. <li>C++ Parallelization Adviser
  674.        </li><li>Support for gdbserver attach and easier attaching to already running processes
  675.      </li>
  676. </ul>
  677.  
  678. </div>
  679.    </content>
  680.    <link rel="alternate" href="http://www.cafeaulait.org/#December_15_2009_20137"/>
  681.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December15.html#December_15_2009_20137"/>
  682.    <id>http://www.cafeaulait.org/#December_15_2009_20137</id>
  683.    <updated>2009-12-15T06:36:37Z</updated>
  684.  </entry>
  685.  <entry>
  686.    <title>I've released XOM 1.2.4, my free-as-in-speech (LGPL) Java library for processing XML.
  687.          </title>
  688.    <content type="xhtml">
  689.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_14_2009_21062" class="2009-12-14T06:51:02Z">
  690. <p>
  691. I've released <a href="http://www.xom.nu/" shape="rect">XOM 1.2.4</a>, my free-as-in-speech (LGPL) Java library for processing XML. The major change in this release is a hopefully user-transparent one-button release process.
  692. This still needs some work though. The Ant target to tag the release in CVS is broken (I'd appreciate it if anybody coudl figure that out). Furthermore, it's still hooked up backwards. The release is bundled and deployed from my local hard drive, and then tagged in CVS. What should happen is that first I tag the release as an independent target. Then the deploy target checks out a tagged version from CVS and uploads that. This would make sure that what's deployed macthes what's in the repository.
  693. It would also make it a little easier to build older versions when someone needs one. As is, CVS is just sort of off to the side of the deployment chain rather than being a
  694. crucial link in the process.
  695. </p>
  696.  
  697. <p>
  698. There's also one small optimization in XPath evaluation, and the maven POM that was broken in 1.2.3 should now be fixed.
  699. </p>
  700. </div>
  701.    </content>
  702.    <link rel="alternate" href="http://www.cafeaulait.org/#December_14_2009_21062"/>
  703.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December14.html#December_14_2009_21062"/>
  704.    <id>http://www.cafeaulait.org/#December_14_2009_21062</id>
  705.    <updated>2009-12-14T06:51:02Z</updated>
  706.  </entry>
  707.  <entry>
  708.    <title>JetBrains has released IntelliJ IDEA 9.0.
  709.          </title>
  710.    <content type="xhtml">
  711.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_11_2009_28280" class="2009-12-11T08:51:20Z">
  712. <p>
  713. JetBrains has released
  714. <a href="http://www.jetbrains.com/idea/" shape="rect">IntelliJ IDEA</a> <a href="http://www.jetbrains.com/idea/whatsnew/index.html" shape="rect">9.0</a>.
  715. I'm still using 7.0 (and Eclipse) myself, but reports from colleagues using the 9.0 beta have been uniformly positive.
  716. New features in 9.0 include:
  717. </p>
  718.  
  719.  
  720. <ul>
  721. <li>"New background-enabled file indexing allows you to start using essential editing features almost immediately. All the advanced features become available in minutes.
  722.  
  723. The responsiveness of the user interface has been improved, with many time-consuming operations now performed in the background.
  724.  
  725. We have also introduced on-the-fly module reloading, which means that changes in .iml files (in particular, after updating from version control) no longer require reopening the entire project."</li>
  726. <li>Global unused symbols highlighting</li>
  727. <li>Easy class exclusion from completion &amp; auto-import </li>
  728. <li>Built-in spell checker (They didn't have this already?!)</li>
  729. <li>Auto-folding (ditto?!)</li>
  730. <li>Subversion 1.6 </li>
  731. <li>JEE 6</li>
  732. <li>JSR 308 type annotations such as <code>@Nonnull</code></li>
  733. <li>OSGI (Bleah.)</li>
  734. <li>Google App Engine</li>
  735. <li> GWT 1.7 and 2.0</li>
  736. <li>Android (Yay!)</li>
  737. <li>Flex (Interesting choice)</li>
  738. <li>PHP (About time!)</li>
  739. <li>UML (Boo!)</li>
  740. </ul>
  741. </div>
  742.    </content>
  743.    <link rel="alternate" href="http://www.cafeaulait.org/#December_11_2009_28280"/>
  744.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December11.html#December_11_2009_28280"/>
  745.    <id>http://www.cafeaulait.org/#December_11_2009_28280</id>
  746.    <updated>2009-12-11T08:51:20Z</updated>
  747.  </entry>
  748.  <entry>
  749.    <title>Google has released GWT 2.0, an open source Java-to-JavaScript compiler and library for building AJAX applications in Java.
  750.          </title>
  751.    <content type="xhtml">
  752.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_10_2009_23797" class="2009-12-10T07:37:37Z">
  753. <p>
  754. Google has released <a href="http://code.google.com/webtoolkit/" shape="rect"><acronym title="Google Web Toolkit">GWT</acronym> 2.0</a>,
  755. an open source Java-to-JavaScript compiler and library for building AJAX applications in Java. In version 2.0
  756. </p>
  757. <ul>
  758.  
  759. <li>  Development Mode in a regular browser replaces hosted mode.</li>
  760. <li>Speed Tracer Performance Analysis</li>
  761. <li> Developer Guided Code Splitting</li>
  762. <li> Compiler Optimizations</li>
  763. <li> Draft Compile</li>
  764. <li> UiBinder enables  you to create user interfaces declaratively in XML instead of having to assemble them programmatically. </li>
  765. <li> Layout Panels</li>
  766. <li> Bundled Resources via ClientBundle</li>
  767. <li> HtmlUnit for Testing</li>
  768. </ul>
  769.  
  770.  
  771. </div>
  772.    </content>
  773.    <link rel="alternate" href="http://www.cafeaulait.org/#December_10_2009_23797"/>
  774.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December10.html#December_10_2009_23797"/>
  775.    <id>http://www.cafeaulait.org/#December_10_2009_23797</id>
  776.    <updated>2009-12-10T07:37:37Z</updated>
  777.  </entry>
  778.  <entry>
  779.    <title>Kent Beck and David Saff have released JUnit 4.8.1.
  780.          </title>
  781.    <content type="xhtml">
  782.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_9_2009_20475" class="2009-12-09T06:41:15Z">
  783. <p>
  784. Kent Beck and David Saff have released <a href="http://kentbeck.github.com/junit/" shape="rect">JUnit</a> <a href="http://kentbeck.github.com/junit/doc/ReleaseNotes4.8.1.html" shape="rect">4.8.1</a>.
  785. "This was a quick bugfix release for an important bug...Category annotations on classes were not honored."
  786. </p>
  787.  
  788. </div>
  789.    </content>
  790.    <link rel="alternate" href="http://www.cafeaulait.org/#December_9_2009_20475"/>
  791.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December9.html#December_9_2009_20475"/>
  792.    <id>http://www.cafeaulait.org/#December_9_2009_20475</id>
  793.    <updated>2009-12-09T06:41:15Z</updated>
  794.  </entry>
  795.  <entry>
  796.    <title>Oliver Burn has released Checkstyle 5.0, a lint-like tool that checks Java code for adherence to various coding standards.</title>
  797.    <content type="xhtml">
  798.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_8_2009_24217" class="2009-12-08T07:44:37Z">
  799. <p>
  800. Oliver Burn has released
  801. <a href="http://checkstyle.sourceforge.net/" shape="rect">Checkstyle 5.0</a>, a lint-like tool that checks Java code
  802. for adherence to various coding standards:
  803. </p>
  804.  
  805. <blockquote>
  806. <p>elease 5.0 is not 100% backwardly compatible with release
  807.        4.4. Most likely you will need to update your configuration
  808.        file.
  809.      </p>
  810.                                                <p>The following checks were added since release 4.4:</p>
  811.                                                <ul>
  812.        <li><a href="http://checkstyle.sourceforge.net/config_imports.html#AnnotationUseStyle" shape="rect">AnnotationUseStyle</a></li>
  813.  
  814.        <li><a href="http://checkstyle.sourceforge.net/config_imports.html#MissingDeprecated" shape="rect">MissingDeprecated</a></li>
  815.        <li><a href="http://checkstyle.sourceforge.net/config_imports.html#MissingOverride" shape="rect">MissingOverride</a></li>
  816.        <li><a href="http://checkstyle.sourceforge.net/config_imports.html#PackageAnnotation" shape="rect">PackageAnnotation</a></li>
  817.        <li><a href="http://checkstyle.sourceforge.net/config_imports.html#SuppressWarnings" shape="rect">SuppressWarnings</a></li>
  818.        <li><a href="http://checkstyle.sourceforge.net/config_imports.html#EqualsAvoidNull" shape="rect">EqualsAvoidNull</a></li>
  819.        <li><a href="http://checkstyle.sourceforge.net/config_imports.html#NoClone" shape="rect">NoClone</a></li>
  820.  
  821.        <li><a href="config_coding.htmlhttp://checkstyle.sourceforge.net/config_imports.html#NoFinalizer" shape="rect">NoFinalizer</a></li>
  822.        <li><a href="config_imports.htmlhttp://checkstyle.sourceforge.net/config_imports.html#AvoidStaticImport" shape="rect">AvoidStaticImport</a></li>
  823.        <li><a href="config_javadoc.htmlhttp://checkstyle.sourceforge.net/config_imports.html#JavadocPackage" shape="rect">JavadocPackage</a></li>
  824.        <li><a href="config_naming.htmlhttp://checkstyle.sourceforge.net/config_imports.html#ClassTypeParameterName" shape="rect">ClassTypeParameterName</a></li>
  825.        <li><a href="config_naming.htmlhttp://checkstyle.sourceforge.net/config_imports.html#MethodTypeParameterName" shape="rect">MethodTypeParameterName</a></li>
  826.        <li><a href="config_regexp.htmlhttp://checkstyle.sourceforge.net/config_imports.html#RegexpMultiline" shape="rect">RegexpMultiline</a></li>
  827.  
  828.        <li><a href="config_regexp.htmlhttp://checkstyle.sourceforge.net/config_imports.html#RegexpSingleline" shape="rect">RegexpSingleline</a></li>
  829.        <li><a href="config_regexp.htmlhttp://checkstyle.sourceforge.net/config_imports.html#RegexpSinglelineJava" shape="rect">RegexpSinglelineJava</a></li>
  830.        <li><a href="config_sizes.htmlhttp://checkstyle.sourceforge.net/config_imports.html#OuterTypeNumber" shape="rect">OuterTypeNumber</a></li>
  831.        <li><a href="config_whitespace.htmlhttp://checkstyle.sourceforge.net/config_imports.html#FileTabCharacter" shape="rect">FileTabCharacter</a></li>
  832.        <li><a href="config_whitespace.htmlhttp://checkstyle.sourceforge.net/config_imports.html#GenericWhitespace" shape="rect">GenericWhitespace</a></li>
  833.      </ul>
  834.  
  835. </blockquote>
  836. </div>
  837.    </content>
  838.    <link rel="alternate" href="http://www.cafeaulait.org/#December_8_2009_24217"/>
  839.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December8.html#December_8_2009_24217"/>
  840.    <id>http://www.cafeaulait.org/#December_8_2009_24217</id>
  841.    <updated>2009-12-08T07:44:37Z</updated>
  842.  </entry>
  843.  <entry>
  844.    <title>Apple has released Java Update 1 for Mac OS X 10.6 and Java for Mac OS X 10.5 Update 6 to plug a few security holes that could enable an untrusted applet to obtain elevated privileges.
  845.          </title>
  846.    <content type="xhtml">
  847.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_7_2009_20600" class="2009-12-07T06:43:20Z">
  848. <p>
  849. Apple has released  <a href="http://support.apple.com/kb/HT3892" shape="rect">Java Update 1 for Mac OS X 10.6</a>  and <a href="http://support.apple.com/kb/HT3970" shape="rect">Java for Mac OS X 10.5 Update 6</a> to plug a few security holes that could enable an untrusted applet to obtain elevated privileges. Essentially this upgrades
  850. Java 1.6.0_17 to 1.6.0_17 and  
  851. Java 1.5.0_20 to 1.5.0_22.
  852. Check Software Update to download.
  853. </p>
  854.  
  855. <p>
  856. <img src="images/Java%20for%20Mac%20OS%20X%2010.6%20Update%201.png" alt="Software Update Java for Mac OS X 10.6 Update 1 " width="512" height="620" hspace="5" vspace="5" border="0"/>
  857. </p>
  858. </div>
  859.    </content>
  860.    <link rel="alternate" href="http://www.cafeaulait.org/#December_7_2009_20600"/>
  861.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December7.html#December_7_2009_20600"/>
  862.    <id>http://www.cafeaulait.org/#December_7_2009_20600</id>
  863.    <updated>2009-12-07T06:43:20Z</updated>
  864.  </entry>
  865.  <entry>
  866.    <title>Version 1.6.7 of Groovy has been released.
  867.          </title>
  868.    <content type="xhtml">
  869.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_3_2009_81513" class="2009-12-03T23:39:33Z">
  870. <p>
  871. <img src="images/groovy-logo.png" alt="" width="227" height="112" hspace="5" vspace="5" border="0" align="right"/>
  872. <a href="http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242&amp;version=15781" shape="rect">Version 1.6.7</a> of  <a href="http://groovy.codehaus.org/Download" shape="rect">Groovy</a> has been released. Groovy is
  873. a <abbr title="Java virtual machine">JVM</abbr> hosted scripting language that "builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk." According to Guillaume Laforge,
  874. "Groovy 1.6.7 is a drop-in replacement for 1.6.6, so you can just
  875. upgrade to 1.6.7 directly, or replace 1.6.6 with 1.6.7 in your
  876. projects."
  877. <br clear="all"/>
  878. </p>
  879. </div>
  880.    </content>
  881.    <link rel="alternate" href="http://www.cafeaulait.org/#December_3_2009_81513"/>
  882.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December3.html#December_3_2009_81513"/>
  883.    <id>http://www.cafeaulait.org/#December_3_2009_81513</id>
  884.    <updated>2009-12-03T23:39:33Z</updated>
  885.  </entry>
  886.  <entry>
  887.    <title>Kent Beck and David Saff have released JUnit 4.8.
  888.          </title>
  889.    <content type="xhtml">
  890.      <div xmlns="http://www.w3.org/1999/xhtml" id="December_2_2009_24985" class="2009-12-02T07:56:25Z">
  891. <p>
  892. Kent Beck and David Saff have released <a href="http://kentbeck.github.com/junit/" shape="rect">JUnit</a> <a href="http://kentbeck.github.com/junit/doc/ReleaseNotes4.8.html" shape="rect">4.8</a>.
  893. This release adds categories:
  894. </p>
  895.  
  896. <blockquote>
  897. <p>From a given set of test classes, the <code>Categories</code> runner
  898. runs only the classes and methods
  899. that are annotated with either the category given with the <code>@IncludeCategory</code>
  900. annotation, or a subtype of that category. Either classes or interfaces can be
  901. used as categories. Subtyping works, so if you say <code>@IncludeCategory(SuperClass.class)</code>,
  902. a test marked <code>@Category({SubClass.class})</code> will be run.</p>
  903.  
  904. <p>You can also exclude categories by using the <code>@ExcludeCategory</code> annotation</p>
  905.  
  906. <p>Example:</p>
  907.  
  908. <pre xml:space="preserve"><code>public interface FastTests { /* category marker */ }
  909. public interface SlowTests { /* category marker */ }
  910.  
  911. public static class A {
  912.    @Test
  913.    public void a() {
  914.        fail();
  915.    }
  916.  
  917.    @Category(SlowTests.class)
  918.    @Test
  919.    public void b() {
  920.    }
  921. }
  922.  
  923. @Category({SlowTests.class, FastTests.class})
  924. public static class B {
  925.    @Test
  926.    public void c() {
  927.  
  928.    }
  929. }
  930.  
  931. @RunWith(Categories.class)
  932. @IncludeCategory(SlowTests.class)
  933. @SuiteClasses( { A.class, B.class }) // Note that Categories is a kind of Suite
  934. public static class SlowTestSuite {
  935.  // Will run A.b and B.c, but not A.a
  936. }
  937.  
  938. @RunWith(Categories.class)
  939. @IncludeCategory(SlowTests.class)
  940. @ExcludeCategory(FastTests.class)
  941. @SuiteClasses( { A.class, B.class }) // Note that Categories is a kind of Suite
  942. public static class SlowTestSuite {
  943.  // Will run A.b, but not A.a or B.c
  944. }
  945. </code></pre>
  946.  
  947. </blockquote>
  948. </div>
  949.    </content>
  950.    <link rel="alternate" href="http://www.cafeaulait.org/#December_2_2009_24985"/>
  951.    <link rel="permalink" href="http://www.cafeaulait.org/oldnews/news2009December2.html#December_2_2009_24985"/>
  952.    <id>http://www.cafeaulait.org/#December_2_2009_24985</id>
  953.    <updated>2009-12-02T07:56:25Z</updated>
  954.  </entry>
  955. </feed>
  956.  

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid Atom 1.0" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=http%3A//www.cafeaulait.org/today.atom

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda