<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dw="https://www.dreamwidth.org">
  <id>tag:dreamwidth.org,2009-05-06:307169</id>
  <title>Java developers</title>
  <subtitle>Java developers</subtitle>
  <author>
    <name>Java developers</name>
  </author>
  <link rel="alternate" type="text/html" href="https://java-dev.dreamwidth.org/"/>
  <link rel="self" type="text/xml" href="https://java-dev.dreamwidth.org/data/atom"/>
  <updated>2021-03-15T17:49:08Z</updated>
  <dw:journal username="java_dev" type="community"/>
  <entry>
    <id>tag:dreamwidth.org,2009-05-06:307169:2642</id>
    <author>
      <name>J Banana</name>
    </author>
    <dw:poster user="jbanana"/>
    <link rel="alternate" type="text/html" href="https://java-dev.dreamwidth.org/2642.html"/>
    <link rel="self" type="text/xml" href="https://java-dev.dreamwidth.org/data/atom/?itemid=2642"/>
    <title>Try-with-reources</title>
    <published>2021-03-15T17:49:08Z</published>
    <updated>2021-03-15T17:49:08Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Posted by: &lt;span lj:user='jbanana' style='white-space: nowrap;' class='ljuser'&gt;&lt;a href='https://jbanana.dreamwidth.org/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='https://jbanana.dreamwidth.org/'&gt;&lt;b&gt;jbanana&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You've been able to can auto-close a closable thing for ages now. &lt;pre&gt;try(Reader r = new FileReader(/*blah*/)){
   r.whatever();
}
// r is automatically closed&lt;/pre&gt; But today I found that it works for something you already opened! &lt;pre&gt;Reader r = new FileReader(/*blah*/);
try(r){
   r.whatever();
}
// r is automatically closed&lt;/pre&gt; This came up because I had a list of files and I wanted to close each one after handling it. So I couldn't create it in the header of the try block.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=java_dev&amp;ditemid=2642" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2009-05-06:307169:2336</id>
    <author>
      <name>J Banana</name>
    </author>
    <dw:poster user="jbanana"/>
    <link rel="alternate" type="text/html" href="https://java-dev.dreamwidth.org/2336.html"/>
    <link rel="self" type="text/xml" href="https://java-dev.dreamwidth.org/data/atom/?itemid=2336"/>
    <title>Multiple returns</title>
    <published>2021-01-19T12:33:15Z</published>
    <updated>2021-01-19T12:53:34Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Posted by: &lt;span lj:user='jbanana' style='white-space: nowrap;' class='ljuser'&gt;&lt;a href='https://jbanana.dreamwidth.org/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='https://jbanana.dreamwidth.org/'&gt;&lt;b&gt;jbanana&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In some languages you can write a method that returns two things, and then say something like &lt;pre&gt;a, b = getCatAndDog()&lt;/pre&gt; That's not allowed in Java. Why not? You could do something like...&lt;pre&gt;class Pair&amp;lt;T,U&amp;gt;{/*boilerplate to handle two things*/}

