<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>sellmic.com</title>
	<atom:link href="http://sellmic.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://sellmic.com/blog</link>
	<description>Augusto's corner of art, code and fun</description>
	<lastBuildDate>Fri, 14 Aug 2009 01:07:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&#8220;Terror Messages&#8221; (cute error messages that scare you based on context)</title>
		<link>http://sellmic.com/blog/2009/08/13/terror-messages-cute-error-messages-that-scare-you-based-on-context/</link>
		<comments>http://sellmic.com/blog/2009/08/13/terror-messages-cute-error-messages-that-scare-you-based-on-context/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 01:06:14 +0000</pubDate>
		<dc:creator>Augusto</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[User Interface]]></category>
		<category><![CDATA[delta]]></category>
		<category><![CDATA[error message]]></category>
		<category><![CDATA[flight]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[wi-fi]]></category>

		<guid isPermaLink="false">http://sellmic.com/blog/?p=397</guid>
		<description><![CDATA[
So Delta has a cute &#8220;We&#8217;re Experiencing Some Turbulence&#8221; error message when they have an internal error on their website. I&#8217;ve seen this error many times before, I think the first time I chuckled a bit.
The other day I was enjoying the new Wi-Fi Delta offers in some of their flights. I checked my email, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-398" title="Delta website error message" src="http://sellmic.com/blog/wp-content/uploads/2009/08/delta_turbulence_error_mess.jpg" alt="Delta website error message" width="589" height="356" /></p>
<p>So Delta has a cute &#8220;<strong>We&#8217;re Experiencing Some Turbulence</strong>&#8221; error message when they have an internal error on their website. I&#8217;ve seen this error many times before, I think the first time I chuckled a bit.</p>
<p>The other day I was enjoying the new <a href="http://www.delta.com/traveling_checkin/inflight_services/products/wi-fi.jsp">Wi-Fi Delta offers</a> in some of their flights. I checked my email, my facebook account, everything worked great. Then it occured to me to check my delta account. I was wondering if they credit your miles after take off or later when you land (yeah I was bored). Suddenly, I get the familiar error message; &#8220;<strong>We&#8217;re Experiencing Some Turbulence</strong>&#8220;. I go, &#8220;<em>oh crap</em>&#8221; what&#8217;s going on? For a couple of seconds I forgot I was getting an error message for a website, and thought I was reading a message about my flight, a problem serious enough that they bothered to notify me via the new Wi-Fi connection.</p>
<p>Now I did say it was a couple of seconds, of course I quickly realized this had nothing to do with my flight. But for a couple of seconds I did get a bit freaked out by the message, specially seeing it on my browser. It got me thinking; how did my brain go into alert mode that quick when I know better?</p>
<p>It was all about <em><strong>context</strong></em>.</p>
<p>The context in this situation is this; traveling on Delta flight, on the official Delta website, checking my account and current flight information and then getting a message mentioning a very specific phrase about air travel. Obviously, if I get this message at my home, the train or the airport there&#8217;s no problem. Everything changes once I&#8217;m on a situation that is directly related to the term used in the error message.</p>
<p>So it&#8217;s probably not a good idea to keep these cute error messages, when you think that there&#8217;s a new context for use of this site. Before it wasn&#8217;t possible to read this from a plane but now it is. It just highlights how sometimes when you consider usability, you have to think about all the possible scenarios that your users will be in while interacting your application.</p>
<p>BTW, I&#8217;d love to hear from other people on potential error messages that might be scary in other contexts.</p>
]]></content:encoded>
			<wfw:commentRss>http://sellmic.com/blog/2009/08/13/terror-messages-cute-error-messages-that-scare-you-based-on-context/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New screenshots of the JavaFX Design Tool</title>
		<link>http://sellmic.com/blog/2009/06/13/new-screenshots-of-the-javafx-design-tool/</link>
		<comments>http://sellmic.com/blog/2009/06/13/new-screenshots-of-the-javafx-design-tool/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 07:06:50 +0000</pubDate>
		<dc:creator>Augusto</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[User Interface]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[authoring tool]]></category>
		<category><![CDATA[design tool]]></category>

		<guid isPermaLink="false">http://sellmic.com/blog/?p=378</guid>
		<description><![CDATA[
The screenshot above is from Anthony Rogers&#8217; blog (UI designer for the tool), and the next one is from Chris Oliver&#8217;s blog, who successfully managed to hide away from most of the geek crowds at JavaOne.

The design of the tool is looking really nice and clean, the timeline reminds me a bit of the Adobe [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://blogs.sun.com/ant/entry/tool"><img class="aligncenter size-full wp-image-380" title="JavaFX Design/Authoring tool" src="http://sellmic.com/blog/wp-content/uploads/2009/06/jfx_design_tool_preview2.jpg" alt="jfx_design_tool_preview2" width="589" height="331" /></a></p>
<p>The screenshot above is from <a href="http://blogs.sun.com/ant/entry/tool">Anthony Rogers&#8217; blog</a> (UI designer for the tool), and the next one is from <a href="http://blogs.sun.com/chrisoliver/entry/javafx_design_tool">Chris Oliver&#8217;s blog</a>, who successfully managed to hide away from most of the geek crowds at JavaOne.</p>
<p style="text-align: center;"><a href="http://blogs.sun.com/chrisoliver/entry/javafx_design_tool"><img class="aligncenter size-full wp-image-379" title="Timeline Design" src="http://sellmic.com/blog/wp-content/uploads/2009/06/jfx_design_tool_preview1.jpg" alt="jfx_design_tool_preview1" width="589" height="333" /></a></p>
<p>The design of the tool is looking really nice and clean, the timeline reminds me a bit of the <a href="http://filmmakingcentral.com/fmc2/wp-content/uploads/2008/12/premui1.jpg">Adobe Premiere CS4 one</a>. But unlike Premiere or Flash CS4, one interesting design choice is the lack of row headers to identify the different elements or categories for the rows in the timeline. This makes it look a bit cleaner and less cluttered, but it would be interesting to see if this doesn&#8217;t make it more difficult to track just what it is you are supposed to be controlling in that part of the timeline. Hard to tell without trying the tool of course (<em>hint, hint, Sun &#8230; available for alpha/beta testing!</em>).</p>
<p>I haven&#8217;t seen a single bit of code in any of the screenshots/demos so far. I wouldn&#8217;t be surprised that there was some script text area somewhere, or maybe the expectation is that for code you go to a tool like Netbeans?</p>
<p>Tor Norbye also <a href="http://blogs.sun.com/tor/entry/finally_over#comment-1244675162000">provides some additional information</a> about the tool, it will be available as a webstart application that will let you save data in the &#8220;cloud&#8221; (like Google Docs) or locally, as well as run the tool online/offline.</p>
<p>Chris calls it the JavaFX Design tool, others the JavaFX Authoring tool, for sure neither of these is the final name for the product but I&#8217;m still a bit surprised it doesn&#8217;t seem to have any sort of funky codename at this point.</p>
<p>You can watch some short videos of the tool in action <a href="http://sellmic.com/blog/2009/06/05/javafx-authoring-tool-demo-at-javaone-2009-with-video/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://sellmic.com/blog/2009/06/13/new-screenshots-of-the-javafx-design-tool/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Classpath hell just froze over</title>
		<link>http://sellmic.com/blog/2009/06/11/classpath-hell-just-froze-over/</link>
		<comments>http://sellmic.com/blog/2009/06/11/classpath-hell-just-froze-over/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 21:09:37 +0000</pubDate>
		<dc:creator>Augusto</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[classpath]]></category>
		<category><![CDATA[jigsaw]]></category>
		<category><![CDATA[jsr-277]]></category>
		<category><![CDATA[jsr-294]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[osgi]]></category>

		<guid isPermaLink="false">http://sellmic.com/blog/?p=276</guid>
		<description><![CDATA[
&#8220;The classpath is dead&#8220; &#8230; that&#8217;s what Mark Reinhold (Principal Engineer @ Sun) said at a general session during JavaOne 2009. It&#8217;s the type of statement that should resonate with any of us who have been victims of classpath/jar hell. Mark announced this in the context of reviewing the new language features due to be [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://sellmic.com/gallery2/main.php?g2_itemId=8046"><img class="size-full wp-image-308 aligncenter" style="border: 1px solid gray;" title="Classpath Hell" src="http://sellmic.com/blog/wp-content/uploads/2009/06/classpath_hell.jpg" alt="Classpath Hell" width="589" height="399" /></a></p>
<p><em>&#8220;<strong>The classpath is dead</strong>&#8220;</em> &#8230; that&#8217;s what <a href="http://blogs.sun.com/mr/">Mark Reinhold</a> (Principal Engineer @ Sun) said at a general session during <a href="http://developers.sun.com/learning/javaoneonline/j1online.jsp?track=embedded&amp;yr=2009">JavaOne 2009</a>. It&#8217;s the type of statement that should resonate with any of us who have been victims of <a href="http://c2.com/cgi/wiki?ClasspathHell">classpath</a>/<a href="http://en.wikipedia.org/wiki/JAR_hell#JAR_hell">jar hell</a>. Mark announced this in the context of reviewing the new language features due to be released in <a href="https://jdk7.dev.java.net/">JDK 7</a> (ETA 2010) or more specifically the new Java module system codenamed <a href="http://openjdk.java.net/projects/jigsaw/">Jigsaw</a>.</p>
<h3>Module Systems and Jigsaw</h3>
<p>Jigsaw is a low level implementation of a module system, which also includes some language and VM changes that are specified in <a href="http://jcp.org/en/jsr/detail?id=294">JSR 294</a> (note that Jigsaw is being done outside of any JSR and is not a reference implementation of 294). Another implementation of a module system most Java developers are likely more familiar with is <a href="http://www.osgi.org/Main/HomePage">OSGi</a>. But what is a module system and why do we need one?</p>
<div id="attachment_322" class="wp-caption alignleft" style="width: 310px"><img class="size-full wp-image-322" title="Module dependencies" src="http://sellmic.com/blog/wp-content/uploads/2009/06/module_depencies.jpg" alt="Depencies on multiple versions (of module B in this example)" width="300" height="207" /><p class="wp-caption-text">Depencies on multiple versions (of module B in this example)</p></div>
<p>A module system enables <a href="http://en.wikipedia.org/wiki/Module_system">modular programming</a>, it allows developers to separate code into clearly defined modules that can specify what other modules they depend on and their versions, can be internally modified without breaking other modules that depend on it and can hide its own internals from external modules.</p>
<p>A module system can solve the classpath/jar hell problem by leveraging the previously mentioned features in order to allow an application to use the right versions of the set of libraries it requires. In the diagram shown here, we have an APP module that depends on the A, B and C modules. But module C also depends on B, however this dependency is to a different version of B than the one APP needs. A useful module system would then allow us to have 2 versions of the B module, with the compatible version and implementation visible to the appropriate modules (in this case APP and C).</p>
<p>Also, by clearly expressing module dependencies, we no longer have to look at random lib folders or hidden documentation when using a 3rd party library, just so we can guess what the corresponding jar files are needed to run it. With the system implemented by Jigsaw, we can simply introspect the module and let it tell us what those dependencies are. It takes the guesswork and the dark magic completely out of the equation.</p>
<p>But back to Mark&#8217;s presentation at the general session. The main reasons to introduce Jigsaw into JDK 7 are the following:</p>
<ul>
<li>Eliminate classpath complexity (classpath/jar hell problem already discussed).</li>
<li>Increase performance. The VM download size can be made smaller, and startup time should improve because for small programs (say HelloWorld) unnecessary classes don&#8217;t have to be loaded at all. Mark showed how he could run HelloWorld by only using 2 modules listed by the new <strong>jmod</strong> command; <strong>jdk.base@7-ea</strong> and <strong>jdk.boot@7-ea</strong>.</li>
<li>Enable native integration for installing modules.</li>
</ul>
<p><span id="more-276"></span>Mark demonstrated that last point by showing a demo of him installing various JDK packages via the Synaptic Package Manager.</p>
<div id="attachment_327" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-327" title="Synaptic Package Manager" src="http://sellmic.com/blog/wp-content/uploads/2009/06/synaptic_package_manager.jpg" alt="Installing Java modules via Synaptic Package Manager" width="450" height="258" /><p class="wp-caption-text">Installing Java modules via Synaptic Package Manager</p></div>
<h3>Alex Buckley&#8217;s presentation</h3>
<p>I attended <a href="http://www.doc.ic.ac.uk/~abuckley/">Alex Buckley</a>&#8217;s (Computational Theologist @ Sun) session on <a href="http://developers.sun.com/learning/javaoneonline/sessions/2009/pdf/TS-4954.pdf">&#8220;Modularity in the Java Programming Language: JSR 294 and beyond&#8221;</a>, which had a lot more details on the specific language changes to be implemented in order to support this new feature.</p>
<p>The most noticeable aspect of this is the introduction of <em><strong>module-info.java</strong></em>. This file goes at the top of your module filesystem, and is the class that specifies at compile and runtime the definition of the module. Here is an example, coming from Alex&#8217;s slides;</p>
<pre name="code" class="java">module org.planetjdk.aggregator {
          system jigsaw;
          requires module jdom;
          requires module tagsoup;
          requires module rome;
          requires module rome-fetcher;
          requires module joda-time;
          requires module java-xml;
          requires module java-base;
          class org.planetjdk.aggregator.Main;
 }</pre>
<p>Our module is &#8220;<em>org.planetjdk.aggregator</em>&#8221; and uses the jigsaw module system. Depenencies are denoted by using <em>requires </em>and providing the module name, Alex calls this part of the module metadata the &#8220;<em>logical classpath</em>&#8221; of the module. You can also define the main class for the module which in this case is &#8220;<em>org.planetjdk.aggregator.Main</em>&#8220;.</p>
<p>You&#8217;ll also notice that the module name is quite long &#8220;org.planetjdk.aggregator&#8221;, while the list of required modules uses shorter names. This can be done by supplying a module alias. In the previous example, we could have added the line;</p>
<pre name="code" class="java">provides module aggregator;</pre>
<p>This would then allow other modules to say &#8220;<em>requires module aggregator</em>&#8221; and successfully link to this module by this shorter form of the name.</p>
<p>Also, you can specify your module version and version dependencies in <em>module-info.java</em>. This updated example illustrates this mechanism;</p>
<pre name="code" class="java">module org.planetjdk.aggregator @ 1.0 {
          system jigsaw;
          requires module jdom @ 1.*;
          requires module tagsoup @ 1.2.*;
          requires module rome @ =1.0;
          requires module rome-fetcher @ =1.0;
          requires module joda-time @ [1.6,2.0);
          requires module java-xml @ 7.*;
          requires module java-base @ 7.*;
          class org.planetjdk.aggregator.Main;
}</pre>
<p>Note also that you can only have one <em>module-info.java</em> per module, in only one location, so if you have a big source tree and you want to create multiple modules from it you will have to either separate your source into different trees or use some creative scripting to accomplish this at build time. I believe Mark mentioned they had to use some scripted solution for the jdk base as I believe it's one tree.</p>
<p>The rest of Alex's presentation focused on how to locate modules at compile and runtime by using the "<em>modulepath</em>", the use of the new module keyword and how it affects accessibility, and he gives a glimpse as to how they plan to support other module systems (for example, the version notation can be different when using other module systems).</p>
<p>This is all better explained in Alex's slides, so I encourage everyone to take a look at his presentation (link provided above).</p>
<h3>The Modular Java Platform: Q&amp;A</h3>
<div id="attachment_15" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-15" title="round table" src="http://sellmic.com/blog/wp-content/uploads/2007/01/jury_duty.jpg" alt="Jury" width="450" height="161" /><p class="wp-caption-text">There were rumors in the meeting that the clown is a secret member of the Java Posse</p></div>
<p>Wednesday night, I attended a BOF like meeting hosted by Mark and Alex setup in order for the community to openly ask and voice any concerns over the work presented by them on modular Java. The setup was sort of a round table configuration (without the round table) in a very informal setting (btw it was hard for participants in the back to listen well, hopefully microphones are used next time). The first question was kind of funny, somebody asked Alex what a "<em><a href="http://bracha.org/Site/Theology.html">Computational Theologist</a></em>" does (the title makes it sound like the equivalent of a Thomas Aquinas for the nerd world).</p>
<p>After that, it seemed some people were very concerned about how to deploy modules, patch jars and other deployment issues. My impression was that a lot of people had a problem with the native installation part of the proposal. Mark answered that Java developers have gotten used to being in our own little jar world, separate from the OS integration issues of module and library management and that it was time for Java to integrate more with these systems. He has a point, do we really have to deploy log4j jars with all our products over and over instead of simply having a log4j installed in the system that all modules can refer to?</p>
<p>However, installation with native package systems is a big change. And it is also unclear what that is going to look like in Windows. It seemed like the Windows part of the equation has not been finalized, would Java 7 include some type of Java specific module registry or would it leverage something like .NET's <a href="http://en.wikipedia.org/wiki/Global_Assembly_Cache">Global Assembly Cache</a>?</p>
<p>Somebody bought up the point that this new system was imposing more work on open source projects. That is, today you want to release your library as a jar, you know it's going to work everywhere. With Jigsaw, projects may have to deliver a large set of native module packages depending on all the platforms they want to deploy to. Many suggested to Mark and Alex that a cross platform package format was needed, but Mark acknowledged that Sun is not really working on that and they're just worrying mainly about specifying the module file structure and leaving the rest to the native package systems.</p>
<p>I noticed a few members from the OSGi community in attendance, I recognized <a href="http://www.aqute.biz/Main/HomePage">Peter Kriens</a> (member of the OSGi Alliance), <a href="http://www.osgicongress.com/speakers_main.asp#33">Richard S. Hall</a> (From Apache Felix, works for Sun in the Glassfish team) and <a href="http://blog.bjhargrave.com/">BJ Hargrave</a> (CTO of the OSGi Alliance, committer on Eclipse Equinox and IBM employee). Peter and Richard are both members of the expert group for JSR 294, so I was a bit surprised they weren't at all in "harmony" with Mark and Alex and the work they've done with Jigsaw. See, last time I saw discussions on this topic, <a href="http://jcp.org/en/jsr/detail?id=277">JSR 277</a> was still active (it is on hold for now) and I was under the impression that Sun and OSGi had reached some type of "gentleman's agreement". That doesn't seem to be the case at all.</p>
<p>OSGi is a very mature technology and has more features than Jigsaw. However OSGi doesn't address the issue of native package installation, and you could argue that it would not be suitable to solve the issue of modularizing the JDK itself. I think on that last point, many people don't mind Jigsaw even on the OSGi side, the arguments come when you say Jigsaw could be used as an application level module system. Additionally OSGi still has some key features that are missing in Jigsaw; it allows more dynamic loading of modules (useful for plugins) and is backwards compatible (Jigsaw will only be supported from Java 7 and up).</p>
<p>Having said that, one thing I like more about Jigsaw is how it defines dependencies is the <strong><em>module-info.java</em></strong> file. It is a much better syntax than the error prone use of manifest files used in OSGi, where an extra space can break the whole thing for you. Adding keywords for module accessibility is also a very nice thing, and it seems the goal is to also let a modular system like OSGi take advantage of these features. Now how can these both systems inter-operate between each other in a single VM? I have no idea how that works ... yet.</p>
<p>In the end, the Q&amp;A showed that there is a lot of controversy and confusion over this new feature. There was also a noticeable lack of questions during the meeting, with a few of the same people asking all the questions. I got the impression that the need and functionality of a module system in Java is not generally fully understood, so to me that means a lot more work needs to be done to explain just what is going on and why there is so much effort going into this area.</p>
<p>Some key questions I'd like to see clarified:</p>
<ul>
<li>A more technical and detailed explanation of why Jigsaw was chosen over OSGi.</li>
<li>Will the JDK provide tools for wrapping modules in native packages?</li>
<li>Is a cross platform package system completely out of the question?</li>
<li>How would multiple modules systems work together in the same VM/application instance?</li>
<li>What happens when an applet or javafx application requires core JDK modules that are not present in the current installation?</li>
<li>Native library module integration issues (I sort of asked this in the Q&amp;A). Where are native packages placed, and what happens when multiple modules include the same native libraries (say 2 modules have the same DLL embedded in them)?</li>
</ul>
<h3>This doesn't affect me, why should I care?</h3>
<p>These changes will affect everybody, at the very least under the hood your core Java packages will be loaded in a more modularized fashion. For people who would like to run Java in other devices, you will notice that you have better ways to split up your Java distribution to only the parts that you need.</p>
<p>However, if you are interested in scaling your code the right way and modularizing it, you should start becoming familiar with what is going on in this space. For your applications, you'll still have the choice of using existing modular systems like OSGi or using the new facilities provided by Java 7. In the future, we should expect more details to come out as to how you can combine both (Jigsaw and OSGi). Others might prefer not to depend on an external Java project like OSGi and leverage the core support that will be provided for modules.</p>
<p>On the other hand, some people criticize that his is a repeat of the <em>java.util.logging</em> fiasco and say they can mostly ignore these changes. The jury is still out, but this is a very fundamental change in the language and platform and a very different scenario than choosing what logging package to include in the core JDK.</p>
<p>Oh and you might soon see new annoying interview or exam code questions trying to trip you up with gems like this one (from Alex's slides and <a href="http://blogs.sun.com/abuckley/en_US/entry/a_wrinkle_with_module">this blog entry</a>):</p>
<pre name="code" class="java">package module;
// BTW you should NEVER write code like this!!!
module class module {
        module module module = new
            module();
        module module() {}
}</pre>
<p>Anyways, sorry for the longish blog post but hopefully this sheds some light into some of the discussions about this topic that took place at JavaOne. If you are interested in getting more in depth details about this topic, please take a look at some of the following links;</p>
<ul> <a href="http://blogs.sun.com/theplanetarium/entry/project_jigsaw_modularizing_jdk_7">Java SE: Project Jigsaw: Modularizing JDK 7</a><br />
<a href="http://blogs.sun.com/mr/entry/jigsaw">Project Jigsaw</a> (Mark's blog)<br />
<a href="http://blogs.sun.com/mr/entry/modular_java_platform">The Modular Java Platform</a> (Mark's blog)<br />
<a href="http://blogs.sun.com/mr/entry/massive_monolithic_jdk">The massive, monolithic JDK</a> (Mark's blog)<br />
<a href="http://blogs.sun.com/mr/entry/packaging_java_code">Packaging Java code</a> (Mark's blog)<br />
<a href="http://openjdk.java.net/projects/jigsaw/doc/language.html">Project Jigsaw: Language changes for Modules</a><br />
<a href="http://www.osgi.org/blog/2008/12/project-jigsaw.html">Project Jigsaw</a> (Peter Kriens, his version of the "saga of Java modularity)<br />
<a href="http://www.osgi.org/blog/2008_12_01_archive.html">Project Jigsaw #2</a> (Peter Kriens, some criticisms of the proposed system)<br />
<a href="http://www.osgi.org/blog/2009/03/project-jigsaw-3.html">Project Jigsaw #3</a> (Peter Kriens, Jigsaw != JSR 294)<br />
<a href="http://www.infoq.com/news/2008/12/jigsaw-jsr277-dead">Jigsaw - the death knell of JSR277?</a><br />
<a href="http://atsatt.blogspot.com/2009/04/jigsaw-vs-osgi.html">Jigsaw vs OSGi?</a><br />
<a href="http://blogs.sun.com/abuckley/en_US/entry/a_wrinkle_with_module">A wrinkle with 'module'</a> (Alex's blog)<br />
<a href="http://blogs.sun.com/abuckley/resource/Devoxx2008-ModularityInJava.pdf">Modularity in Java</a> (Alex's presentation at DEVOXX 2008; covers module friendship, "virtual modules", multi-module packages, type observability and other topics not covered in the JavaOne slides I linked to in this article)</ul>
<p><strong>Update</strong>. Some additional links that have come to my attention after publishing this blog post;</p>
<ul>
<a href="http://robilad.livejournal.com/51325.html">Jigsaw Feedback Roundup</a> (Dalibor Topic)<br />
<a href="http://javaposse.com/index.php?post_id=492239">Java Posse #259 - Jigsaw and JSR 294 Interview</a> (Java Posse podcast interview with Mark Reinhold and Alex Buckley)
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sellmic.com/blog/2009/06/11/classpath-hell-just-froze-over/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>JavaFX Authoring tool demo at JavaOne 2009 (with video) &#8211; updated</title>
		<link>http://sellmic.com/blog/2009/06/05/javafx-authoring-tool-demo-at-javaone-2009-with-video/</link>
		<comments>http://sellmic.com/blog/2009/06/05/javafx-authoring-tool-demo-at-javaone-2009-with-video/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 20:14:50 +0000</pubDate>
		<dc:creator>Augusto</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[authoring tool]]></category>
		<category><![CDATA[design tool]]></category>

		<guid isPermaLink="false">http://sellmic.com/blog/?p=257</guid>
		<description><![CDATA[
During this morning&#8217;s JavaOne general session, the &#8220;James Gosling&#8217;s Toy Show&#8221;, Tor Norbye gave another preview of the &#8220;JavaFX Authoring Tool&#8221; (TODO: Needs a cool codename!!!).
In 2007 when I blogged about the original JavaFX announcement at that year&#8217;s JavaOne, one of my first questions was about the tooling. At first we basically just had JFXPad [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-272" title="javafx_authoring_tool" src="http://sellmic.com/blog/wp-content/uploads/2009/06/javafx_authoring_tool.jpg" alt="javafx_authoring_tool" width="450" height="259" /></p>
<p>During this morning&#8217;s JavaOne general session, the &#8220;James Gosling&#8217;s Toy Show&#8221;, Tor Norbye gave another preview of the &#8220;JavaFX Authoring Tool&#8221; (TODO: Needs a cool codename!!!).</p>
<p>In 2007 when I blogged about <a href="http://sellmic.com/blog/2007/05/08/javafx/">the original JavaFX announcement at that year&#8217;s JavaOne</a>, one of my first questions was about the tooling. At first we basically just had JFXPad to play around, then came more integration with Netbeans. However, these are not designer tools, and a RIA application needs more access points of people who are not software developers. This was partially answered with the JavaFX plugins for tools like Adobe Photoshop and Illustrator, but what was really missing was a visual place to bring content together interactively and created animated content.</p>
<p><span id="more-257"></span></p>
<p><img class="aligncenter size-full wp-image-268" title="timeline" src="http://sellmic.com/blog/wp-content/uploads/2009/06/timeline.jpg" alt="timeline" width="450" height="134" /></p>
<p>So now we see glimpses of the JavaFX authoring environment that Sun plans to release. The tool seems to be in the early stages of development and it is unclear when it will be released. However, some of the features look very compeling and familiar. Like any of the versions of the Adobe Flash tools, it features a timeline with the ability to edit key frames and create animated transitions. It also allows you to drag and drop media and JFX components (including the new 1.2 controls) to compose your app.</p>
<p>The coolest feature is that the tool aims to deliver on the &#8220;multiple screens&#8221; theme of JFX, you can easily output your project for a JFX desktop application, mobile and the plan is to have output for TV applications.</p>
<p>The following videos demonstrate the basics of the tools &#8230;</p>
<p><object width="425" height="344" data="http://www.youtube.com/v/FUHgnUDP6XA&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/FUHgnUDP6XA&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<p>And this next video features the visual binding feature that allows you to graphically bind properties between target and source objects, with inline display of the properties.</p>
<p><object width="425" height="344" data="http://www.youtube.com/v/5NGDdXdQgU0&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/5NGDdXdQgU0&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<p>The tool looks nice, but it&#8217;s too early to compare it to any of the equivalent Adobe or Microsoft tools. To me this type of tool is key to adoption, so I wish the team the best of luck and that they hopefully find an effective way to get feedback via previews just do sanity checks on the tool (hint, hint, I wouldn&#8217;t mind preview access <img src='http://sellmic.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>One final note, I think there&#8217;s a need for a JFXMattise like tool. I don&#8217;t know if this tool is it, I don&#8217;t think so. Basically, maybe a subset of this tool, embedded in Netbeans that allows developer type people to visually compose their JFX applications, with an emphasis on visual UI control and layout composition. As it stands, I think there&#8217;s a big gap there even if this tool is released.</p>
<p><strong>Update 1: </strong>I added another video showing how you can edit &#8220;multiple screens&#8221;. That is, tweak your JFX application in other devices with different resolutions out of a main project. In this case, you can have this full resolution application with several smaller windows targeted for mobile devices. The cool thing is that you can tweak one of the target devices to say have less buttons so it can still be tailored for other platforms.</p>
<p><object width="425" height="344" data="http://www.youtube.com/v/8a988IyTHVU&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/8a988IyTHVU&amp;hl=en&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
<p>Also Tor has <a href="http://blogs.sun.com/tor/entry/finally_over">posted a blog entry</a> about the tool (which is the current project he&#8217;s working on).</p>
<p><strong>Update 2:</strong> <a href="http://sellmic.com/blog/2009/06/13/new-screenshots-of-the-javafx-design-tool/">New screenshots of the JavaFX Design Tool</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sellmic.com/blog/2009/06/05/javafx-authoring-tool-demo-at-javaone-2009-with-video/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Is this the last JavaOne ever?</title>
		<link>http://sellmic.com/blog/2009/06/04/is-this-the-last-javaone-ever/</link>
		<comments>http://sellmic.com/blog/2009/06/04/is-this-the-last-javaone-ever/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 11:43:24 +0000</pubDate>
		<dc:creator>Augusto</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[javaone]]></category>
		<category><![CDATA[larry ellison]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[scott mcnealy]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://sellmic.com/blog/?p=247</guid>
		<description><![CDATA[
I’ve heard this question asked quite a few times around the hallways of the Moscone Center this week.
There are no guarantees or definite answers, even Ellison didn’t really provide many details when asked (he probably can’t) but I think the answer is a definite no.
It is well known that Java is a big part of [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-246" title="jonathan_javaone" src="http://sellmic.com/blog/wp-content/uploads/2009/06/jonathan_javaone.jpg" alt="jonathan_javaone" width="450" height="216" /></p>
<p>I’ve heard this question asked quite a few times around the hallways of the Moscone Center this week.</p>
<p>There are no guarantees or definite answers, even Ellison didn’t really provide many details when asked (he probably can’t) but I think the answer is a <strong>definite no</strong>.</p>
<p>It is well known that Java is a big part of why Oracle is buying Sun. Ellison’s address to the attendees last Tuesday served to reassure the Java community that Oracle is not here to tear Java apart piece by piece. Quite the contrary, he seems willing to continue to invest in the platform.</p>
<p>But let’s remember that buying Java means more than making Sun employees your employees, or buying widgets. What Oracle is also getting in the deal is the Java community … no small incentive for a technology company. Removing JavaOne from the landscape wouldn’t make sense for Oracle since that could threaten goodwill and slowly erode the community and enthusiasm for the Java platform.</p>
<p>From the many college students attending this year, learning about Java for the first time (I’ve met 2 that say their Universities only teach C/C++) to the sometimes heated discussions about technologies and new language features (like the Modularity Q&amp;A, oh boy, stay tuned for my blog post on that one!). A lot of these interactions are hard to do effectively without an event like this, where people can freely and dynamically regroup and discuss their ideas about the Java platform.</p>
<p>So no, I don’t think Oracle will “deprecate” JavaOne. Expect it to change of course, but don’t expect it to disappear and be merged with OpenWorld anytime soon.</p>
<p>BTW, this is likely the last JavaOne conference Scott McNealy will ever attend and he acknowledged that during his keynote. In a very emotional moment, McNealy said his last goodbye to the community at the conference … and from what I could tell even choked up a bit.</p>
<p>When he was done presenting, he was greeted with a standing ovation from the audience. Afterward, he hung around and took pictures with many of the participants.</p>
<p>I thought this was a nice moment, and I think the gesture from the audience was very kind. Whatever you say about McNealy, nobody can deny his passion and the trust he always put on his team, especially to his engineers.</p>
<p class="MsoNormal"><!--[if !supportEmptyParas]--> <!--[endif]--></p>
<p><img class="aligncenter size-full wp-image-250" title="with_scott_mcnealy" src="http://sellmic.com/blog/wp-content/uploads/2009/06/with_scott_mcnealy.jpg" alt="with_scott_mcnealy" width="450" height="230" /></p>
<p style="text-align: center;"><em>From left to right; Dan Salt, Scott McNealy, some guys with his eyse closed and me</em></p>
]]></content:encoded>
			<wfw:commentRss>http://sellmic.com/blog/2009/06/04/is-this-the-last-javaone-ever/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>So where is Oracle?</title>
		<link>http://sellmic.com/blog/2009/06/02/so-where-is-oracle/</link>
		<comments>http://sellmic.com/blog/2009/06/02/so-where-is-oracle/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 17:10:32 +0000</pubDate>
		<dc:creator>Augusto</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://sellmic.com/blog/?p=240</guid>
		<description><![CDATA[
Visiting the JavaOne pavillion yesterday at CommunityOne, one thing that stood out was the absence of Oracle. This year there is no Oracle booth, which is very unusual, and a lot of people are wondering what is going on with the Sun/Oracle merger which nobody from Sun is really talking about.
My guess is that due [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-238" title="oracle1" src="http://sellmic.com/blog/wp-content/uploads/2009/06/oracle1.jpg" alt="oracle1" width="450" height="151" /></p>
<p>Visiting the JavaOne pavillion yesterday at CommunityOne, one thing that stood out was the absence of Oracle. This year there is no Oracle booth, which is very unusual, and a lot of people are wondering what is going on with the Sun/Oracle merger which nobody from Sun is really talking about.</p>
<p>My guess is that due to SEC regulations they&#8217;re not allowed to talk about it. But I&#8217;m not an expert in that area so I&#8217;m wondering if anybody knows what the rules are. However, Larry Ellison just walked in front of us a few minutes ago so we might yet see an official announcement about Sun/Oracle this morning. My guess is we wouldn&#8217;t hear about it, but then why would Ellison be here if he&#8217;s not going to speak at the podium?</p>
<p><img class="aligncenter size-full wp-image-239" title="larry_ellison_at_javaone_201" src="http://sellmic.com/blog/wp-content/uploads/2009/06/larry_ellison_at_javaone_201.jpg" alt="larry_ellison_at_javaone_201" width="450" height="201" /></p>
<p>(Sorry for the crappy picture, but there was no light, no flash and he zoomed by &#8230; most people in the audience don&#8217;t know he&#8217;s here &#8230; yet)</p>
<p>Update: As soon as I hit &#8220;publish&#8221; McNeilly stars talking about Sun/Oracle. Joking about rumors of course.</p>
<p>Update 2: &#8220;Don&#8217;t expect a lot of changes, just increased investment&#8221;, Ellison tries to reasure developers at this morning&#8217;s keynote. Ellison mentioned how Oracle pretty much uses Java everywhere for their products and he mentioned JavaFX a lot, plus interest in OpenOffice and mobile. For those wondering if Oracle was interested in the client side, I think Ellison has pretty much answered that very clearly.</p>
]]></content:encoded>
			<wfw:commentRss>http://sellmic.com/blog/2009/06/02/so-where-is-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Live blogging from CommunityOne</title>
		<link>http://sellmic.com/blog/2009/06/01/live-blogging-from-communityone/</link>
		<comments>http://sellmic.com/blog/2009/06/01/live-blogging-from-communityone/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 17:04:41 +0000</pubDate>
		<dc:creator>Augusto</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[communityone]]></category>

		<guid isPermaLink="false">http://sellmic.com/blog/?p=229</guid>
		<description><![CDATA[
JavaOne officially starts tomorrow but today Sun has kicked off CommunityOne. Which is a more open source focused and free conference that precedes the bigger event.
The main theme this year is cloud computing. The presentation today has been about showing several vendor solutions in the areas of virtualization and large scale application deployment that is [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-234" title="communityone" src="http://sellmic.com/blog/wp-content/uploads/2009/06/communityone.jpg" alt="communityone" width="450" height="315" /></p>
<p>JavaOne officially starts tomorrow but today Sun has kicked off CommunityOne. Which is a more open source focused and free conference that precedes the bigger event.</p>
<p>The main theme this year is cloud computing. The presentation today has been about showing several vendor solutions in the areas of virtualization and large scale application deployment that is very easy to use (and graphical). To be completely honest, I think &#8220;cloud computing&#8221; is a big buzzword approaching marketroid levels, but there is some interesting technology here. I&#8217;ll be attending a few cloud computing sessions to see if I become one of the <strong>converted</strong>.</p>
<p><img class="aligncenter size-full wp-image-230" title="communityone_cloud" src="http://sellmic.com/blog/wp-content/uploads/2009/06/communityone_cloud.jpg" alt="communityone_cloud" width="450" height="269" /></p>
<p>Currently, we&#8217;re listening to some of the folks from OpenSolaris and JavaFX in a setup that seems like a nerd version of David Letterman from an alternate reality.</p>
<p>BTW we got a small announcement that JavaFX is now officially released for OpenSolaris. Although I&#8217;m not sure there&#8217;s a large community of OpenSolaris users looking forward to that <img src='http://sellmic.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://sellmic.com/blog/2009/06/01/live-blogging-from-communityone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WolframAlpha is dumb</title>
		<link>http://sellmic.com/blog/2009/05/18/wolframalpha-is-dumb/</link>
		<comments>http://sellmic.com/blog/2009/05/18/wolframalpha-is-dumb/#comments</comments>
		<pubDate>Tue, 19 May 2009 03:44:11 +0000</pubDate>
		<dc:creator>Augusto</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[computational knowledge engine]]></category>
		<category><![CDATA[search engine]]></category>
		<category><![CDATA[wolfram alpha]]></category>
		<category><![CDATA[Wolfram|Alpha]]></category>

		<guid isPermaLink="false">http://sellmic.com/blog/?p=215</guid>
		<description><![CDATA[
Maybe I&#8217;m being a bit unfair, but the way the press is hyping it as a potential &#8220;Google/Wikipedia Killer&#8221; really doesn&#8217;t do it any favors. The site itself doesn&#8217;t say it&#8217;s a search engine, it describes itself as a &#8220;computational knowledge engine&#8221;. You&#8217;re supposed to enter a question or calculation and it will give you [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-216" title="wolfram_alpha_is_dumb" src="http://sellmic.com/blog/wp-content/uploads/2009/05/wolfram_alpha_is_dumb.jpg" alt="wolfram_alpha_is_dumb" width="450" height="243" /></p>
<p>Maybe I&#8217;m being a bit unfair, but the way the <a href="http://business.timesonline.co.uk/tol/business/industry_sectors/technology/article6307744.ece">press</a> is <a href="http://education.zdnet.com/?p=2556">hyping</a> it as a potential &#8220;Google/Wikipedia Killer&#8221; really doesn&#8217;t do it any favors. The site itself doesn&#8217;t say it&#8217;s a search engine, it describes itself as a &#8220;computational knowledge engine&#8221;. You&#8217;re supposed to enter a question or calculation and it will give you a result in the areas of mathematics, engineering, physics, places &amp; geography, etc.</p>
<p>So first test is, can WolframAlpha tell us what a &#8220;computational knowledge engine&#8221; is?</p>
<p><strong>Question: <em>What is a computational knowledge engine?</em></strong></p>
<p><strong><span style="color:#cc0000">Wolfram</span><span style="color:#ff6600">Alpha</span></strong>: <em>Wolfram|Alpha isn&#8217;t sure what to do with  your input</em>.<br />
<strong><span style="color:blue">G</span><span style="color:red">o</span><span style="color:#ddcc66">o</span><span style="color:blue">g</span>l<span style="color:red">e</span></strong>: Top link is a blog entry titled &#8220;<a href="http://blogs.ft.com/techblog/2009/05/so-what-exactly-is-a-computational-knowledge-engine/">So what exactly IS a computational knowledge engine?</a>&#8221;</p>
<p>Hum &#8230; not a good start. Also, Google&#8217;s second link is a link to WolframAlpha itself. Well, it says Wolfram Alpha is also good for business queries. Let&#8217;s find out information about a company.</p>
<p><strong>Question: <em>Who is the CEO of Apple?</em></strong></p>
<p><strong><span style="color:#cc0000">Wolfram</span><span style="color:#ff6600">Alpha</span></strong>: Wolfram &#8220;assumes&#8221; I&#8217;m talking about CNOOC Limited, whose stock symbol is <em>CEO</em>. So the result is some financial information about CNOOC and Apple. Not what I was looking for.<br />
<strong><span style="color:blue">G</span><span style="color:red">o</span><span style="color:#ddcc66">o</span><span style="color:blue">g</span>l<span style="color:red">e</span></strong>: First link is Apple&#8217;s <a href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=1&amp;url=http%3A%2F%2Fwww.apple.com%2Fpr%2Fbios%2Fjobs.html&amp;ei=KCESSsupOISa9QSg9LmhBg&amp;rct=j&amp;q=Who+is+the+CEO+of+apple%3F&amp;usg=AFQjCNERubr0jVPQ9yPpAdRPQ5OGVJIMmg">bio page on Steve Jobs</a>.</p>
<p>Google wins again. Let&#8217;s look at historical figures.<span id="more-215"></span></p>
<p><strong>Question: <em>Who is Martin Luther King?</em></strong></p>
<p><strong><span style="color:#cc0000">Wolfram</span><span style="color:#ff6600">Alpha</span></strong>: First accurate answer we get! WolframAlpha provides us minimal information about Martin Luther King Jr. It provides his full name, dates of birth and death and even the place of death. We also get a nifty time line, showing that last piece of information in graphical form (Which would only be useful if we were comparing events). Note that it also shows a &#8220;related links&#8221; which links to the Wikipedia entry on Martin Luther King Jr. which actually has a lot more information of course.<strong></strong><br />
<strong><span style="color:blue">G</span><span style="color:red">o</span><span style="color:#ddcc66">o</span><span style="color:blue">g</span>l<span style="color:red">e</span></strong>: First link is the Wikipedia entry that WolframAlpha also linked to. However the next link is a biography from the Nobel prize website and we also get a couple of YouTube links on the &#8220;I have a dream speech&#8221; and other moments.</p>
<p>This is kind of a tie I guess. WolframAlpha gives you minimal information, but it&#8217;s nicely summarized yet horribly incomplete. However, you get the Wikipedia entry to get more background information. Google gives you more results, but doesn&#8217;t give you a concise summary right there on the results about Martin Luther King Jr. like Wolfram does.</p>
<p>Let&#8217;s ask mathematical questions, this is where WolframAlpha is supposed to excel.</p>
<p><strong>Question: <em>What is an inductive proof?</em></strong></p>
<p><strong><span style="color:#cc0000">Wolfram</span><span style="color:#ff6600">Alpha</span></strong>: <em>Wolfram|Alpha isn&#8217;t sure what to do with  your input</em>.<br />
<strong><span style="color:blue">G</span><span style="color:red">o</span><span style="color:#ddcc66">o</span><span style="color:blue">g</span>l<span style="color:red">e</span></strong>:  Results are really good; <a class="l" onmousedown="return rwt(this,'','','res','1','AFQjCNGJ8XFSpan_M95ScpsZzq5kl4EWUw','')" href="http://en.wikipedia.org/wiki/Mathematical_induction">Mathematical <em>induction</em> &#8211; Wikipedia, the free encyclopedia,</a><span class="l"> </span><span class="l"><em> </em></span><a class="l" onmousedown="return rwt(this,'','','res','2','AFQjCNHxAQMFkto-1QiQXVELzptgrj9lkA','')" href="http://www.purplemath.com/modules/inductn.htm"><em>Induction</em> Proofs: Introduction,</a><span class="l"> </span><span class="l"> </span><a class="l" onmousedown="return rwt(this,'','','res','3','AFQjCNGLWYIA9cgmJBHFe4WFy99sgX4RRQ','')" href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=3&amp;url=http%3A%2F%2Fwww.math.sc.edu%2F%257Esumner%2Fnumbertheory%2Finduction%2FInduction.html&amp;ei=hCMSSr71EJSo8QT4zYihBg&amp;rct=j&amp;q=What+is+an+inductive+proof%3F&amp;usg=AFQjCNGLWYIA9cgmJBHFe4WFy99sgX4RRQ">Mathematical <em>Induction,</em></a><span class="l"><em></em></span><span class="l"><em> </em></span><span class="l"><em>etc.</em></span></p>
<p><strong>Question: <em>sin(1) + cos(1)</em></strong></p>
<p><strong><span style="color:#cc0000">Wolfram</span><span style="color:#ff6600">Alpha</span></strong>: We get lots of results, plots, alternate forms, roots and the decimal approximation to a ridiculous level of decimal places 0.4546487134128&#8230;..<br />
<strong><span style="color:blue">G</span><span style="color:red">o</span><span style="color:#ddcc66">o</span><span style="color:blue">g</span>l<span style="color:red">e</span></strong>: sin(1) * cos(1) = 0.454648713</p>
<p><strong>Question: <em>x + 250 = 15</em></strong></p>
<p><strong><span style="color:#cc0000">Wolfram</span><span style="color:#ff6600">Alpha</span></strong>: We get &#8220;x = -235&#8243; and get a plot for the equation.<br />
<strong><span style="color:blue">G</span><span style="color:red">o</span><span style="color:#ddcc66">o</span><span style="color:blue">g</span>l<span style="color:red">e</span></strong>: Doesn&#8217;t understand simple algebra equations and returns garbage.</p>
<p>And we can go on. Clearly you can see WolframAlpha is not really a search engine at all. You won&#8217;t find news, websites or most of your search related queries here. When it comes to basic definitions and parsing common language questions; WolframAlpha seems pretty dumb so far. Even in the area of mathematics, it won&#8217;t give you definitions for some common concepts. I also tried some Computer Science concepts and it had trouble too.</p>
<p>This &#8220;computational engine&#8221; is more apt for actual computational tasks. You want to solve some mathematical problem (say determine if a number is a prime number, equations, trigonometry, etc) or have it expressed in different ways (alternate forms and representations) and this engine will help a lot. But for your more common task for searching for general information and items with in depth explanation of concepts and places, you are still better off using Google in conjunction with Wikipedia.</p>
<p>Hopefully people will realize this and tone down the hype, Google and Wikipedia are not threatened by this engine at all. Although I do think that Wolfram Alpha might cause Google to invest a bit more in it&#8217;s mathematical calculation engine which currently pretty much functions as a very simple web enabled pocket calculator.</p>
<p><strong>One last note: </strong>For some reason Wolfram Alpha returns results as images &#8230; even simple textual information. I don&#8217;t know why they do this at all. For example in my search for Martin Luther King, if I wanted to copy his name or date of birth, you get a little annoying dialog with the actual text so you can copy it. You can&#8217;t use the normal method of highlighting the information you want right there on the page. Very annoying and I hope they reconsider this dreadful &#8220;feature&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://sellmic.com/blog/2009/05/18/wolframalpha-is-dumb/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Oracle buys Sun (not THE Sun)!</title>
		<link>http://sellmic.com/blog/2009/04/20/oracle-buys-sun-not-the-sun/</link>
		<comments>http://sellmic.com/blog/2009/04/20/oracle-buys-sun-not-the-sun/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 03:11:07 +0000</pubDate>
		<dc:creator>Augusto</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://sellmic.com/blog/?p=199</guid>
		<description><![CDATA[
At one point it was Apple, then IBM was supposed to be it more than a couple of times, well the buyer of Sun ends up being Oracle and I think this is a good thing.
First of all (and related to that panel from Watchmen), I was getting a little anxious about all this merger [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://sellmic.com/blog/wp-content/uploads/2009/03/do_it.jpg"><img class="size-full wp-image-198 aligncenter" title="do_it" src="http://sellmic.com/blog/wp-content/uploads/2009/03/do_it.jpg" alt="&quot;Do It&quot; - Rorschach from Watchmen" width="450" height="525" /></a></p>
<p style="text-align: left;">At one point it was Apple, then IBM was supposed to be it more than a couple of times, well <a href="http://www.sdtimes.com/ORACLE_TO_BUY_SUN_PENDING_APPROVAL/About_ORACLE_and_SUN/33425">the buyer of Sun ends up being Oracle</a> and I think this is a good thing.</p>
<p style="text-align: left;">First of all (and related to that panel from Watchmen), I was getting a little anxious about all this merger talk and wished it was done with. It&#8217;s difficult for a company to be under merger talks for too long, and as a user of a lot of Sun technologies it makes you nervous. So I&#8217;m glad this seems to be over with.</p>
<p style="text-align: left;">Anyways, I think ithis is better than the IBM-Sun (BlueSun) merger because it just didn&#8217;t make much sense for IBM to buy Sun. They overlap too much on hardware and software, and I was afraid IBM was just going to buy it to finally kill off a hardware competitor and just take ownership of Java. With Oracle, you still have IBM as a strong Java player and Sun actually brings a lot of new things to Oracle.</p>
<p style="text-align: left;">Yes, there are overlaps, but there&#8217;s a bigger chance for projects like Netbeans to survive under this environment than in a company with IBM which would rather keep putting money on Eclipse.</p>
<p style="text-align: left;">What I wonder about is these products:</p>
<p style="text-align: left;"><strong>JavaFX </strong>- Does Oracle really have the stomach to compete in the client space? I&#8217;m hoping they have the guts to keep at it and not settle only on the server side. Client side Java is still important, and makes sense when you want to have very well integrated tools that go from end to end. As for mobile, who knows, maybe Oracle wants to expand.</p>
<p style="text-align: left;"><strong>Glassfish </strong>- Can Glassfish survive in a company that uses WebLogic. I think so, at least initially or for the short term. Glassfish can still be used as the &#8220;JEE&#8221; reference implementation, so there is a chance Glassfish can still continue being a supported project.</p>
<p style="text-align: left;"><strong>MySQL </strong>- I&#8217;m not really sure Oracle wil want to keep spending money on this for obvious reasons. But who knows. Anyways, MySQL is open source so it can&#8217;t really be killed in a sense.</p>
<p style="text-align: left;">So I&#8217;m glad the speculation is over, good luck to all the Sun employees during this transition. This year should prove to be a very interesting and surreal JavaOne!</p>
]]></content:encoded>
			<wfw:commentRss>http://sellmic.com/blog/2009/04/20/oracle-buys-sun-not-the-sun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bjork teaches us how a TV works</title>
		<link>http://sellmic.com/blog/2009/02/25/bjork-teaches-us-how-a-tv-works/</link>
		<comments>http://sellmic.com/blog/2009/02/25/bjork-teaches-us-how-a-tv-works/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 00:20:28 +0000</pubDate>
		<dc:creator>Augusto</dc:creator>
				<category><![CDATA[Funny]]></category>

		<guid isPermaLink="false">http://sellmic.com/blog/?p=194</guid>
		<description><![CDATA[
Hey kids, don&#8217;t forget, when you open up a CRT display you can electrocute yourself if you don&#8217;t know what you are doing. So please don&#8217;t do what Bjork just did in the video above, specially if all you are doing is showing us how the electronics inside are like a &#8220;little model city &#8230; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/4d4rdat3HdA&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/4d4rdat3HdA&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Hey kids, don&#8217;t forget, when you open up a CRT display you can electrocute yourself if<a href="http://www.peachpit.com/articles/article.aspx?p=759704&amp;seqNum=2"> you don&#8217;t know what you are doing</a>. So please don&#8217;t do what Bjork just did in the video above, specially if all you are doing is showing us how the electronics inside are like a &#8220;little model city &#8230; with houses and streets &#8230; and this elevator &#8230;&#8221;.</p>
<p>Do pay attention to her warning, &#8220;don&#8217;t let poets lie to you&#8221;. They don&#8217;t know anything about electronics!</p>
]]></content:encoded>
			<wfw:commentRss>http://sellmic.com/blog/2009/02/25/bjork-teaches-us-how-a-tv-works/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
