<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Out of my mind...: Category Web Development</title>
    <link>http://blog.fredjean.net/articles/category/web-development</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Frederic Jean's Random Thoughts</description>
    <item>
      <title>Elegant Code</title>
      <description>&lt;p&gt;I spent some time going through the &lt;a href="http://elegantcode.com/"&gt;Elegant Code&lt;/a&gt; blog after &lt;a href="http://agileartisans.com/main/blog/129"&gt;Jared blogged about his latest interview&lt;/a&gt;. I was very impressed with the content and added it to my subscription list. I strongly recommend it to anyone who are interested in increasing the elegance and quality of the applications they write.&lt;/p&gt;


</description>
      <pubDate>Wed, 24 Sep 2008 08:50:50 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:0b5987f1-3350-4edb-8792-02c574e712d6</guid>
      <author>fred@fredjean.net (Frederic Jean)</author>
      <link>http://blog.fredjean.net/articles/2008/09/24/elegant-code</link>
      <category>Agile Development</category>
      <category>Development Process</category>
      <category>Work</category>
      <category>Web Development</category>
      <category>code</category>
      <category>tips</category>
      <category>architecture</category>
      <category>agility</category>
    </item>
    <item>
      <title>When A Project Goes Dormant</title>
      <description>&lt;p&gt;We use the &lt;a href="http://zkoss.org/" title="ZK Web Application Framework"&gt;ZK web application framework&lt;/a&gt; on our project at work. It was selected before I came back to Sun. ZK in itself is a pretty decent web framework that would allow JavaScript averse Java developers to write an Ajax-like dynamic web application without having to worry about the details of the browser. We've done some pretty amazing things with it.&lt;/p&gt;
&lt;p&gt;But this is not a post about ZK.&lt;/p&gt;
&lt;p&gt;Most of the team also uses &lt;a href="http://www.netbeans.org" title="NetBeans"&gt;NetBeans&lt;/a&gt; as our IDE. NetBeans has improved a lot over the last couple years. I even switched back to it when I was still at &lt;a href="http://www.transzap.com" title="TransZap"&gt;TransZap&lt;/a&gt; and used it a few times at OpenLogic for it's profiler. NetBeans 6.0 is really an amazing environment to code in Java, has great support for Ruby and has a &lt;a href="http://plugins.netbeans.org" title="Plugins Portal"&gt;community of plugin developers&lt;/a&gt; who are at work adding support for Groovy, Scala and other languages.&lt;/p&gt;
&lt;p&gt;This post is only partially about NetBeans though.&lt;/p&gt;
&lt;p&gt;I was pointed to the &lt;a href="http://www.sourceforge.net/projects/rem1" title="REM Project on Sourceforge"&gt;REM plugin&lt;/a&gt; when I came back to Sun. This plugin adds support for ZK to NetBeans. It was created as part of a school project and was posted on &lt;a href="http://www.sourceforge.net/" title="SourceForge"&gt;SourceForge&lt;/a&gt;. It was supporting ZK 2.3.0 and we were using ZK 2.3.0. This plugin made it much easier to learn ZK and write the pages themselves.&lt;/p&gt;
&lt;p&gt;Then we upgraded to ZK 2.4.1. The plugin didn't though. But it was still useful, so we kept using it.&lt;/p&gt;
&lt;p&gt;Work on NetBeans 6.0 was moving along quite nicely. I downloaded NetBeans 6.0 beta 2 to test it. I started installing my collection of plugins only to discover that REM wouldn't load. I posted a note on the forums asking about support for NetBeans 6 but didn't hear anything. So I downloaded the source code for the plugin, found the area of code that wouldn't work with NetBeans 6.0 and commented it out. It was still usable, but it wouldn't quite do for production work.&lt;/p&gt;
&lt;p&gt;I decided to contact the project owner and offered to help. That was the beginning of my official involvement with the REM plugin. In a few weeks, I upgraded the plugin to support ZK 2.4.1 and then ported it to NetBeans 6.0. This was done just in time for Sun's IT to upgrade the default IDE to NetBeans 6.0.&lt;/p&gt;
&lt;p&gt;This wouldn't have been possible if REM was a closed source product. We would have been either stuck on NetBeans 5.5 or we would have had to abandon the plugin. The open source nature of the project means that not only can we keep using the plugin moving forward but that we can contribute back to it and make it more valuable to people outside of Sun. This in turn helps the ZK community by adding value to it by integrating it with another IDE and helping it grow.&lt;/p&gt;


