<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Exception: null</title>
    <link>http://exceptionnull.net/</link>
    <description>The blog of Robert Berg</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.1-beta6 - http://www.s9y.org/</generator>
    
    

<item>
    <title>Built a website</title>
    <link>http://exceptionnull.net/index.php?/archives/23.Built-a-website.html</link>
    
    <comments>http://exceptionnull.net/index.php?/archives/23.Built-a-website.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=23</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=23</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    It&#039;s been maybe 10 years since I&#039;ve built a website, but once again I took it upon myself. It took me nearly a year to complete it though, and not because it was a lot of work.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://suerte-administraties.nl&quot;  title=&quot;Peter Berg&#039;s website&quot;&gt;Suerte Administraties&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Yes, that&#039;s my brother Peter.&lt;br /&gt;
&lt;br /&gt;
Nice, not very impressive, but Google, please go and index. 
    </content:encoded>

    <pubDate>Fri, 11 Dec 2009 10:40:43 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/23.guid.html</guid>
    
</item>
<item>
    <title>Resource Environment Providers</title>
    <link>http://exceptionnull.net/index.php?/archives/21.Resource-Environment-Providers.html</link>
            <category>WebSphere Portal</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/21.Resource-Environment-Providers.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=21</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=21</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    &lt;a href=&quot;http://www-128.ibm.com/developerworks/websphere/library/techarticles/0611_totapally/0611_totapally.html&quot;&gt;These are the articles I really like&lt;/a&gt;. Just enough sample code and lots of configuration completely and extensively documented to the last custom property that is needed (with screenshots). &lt;br /&gt;
&lt;br /&gt;
Resource Environment Providers are very useful. It&#039;s a good help in configuring your application, for one reason because it&#039;s more dynamic than using deployment descriptors. Oh, just read the introduction of the article. I wanted to use one myself and then I came across this article. And yes, I made one, my very own Resource Environment Provider, well, I almost completely copied the example with the names changed to protect... All worked quite well, but when you look at the code in the article, there are two things that you might notice to be a bit strange.&lt;br /&gt;
&lt;br /&gt;
First of all, the sample ConfigFactory in listing 1 only generates one static Config object. It fills it, and reuses that same object every time the function is called. Some sort of smart caching eh? I&#039;m sure that reading those attributes must take forever. But not likely. So I changed that to create a new object each time the function is called.&lt;br /&gt;
&lt;br /&gt;
Secondly, you might notice that there is something strange going on with the value of the custom property. It&#039;s casted to a String in the ConfigFactory, but the Config object stores it as an Object and also returns it as an Object. And as you can see further on in figure 18, a custom property can be of a couple of types (like string, integer etc). So why do we need to cast? It only seems to limit the possibilities, because obviously it can also return other objects. So I changed that too.&lt;br /&gt;
&lt;br /&gt;
What you would expect now is that you can use any type of custom property and if you change them those changes are immediately reflected in your application. Right? Maybe I should send the author of the article my improved code.&lt;br /&gt;
&lt;br /&gt;
But what makes life interesting is that things are not always what you expect them to be. Very often sample code is just the only way it can work. When I used my resource environment provider I had to restart the application before I could see the changes I made to the custom properties. Before that, it just returns the old values. And when you set a custom property to type Integer, it still returns a String object with that value. Actually it always returns strings, so I can&#039;t see any need for that type field...&lt;br /&gt;
&lt;br /&gt;
Also, if you have any of those field names contain the word &#039;password&#039;, it becomes a password and WebSphere encrypts it. If you try to get those properties they will look something like this: {xor}LDo8LTor. I found out can decrypt those with this function:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;com.ibm.ws.security.util.PasswordUtil.decode(&quot;{xor}LDo8LTor&quot;)&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
The resource environment providers are very flexible object factories. I think there are a lot of uses for them other than just return those custom properties. But I will stick to this one for now. 
    </content:encoded>

    <pubDate>Mon, 05 Mar 2007 11:59:56 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/21.guid.html</guid>
    
</item>
<item>
    <title>Laptop power usage, using a power meter</title>
    <link>http://exceptionnull.net/index.php?/archives/20.Laptop-power-usage,-using-a-power-meter.html</link>
    
    <comments>http://exceptionnull.net/index.php?/archives/20.Laptop-power-usage,-using-a-power-meter.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=20</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=20</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    Recently I bought a device that can measure the amount of power that other devices use: a plug-in power meter which you can buy in a lot of electronics shops. If you are interested in environmental stuff and you want to save power for the sake of it (you shouldn&#039;t be saving power just for the money because there&#039;s not much to win there), it&#039;s good to know what is using much power and what&#039;s not.&lt;br /&gt;