Pair&amp;lt;Cat,Dog&amp;gt; x = getCatAndDog();
Cat a = x.getLeft();
Dog b = x.getRight();&lt;/pre&gt; Ouch, and what if you want more than two?&lt;br /&gt;&lt;br /&gt;I have done it with &lt;code&gt;Object[]&lt;/code&gt; but that's pretty hacky, and I've seen people return a map of names to values, but both of those are type unsafe (you'd have to cast the return values).&lt;br /&gt;&lt;br /&gt;There's a syntax for multiple declarations... &lt;pre&gt;int a, b;&lt;/pre&gt; ... so that could be extended to allow multiple types: &lt;pre&gt;Cat, Dog a, b = getCatDog();&lt;/pre&gt; or with the new type inference: &lt;pre&gt;var a, b = getCatAndDog();&lt;/pre&gt; Now I'm wondering how to make that proposal...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Edit:&lt;/b&gt; The process seems to be to sign up at &lt;a href="https://www.jcp.org/"&gt;jcp.org&lt;/a&gt; and submit a JSR. Bit daunting.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=java_dev&amp;ditemid=2336" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2009-05-06:307169:2176</id>
    <author>
      <name>J Banana</name>
    </author>
    <dw:poster user="jbanana"/>
    <link rel="alternate" type="text/html" href="https://java-dev.dreamwidth.org/2176.html"/>
    <link rel="self" type="text/xml" href="https://java-dev.dreamwidth.org/data/atom/?itemid=2176"/>
    <title>Iteration</title>
    <published>2020-10-01T20:14:11Z</published>
    <updated>2020-10-01T20:14:11Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Posted by: &lt;span lj:user='jbanana' style='white-space: nowrap;' class='ljuser'&gt;&lt;a href='https://jbanana.dreamwidth.org/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='https://jbanana.dreamwidth.org/'&gt;&lt;b&gt;jbanana&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;small&gt;(&lt;a href="https://jbanana.dreamwidth.org/123225.html"&gt;Cross-posted from my own account&lt;/a&gt; - I put it there because I forgot this community existed!)&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;There are &lt;em&gt;so many&lt;/em&gt; ways to iterate in Java. &lt;tt&gt;8~(&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Suppose that we have &lt;pre&gt;class Thing{...}
interface Processor{void process(Thing thing);}&lt;/pre&gt; We want to process each thing. How do we complete this method? &lt;pre&gt;void processAllThings(List&amp;lt;Thing&amp;gt; things, Processor p){
    // ???
}&lt;/pre&gt;&lt;ol&gt;&lt;li&gt;old skool C-style: &lt;pre&gt;for ( int i = 0; i &amp;lt; things.size(); i++ )
    p.process( things.get( i ) );&lt;/pre&gt; Bonus variant 1: &lt;pre&gt;for ( int i = 0; ; ) {
    if ( i &amp;gt;= things.size() )
        break;
    p.process( things.get( i++ ) ); // careful where you put the ++
}&lt;/pre&gt; Bonus(?!) variant 2: &lt;pre&gt;for ( int i = 0; ; ) {
    try {
        p.process( things.get( i++ ) );
    } catch ( IndexOutOfBoundsException x ) { // spot the bug
        break;
    }
}&lt;/pre&gt; Bonus(?!) variant 3: &lt;pre&gt;for ( int i = 0; ; ) {
    Thing thing = null;
    try {
        thing = things.get( i++ );
    } catch ( IndexOutOfBoundsException x ) {
        break;
    }
    p.process( thing );
}&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;You can use &lt;code&gt;while&lt;/code&gt; (but who does that?)&lt;pre&gt;int i = 0
while ( i &amp;lt; things.size() )
    p.process( things.get( i++ ) );&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;You can use &lt;code&gt;do... while&lt;/code&gt; (but who does that?)&lt;pre&gt;int i = 0
do
    p.process( things.get( i ) );
while ( ++i &amp;lt; things.size() ); // careful where you put the ++&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Still left over from before 1.2:&lt;pre&gt;Vector v = new Vector(things);
for ( Enumeration e = v.elements(); e.hasNextElement();  )
    p.process( (Thing)e.nextElement() );&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Still left over from before 1.5:&lt;pre&gt;for ( Iterator&lt;thing&gt; i = things.iterator(); i.hasNext();  )
    p.process( i.next() );&lt;/thing&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Still left over from before 1.8:&lt;pre&gt;for ( Thing thing : things )
    p.process ( thing );&lt;/pre&gt;Bonus variant for newer Java versions:&lt;pre&gt;for ( var thing : things )
    p.process ( thing );&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Arrived in 1.8:&lt;pre&gt;things.forEach(
    p::process
);&lt;/pre&gt;Bonus variant 1:&lt;pre&gt;things.forEach(
    thing -&amp;gt; p.process(thing);
);&lt;/pre&gt;Bonus variant 2:&lt;pre&gt;things.forEach(
    new Consumer&lt;thing&gt;(){
        @Override public void accept(Thing thing){
            p.process(thing);
        }
    }
);&lt;/thing&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Can't be bothered with the lambda variants this time.&lt;pre&gt;things.stream()
    .forEach(
        p::process
    );&lt;/pre&gt;&lt;/li&gt;&lt;/ol&gt;Phew! Hmm - I probably missed some...&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=java_dev&amp;ditemid=2176" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2009-05-06:307169:1979</id>
    <author>
      <name>J Banana</name>
    </author>
    <dw:poster user="jbanana"/>
    <link rel="alternate" type="text/html" href="https://java-dev.dreamwidth.org/1979.html"/>
    <link rel="self" type="text/xml" href="https://java-dev.dreamwidth.org/data/atom/?itemid=1979"/>
    <title>Looking for developer feedback</title>
    <published>2013-06-09T15:56:45Z</published>
    <updated>2013-06-09T15:56:45Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Posted by: &lt;span lj:user='jbanana' style='white-space: nowrap;' class='ljuser'&gt;&lt;a href='https://jbanana.dreamwidth.org/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='https://jbanana.dreamwidth.org/'&gt;&lt;b&gt;jbanana&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have &lt;a href="http://compositor.sourceforge.net/"&gt;a development framework for Swing apps called Compositor&lt;/a&gt;. Although I wrote it for my own benefit, I'd be interested in feedback from other developers. Would anyone like to have a go with it and tell me how they get on?&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=java_dev&amp;ditemid=1979" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2009-05-06:307169:1672</id>
    <author>
      <name>lea_hazel</name>
    </author>
    <dw:poster user="lea_hazel"/>
    <link rel="alternate" type="text/html" href="https://java-dev.dreamwidth.org/1672.html"/>
    <link rel="self" type="text/xml" href="https://java-dev.dreamwidth.org/data/atom/?itemid=1672"/>
    <title>A shot in the dark...</title>
    <published>2012-01-25T10:50:52Z</published>
    <updated>2012-01-25T10:50:52Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>3</dw:reply-count>
    <content type="html">Posted by: &lt;span lj:user='lea_hazel' style='white-space: nowrap;' class='ljuser'&gt;&lt;a href='https://lea-hazel.dreamwidth.org/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='https://lea-hazel.dreamwidth.org/'&gt;&lt;b&gt;lea_hazel&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I realize this community hasn't been updated in almost a year, and that it only has a few members. However, I'm going to risk it and attempt a shot in the dark. &lt;br /&gt;&lt;br /&gt;I was a Java developer a few years ago and I haven't touched it in a while. I never had an IDE installed on my home computer, since I've never needed one. Now I'm suddenly feeling a strange craving to mess around and code something, for my own amusement. Can anyone recommend a lightweight, freeware IDE that I can use? I've been thinking of maybe installing IntelliJ.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=java_dev&amp;ditemid=1672" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2009-05-06:307169:1371</id>
    <author>
      <name>J Banana</name>
    </author>
    <dw:poster user="jbanana"/>
    <link rel="alternate" type="text/html" href="https://java-dev.dreamwidth.org/1371.html"/>
    <link rel="self" type="text/xml" href="https://java-dev.dreamwidth.org/data/atom/?itemid=1371"/>
    <title>Mac compile error</title>
    <published>2011-03-07T09:36:13Z</published>
    <updated>2011-03-07T09:36:13Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Posted by: &lt;span lj:user='jbanana' style='white-space: nowrap;' class='ljuser'&gt;&lt;a href='https://jbanana.dreamwidth.org/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='https://jbanana.dreamwidth.org/'&gt;&lt;b&gt;jbanana&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="overflow: auto"&gt;     [java] 2011-03-07 08:57:04.693 java[399] CFLog (0): CFMessagePort: bootstrap_register(): failed 1103 (0x44f), port = 0xf803, name = 'java.ServiceProvider'
     [java] See /usr/include/servers/bootstrap_defs.h for the error codes.
     [java] 2011-03-07 08:57:04.694 java[399] CFLog (99): CFMessagePortCreateLocal(): failed to name Mach port (java.ServiceProvider)&lt;/pre&gt; Sometimes I get that in build output on my Mac. The file it says I should see doesn't help. &lt;a href="http://netbeans-org.1045718.n5.nabble.com/CFLOG-errors-seek-HELP-td2903944.html"&gt;It turns out&lt;/a&gt; that it means "You are compiling while another Java process is running".&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=java_dev&amp;ditemid=1371" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2009-05-06:307169:1047</id>
    <author>
      <name>J Banana</name>
    </author>
    <dw:poster user="jbanana"/>
    <link rel="alternate" type="text/html" href="https://java-dev.dreamwidth.org/1047.html"/>
    <link rel="self" type="text/xml" href="https://java-dev.dreamwidth.org/data/atom/?itemid=1047"/>
    <title>Barf!</title>
    <published>2011-02-28T16:14:31Z</published>
    <updated>2011-03-07T09:12:01Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Posted by: &lt;span lj:user='jbanana' style='white-space: nowrap;' class='ljuser'&gt;&lt;a href='https://jbanana.dreamwidth.org/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='https://jbanana.dreamwidth.org/'&gt;&lt;b&gt;jbanana&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've been using Groovy. It's a pleasant scripting language that runs in a JVM, and has a Java-ish syntax. There are a number of differences to Java. One is it's relaxed attitude to typing, which I noticed when returning to something I wrote a while ago.

&lt;pre style="color: #000000; background: white; padding: 3px; overflow: auto"&gt;
&lt;span style="color: #0000ff"&gt;if&lt;/span&gt; ( someCondition ) {
    &lt;span style="color: #008000"&gt;// do stuff...&lt;/span&gt;
} &lt;span style="color: #0000ff"&gt;else if &lt;/span&gt;( anotherCondition ) {
    &lt;span style="color: #008000"&gt;// do other stuff...&lt;/span&gt;
} &lt;span style="color: #0000ff"&gt;else&lt;/span&gt; {
    barf
}
&lt;/pre&gt;

WTF is &lt;code&gt;barf&lt;/code&gt;? It looks like I was roughing out the code, and intending to come back to throw some exception if neither condition is true. In Java, the compiler would have complained about &lt;code&gt;barf&lt;/code&gt;. But in the relaxed world of Groovy, the code works. After a little testing, I find that executing &lt;code&gt;barf&lt;/code&gt; produces &lt;code&gt;groovy.lang.MissingPropertyException: No such property: barf&lt;/code&gt; which is pretty much what I wanted!&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=java_dev&amp;ditemid=1047" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2009-05-06:307169:886</id>
    <author>
      <name>J Banana</name>
    </author>
    <dw:poster user="jbanana"/>
    <link rel="alternate" type="text/html" href="https://java-dev.dreamwidth.org/886.html"/>
    <link rel="self" type="text/xml" href="https://java-dev.dreamwidth.org/data/atom/?itemid=886"/>
    <title>Logging</title>
    <published>2011-01-04T15:10:05Z</published>
    <updated>2011-01-04T15:10:05Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>1</dw:reply-count>
    <content type="html">Posted by: &lt;span lj:user='jbanana' style='white-space: nowrap;' class='ljuser'&gt;&lt;a href='https://jbanana.dreamwidth.org/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='https://jbanana.dreamwidth.org/'&gt;&lt;b&gt;jbanana&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I love logging. In many ways it's more useful than a debugger. Long ago I wrote a simple logger, and I still use it, or nowadays Java has a built-in logger, and in my experience it's fine.&lt;br /&gt;&lt;br /&gt;But I hate Log4J. There's one straightforward reason: by default, Log4j does &lt;em&gt;nothing useful&lt;/em&gt;. I couldn't count the times I've seen "Please initialize the Log4J system correctly" as if it were my fault. It's a logger doesn't log!&lt;br /&gt;&lt;br /&gt;Another reason is that to specify a daily rolling log file (which is almost &lt;em&gt;always&lt;/em&gt; what you want) requires 5 (or more) lines of configuration.&lt;br /&gt;&lt;br /&gt;So here's a rule for writing any software. Do the simplest useful thing by default, and make the most likely use cases as simple as possible. Log4J fails on both counts.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=java_dev&amp;ditemid=886" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2009-05-06:307169:517</id>
    <author>
      <name>J Banana</name>
    </author>
    <dw:poster user="jbanana"/>
    <link rel="alternate" type="text/html" href="https://java-dev.dreamwidth.org/517.html"/>
    <link rel="self" type="text/xml" href="https://java-dev.dreamwidth.org/data/atom/?itemid=517"/>
    <title>Anti-pattern</title>
    <published>2009-05-21T16:51:03Z</published>
    <updated>2011-03-07T09:25:45Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Posted by: &lt;span lj:user='jbanana' style='white-space: nowrap;' class='ljuser'&gt;&lt;a href='https://jbanana.dreamwidth.org/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='https://jbanana.dreamwidth.org/'&gt;&lt;b&gt;jbanana&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'm working on a project which involves a lot of JSP in an "interesting" CMS. We have a consultant helping us with the "interesting" bits. Today he gave us a JSP containing the following (some details elided to protect the guilty): &lt;pre&gt;String sql = "SELECT * FROM tree WHERE id in (
	SELECT parent FROM tree WHERE id=" + parent + ")";