</description>
      <pubDate>Sat, 29 Dec 2007 11:21:22 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:7b194bc5-b1f8-4e87-a27b-f0bb83665206</guid>
      <author>fred@fredjean.net (Frederic Jean)</author>
      <link>http://blog.fredjean.net/articles/2007/12/29/when-a-project-goes-dormant</link>
      <category>Open Source</category>
      <category>Web Development</category>
      <category>NetBeans</category>
      <category>Java</category>
      <category>ZK</category>
      <category>REM</category>
      <category>Humor</category>
      <category>Java</category>
      <category>Open</category>
      <category>Source</category>
      <category>Software</category>
      <category>NetBeans</category>
      <category>ZK</category>
      <category>REM</category>
    </item>
    <item>
      <title>When A Project Goes Dormant</title>
      <description>&lt;p&gt;We use the &lt;a href="http://zkoss.org/" title="ZK Web Application Framework"&gt;ZK web application framework&lt;/a&gt; on our project at work. It was selected before I came back to Sun. ZK in itself is a pretty decent web framework that would allow JavaScript averse Java developers to write an Ajax-like dynamic web application without having to worry about the details of the browser. We've done some pretty amazing things with it.&lt;/p&gt;
&lt;p&gt;But this is not a post about ZK.&lt;/p&gt;
&lt;p&gt;Most of the team also uses &lt;a href="http://www.netbeans.org" title="NetBeans"&gt;NetBeans&lt;/a&gt; as our IDE. NetBeans has improved a lot over the last couple years. I even switched back to it when I was still at &lt;a href="http://www.transzap.com" title="TransZap"&gt;TransZap&lt;/a&gt; and used it a few times at OpenLogic for it's profiler. NetBeans 6.0 is really an amazing environment to code in Java, has great support for Ruby and has a &lt;a href="http://plugins.netbeans.org" title="Plugins Portal"&gt;community of plugin developers&lt;/a&gt; who are at work adding support for Groovy, Scala and other languages.&lt;/p&gt;
&lt;p&gt;This post is only partially about NetBeans though.&lt;/p&gt;
&lt;p&gt;I was pointed to the &lt;a href="http://www.sourceforge.net/projects/rem1" title="REM Project on Sourceforge"&gt;REM plugin&lt;/a&gt; when I came back to Sun. This plugin adds support for ZK to NetBeans. It was created as part of a school project and was posted on &lt;a href="http://www.sourceforge.net/" title="SourceForge"&gt;SourceForge&lt;/a&gt;. It was supporting ZK 2.3.0 and we were using ZK 2.3.0. This plugin made it much easier to learn ZK and write the pages themselves.&lt;/p&gt;
&lt;p&gt;Then we upgraded to ZK 2.4.1. The plugin didn't though. But it was still useful, so we kept using it.&lt;/p&gt;
&lt;p&gt;Work on NetBeans 6.0 was moving along quite nicely. I downloaded NetBeans 6.0 beta 2 to test it. I started installing my collection of plugins only to discover that REM wouldn't load. I posted a note on the forums asking about support for NetBeans 6 but didn't hear anything. So I downloaded the source code for the plugin, found the area of code that wouldn't work with NetBeans 6.0 and commented it out. It was still usable, but it wouldn't quite do for production work.&lt;/p&gt;
&lt;p&gt;I decided to contact the project owner and offered to help. That was the beginning of my official involvement with the REM plugin. In a few weeks, I upgraded the plugin to support ZK 2.4.1 and then ported it to NetBeans 6.0. This was done just in time for Sun's IT to upgrade the default IDE to NetBeans 6.0.&lt;/p&gt;
&lt;p&gt;This wouldn't have been possible if REM was a closed source product. We would have been either stuck on NetBeans 5.5 or we would have had to abandon the plugin. The open source nature of the project means that not only can we keep using the plugin moving forward but that we can contribute back to it and make it more valuable to people outside of Sun. This in turn helps the ZK community by adding value to it by integrating it with another IDE and helping it grow.&lt;/p&gt;