&lt;br /&gt;
The first surprise came when I plugged in my 9 watt energy saving light bulb. In the first seconds it uses much more power than the 9 watts (as we all know of course, it also it gives less light during that time), but it graduadly lowered from 14 watt to 12 watt. Hmm.. but where did those 3 watts go? It could be the scaling is off, but it is sort of correct on other devices I measured.&lt;br /&gt;
&lt;br /&gt;
Anyway, one of those other devices is my laptop. If it&#039;s turned off, it doesn&#039;t use any power. When it&#039;s in idle mode (while I&#039;m not doing anything else but running Kubuntu and typing this text) it only uses around 32 watts, but running a job that takes 100% cpu (converting an avi file), it jumps up to 64 watt. Quite a difference.&lt;br /&gt;
&lt;br /&gt;
I also have an old desktop machine I put together from old parts. There&#039;s no hard drive in it, but except for that it&#039;s a complete machine. When I plug that machine in the mains and do not turn it on it uses 12 watt (it probably needs that power to light a LED on the mobo and to be alert to wake up on LAN when that time comes). If I turn it on it uses 70 watt. And we are talking about a 750mhz AMD Duron here. I don&#039;t know about modern desktops, but I&#039;m afraid they consume even more power. &lt;br /&gt;
&lt;br /&gt;
Next thing soon is that I&#039;m going to measure the difference between Windows and Linux (will be a tough one to keep all factors equal), and I will try to see if there is any extra power needed when you turn on a virus scanner on Windows. Yes, these devices are fun. 
    </content:encoded>

    <pubDate>Sat, 03 Mar 2007 18:29:43 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/20.guid.html</guid>
    
</item>
<item>
    <title>Firefox on the rise again</title>
    <link>http://exceptionnull.net/index.php?/archives/19.Firefox-on-the-rise-again.html</link>
            <category>Web</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/19.Firefox-on-the-rise-again.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=19</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=19</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    Last month there were a &lt;a href=&quot;http://www.pcworld.com/article/id,129246/article.html&quot;&gt;couple&lt;/a&gt; of stories that said that the steadily increase of Firefox usage was brought to a halt and maybe was on its way down. These stories apparently &lt;a href=&quot;http://www.webstandards.org/2005/08/14/firefox-market-share-shrinks-the-sky-is-falling/&quot;&gt;tend to come out when Firefox&#039; share is down half a percent&lt;/a&gt;. Today the new figures came in from netapplications.com, the company that originated those stories, and (surprise), the usage is up again. Firefox has a &lt;a href=&quot;http://marketshare.hitslink.com/report.aspx?qprid=0&quot;&gt;14.18% share in February&lt;/a&gt;, the highest share &lt;a href=&quot;http://marketshare.hitslink.com/report.aspx?qprid=3&amp;qpcustom=Firefox&quot;&gt;it ever had&lt;/a&gt; on netapplications.&lt;br /&gt;
&lt;br /&gt;
Now what should we make of that? Nothing, I guess. Anyway, here are some &lt;a href=&quot;http://mozillalinks.org/wp/2006/12/firefox-market-share-reaches-23-in-europe/&quot;&gt;interesting figures&lt;/a&gt;.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Thu, 01 Mar 2007 11:11:35 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/19.guid.html</guid>
    
</item>
<item>
    <title>Music player daemon</title>
    <link>http://exceptionnull.net/index.php?/archives/17.Music-player-daemon.html</link>
            <category>Linux</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/17.Music-player-daemon.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=17</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=17</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    I wanted to play audio on my home computer using a daemon. The best things about that are that you don&#039;t need a graphical interface and you can easily control it remotely. I was a bit struggeling with the &lt;a href=&quot;http://wiki.xmms2.xmms.se/index.php/Design_of_XMMS2&quot;&gt;xmms2d&lt;/a&gt; to make this all work, when I discovered that the &lt;a href=&quot;http://www.musicpd.org/&quot;&gt;mpd&lt;/a&gt; project was way ahead of xmms2. I also have a Nokia 770, and I looking around a bit I found &lt;a href=&quot;http://maemo.org/maemowiki/HowToAudioRemoteWithMpd&quot;&gt;this description&lt;/a&gt; on how to setup the whole thing.&lt;br /&gt;