parents = cms.SQL ( sql );&lt;/pre&gt; I'd like to propose this for the canonical example of what *not* to do.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Edit:&lt;/b&gt; Many people dislike JSPs. They don't bother me, but they do allow you to do anything at all, not just rendering. In this particular case, the JSP has to know about the database table structure [sigh], and it should (but probably doesn't) sanitise the &lt;code&gt;parent&lt;/code&gt; parameter [sigh], and it has to have a database connection wrapper object [sigh].&lt;br /&gt;&lt;br /&gt;I'm even a little miffed about pointless local variable &lt;code&gt;sql&lt;/code&gt;, but I'll let that one go. Oh, and KEYWORDS in UPPER case annoys me too, but some people think it's more readable.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=java_dev&amp;ditemid=517" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2009-05-06:307169:441</id>
    <author>
      <name>J Banana</name>
    </author>
    <dw:poster user="jbanana"/>
    <link rel="alternate" type="text/html" href="https://java-dev.dreamwidth.org/441.html"/>
    <link rel="self" type="text/xml" href="https://java-dev.dreamwidth.org/data/atom/?itemid=441"/>
    <title>Hello.</title>
    <published>2009-05-06T22:30:52Z</published>
    <updated>2009-05-06T22:30:52Z</updated>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Posted by: &lt;span lj:user='jbanana' style='white-space: nowrap;' class='ljuser'&gt;&lt;a href='https://jbanana.dreamwidth.org/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='https://jbanana.dreamwidth.org/'&gt;&lt;b&gt;jbanana&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is a community for anyone writing Java code.&lt;br /&gt;&lt;br /&gt;After enjoying the java_dev community on LJ so much, I thought there should be a DW place for people who write Java. This is it.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=java_dev&amp;ditemid=441" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
</feed>