</description>
      <pubDate>Sat, 29 Dec 2007 11:21:22 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:7b194bc5-b1f8-4e87-a27b-f0bb83665206</guid>
      <author>fred@fredjean.net (Frederic Jean)</author>
      <link>http://blog.fredjean.net/articles/2007/12/29/when-a-project-goes-dormant</link>
      <category>Open Source</category>
      <category>Web Development</category>
      <category>NetBeans</category>
      <category>Java</category>
      <category>ZK</category>
      <category>REM</category>
      <category>Humor</category>
      <category>Java</category>
      <category>Open</category>
      <category>Source</category>
      <category>Software</category>
      <category>NetBeans</category>
      <category>ZK</category>
      <category>REM</category>
    </item>
    <item>
      <title>Vote for Java 6 on Leopard</title>
      <description>I just couldn't wait... I looked up my tracking number on the Fedex web site and realized that the package had arrived at Sun's Broomfield campus. I locked my screen, made my way to the mail center and picked the boxes. One of these boxes contained my very own copy of Leopard.

&lt;p&gt;I debated for a while whether to wait or install it. The excitement got the best of me so I loaded the DVD and started the installation.&lt;/p&gt;

&lt;p&gt;It's only afterward that I realized that a very important piece was missing: Java 6. It wasn't there! Even the old preview didn't work anymore.&lt;/p&gt;

&lt;p&gt;Like many others, I ranted, spammed Apple's feedback URL and bug submission web pages with comments about this very important missing component. And now, I'm adding my vote to the blogogpshere:&lt;/p&gt;

&lt;blockquote&gt;
13949712720901ForOSX
&lt;/blockquote&gt;

&lt;p&gt;13949712720901 is the decimal notation for 0xCAFEBABE. This is the first 4 bytes in the files that contains the Java classes. I'm joined by &lt;a href="http://blogs.sun.com/bblfish/entry/vote_for_java6_on_leopard"&gt;Henry Story&lt;/a&gt;, &lt;a href="http://davidvancouvering.blogspot.com/2007/11/cafebabe-vote-for-java-6-on-mac.html"&gt;David Van Couvering&lt;/a&gt; and others in spreading the word.&lt;/p&gt;

&lt;p&gt;Not having Java 6 on my Mac forces me to do things like run Solaris under VMWare on my Mac. All of this so I can participate in the project that I'm working on. It's workable, but it's certainly foreign. It's certainly a lot less elegant than I would like it to be.&lt;/p&gt;

&lt;p&gt;Obviously, I can't certainly make a big difference by myself. All you need to do to participate is to add&lt;/p&gt;
&lt;blockquote&gt;
13949712720901ForOSX
&lt;/blockquote&gt;
&lt;p&gt;to your blog to show support for Java 6 on Leopard.&lt;/p&gt;

</description>
      <pubDate>Fri, 02 Nov 2007 23:19:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:9b688d43-53f9-46f4-9c1f-8d7799120897</guid>
      <author>fred@fredjean.net (Frederic Jean)</author>
      <link>http://blog.fredjean.net/articles/2007/11/02/vote-for-java-6-on-leopard</link>
      <category>Work</category>
      <category>Web Development</category>
      <category>NetBeans</category>
      <category>Java</category>
      <trackback:ping>http://blog.fredjean.net/articles/trackback/101</trackback:ping>
    </item>
    <item>
      <title>Talking about JSON at the Boulder JUG</title>
      <description>&lt;p&gt;
I'll give a presentation about &lt;a href="http://www.json.org/"&gt;JSON&lt;/a&gt; at the &lt;a href="http://www.boulderjug.org/"&gt;Boulder JUG&lt;/a&gt; tonight. I'll introduce JSON to the audience, talk about consuming and producing JSON, discuss some of the security implications around JSON before talking about some recent developments. This is an extension of the presentation I gave to the Denver JUG a few months ago. 
&lt;/p&gt;
&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a href="http://www.technorati.com/tag/richweb" rel="tag"&gt;richweb&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;

</description>
      <pubDate>Tue, 11 Sep 2007 17:02:40 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:56b5c5cc-798b-4cda-bc65-207f5b55f5b3</guid>
      <author>fred@fredjean.net (Frederic Jean)</author>
      <link>http://blog.fredjean.net/articles/2007/09/11/talking-about-json-at-the-boulder-jug</link>
      <category>Personal</category>
      <category>Javascript</category>
      <category>Web Development</category>
      <category>Java</category>
      <category>Groovy</category>
      <trackback:ping>http://blog.fredjean.net/articles/trackback/99</trackback:ping>
    </item>
    <item>
      <title>Enjoying The Rich Web Experience</title>
      <description>&lt;p&gt;