&lt;br /&gt;
In Ubuntu there is the mpd package, which you just have to apt-get. But I couldn&#039;t find &lt;a href=&quot;http://www.musicpd.org/phpMp.shtml&quot;&gt;phpMp&lt;/a&gt; in the repository. I always have apache2 running with php, and &lt;a href=&quot;http://www.musicpd.org/phpMp.shtml&quot;&gt;downloading, installing and configuring phpMp&lt;/a&gt; was really easy. In &lt;code&gt;/etc/mpd.conf&lt;/code&gt; you can change the location of where your mp3 files are (mpd doesn&#039;t play wma but I don&#039;t keep them around anyway). If you go there with your browser, you&#039;re ready to run the update of your music database, which will be filled with the files in your music directory. Then all you music will appear in your browser. With a Nokia 770 go to the webapp and play your music.&lt;br /&gt;
&lt;br /&gt;
To control mpd from you desktop or laptop, there is the gnome client gmpc, also in Ubuntu&#039;s repository. It&#039;s a very basic player which doesn&#039;t have a lot of features. But enough for my needs.&lt;br /&gt;
&lt;br /&gt;
The Ubuntu repository also contains the command line client &lt;code&gt;mpc&lt;/code&gt;. I installed that one to run a crontab to wake me up every morning on weekdays. Just make it run &lt;code&gt;mpc play&lt;/code&gt;. Unfortunately I haven&#039;t found a way to do a fade in with the volume. The alarm plugin of xmms made me wake up a lot more friendly. 
    </content:encoded>

    <pubDate>Sun, 11 Feb 2007 14:33:30 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/17.guid.html</guid>
    
</item>
<item>
    <title>Portal URLs and a regular expression</title>
    <link>http://exceptionnull.net/index.php?/archives/16.Portal-URLs-and-a-regular-expression.html</link>
            <category>WebSphere Portal</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/16.Portal-URLs-and-a-regular-expression.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=16</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=16</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    &lt;p&gt;For something I was working on I needed to replace URLs in a body of text. I wanted to do that in a JSP so I used a &lt;code&gt;&lt;a href=&quot;http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/jsp/tagext/BodyTagSupport.html&quot;&gt;BodyTagSupport&lt;/a&gt;&lt;/code&gt; for that. The text contained URLs in the form of &quot;/uniqueName&quot;, in which uniqueName is the unique name of a content node. I had to create a portal url to a node for each of those unique names. Of course I used Java&#039;s powerful regular expression routines to replace them (very useful if you know how they work). And for creating the URLs I could have settled with just the &lt;code&gt;CreateUrlCommand&lt;/code&gt;, but I gave it an extra touch by adding a &lt;code&gt;title&lt;/code&gt; attribute to the &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; element containing the title of the
content node the URL is pointing to. Nice huh? I think you should always give the stuff you make an extra touch. Anyway, here&#039;s the code!&lt;/p&gt; &lt;br /&gt;&lt;a href=&quot;http://exceptionnull.net/index.php?/archives/16.Portal-URLs-and-a-regular-expression.html#extended&quot;&gt;Continue reading &quot;Portal URLs and a regular expression&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Wed, 07 Feb 2007 10:56:52 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/16.guid.html</guid>
    
</item>
<item>
    <title>Renaming files to lower case</title>
    <link>http://exceptionnull.net/index.php?/archives/15.Renaming-files-to-lower-case.html</link>
            <category>Linux</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/15.Renaming-files-to-lower-case.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=15</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=15</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    &lt;p&gt;Perl is not something I am good at, but shell scripts are even worse in my case. I needed to have a list of files renamed to lower case and it took me more than half an hour to come up with this:&lt;/p&gt;

&lt;br clear=&quot;all&quot; /&gt;
&lt;code&gt;find . | perl -n -e &#039;chomp; $a=$_;
$_ =~ tr/[A-Z]/[a-z]/; 
rename($a,$_);&#039;&lt;/code&gt;

&lt;p&gt;Why would you need Java when you can do it this easily in Perl?&lt;/p&gt; 
    </content:encoded>

    <pubDate>Fri, 02 Feb 2007 17:25:21 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/15.guid.html</guid>
    
</item>
<item>
    <title>Creating a thumbnail image from a PDF</title>
    <link>http://exceptionnull.net/index.php?/archives/14.Creating-a-thumbnail-image-from-a-PDF.html</link>
            <category>Java</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/14.Creating-a-thumbnail-image-from-a-PDF.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=14</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=14</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    The last couple of weeks I have been testing a lot of Java libraries that convert PDFs to images. I wanted to use it to display small thumbnails of the first page of a lot of PDF files. There are some open source initiatives in this field, like &lt;a href=&quot;http://www.pdfbox.org/&quot;&gt;PDFBox&lt;/a&gt;, but I just couldn&#039;t settle for this one because, basically, the result was just too plain ugly. The rendering was terrible which I couldn&#039;t change at all, and it couldn&#039;t handle a lot of the fonts (which is very understandable by the way).&lt;br /&gt;
&lt;br /&gt;
Of all the closed source products I tested (&lt;a href=&quot;http://big.faceless.org/products/pdf/&quot;&gt;Big faceless&lt;/a&gt;, &lt;a href=&quot;http://www.icesoft.com/purchase/index.html&quot;&gt;Ice Soft&lt;/a&gt;, &lt;a href=&quot;http://www.snowbound.com/&quot;&gt;Snow Bound Software&lt;/a&gt; and some more), I ended up with &lt;a href=&quot;http://www.qoppa.com/jppindex.html&quot;&gt;this one&lt;/a&gt;. It was the fastest of them all, and it was also the best deal. The thing they do well at &lt;a href=&quot;http://www.qoppa.com&quot;&gt;Qoppa&lt;/a&gt; is that they not try to sell one big application that can do everything, but they sell small products for specific purposes. This way you don&#039;t pay the whole deal for a lot of stuff you are not going to need anyway. &lt;br /&gt;
&lt;br /&gt;
And no, I don&#039;t work there, I&#039;ve just seen a lot of PDF converters that I didn&#039;t like, that&#039;s all.&lt;br /&gt;
&lt;br /&gt;
Oh.. and here&#039;s an example of the code I used:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;PDFDocument pdf = new PDFDocument(file.getContent(),null);&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;PDFPage page = pdf.getPage(0);&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;double size = 600 / page.getPaperWidth() * 18;&lt;/code&gt;&lt;br /&gt;
&lt;code&gt;BufferedImage image = page.getImage(size);&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Notice the free style hard coded resizing of the page. 
    </content:encoded>

    <pubDate>Thu, 01 Feb 2007 11:10:04 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/14.guid.html</guid>
    
</item>
<item>
    <title>WebSphere Portal 6 on Ubuntu (part 5)</title>
    <link>http://exceptionnull.net/index.php?/archives/13.WebSphere-Portal-6-on-Ubuntu-part-5.html</link>
            <category>WebSphere Portal</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/13.WebSphere-Portal-6-on-Ubuntu-part-5.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=13</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=13</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    Where will this end? Looking at SystemOut.log for any problems after the &lt;a href=&quot;http://exceptionnull.net/index.php?/archives/11.Installing-WebSphere-Portal-fix-pack-6.0.0.1-on-Ubuntu.html&quot;&gt;installation of the WebSphere Portal 6.0.0.1 fix pack&lt;/a&gt;, there were some exceptions I could easily fix. Let&#039;s start with those.&lt;br /&gt;
&lt;br /&gt;
The first one was CWLAG0450W, &lt;a href=&quot;http://www-1.ibm.com/support/docview.wss?uid=swg1PK13581&quot;&gt;which I could safely ignore&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The second problem was a bit more tough. IBM named them CWSIV0954E and CWSIP0301E which both relate to the Workflow application. &lt;a href=&quot;http://exceptionnull.net/index.php?/archives/10.WebSphere-Portal-6-on-Ubuntu-part-4.html&quot;&gt;I have been struggling with the process server some time ago&lt;/a&gt;, and it didn&#039;t surprise me at all that it causes problems now that I finally start to use it. The problem seemed to be a simple authentication issue. The easy solution to that is to disable global security, but I won&#039;t settle for that.&lt;br /&gt;
&lt;br /&gt;
The thing that doesn&#039;t work is a SCA module. You can find those under the menu item &lt;i&gt;Applications&lt;/i&gt; in the WebSphere Administrative Console. In my configuration there was only one, the workflow stuff. To make it work you need to go to &lt;i&gt;JAAS Configuration&lt;/i&gt; at the &lt;i&gt;Global Security&lt;/i&gt; page of the Admin Console and select &lt;i&gt;J2C Authentication data&lt;/i&gt;. There you&#039;ll find the SCA_Auth_Alias, and you have to provide a name and password with sufficient rights. I used wasadmin and his password.&lt;br /&gt;
&lt;br /&gt;
The third thing portal started complaining about was that it couldn&#039;t find &lt;i&gt;DefaultUserCalendarHome&lt;/i&gt; in the JNDI (javax.naming.NameNotFoundException). This involves nothing more than installing SchedulerCalendars.ear from the &amp;lt;WAS&amp;gt;/installableApps directory. You can do that from the admin console. During step 2 make sure the Calendars module maps to WebSphere_Portal. Leave everything as default (you&#039;ll notice that it picks &lt;code&gt;com/ibm/websphere/scheduler/calendar/DefaultUserCalendarHome&lt;/code&gt; as its default JDNI name). Click finish and check if the application has started.&lt;br /&gt;
&lt;br /&gt;
At this point I really felt like I was installing way too many things to make this work in a simple development environment. Was I on the correct path? Especially now the whole setup is beginning to need loads of cpu power.&lt;br /&gt;
&lt;br /&gt;
Moving forward and trying to actually use the workflow I quickly ran into this one:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;java.lang.IncompatibleClassChangeError: &lt;br /&gt;
class com.ibm.task.core.CallContextImpl does not implement interface com.ibm.task.core.CallContext&lt;/code&gt;. &lt;br /&gt;
&lt;br /&gt;
Ok, that&#039;s it. That expection sounds like really freaked out installation. Maybe I did something wrong somewhere. Luckily I documented every single step. Maybe I&#039;ll start over or maybe I&#039;ll have a go with &lt;a href=&quot;http://www.xigole.com/software/classfinder.jsp&quot;&gt;classfinder&lt;/a&gt; to get to the root of this. 
    </content:encoded>

    <pubDate>Thu, 25 Jan 2007 15:36:02 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/13.guid.html</guid>
    
</item>
<item>
    <title>jQuery, AJAX and Java</title>
    <link>http://exceptionnull.net/index.php?/archives/12.jQuery,-AJAX-and-Java.html</link>
            <category>Java</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/12.jQuery,-AJAX-and-Java.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=12</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=12</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    Now that I&#039;ve started using &lt;a href=&quot;http://jquery.com/&quot;&gt;jQuery&lt;/a&gt; to &lt;a href=&quot;http://www.malsup.com/jquery/form/&quot;&gt;submit forms&lt;/a&gt; I bumped into a little problem with my &lt;a href=&quot;http://exceptionnull.net/index.php?/archives/6.The-story-of-jQuery-and-the-expiring-page.html&quot;&gt;jQuery-optimism&lt;/a&gt; today. &lt;br /&gt;
&lt;br /&gt;
I wanted to test a form I made by submitting random data to it, with in the end the application storing it in a CLOB field of an Oracle database. And because the application is quite international I went for some Russian and Chinese characters. Everything in the app seemed to work well, except that every time there was nothing readable left over from the original text (as far as I could read the original anyway), but instead there were these paragraphs of experimental Ascii art. &lt;br /&gt;
&lt;br /&gt;
So I went diving into the documentation of Oracle, looking for a secret property I might have overlooked, checking the JDBC driver for patches, examining my code for weird constructions that were out of the ordinary, but I couldn&#039;t find anything. You can probably imagine the growing frustration and the ridiculous amount of time it took me to realize that it wasn&#039;t the Oracle database that was at fault, but it was already the incoming data that was messed up. How come, you might ask?&lt;br /&gt;
&lt;br /&gt;
You have to put this at the beginning of the ajax servlet:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;request.setCharacterEncoding(&quot;UTF-8&quot;);&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Otherwise, the request object chooses the default encoding. &lt;a href=&quot;http://weblogs.java.net/blog/gmurray71/archive/2006/03/ajax_i18n_with.html&quot;&gt;Check this out for more details&lt;/a&gt;. &lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 23 Jan 2007 22:03:04 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/12.guid.html</guid>
    
</item>
<item>
    <title>Installing WebSphere Portal fix pack 6.0.0.1 on Ubuntu</title>
    <link>http://exceptionnull.net/index.php?/archives/11.Installing-WebSphere-Portal-fix-pack-6.0.0.1-on-Ubuntu.html</link>
            <category>WebSphere Portal</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/11.Installing-WebSphere-Portal-fix-pack-6.0.0.1-on-Ubuntu.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=11</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=11</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    Two weeks ago I did an upgrade of WPS 6 on Solaris to 6.0.0.1 at work. And now I&#039;ll apply this fixpack on my linux box. I use Kubuntu edgy and earlier I &lt;a href=&quot;http://exceptionnull.net/index.php?/archives/2.WebSphere-Portal-6-on-Ubuntu-continued.html&quot;&gt;documented&lt;/a&gt; how to install WPS 6 on ubuntu. I think that upgrades on other platforms will go the same way for the most part. &lt;br /&gt;&lt;a href=&quot;http://exceptionnull.net/index.php?/archives/11.Installing-WebSphere-Portal-fix-pack-6.0.0.1-on-Ubuntu.html#extended&quot;&gt;Continue reading &quot;Installing WebSphere Portal fix pack 6.0.0.1 on Ubuntu&quot;&lt;/a&gt;
    </content:encoded>

    <pubDate>Sat, 20 Jan 2007 12:13:27 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/11.guid.html</guid>
    
</item>
<item>
    <title>WebSphere Portal 6 on Ubuntu (part 4)</title>
    <link>http://exceptionnull.net/index.php?/archives/10.WebSphere-Portal-6-on-Ubuntu-part-4.html</link>
            <category>WebSphere Portal</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/10.WebSphere-Portal-6-on-Ubuntu-part-4.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=10</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=10</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    We&#039;re getting close. Ok, &lt;a href=&quot;http://exceptionnull.net/index.php?/archives/9.WebSphere-Portal-6-on-Ubuntu-part-3.html&quot;&gt;I tested it&lt;/a&gt;, and the things I did weren&#039;t enough. Looking into it a bit further I learned I had to do some additional stuff. In the admin console of the AppServer I saw that the business process choreographer and the human task manager were not installed. I had to run their &lt;a href=&quot;https://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/topic/com.ibm.wsps.602.bpc.doc/doc/bpc/t2co.html&quot;&gt;installation wizard&lt;/a&gt; to manage that. I also read somewhere that you have to run this command: &lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;ulimit -n 10240&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
...before going ahead, otherwise it&#039;ll stop with a &#039;Too many files open&#039; exception eventually.&lt;br /&gt;
&lt;br /&gt;
I did that and started server1, then started the wizard in the admin console. To get there select Servers/Application servers and select WebSphere Portal, then select Business process container settings/Business process container and then click the wizard.&lt;br /&gt;
&lt;br /&gt;
On the first page, I selected Cloudscape 5.1. On the second page I selected the default messaging provider and these settings:&lt;br /&gt;
Queue manager: BPECF&lt;br /&gt;
JMS user ID: &amp;lt;wasadmin&amp;gt;&lt;br /&gt;
JMS password: &amp;lt;password&amp;gt;&lt;br /&gt;
JMS API User ID: &amp;lt;wasadmin&amp;gt;&lt;br /&gt;
JMS API password: &amp;lt;password&amp;gt;&lt;br /&gt;
Administrator security role mapping: wpsadmins&lt;br /&gt;
System monitor security role mapping: wpsadmins&lt;br /&gt;
Leave everything as it is on page 3, check the summary on page 4, and GO!&lt;br /&gt;
&lt;br /&gt;
Next thing.. the human task container. Select it from the page you were before, the settings page of the WebSphere Portal application server. If you go there, you can select the wizard. Use the same settings as described above (the same settings as on the second page of the business process container wizard). Check the e-mail option on the second page, and finish. &lt;br /&gt;
&lt;br /&gt;
Don&#039;t forget to save to the master configuration. If you made a mistake and want to start again, &lt;a href=&quot;https://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.wsps.602.bpc.doc/doc/bpc/t2deovr.html&quot;&gt;read this&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://publib.boulder.ibm.com/infocenter/dmndhelp/v6rxmx/index.jsp?topic=/com.ibm.wsps.602.bpc.doc/doc/bpc/t2codbcl.html&quot;&gt;You must create the Cloudscape database and the tables yourself&lt;/a&gt;. After the business process container was installed, I went to &amp;lt;WAS&amp;gt;/profiles/wp_profile/databases and ran this command:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;java -Djava.ext.dirs=&amp;lt;WAS&amp;gt;/cloudscape/lib -Dij.protocol=jdbc:db2j: com.ibm.db2j.tools.ij &amp;lt;WAS&amp;gt;/ProcessChoreographer/createDatabaseCloudscape.ddl&lt;/code&gt;&lt;br /&gt;
&lt;i&gt;(&amp;lt;WAS&amp;gt; is the WAS installation directory)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
You can find a description of this step in the &lt;code&gt;createDatabaseCloudscape.ddl&lt;/code&gt; file itself. 
    </content:encoded>

    <pubDate>Wed, 17 Jan 2007 23:41:48 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/10.guid.html</guid>
    
</item>
<item>
    <title>WebSphere Portal 6 on Ubuntu (part 3)</title>
    <link>http://exceptionnull.net/index.php?/archives/9.WebSphere-Portal-6-on-Ubuntu-part-3.html</link>
            <category>WebSphere Portal</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/9.WebSphere-Portal-6-on-Ubuntu-part-3.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=9</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=9</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    Now that I&#039;m &lt;a href=&quot;http://exceptionnull.net/index.php?/archives/8.Jakes-bar,-a-travel-into-IBMs-composite-applications-part-1.html&quot;&gt;diving a bit more into WebSphere Portal 6&lt;/a&gt;, I found out that the process server wasn&#039;t installed. You can check this by running versionInfo.sh and if it&#039;s not there then it&#039;s not there. And it wasn&#039;t there. And I think &lt;a href=&quot;http://exceptionnull.net/index.php?/archives/2.WebSphere-Portal-6-on-Ubuntu-continued.html&quot;&gt;either I did something wrong&lt;/a&gt; (which I doubt of course) or something didn&#039;t go well during the &lt;a href=&quot;http://exceptionnull.net/index.php?/archives/1.WebSphere-Portal-6-on-Ubuntu.html&quot;&gt;install&lt;/a&gt;. I checked the log files again if there was anything about a failed install in there, and they didn&#039;t shed any light on this. In the end there wasn&#039;t much else to do than try to install the process server manually (or try a complete re-install of course, but I can always try that if everything fails).&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp.ent.doc/wpf/inst_direct.html&quot;&gt;In the documentation&lt;/a&gt; it said: “When running the WebSphere Process Server installation manually from CD *-2, users should run the install.bat or install.sh script instead of running the executable”. So for this I needed the IL-2 disk and go to the linux/ia32/WBI directory. I ran install.sh and half way I selected &#039;Use an existing installation of WebSphere Application Server Network Deployment, Version 6&#039;, and selected the WAS of portal.&lt;br /&gt;
&lt;br /&gt;
Then this profile creation wizard popped up (after I agreed that it was ok to run it), and I didn&#039;t know exactly what to fill in. So I made a backup of the wp_profile first. Then I chose to augment the existing profile, and left all check boxes unchecked. I filled in the credentials of the WAS admin when the wizard asked for MQ credentials. That should work fine.&lt;br /&gt;
&lt;br /&gt;
The wizard made the changes to the profile. I can see the process server when I run versionInfo.sh now, portal still functions and hopefully, I can use the process server from portal. I&#039;ll have to test that.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt; &lt;a href=&quot;http://exceptionnull.net/index.php?/archives/10.WebSphere-Portal-6-on-Ubuntu-part-4.html&quot;&gt;part 4&lt;/a&gt; 
    </content:encoded>

    <pubDate>Tue, 16 Jan 2007 10:36:55 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/9.guid.html</guid>
    
</item>
<item>
    <title>Jake's bar, a travel into IBM's composite applications (part 1)</title>
    <link>http://exceptionnull.net/index.php?/archives/8.Jakes-bar,-a-travel-into-IBMs-composite-applications-part-1.html</link>
            <category>WebSphere Portal</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/8.Jakes-bar,-a-travel-into-IBMs-composite-applications-part-1.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=8</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=8</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    Now that I have WebSphere Portal 6 running on my laptop, I can go ahead and do something with it. Unfortunately I have the problem that I don&#039;t have a proper test environment of portal 6 in RSA 7 (&lt;a href=&quot;http://www-128.ibm.com/developerworks/forums/dw_thread.jsp?forum=430&amp;thread=145151&amp;cat=67&quot;&gt;as do others&lt;/a&gt;), but I won&#039;t let that stop me. I want to build one of those &lt;a href=&quot;http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp.ent.doc/caitai/i_bedt_c_tempsapps_intro.html&quot;&gt;composite applications&lt;/a&gt; that &lt;a href=&quot;http://www-128.ibm.com/developerworks/websphere/library/techarticles/0607_hepper/0607_hepper.html&quot;&gt;IBM is raving about&lt;/a&gt;. I&#039;m going to try and create a sample application just to see what the possibilities and limitations of this new thing are. And of course I will write on this blog about my progress with it.&lt;br /&gt;
&lt;br /&gt;
I&#039;ll be creating a bar application. That&#039;s right, an application for a business that sells beer, whiskey, and coffee (and maybe some sandwiches or something). It won&#039;t be useful at all when it is been created, but hopefully I will learn a lot during the making of it.&lt;br /&gt;
&lt;br /&gt;
First off, I created an application template. Templates can be found right from the welcome page of portal. I saved it as &#039;Bar template&#039; and by using &#039;Manager roles&#039; on the template I added three roles: Customers, Bar tenders and Bar managers. Then I created a page in the template and called it &#039;First page&#039;, just to test, and I put three (almost at random) portlets on it. So now I could assign how users with specific roles can use those portlets. You can do that again by &#039;Manage roles&#039;. I made some of the portlets accessible and not accessible to some of the roles, just to test again.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;(I ran into a couple of exceptions (&lt;code&gt;CLYAF0024E: Could not find key null&lt;br /&gt;
 for CDO_CDO&lt;/code&gt; and &lt;code&gt;CLFFC0074E: CDO ERROR: {0}.                       com.ibm.workplace.cdo.exception.CdoException&lt;/code&gt; at this point. The reason was that I logged in twice and had another browser window open to see if that link to those templates were really there on the front page. In firefox those sessions will interfer.)&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Then I created three users (Jake Jackson, Mike Jackson and Steve Jackson) and I wanted to assign them to the roles in a new Bar application. Before I did that, I assigned to them user access to the application template and template category using the Resource Permissions portlet (in Administration). Then I needed an application and I created one using the Bar template (called it Jake&#039;s Bar). I clicked on it, and that took me to the &#039;First page&#039;. The page has a lot of options in the drop down box, and I needed to select the &#039;Assign application members&#039;. Then I could add the user I wanted as Bar manager (Jake), Bar tender (Steve) and Customer (Mike). B.t.w. for some ridiculous reason, the pop up for searching users was case-sensitive.&lt;br /&gt;
&lt;br /&gt;
Well, the only thing left to do was to make sure that all the three users could access the Applications portlet as a user. After that I logged in as each of those users, put the Applications portlet on the welcome page, and saw that it all worked just as I thought it would. I think I&#039;m getting the hang of it.&lt;br /&gt;
&lt;br /&gt;
Nice thing about this is that when you make changes to the application, you can save those changes back to a template again. Quite useful when you are developing something. 
    </content:encoded>

    <pubDate>Sun, 14 Jan 2007 23:34:55 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/8.guid.html</guid>
    
</item>
<item>
    <title>Google finds MSN search</title>
    <link>http://exceptionnull.net/index.php?/archives/7.Google-finds-MSN-search.html</link>
            <category>Web</category>
    
    <comments>http://exceptionnull.net/index.php?/archives/7.Google-finds-MSN-search.html#comments</comments>
    <wfw:comment>http://exceptionnull.net/wfwcomment.php?cid=7</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://exceptionnull.net/rss.php?version=2.0&amp;type=comments&amp;cid=7</wfw:commentRss>
    

    <author>nospam@example.com (Robert Berg)</author>
    <content:encoded>
    Surprisingly when you search for &lt;i&gt;search&lt;/i&gt; with Google, &lt;a href=&quot;http://www.google.com/search?q=search&quot;&gt;the first hit you&#039;ll get is MSN search&lt;/a&gt;. Microsoft knows how to optimize for Google, I guess. With that stuff going on of &lt;a href=&quot;http://en.wikipedia.org/wiki/Blake_Ross&quot;&gt;Blake Ross&lt;/a&gt; blaming &lt;a href=&quot;http://www.blakeross.com/2006/12/25/google-tips/&quot;&gt;Google to be pushing its own products at the cost of competitors&lt;/a&gt;, this wasn&#039;t something I expected. 
    </content:encoded>

    <pubDate>Wed, 10 Jan 2007 00:24:19 +0100</pubDate>
    <guid isPermaLink="false">http://exceptionnull.net/index.php?/archives/7.guid.html</guid>
    
</item>

</channel>
</rss>