I am now in California. It should be sunny, but I can hardly tell since I'm engrossed into the most excellent &lt;a href="http://www.therichwebexperience.com/"&gt;Rich Web Experience&lt;/a&gt; conference put together by the &lt;a href="http://www.nofluffjuststuff.com/"&gt;No Fluff, Just Stuff&lt;/a&gt; team. 
&lt;/p&gt;&lt;p&gt;
The focus of this conference is on building rich internet based applications, whether they are written in pure HTML + CSS + JavaScript, Flex, AIR or Silverlight. There are discussions around security, performance, design sprinkled around talks about frameworks.
&lt;/p&gt;&lt;p&gt;
Access to the speakers is amazing just like any NFJS events. I had conversations with Greg Wilkins (Jetty), Dean H. Saxe (Security) and the usual suspect: Scott Davis, David Geary and Neal Ford. I even indulged in a little bit of hero worship by meeting Douglas Crockford, Yahoo's JavaScript architect. He gave talks on JavaScript and JSON in addition to giving a keynote speech.
&lt;/p&gt;&lt;p&gt;
The conference itself is a fast paced mix of keynotes, expert panels, presentations and networking. The caliber of the presenters and attendees is quite impressive. This is definitively my type of crowd. Where else would you be discussing and arguing about the meaning of HTTP response codes, the merits of Prototype versus Yahoo! UI Toolkit or Paranoids at Yahoo!? Right here at the Rich Web Experience in San Jose.
&lt;/p&gt;

</description>
      <pubDate>Sat, 08 Sep 2007 06:49:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:a988a571-4008-4a45-9305-eae1808203c4</guid>
      <author>fred@fredjean.net (Frederic Jean)</author>
      <link>http://blog.fredjean.net/articles/2007/09/08/enjoying-the-rich-web-experience</link>
      <category>Agile Development</category>
      <category>Development Process</category>
      <category>Javascript</category>
      <category>Web Development</category>
      <category>Java</category>
      <category>General</category>
      <category>richweb</category>
      <trackback:ping>http://blog.fredjean.net/articles/trackback/98</trackback:ping>
    </item>
    <item>
      <title>Better Living through Multicast DNS</title>
      <description>&lt;p&gt;
Parallels is a very nice way to run more than one operating system at once on any Intel based Mac. You do need a fair amount of memory to be able to run it comfortably. Still, going to an after-market retailer for the extra memory is well worth the investment. This is especially true for web developers who have to test against multiple versions of multiple browsers. Or simply the bane of my existence: Internet Explorer.
&lt;/p&gt;&lt;p&gt;
I have a couple of virtual machines that run Windows XP Professional. One has IE6 installed while the other has IE7. This helps ensure that my markup, JavaScript and styling does work for the browsers that we are targeting. Apparently, our target users haven't converted to Mac OS X or at least upgraded to Firefox. It's a shame really...
&lt;/p&gt;&lt;p&gt;
A nice thing with Parallels is that the host computer has a relatively stable address that is accessible to the guests OS. You still have to figure out what it is though. It's not really hard, but I would rather remember a name than an IP address. 
&lt;/p&gt;&lt;p&gt;
Apple's Bonjour networking helps a lot. It uses a technique called Multicast DNS (mDNS) to resolve host names that aren't defined in a formal DNS server. You don't even need a DHCP server to get this to work. All Macs have a name. My MacBook Pro is called Defiant. mDNS host names lives in the .local top level domain. So, to get to the HTTP web server on Defiant, I can point my browser to http://defiant.local/ and get a web page. 
&lt;/p&gt;&lt;p&gt;
Microsoft doesn't quite support mDNS. Well, they don't support Apple's implementation of mDNS to be precise. Apple does provide a &lt;a href="http://www.apple.com/support/downloads/bonjourforwindows.html"&gt;download of Bonjour for Windows&lt;/a&gt; which fills that gap. Installing it is as easy as downloading the file and running an installation wizard. You don't even have to reboot (which is a rarity under Windows). At that point, I am also able to open up IE in a virtual machine and point it to http://defiant.local/ to retrieve the same web page. No more guessing at IP addresses for me.
&lt;/p&gt;

</description>
      <pubDate>Tue, 10 Jul 2007 04:45:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:b158aff6-7eb0-484b-b7ee-824a8554007c</guid>
      <author>fred@fredjean.net (Frederic Jean)</author>
      <link>http://blog.fredjean.net/articles/2007/07/10/better-living-through-multicast-dns</link>
      <category>Work</category>
      <category>Web Development</category>
      <category>General</category>
      <trackback:ping>http://blog.fredjean.net/articles/trackback/95</trackback:ping>
    </item>
  </channel>
</rss>
