<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUcDSX8zcSp7ImA9WxBbFkU.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523</id><updated>2010-03-15T15:57:58.189-04:00</updated><title>Coding Thoughts</title><subtitle type="html">This blog's focus is mainly on Lotus Notes/Domino development and WebSphere Portal development, but will also cover things about java in general, VB.NET, etc., really anything interesting that has to do with technology.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.criverapr.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.criverapr.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/criverapr" /><feedburner:info uri="criverapr" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DkUCQ3Y4eCp7ImA9WxNSE0U.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-2494956850035434118</id><published>2009-08-27T10:25:00.001-04:00</published><updated>2009-08-27T10:44:22.830-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-27T10:44:22.830-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="rcp" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="general" /><title>Masters Degree Final Project</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/thewolf/411352328/'&gt;&lt;img src='http://farm1.static.flickr.com/168/411352328_02ef3060e4_m_d.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a target='_blank' href='http://www.flickr.com/photos/thewolf/'&gt;The Wolf&lt;/a&gt;&lt;br/&gt;&lt;/i&gt;&lt;br/&gt;As part of my Masters degree in Computer Science I have to do a final project.  I have decided to use the &lt;a target='_blank' href='http://www.eclipse.org/home/categories/rcp.php'&gt;eclipse Rich Client Platform&lt;/a&gt; as the environment to develop/implement my project.  The idea is to polish my skills on the Rich Client Platform while doing something useful :-), so for the next 3 to 6 months I will be posting my progress and the tips/tricks I find useful when working with RCP.&lt;br/&gt;&lt;br/&gt;Stay tuned.&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=37247df2-1215-806d-b7b6-32894d49661b' alt='' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-2494956850035434118?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/zbgsxzQDNu0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/2494956850035434118/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=2494956850035434118&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/2494956850035434118?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/2494956850035434118?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/zbgsxzQDNu0/masters-degree-final-project.html" title="Masters Degree Final Project" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/08/masters-degree-final-project.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04GRHk6fSp7ImA9WxJaF0g.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-1012719754827680763</id><published>2009-08-08T15:30:00.001-04:00</published><updated>2009-08-08T15:32:05.715-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-08T15:32:05.715-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cloud-computing" /><category scheme="http://www.blogger.com/atom/ns#" term="general" /><title>Risks of Cloud Computing</title><content type="html">&lt;div align="left"&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/schoschie/6879549/"&gt;&lt;img src="http://farm1.static.flickr.com/7/6879549_2c03202523_m_d.jpg" /&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a target="_blank" href="http://www.flickr.com/photos/schoschie/"&gt;schoschie&lt;/a&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;This is an interesting read, specially for those contemplating migrating to the cloud.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://lifehacker.com/5325169/the-hidden-risks-of-cloud-computing" class="top"&gt;The Hidden Risks of Cloud Computing&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-1012719754827680763?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/ovNpCJ36WC4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/1012719754827680763/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=1012719754827680763&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/1012719754827680763?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/1012719754827680763?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/ovNpCJ36WC4/risks-of-cloud-computing.html" title="Risks of Cloud Computing" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.criverapr.com/2009/08/risks-of-cloud-computing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UFRHYyfCp7ImA9WxJVEE4.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-7174937590028486153</id><published>2009-06-26T11:31:00.003-04:00</published><updated>2009-06-26T12:53:35.894-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-26T12:53:35.894-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="joomla php" /><title>Creating Image Maps in Joomla</title><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;div align="left"&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/hagengraf/1948203944/"&gt;&lt;img src="http://farm3.static.flickr.com/2053/1948203944_ec64a88b79_m_d.jpg" /&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a target="_blank" href="http://www.flickr.com/photos/hagengraf/"&gt;cocoate.com&lt;/a&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Lately I've been working on some joomla sites for some friends and in one of the sites my friend wanted to add an imagemap.  So I started researching what was the best way to go about doing this in a joomla site.  I even posted a question in &lt;a target="_blank" href="http://stackoverflow.com/questions/970945/image-map-in-joomla"&gt;Stackoverflow&lt;/a&gt;.  Well my search lead me &lt;a target="_blank" href="http://code.google.com/p/imgmap/wiki/Joomla_setup"&gt;here&lt;/a&gt;, it is a plugin for the default editor(TinyMCE) included in joomla that adds the ability to create and modify image maps in articles.  After following the instructions on that page I still couldn't see the image map button on the TinyMCE toolbar.  I found some installation instructions within the downloaded package and they didn't match the ones on the page, so I decided to give those a try, but there were some problems. &lt;br /&gt;&lt;br /&gt;These are the instructions from the page referenced above:&lt;br /&gt;&lt;blockquote&gt;&lt;ol&gt;&lt;li&gt;copy files from plugin_tinymce{x}.zip to {yourjoomlainstance}/plugins/editors/tinymce/jscripts/tiny_mce/plugins/imgmap/ &lt;/li&gt;&lt;li&gt;edit {yourjoomlainstance}/plugins/editors/tinymce.xml, after 'directionality' add lines: &lt;/li&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;param name="imgmap" type="radio" default="1" label="Imagemap" description="Imagemap"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;option value="0"&amp;gt;Hide&amp;lt;/option&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;option value="1"&amp;gt;Show&amp;lt;/option&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;li&gt;edit {yourjoomlainstance}/plugins/editors/tinymce.php, after 'XHTMLxtras' add lines: &lt;/li&gt;&lt;code&gt;&lt;br /&gt;if ( $imgmap ) {&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$plugins[]&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;= 'imgmap';&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$buttons3[]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 'imgmap';&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$elements[]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 'img[usemap|class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],map[id|name],area[shape|alt|coords|href|target]';&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;go to Joomla admin/Plugin manager/Editor - TinyMCE 2.0/Advanced Parameters, and make sure Imagemap is set to Show. &lt;/li&gt;&lt;li&gt;go to article editor, click on any image, and notice the button highlighted on the toolbar, you are done:) &lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;&lt;br /&gt;These are the instructions found within the downloaded package:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;ol&gt;&lt;li&gt;copy files to plugins/imgmap/&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;set up your instance in the tinyMCE.init method to use the plugin, like:&lt;br /&gt;plugins : "table,save,advhr,advimage,imgmap,...",&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;set up your instance to use the imgmap button, for example:&lt;br /&gt;theme_advanced_buttons3_add : "emotions,iespell,...,imgmap",&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;you might need to add:&lt;br /&gt;extended_valid_elements : "img[usemap|class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],map[id|name],area[shape|alt|coords|href|target]",&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Ok so I had done the first step since I had already done the five ste.s.  I never found the tinyMCE.init mentioned in the second step so I decided to skip the step.  I didn't understand where I was supposed to make the change mentioned in the third step so I decided to skip it as well.  The parameter mentioned in the fourth step took a while to figure out, but I finally found it by going to Plugin Manager--&amp;gt;Editor - TinyMCE and it is in the Plugin Parameters(below is a screenshot). &lt;br /&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/criverapr/3662969288/"&gt;&lt;img src="http://farm4.static.flickr.com/3131/3662969288_6d3cfa0ebd_d.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;After doing this last step I finally got the image map button to show on my TinyMCE toolbar.&lt;br /&gt;&lt;a target="_blank" href="http://www.flickr.com/photos/criverapr/3663019036/"&gt;&lt;img src="http://farm3.static.flickr.com/2448/3663019036_a1f69dc9c8_d.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In conclusion, to get this to work I had to use a combination of both instructions.  The actual instructions should be:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Copy files to plugins/imgmap/&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Edit {yourjoomlainstance}/plugins/editors/tinymce.xml, after 'directionality' add lines:&lt;br /&gt;&lt;/li&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;param name="imgmap" type="radio" default="1" label="Imagemap" description="Imagemap"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;option value="0"&amp;gt;Hide&amp;lt;/option&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;option value="1"&amp;gt;Show&amp;lt;/option&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;li&gt;Edit {yourjoomlainstance}/plugins/editors/tinymce.php, after 'XHTMLxtras' add lines:&lt;/li&gt;&lt;code&gt;&lt;br /&gt;if ( $imgmap ) {&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$plugins[]&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;= 'imgmap';&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$buttons3[]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 'imgmap';&lt;br /&gt;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;$elements[]&amp;#160;&amp;#160;&amp;#160;&amp;#160; = 'img[usemap|class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],map[id|name],area[shape|alt|coords|href|target]';&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;li&gt;Add the following to the "Extended Valid Elements" parameter:&lt;br /&gt;img[usemap|class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],map[id|name],area[shape|alt|coords|href|target]&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-7174937590028486153?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/qMFHdPafXEM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/7174937590028486153/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=7174937590028486153&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/7174937590028486153?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/7174937590028486153?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/qMFHdPafXEM/creating-image-maps-in-joomla.html" title="Creating Image Maps in Joomla" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://www.criverapr.com/2009/06/creating-image-maps-in-joomla.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ANRnk8eSp7ImA9WxJQFE4.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-5267044565794164374</id><published>2009-05-15T10:44:00.002-04:00</published><updated>2009-05-27T10:49:57.771-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-27T10:49:57.771-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="notes" /><category scheme="http://www.blogger.com/atom/ns#" term="domino" /><category scheme="http://www.blogger.com/atom/ns#" term="xpages" /><category scheme="http://www.blogger.com/atom/ns#" term="ideajam" /><category scheme="http://www.blogger.com/atom/ns#" term="ibm" /><category scheme="http://www.blogger.com/atom/ns#" term="lotus" /><title>Notes Net Forums xPages Design Update</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a href='http://www.flickr.com/photos/qisur/3558878173/' target='_blank'&gt;&lt;img src='http://farm4.static.flickr.com/3379/3558878173_900ff05a78_m_d.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a href='http://www.flickr.com/photos/qisur/' target='_blank'&gt;qisur&lt;/a&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;I was looking through the &lt;a href='http://www.ibm.com/developerworks/lotus' target='_blank'&gt;notes.net&lt;/a&gt; forums last night and it occurred to me that they badly need a design update.  So I went to &lt;a href='http://www.ideajam.net/' target='_blank'&gt;ideajam&lt;/a&gt; and searched to make sure that nobody had already created an idea about this, it turns out someone had, so I promoted the idea and I urge everyone that uses the forums to do the same.  I'm a bit surprised as to why IBM hasn't already updated the design of the forums to the new xPages design, I mean it seems like the logical thing to do since it shows off the cool stuff you can do with the new version of domino.  I mean what better way is there to show off xPages?  The forums are used daily by hundreds of users yellowbleeders, newbies, and most importantly people that don't like notes/domino but are forced to work with it where they work.  Who knows maybe these last people will start to like notes/domino a bit more once they see the new cool stuff that can be done with xPages.&lt;br /&gt;&lt;br /&gt;Head over to ideajam and promote the idea if you haven't already--&amp;gt; &lt;a target='_blank' href='http://www.ideajam.net/IdeaJam/P/ij.nsf/0/03DF231FFD5E29798625738C007A1EBF?OpenDocument'&gt;Improve notes.net forums&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-5267044565794164374?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/NFwWhsx1syg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/5267044565794164374/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=5267044565794164374&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/5267044565794164374?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/5267044565794164374?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/NFwWhsx1syg/notes-net-forums-xpages-design-update.html" title="Notes Net Forums xPages Design Update" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/05/notes-net-forums-xpages-design-update.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUARns8eip7ImA9WxJSFk4.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-6405977405749258215</id><published>2009-05-06T14:24:00.001-04:00</published><updated>2009-05-06T14:24:07.572-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-06T14:24:07.572-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="notes" /><category scheme="http://www.blogger.com/atom/ns#" term="lotusscript" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="domino" /><category scheme="http://www.blogger.com/atom/ns#" term="formula" /><category scheme="http://www.blogger.com/atom/ns#" term="lotus" /><title>Code That Makes You Say... Huh? #1</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/aroberts/3311629522/'&gt;&lt;img src='http://farm4.static.flickr.com/3452/3311629522_b4faf8ae54_m_d.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a target='_blank' href='http://www.flickr.com/photos/aroberts/'&gt;Andyrob&lt;/a&gt;&lt;br/&gt;&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;Most of the work I do at my current job is maintenance to existing applications within my team.  A while ago I found an interesting line of code within a lotusscript library.&lt;br/&gt;&lt;br/&gt;&lt;small&gt;&lt;small&gt;TStamp = Evaluate("@Text(@Now)")&lt;/small&gt;&lt;/small&gt;&lt;br/&gt;&lt;br/&gt;It seems the developer that did this doesn't know that there is a Now function in lotusscript.  &lt;br/&gt;&lt;br/&gt;I have found this same line in most of the applications that I maintain and I've also seen it in applications that I don't maintain.  Worst of all most of these applications are used globally and this line is used to capture the date and write it to an audit trail.  What's wrong with this you ask?  Well you don't have a consistent audit trail, for example the date format in the UK is not the same as in the US.  &lt;br/&gt;&lt;br/&gt;Two solutions to fix this would be:&lt;br/&gt;&lt;ol&gt;&lt;li&gt;Make the audit trail date field a multi value date field and use the Now function to append the date value to the field.  With this approach you can use the field properties to adjust the format for displaying the dates.  This allows you to display the dates in the users local format or choose a specific format.&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Use the Format function in combination with the Now function to get the same date format everytime.  With this approach you ensure a consistent date format within the audit trail, but you loose the ability to display the dates in the users local format.&lt;br/&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br/&gt;Have you found code that makes you say Huh in applications you maintain?&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;P.S. I've tried telling the developer that maintains the other applications to modify the code, but that's another story...  &lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=9b6d6f2f-4712-8910-a881-313f75fd88ca' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-6405977405749258215?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/tKxZjVHH3Rs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/6405977405749258215/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=6405977405749258215&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/6405977405749258215?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/6405977405749258215?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/tKxZjVHH3Rs/code-that-makes-you-say-huh-1.html" title="Code That Makes You Say... Huh? #1" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/05/code-that-makes-you-say-huh-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkAHQHw7fSp7ImA9WxJTGUg.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-7780902722808314992</id><published>2009-04-28T15:31:00.001-04:00</published><updated>2009-04-28T17:38:51.205-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-28T17:38:51.205-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="general" /><category scheme="http://www.blogger.com/atom/ns#" term="fundraising" /><category scheme="http://www.blogger.com/atom/ns#" term="dragonboat" /><title>You Can Help!!!</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a href='http://www.flickr.com/photos/scoregasm/220025896/' target='_blank'&gt;&lt;img src='http://farm1.static.flickr.com/96/220025896_98ff1ba90c_m_d.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a href='http://www.flickr.com/photos/scoregasm/' target='_blank'&gt;ViNull&lt;/a&gt;&lt;br/&gt;&lt;/i&gt;&lt;br/&gt;This Saturday I'm going to be competing at the &lt;a target='_blank' href='http://www.tampabaydragonboats.com/'&gt;Tampa Bay Dragonboat Races&lt;/a&gt; as part of the Big Blue Dragons Team.  As part of the event we are asked to help with fund raising with the proceeds going to two great organizations: &lt;span style='font-size: 12pt;'&gt;&lt;u&gt;FACTors&lt;/u&gt; Breast Cancer Patient Support Program at Moffitt Cancer Center and &lt;u&gt;the Florida Aquarium&lt;/u&gt;&lt;/span&gt;.  &lt;br/&gt;&lt;br/&gt;So if you can please &lt;big&gt;&lt;big&gt;&lt;big&gt;&lt;a href='http://www.tampabaydragonboats.com/' target='_blank'&gt;Make a Donation&lt;/a&gt;&lt;br/&gt;&lt;/big&gt;&lt;/big&gt;&lt;/big&gt;&lt;br/&gt;If you make a donation remember to fill out our team name as &lt;b&gt;Big Blue Dragons&lt;/b&gt; and my name as individual paddler &lt;b&gt;Carlos Rivera&lt;/b&gt;.&lt;br/&gt;&lt;big&gt;&lt;big&gt;&lt;big&gt;&lt;br/&gt;&lt;/big&gt;&lt;/big&gt;&lt;/big&gt;&lt;br/&gt;If you live in the Tampa Bay area come watch the races behind the St Pete Times Forum --&amp;gt; &lt;a href='http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=Ice+Palace+Dr+Tampa,+FL+33602&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=34.122306,79.101563&amp;amp;ie=UTF8&amp;amp;ll=27.942815,-82.451642&amp;amp;spn=0.009288,0.019312&amp;amp;z=16&amp;amp;iwloc=A' target='_blank'&gt;Map&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=c3f5576a-a808-8fe8-8c56-88bb9bc10377' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-7780902722808314992?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/P4OjDrknX_8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/7780902722808314992/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=7780902722808314992&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/7780902722808314992?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/7780902722808314992?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/P4OjDrknX_8/you-can-help.html" title="You Can Help!!!" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/04/you-can-help.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQHRX0yeip7ImA9WxVaEk0.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-987698732082809288</id><published>2009-04-08T10:50:00.001-04:00</published><updated>2009-04-08T10:52:14.392-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-08T10:52:14.392-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="domino" /><category scheme="http://www.blogger.com/atom/ns#" term="ui" /><category scheme="http://www.blogger.com/atom/ns#" term="ideajam" /><category scheme="http://www.blogger.com/atom/ns#" term="lotus" /><title>Better Lotus Notes DB Icons</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a href='http://www.flickr.com/photos/theresasthompson/2999130055/' target='_blank'&gt;&lt;img src='http://farm4.static.flickr.com/3034/2999130055_8697986e51_m_d.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a href='http://www.flickr.com/photos/theresasthompson/' target='_blank'&gt;Theresa Thompson&lt;/a&gt;&lt;br/&gt;&lt;/i&gt;&lt;br/&gt;If you haven't done so, please head over to the &lt;a target='_blank' href='http://www.notesdesignblog.com/notesdesignblog/ndblog.nsf/dx/so-just-how-badly-do-you-want-image-resources-as-databse-application-icons.htm'&gt;Notes Design&lt;/a&gt; blog and &lt;a target='_blank' href='http://www.ideajam.net/IdeaJam/P/ij.nsf/0/136357EEA0B19EE886257386005D86F8?OpenDocument'&gt;ideajam&lt;/a&gt; and give your input.  We have been asking for application icons to allow more colors for as long as I can remember.  The application icon is the first thing the user sees and let's face it, 16 color icons does make the application look like legacy software.  So anyways just head over to ideajam and promote the ideas the more votes it has the more likely it will be done.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.ideajam.net/IdeaJam/P/ij.nsf/0/8412783B0AD729C38625737E0058B263?OpenDocument' target='_blank'&gt;Allow Notes Database icon to have 24-bit (=16.7 million) colors&lt;/a&gt;&lt;br/&gt;&lt;a href='http://www.ideajam.net/IdeaJam/P/ij.nsf/0/136357EEA0B19EE886257386005D86F8?OpenDocument' target='_blank'&gt;Allow .png and .svg image resources&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=7a136462-7558-8592-b405-f5e425e829a6' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-987698732082809288?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/w6HHRYmH4Ps" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/987698732082809288/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=987698732082809288&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/987698732082809288?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/987698732082809288?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/w6HHRYmH4Ps/better-lotus-notes-db-icons.html" title="Better Lotus Notes DB Icons" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/04/better-lotus-notes-db-icons.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEDRXk6eip7ImA9WxVaEk0.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-276366811090157515</id><published>2009-04-06T15:25:00.001-04:00</published><updated>2009-04-08T10:24:34.712-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-08T10:24:34.712-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="notes" /><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="domiclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="domino" /><title>Better Java Development with Domiclipse</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I have been using &lt;a target='_blank' href='http://www.domiclipse.com/domiclipse/web.nsf'&gt;Domiclipse&lt;/a&gt; for over 2 years now and it is a great tool when doing java development within Notes.  It's basically a set of plugins that allow you to import a notes application as a java project into eclipse and do development using all the great tools included in eclipse.  Then it lets you sync your changes back into your notes application with a click of a button.  Anyway, I decided to post a step-by-step tutorial of how to install Domiclipse into your existing copy of eclipse. &lt;br/&gt;&lt;br/&gt;First we open up the eclipse environment and we click on the &lt;b&gt;Help--&amp;gt;Software Updates...&lt;/b&gt; menu item.&lt;br/&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/criverapr/3419020510/'&gt;&lt;img style='max-width: 800px;' src='http://farm4.static.flickr.com/3612/3419020510_b6edc6f4b5_d.jpg'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Next we have to add the update site url for Domiclipse.  On the Software Update and Add-ons window click on the &lt;b&gt;Available Software&lt;/b&gt; tab and then click on the &lt;b&gt;Add Site...&lt;/b&gt; button on the right.&lt;br/&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/criverapr/3419020532/'&gt;&lt;img style='max-width: 800px;' src='http://farm4.static.flickr.com/3642/3419020532_e36366dbf8_d.jpg'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Next we add &lt;b&gt;http://www.domiclipse.com/domiclipse/update.nsf&lt;/b&gt; as the location in the &lt;b&gt;Add Site&lt;/b&gt; window and click on OK.&lt;br/&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/criverapr/3418211037/'&gt;&lt;img style='max-width: 800px;' src='http://farm4.static.flickr.com/3018/3418211037_9f6863d13c_d.jpg'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Once we have added the site to the &lt;b&gt;Available Software&lt;/b&gt;, expand the site by clicking on the + on the left of the new site and this will fetch the available plugins from the Domiclipse site.  Next we want to expand the eclipse category and check the box next to the Domiclipse Java Feature.  The next thing to do is click the &lt;b&gt;Install...&lt;/b&gt; button on the right and this will start the installation.&lt;br/&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/criverapr/3418211055/'&gt;&lt;img style='max-width: 800px;' src='http://farm4.static.flickr.com/3590/3418211055_089f7ab442_d.jpg'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;The next screen will ask you to confirm your choice, just click on the &lt;b&gt;Next &amp;gt;&lt;/b&gt;&lt;br/&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/criverapr/3418211083/'&gt;&lt;img style='max-width: 800px;' src='http://farm4.static.flickr.com/3364/3418211083_c955573f04_d.jpg'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Next you will be asked to accept the license, here you will have to click on the &lt;b&gt;I accept the terms of the license agreement&lt;/b&gt; radio button and then click on the &lt;b&gt;Finish&lt;/b&gt; button.&lt;br/&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/criverapr/3418211099/'&gt;&lt;img style='max-width: 800px;' src='http://farm4.static.flickr.com/3305/3418211099_d99c0ff7b4_d.jpg'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;After the installation finishes you will need to shutdown eclipse and open the properties for your eclipse shortcut.  Here you will have to edit the &lt;b&gt;Start in:&lt;/b&gt; property to match your Notes program directory in my case it is C:\Notes&lt;br/&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/criverapr/3419020608/'&gt;&lt;img style='max-width: 800px;' src='http://farm4.static.flickr.com/3580/3419020608_04179f6acd_d.jpg'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;The final step would be to start up eclipse and verify that you have the Domiclipse icons on your toolbar.&lt;br/&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/criverapr/3418211113/'&gt;&lt;img style='max-width: 800px;' src='http://farm4.static.flickr.com/3380/3418211113_f1b6e23c1b_d.jpg'/&gt;&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Congratulations you have just installed Domiclipse into your eclipse environment.  Hope this helps some of you new that are new to java and eclipse.  Domino designer 8.5.1 is supposed to have most of the eclipse features, but Domiclipse will still be a great asset to those that don't upgrade right away, which I'm guessing is most of us.&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=f118d050-5f6d-855b-bad8-c37b41cc95c4' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-276366811090157515?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/AK9nB1fDObs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/276366811090157515/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=276366811090157515&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/276366811090157515?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/276366811090157515?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/AK9nB1fDObs/better-java-development-with-domiclipse.html" title="Better Java Development with Domiclipse" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://www.criverapr.com/2009/04/better-java-development-with-domiclipse.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYNQH4zeSp7ImA9WxVbEEw.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-2599295790375861489</id><published>2009-03-25T13:56:00.001-04:00</published><updated>2009-03-25T17:23:11.081-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-25T17:23:11.081-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="general" /><category scheme="http://www.blogger.com/atom/ns#" term="ibm" /><title>IBM Preparing For More Layoffs and Offshoring</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a href='http://www.flickr.com/photos/fireflythegreat/2845637227/' target='_blank'&gt;&lt;img src='http://farm4.static.flickr.com/3130/2845637227_f2dba69ea4_m_d.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a href='http://www.flickr.com/photos/fireflythegreat/' target='_blank'&gt;fireflythegreat&lt;/a&gt;&lt;br/&gt;&lt;/i&gt;&lt;br/&gt;Well I just read the following &lt;a target='_blank' href='http://www.cnbc.com/id/29878283'&gt;IBM Preparing For US Layoffs in Services Unit&lt;/a&gt; and I'm pissed off and disgusted at how companies are using the "global recession" as an excuse to offshore more jobs.  I mean, don't they realize that maybe this is one of the factors causing this recession?  I don't think they understand that the biggest consumer of global products is the US middle class and they are killing that class.  Of course things are going to keep getting worst if companies keep taking jobs away from that middle class, obviously people are not going to have money to buy products.  &lt;br/&gt;&lt;br/&gt;Another thing I've noticed is that some companies are using the "recession" as an excuse to lower employee salaries, but what I don't see happening is product costs going down.  Now doesn't this mean that at some point people are not going to afford buying these products?  And doesn't this mean less profit for these same companies?&lt;br/&gt;&lt;br/&gt;I don't know but if companies want to keep making a profit, it is in their best interest to STOP OFFSHORING JOBS AND INSTEAD BRING THEM BACK TO THE US!!!&lt;br/&gt;&lt;br/&gt;Now, don't get me wrong. I know this isn't the only thing causing this financial crisis, but it sure is one of the biggest problems.&lt;br/&gt;&lt;br/&gt;What do you think?&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=d1dbbefb-5998-4e34-a8fb-b85c75ce522d' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-2599295790375861489?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/9nBvoxdrgOg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/2599295790375861489/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=2599295790375861489&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/2599295790375861489?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/2599295790375861489?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/9nBvoxdrgOg/ibm-preparing-for-more-layoffs-and.html" title="IBM Preparing For More Layoffs and Offshoring" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/03/ibm-preparing-for-more-layoffs-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UBQ3szfCp7ImA9WxJVEE4.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-2774210214630033397</id><published>2009-03-18T12:03:00.002-04:00</published><updated>2009-06-26T12:54:12.584-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-26T12:54:12.584-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="php eclipse pdt" /><title>Learning some PHP</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a href='http://www.flickr.com/photos/calevans/2265863104/' target='_blank'&gt;&lt;img src='http://farm3.static.flickr.com/2193/2265863104_0b7d4f49e5_m_d.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a href='http://www.flickr.com/photos/calevans/' target='_blank'&gt;CalEvans&lt;/a&gt;&lt;br/&gt;&lt;/i&gt;&lt;br/&gt;During the last few weeks I decided to learn some PHP since I've had some requests to work with &lt;a href='http://www.joomla.org/' target='_blank'&gt;joomla&lt;/a&gt;.  For those that don't know joomla is a opensource CMS built on PHP.  Also PHP seems to be a big deal now a days, most of the jobs on freelance sites require you to know PHP and it doesn't hurt to know a bit about another technology.  So first thing I did was setup my dev environment.  I downloaded &lt;a href='http://www.apachefriends.org/en/xampp.html' target='_blank'&gt;XAMPP&lt;/a&gt; which is an all in one Apache distribution containing MySQL, PHP and Perl.  Next since I'm a fan of eclipse I downloaded the &lt;a href='http://www.eclipse.org/pdt/' target='_blank'&gt;eclipse PDT (PHP Development Tools Project)&lt;/a&gt;.  After that I found &lt;a href='http://www.latenightpc.com/blog/archives/2008/05/24/a-complete-lamp-development-environment-xampp-eclipse-pdt-and-xdebug' target='_blank'&gt;this&lt;/a&gt; very helpful article of how to configure the eclipse PDT and XAMPP as to have a working development environment on my PC.  After having the development environment setup I searched for some PHP tutorials to go through and found &lt;a href='http://www.w3schools.com/' target='_blank'&gt;w3schools.com&lt;/a&gt; had a very simple walkthrough of examples for PHP (&lt;a href='http://www.w3schools.com/PHP/DEfaULT.asP' target='_blank'&gt;PHP Tutorial&lt;/a&gt;).  In the end I got a very good feel of what can be done with PHP and I feel comfortable digging into some more advanced code.&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=27cfae6e-7cff-431a-800d-1b9ed562991a' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-2774210214630033397?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/KL4vH1Cn_qU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/2774210214630033397/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=2774210214630033397&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/2774210214630033397?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/2774210214630033397?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/KL4vH1Cn_qU/learning-some-php.html" title="Learning some PHP" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/03/learning-some-php.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AERHg_cSp7ImA9WxVWFE0.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-2999869221754934619</id><published>2009-02-23T09:56:00.001-05:00</published><updated>2009-02-23T10:08:25.649-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-23T10:08:25.649-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="portlet factory" /><title>WASCE Datasource in Portlet Factory</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/bcnbits/2198525378/'&gt;&lt;img src='http://farm3.static.flickr.com/2205/2198525378_c3d4e23ecb_m_d.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a target='_blank' href='http://www.flickr.com/photos/bcnbits/'&gt;MorBCN&lt;/a&gt;&lt;br/&gt;&lt;/i&gt;&lt;br/&gt;This weekend I was messing around with Websphere portlet factory 6.1.2 and trying to set up a datasource to the included &lt;a target='_blank' href='http://www-01.ibm.com/software/webservers/appserv/community/'&gt;WebSphere Application Server Community Edition&lt;/a&gt; proved to be more of a challenge than I had anticipated.  I found &lt;a href='http://www-10.lotus.com/ldd/pfwiki.nsf/dx/development-was-ce-deployment-scenario' target='_blank'&gt;Development WAS CE Deployment Scenario&lt;/a&gt; in the Portlet Factory wiki which helped, but it seems to need a fix for the new version of Portlet Factory.  In the datasource creation section it describes changes to two files, one is within your Portlet Factory project (WEB-INF\bin\deployment\wasce.web.xml) and the other is supposed to be within one of the folders of the Portlet Factory designer installation (&lt;designer-install-root&gt;WPFDesigner\FeatureSets\Web-App_6.0.2\Deployment\antscripts\templates\WEB-INF\geronimo-web.xml).  It seems this was the case for Portlet Factory 6.0.2, but for 6.1.2 I couldn't find the second file in the specified location.  After searching all over the Portlet factory designer installation files I decided to search the workspace since it was the only other logical place to search, and BINGO!  The geronimo-web.xml is now included in the same directory as the wasce.web.xml.&lt;/designer-install-root&gt;&lt;/div&gt;&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=2d2ee8a8-f0df-4dec-8c08-a56c40516131' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-2999869221754934619?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/pjXcwGK1_gE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/2999869221754934619/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=2999869221754934619&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/2999869221754934619?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/2999869221754934619?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/pjXcwGK1_gE/wasce-datasource-in-portlet-factory.html" title="WASCE Datasource in Portlet Factory" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://www.criverapr.com/2009/02/wasce-datasource-in-portlet-factory.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ADRXYzeSp7ImA9WxVQGEg.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-389692724969450224</id><published>2009-02-05T13:07:00.001-05:00</published><updated>2009-02-05T13:49:34.881-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-05T13:49:34.881-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="general" /><category scheme="http://www.blogger.com/atom/ns#" term="ibm" /><title>IBM Offering to Move People to India</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/21376829@N05/3254573408'&gt;&lt;img height='185' width='251' src='http://farm4.static.flickr.com/3514/3254573408_d24cb281ba.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a target='_blank' href='http://www.flickr.com/photos/atterhorn/'&gt;atterhorn&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;/i&gt;I read an interesting article on the &lt;a target='_blank' href='http://www.informationweek.com/news/management/outsourcing/showArticle.jhtml?articleID=213000389'&gt;InformationWeek&lt;/a&gt; site today, where IBM explains that it has a new program called "Project Match" that consists of helping laid off workers move to new jobs in developing markets like India, China, and Brazil.&lt;br/&gt;&lt;br/&gt;So let me get this straight, they not only offshore jobs, but now they want to offshore people too?  Isn't the off shoring one of the mayor reasons the economy is the way it is?  Sorry but I'm just against the off shoring.  The experiences some of my clients have gone through with off shoring have proved that it is not all that it is made out to be.  Anyway read the &lt;a target='_blank' href='http://www.informationweek.com/news/management/outsourcing/showArticle.jhtml?articleID=213000389'&gt;article&lt;/a&gt; to get all the details on IBM's "Project Match".  &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-389692724969450224?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/sAL4rSLY6bE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/389692724969450224/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=389692724969450224&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/389692724969450224?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/389692724969450224?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/sAL4rSLY6bE/ibm-offering-to-move-people-to-india.html" title="IBM Offering to Move People to India" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/02/ibm-offering-to-move-people-to-india.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8ARnk7fSp7ImA9WxVRGUQ.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-2887505706523764313</id><published>2009-01-26T13:17:00.001-05:00</published><updated>2009-01-26T13:17:27.705-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-26T13:17:27.705-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="firefox" /><category scheme="http://www.blogger.com/atom/ns#" term="lotusphere2009" /><title>Download All Lotusphere 2009 Slides at Once</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Nice blog post that explains how to download all lotusphere slides by &lt;a href='http://blog.mindplan.com/mindplan/blog.nsf/' target='_blank'&gt;&lt;span class='name'&gt;Karsten Lehmann&lt;/span&gt;&lt;/a&gt; --&amp;gt;  &lt;a href='http://blog.mindplan.com/mindplan/blog.nsf/dx/24.01.2009185410KLENZE.htm' target='_blank'&gt;How to automatically download all the Lotusphere slides&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-2887505706523764313?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/Q1ZpGiq7_WU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/2887505706523764313/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=2887505706523764313&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/2887505706523764313?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/2887505706523764313?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/Q1ZpGiq7_WU/download-all-lotusphere-2009-slides-at.html" title="Download All Lotusphere 2009 Slides at Once" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/01/download-all-lotusphere-2009-slides-at.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQBRHg-fip7ImA9WxVQFkw.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-3186676390006494673</id><published>2009-01-23T16:36:00.001-05:00</published><updated>2009-02-02T17:22:35.656-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-02T17:22:35.656-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lotusphere2009" /><title>Lotusphere 2009</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;a href='http://www.flickr.com/photos/74146337@N00/3210112619'&gt;&lt;img src='http://farm4.static.flickr.com/3089/3210112619_c5bedf782f.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By&lt;/i&gt; &lt;a href='http://www.flickr.com/photos/thomas-lang/' target='_blank'&gt;thomas-lang&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Wow!  I had five great days of sessions and fun at Lotusphere 2009.  The &lt;a href='http://www.blueman.com/' target='_blank'&gt;Blue Man Group&lt;/a&gt; was the entertainment for the opening general session and the guess speaker was &lt;a target='_blank' href='http://en.wikipedia.org/wiki/Dan_Aykroyd'&gt;Dan Aykroyd&lt;/a&gt;.  Like all other years I had a hard time selecting the sessions to go to since there were so many great sessions to choose from.  For the closing session we got to listen to a great speech by &lt;a target='_blank' href='http://en.wikipedia.org/wiki/Benjamin_Zander'&gt;Bejamin Zander&lt;/a&gt;.  He even got all the lotus geeks in the closing session to sing "Ode to Joy" in German.  This was the best closing session I've been to so far at Lotusphere.  &lt;br/&gt;&lt;br/&gt;After the closing session I went to the &lt;a target='_blank' href='http://bloggeropen.com/'&gt;Blogger Open&lt;/a&gt; for some mini golf fun.  Thanks &lt;a target='_blank' href='http://www.curiousmitch.com/curiousmitch/mitch2.nsf'&gt;CuriousMitch&lt;/a&gt; for organizing this event, it was fun and a great way to meet others from the community.&lt;br/&gt;&lt;br/&gt;I will definitely be back for Lotusphere 2010.  &lt;br/&gt;&lt;br/&gt;See you all there!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-3186676390006494673?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/bR8sDssb7TI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/3186676390006494673/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=3186676390006494673&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/3186676390006494673?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/3186676390006494673?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/bR8sDssb7TI/lotusphere-2009.html" title="Lotusphere 2009" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/01/lotusphere-2009.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMGSX0ycCp7ImA9WxVQFkw.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-3461932272103405446</id><published>2009-01-18T01:03:00.000-05:00</published><updated>2009-02-02T17:23:48.398-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-02T17:23:48.398-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lotusphere2009" /><title>Lotusphere 2009 A Bit Late But Made It</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/34683945@N00/2322771906'&gt;&lt;img height='185' width='251' src='http://farm3.static.flickr.com/2043/2322771906_56a2010eca.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By&lt;/i&gt; &lt;a href='http://www.flickr.com/photos/kbuilder/' target='_blank'&gt;kbuilder&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Well I made it to the Dolphin 20 minutes before registration closed.  I wanted to make it to B.A.L.D. but didn't make it on time.  I have a very busy schedule with all the sessions I plan to attend, but I'm looking forward to meeting some of the other bloggers in person.  I will also be blogging all the cool stuff I see this week so stay tuned.&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-3461932272103405446?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/K4Jg6BA4N84" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/3461932272103405446/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=3461932272103405446&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/3461932272103405446?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/3461932272103405446?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/K4Jg6BA4N84/lotusphere-2009-bit-late-but-made-it.html" title="Lotusphere 2009 A Bit Late But Made It" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/01/lotusphere-2009-bit-late-but-made-it.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIEQnk6cCp7ImA9WxVQFkw.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-4926871959386329542</id><published>2009-01-11T13:57:00.000-05:00</published><updated>2009-02-02T17:25:03.718-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-02T17:25:03.718-05:00</app:edited><title>Lotus Notes 8.5 First Impressions</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/9009028@N06/3188551442'&gt;&lt;img height='185' width='251' src='http://farm4.static.flickr.com/3125/3188551442_4329b3f856.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a href='http://www.flickr.com/photos/ineal/' target='_blank'&gt;ineal&lt;/a&gt;&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;Well I finally got around to upgrading my Lotus Notes 8.5 Beta installations on my iMac and on my Thinkpad at home yesterday.  I'm happy to say that performance is way better than that of the beta and also of the 8.0.2 client, specially loading time.  I also noticed that memory usage is also less on 8.5.  I plan on upgrading my development server later today so I will post a follow up on my impressions on that.  &lt;br/&gt;&lt;br/&gt;Great job &lt;a href='http://www.ibm.com' target='_blank'&gt;IBM&lt;/a&gt;!&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-4926871959386329542?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/bv4VkR00LCE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/4926871959386329542/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=4926871959386329542&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/4926871959386329542?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/4926871959386329542?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/bv4VkR00LCE/lotus-notes-85-first-impressions.html" title="Lotus Notes 8.5 First Impressions" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/01/lotus-notes-85-first-impressions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEGQnc7eip7ImA9WxVQFkw.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-4555443006797817957</id><published>2009-01-05T11:05:00.001-05:00</published><updated>2009-02-02T17:27:03.902-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-02T17:27:03.902-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="notes" /><category scheme="http://www.blogger.com/atom/ns#" term="lotusscript" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="logging" /><category scheme="http://www.blogger.com/atom/ns#" term="lotus" /><title>Lotus Notes DB User Activity</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a href='http://www.flickr.com/photos/29385160@N02/3144236127' target='_blank'&gt;&lt;img height='185' width='251' src='http://farm4.static.flickr.com/3222/3144236127_34720826d1.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By &lt;a href='http://www.flickr.com/photos/bluelakefreepress/' target='_blank'&gt;bluelakefreepress&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;/i&gt;Last week I was asked to provide some stats from an existing application which didn't have logging built into it.  After extensively searching on google and other search engines the only method I found was to use the NotesUserActivity class from the &lt;a target='_blank' href='http://www-10.lotus.com/ldd/sandbox.nsf/ecc552f1ab6e46e4852568a90055c4cd/c12a2fd2142758b68525688d00708397?OpenDocument'&gt;Lotus Sandbox&lt;/a&gt;.  This class uses the C api to get at the user activity data of a lotus notes database.&lt;br/&gt;&lt;br/&gt;I know the user activity is in no way a replacement for building logging into the application, but this is an existing application which didn't have logging.  The issue I ran into was that the user activity in a notes database only holds 1400 records, so this means that if the database is used heavily you might only get a few hours of usage data.  Luckily the application I'm reporting on isn't used that heavily so I got about a month worth of usage data, but I was asked to provide stats since the release of the application.  So I was just wondering if there another way to get usage data from a lotus notes application that doesn't have logging built into it?&lt;br/&gt;&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-4555443006797817957?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/ERa0WaaMBkk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/4555443006797817957/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=4555443006797817957&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/4555443006797817957?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/4555443006797817957?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/ERa0WaaMBkk/lotus-notes-db-user-activity.html" title="Lotus Notes DB User Activity" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2009/01/lotus-notes-db-user-activity.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEDRHwycCp7ImA9WxVQFkw.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-7603788959972702042</id><published>2008-12-15T11:20:00.001-05:00</published><updated>2009-02-02T17:27:55.298-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-02T17:27:55.298-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="vm" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="utilities" /><title>Trim Down Windows XP for Your Virtual Machines</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;&lt;div align='left'&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/27122145@N04/3100431645'&gt;&lt;img height='185' width='251' style='float: none;' src='http://farm4.static.flickr.com/3174/3100431645_96a0e193a9.jpg'/&gt;&lt;/a&gt; &lt;i&gt;Photo By&lt;/i&gt; &lt;a href='http://www.flickr.com/photos/nebelcarrillo/' target='_blank'&gt;nebelcarrillo&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This article from &lt;a target='_blank' href='http://lifehacker.com/374376/trim-down-windows-to-the-bare-essentials'&gt;lifehacker&lt;/a&gt; explains how to remove unnecessary components of your WinXP installation cd.  This allows you to install WinXP on older hardware or virtual machines where resources are sometimes lacking.  They also mention an application to trim down existing installations of WinXP.  I'm trying it out on one of my existing virtual machines and will blog later on my findings.&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-7603788959972702042?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/pNYrtK_yCU4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/7603788959972702042/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=7603788959972702042&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/7603788959972702042?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/7603788959972702042?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/pNYrtK_yCU4/trim-down-windows-xp-for-your-virtual.html" title="Trim Down Windows XP for Your Virtual Machines" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2008/12/trim-down-windows-xp-for-your-virtual.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQMQX8-fCp7ImA9WxRbFE4.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-4123305054131655291</id><published>2008-12-04T19:53:00.000-05:00</published><updated>2008-12-04T19:53:00.154-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-04T19:53:00.154-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="notes" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="domino" /><category scheme="http://www.blogger.com/atom/ns#" term="dxl" /><category scheme="http://www.blogger.com/atom/ns#" term="lotus" /><title>Embbeded Docs in Form</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I ran into a strange situation the other day in a lotus notes application I have to maintain at work.  When I edited the main form the first time and saved it, it took over 5 minutes to save!!  When I looked at the size of the template is was over 90MB, it didn't have any data in it, and the % utilized was 99%.  So first thing I tried was to delete all design elements except for the form and compacted the template, that didn't help.  Next I decided to export the form using DXL, since opening it in the designer didn't show anything out of the ordenary.&lt;br/&gt;&lt;br/&gt;What I found was very interesting, at the end of the form element there seemed to be over 5 MS word documents "attached".  I also found some weird fields that seem to be stuff attached to the form also.  Using the technique described in &lt;a target='_blank' href='http://www-10.lotus.com/ldd/ddwiki.nsf/dx/view-of-design-elements.htm'&gt;Make a Notes view list design elements&lt;/a&gt; I created an agent to create a view to show the form element, then I created an action to delete the weird fields from the form.  As soon as I ran that action and compacted the template it went down to 30MB.&lt;br/&gt;&lt;br/&gt;I for one have never seen this situation before, have any of you ran into something similar?  What was the cause?&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-4123305054131655291?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/sK9rnDnw93E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/4123305054131655291/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=4123305054131655291&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/4123305054131655291?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/4123305054131655291?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/sK9rnDnw93E/embbeded-docs-in-form.html" title="Embbeded Docs in Form" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2008/12/embbeded-docs-in-form.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcCRX06cSp7ImA9WxRUFkk.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-4173627090227285742</id><published>2008-11-25T09:38:00.001-05:00</published><updated>2008-11-25T15:47:44.319-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-25T15:47:44.319-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lotusscript" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="domino" /><category scheme="http://www.blogger.com/atom/ns#" term="ui" /><title>Notes Views with Colors</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;After reading Jake Howlett's blog entry &lt;a target='_blank' href='http://www.codestore.net/store.nsf/unid/BLOG-20081120'&gt;How-To: Shade Your Views Based on Document's Age&lt;/a&gt;, I wanted to try the technique out on an application that runs on the lotus notes client and I would use the built in feature in Notes for assigning colors to rows.&lt;br /&gt;&lt;br /&gt;To use this feature you check the "Use value as color" property of the column&lt;br /&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/criverapr/3058295695/' title='color-col-props by criverapr, on Flickr'&gt;&lt;img width='307' height='311' src='http://farm4.static.flickr.com/3004/3058295695_2e0335e23e.jpg' alt='color-col-props'/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then, assign the column a formula that will evaluate to either a list of three numbers between 0 to 255 or a list of six numbers also between 0 to 255.  If you send only three values that will become the RGB color for the text and if you send six values the first three will become the RGB for the background and the other three will be for the text.  It is also good to mention that these colors will take effect on all columns right of the color column, so it is not a good idea to create this column at the end of the view.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Example of values for column:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;255:0:0  -  Red Text&lt;br /&gt;143:255:87:0:0:0  -  Green background with black text&lt;br /&gt;255:0:0:0:0:0  -  Red background with black text&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Here is a screenshot of the resulting view.  By adding these visual indicators I could even remove the creation date column and users would be able to tell the age of the documents.&lt;br /&gt;&lt;a target='_blank' href='http://www.flickr.com/photos/criverapr/3059132146/' title='colored-view by criverapr, on Flickr'&gt;&lt;img width='554' height='138' src='http://farm4.static.flickr.com/3153/3059132146_5269df142a_o.png' alt='colored-view'/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The documents in the application I'm planning to use this technique on are measured in minutes and not on days, so I would schedule the agent to update the view column formula every 5 minutes instead of nightly.&lt;br /&gt;&lt;br /&gt;So now I ask, what kind of performance impact would this have on the database if any?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-4173627090227285742?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/pXceOYrgvYQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/4173627090227285742/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=4173627090227285742&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/4173627090227285742?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/4173627090227285742?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/pXceOYrgvYQ/notes-views-with-colors.html" title="Notes Views with Colors" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2008/11/notes-views-with-colors.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8EQX07eip7ImA9WxRVEEo.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-2035842479982633951</id><published>2008-11-07T10:36:00.001-05:00</published><updated>2008-11-07T10:46:40.302-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-07T10:46:40.302-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lotusscript" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="domino" /><title>Lotusscript Dir Function Causes Domino Crash</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;After many debugging and troubleshooting efforts &lt;a href='http://www.ibm.com' target='_blank'&gt;IBM&lt;/a&gt; has provided a hotfix for the issue I discussed in &lt;a href='http://criverapr.blogspot.com/2008/10/attachment-extractfile-limitation.html'&gt;Attachment ExtractFile Limitation&lt;/a&gt; post.  It seems that the lotusscript Dir function causes a server crash in version 7.0.2 and it seems that it may also be the case for version 8 and probably pre 7 versions.  When a path longer than 255 characters is passed to the Dir function it causes a crash instead of throwing an error.  This can easily be fixed by checking the path length before sending it to the Dir function, but it was a bit troublesome to track down because you don't expect the server to crash when calling a simple function so most of the time attention is focused on other more complex functions and third-party functions.&lt;br/&gt;&lt;br/&gt;Hope this helps anybody that runs into the same situation.&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-2035842479982633951?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/6GyZ8eTDW-Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/2035842479982633951/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=2035842479982633951&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/2035842479982633951?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/2035842479982633951?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/6GyZ8eTDW-Q/lotusscript-dir-function-crash.html" title="Lotusscript Dir Function Causes Domino Crash" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2008/11/lotusscript-dir-function-crash.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQHRnY4eip7ImA9WxRWGEw.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-7091223973193237834</id><published>2008-11-04T10:25:00.001-05:00</published><updated>2008-11-04T10:25:37.832-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-04T10:25:37.832-05:00</app:edited><title>Gmail Less Downtime Than Exchange &amp; Lotus</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Found this blog entry interesting.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://googleblog.blogspot.com/2008/10/what-we-learned-from-1-million.html' target='_blank'&gt;Gmail Downtime Less Than Exchange &amp;amp; Lotus&lt;/a&gt;&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-7091223973193237834?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/HH12WvWswXU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/7091223973193237834/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=7091223973193237834&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/7091223973193237834?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/7091223973193237834?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/HH12WvWswXU/gmail-less-downtime-than-exchange-lotus.html" title="Gmail Less Downtime Than Exchange &amp;amp; Lotus" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://www.criverapr.com/2008/11/gmail-less-downtime-than-exchange-lotus.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8NRHw6fCp7ImA9WxVUEkk.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-4849986123342666930</id><published>2008-10-20T22:00:00.001-04:00</published><updated>2009-03-16T19:58:15.214-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-16T19:58:15.214-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="lotusscript" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="LS2J" /><category scheme="http://www.blogger.com/atom/ns#" term="excel" /><category scheme="http://www.blogger.com/atom/ns#" term="poi" /><category scheme="http://www.blogger.com/atom/ns#" term="apache" /><title>Using POI to Export Lotus Notes Data to Excel</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;As those who have been reading my previous posts have seen, I have been working on a project that involves exporting meta data from Lotus Notes documents to an excel sheet.  I'm using the CreateObject("Excel.Application") function to do this.  The problem is that the agents that do this export are scheduled and run on a server.  This means that excel has to be installed on that server for the process to work and most of the admins that I had to work with did not like the idea of having excel on a server they have to support.  &lt;br/&gt;&lt;br/&gt;For this reason I started messing around with the &lt;a href='http://poi.apache.org/' target='_blank'&gt;apache project POI&lt;/a&gt;.  This project has pure java ports of file formats based on Microsoft's OLE 2 Compound&lt;br/&gt;        Document Format.  So it has classes for creating excel spreadsheets without having excel installed on the server, which would make the admins happy.  So I created this simple class to create and write rows to an excel file.&lt;br/&gt;&lt;br/&gt;&lt;font color='#000000'&gt;&lt;small&gt;&lt;small&gt;package com.clr.excel;&lt;br/&gt;&lt;br/&gt;import java.io.FileOutputStream;&lt;br/&gt;import org.apache.poi.hssf.usermodel.HSSFRichTextString;&lt;br/&gt;import org.apache.poi.hssf.usermodel.HSSFRow;&lt;br/&gt;import org.apache.poi.hssf.usermodel.HSSFSheet;&lt;br/&gt;import org.apache.poi.hssf.usermodel.HSSFWorkbook;&lt;br/&gt;&lt;br/&gt;public class ExcelWriter {&lt;br/&gt;    private int curRow;&lt;br/&gt;    private HSSFWorkbook curWB;&lt;br/&gt;    private HSSFSheet curSheet;&lt;br/&gt;&lt;br/&gt;    public boolean writeExcelHeader(String[] rowValues) {&lt;br/&gt;        try {&lt;br/&gt;            this.curRow = 0;&lt;br/&gt;            this.curWB = new HSSFWorkbook();&lt;br/&gt;            this.curSheet = this.curWB.createSheet("Sheet1");&lt;br/&gt;&lt;br/&gt;            //This will write the header row&lt;br/&gt;            return(this.writeToExcel(rowValues));&lt;br/&gt;        } catch(Exception ex) {&lt;br/&gt;            ex.printStackTrace();&lt;br/&gt;            return(false);    &lt;br/&gt;        }&lt;br/&gt;        &lt;br/&gt;    }&lt;br/&gt;&lt;br/&gt;    public boolean writeToExcel(String[] rowValues) {&lt;br/&gt;&lt;br/&gt;        try {&lt;br/&gt;&lt;br/&gt;            HSSFRow row = this.curSheet.createRow(this.curRow);&lt;br/&gt;&lt;br/&gt;            for(int i = 0; i &amp;lt; rowValues.length; i++) {&lt;br/&gt;                row.createCell(i).setCellValue(new HSSFRichTextString(rowValues[i]));&lt;br/&gt;            }&lt;br/&gt;&lt;br/&gt;            this.curRow++;&lt;br/&gt;&lt;br/&gt;        } catch(Exception ex) {&lt;br/&gt;            ex.printStackTrace();&lt;br/&gt;            return(false);&lt;br/&gt;        }&lt;br/&gt;&lt;br/&gt;        return(true);&lt;br/&gt;    }&lt;br/&gt;&lt;br/&gt;    public boolean writeExcelFile(String fileName) {&lt;br/&gt;        try {&lt;br/&gt;            //Auto fit content&lt;br/&gt;            for(int i = 0; i &amp;lt; 20; i++) {&lt;br/&gt;                this.curSheet.autoSizeColumn((short)i);&lt;br/&gt;            }&lt;br/&gt;&lt;br/&gt;            // Write the output to a file&lt;br/&gt;            FileOutputStream fileOut = new FileOutputStream(fileName);&lt;br/&gt;            this.curWB.write(fileOut);&lt;br/&gt;            fileOut.close();&lt;br/&gt;        } catch(Exception ex) {&lt;br/&gt;            ex.printStackTrace();&lt;br/&gt;            return(false);&lt;br/&gt;        }&lt;br/&gt;        &lt;br/&gt;        return(true);&lt;br/&gt;&lt;br/&gt;    }&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;}&lt;/small&gt;&lt;/small&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;Again I used LS2J to use this class from my lotusScript agent.&lt;br/&gt;&lt;br/&gt;These declarations are needed to use LS2J&lt;br/&gt;&lt;small&gt;&lt;small&gt;&lt;br/&gt;Uselsx "*javacon"&lt;br/&gt;Use "ExcelWriter"&lt;/small&gt;&lt;/small&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Agent to create excel sheet.&lt;br/&gt;&lt;br/&gt;&lt;small&gt;&lt;small&gt;Sub Initialize&lt;br/&gt;    On Error Goto ErrorHandler&lt;br/&gt;    Dim session As New NotesSession&lt;br/&gt;    Dim db As NotesDatabase&lt;br/&gt;    Dim view As NotesView&lt;br/&gt;    Dim doc As NotesDocument&lt;br/&gt;    Dim js As JAVASESSION&lt;br/&gt;    Dim xlWriterClass As JAVACLASS&lt;br/&gt;    Dim xlWriterObject As JavaObject&lt;br/&gt;    Dim rowValues(1 To 3) As String&lt;br/&gt;    Dim folderName As String&lt;br/&gt;    &lt;br/&gt;    Print "Started Running CreateExcel"&lt;br/&gt;    &lt;br/&gt;    folderName = "C:\Temp\"&lt;br/&gt;    &lt;br/&gt;    'Initialize column headers&lt;br/&gt;    rowValues(1) = "Title"&lt;br/&gt;    rowValues(2) = "Date"&lt;br/&gt;    rowValues(3) = "Name"&lt;br/&gt;    &lt;br/&gt;    'Initialize Excel Writer class&lt;br/&gt;    Set js = New JAVASESSION&lt;br/&gt;    Set xlWriterClass = js.GetClass("com.clr.excel.ExcelWriter")&lt;br/&gt;    Set xlWriterObject = xlWriterClass.CreateObject&lt;br/&gt;    If(Not(xlWriterObject.writeExcelHeader(rowValues)))Then&lt;br/&gt;        Print "Error creating excel sheet!"&lt;br/&gt;        Exit Sub        &lt;br/&gt;    End If&lt;br/&gt;    &lt;br/&gt;    Set db = session.CurrentDatabase&lt;br/&gt;    Set view = db.GetView("MainView")&lt;br/&gt;    &lt;br/&gt;    Set doc = view.GetFirstDocument&lt;br/&gt;    Do While(Not(doc Is Nothing))&lt;br/&gt;        &lt;br/&gt;        rowValues(1) = doc.Title(0)&lt;br/&gt;        rowValues(2) = doc.selectedDate(0)&lt;br/&gt;        rowValues(3) = doc.Name(0)&lt;br/&gt;        &lt;br/&gt;        'Write metadata&lt;br/&gt;        If(Not(xlWriterObject.writeToExcel(rowValues)))Then&lt;br/&gt;            Print "Could not write to excel!"&lt;br/&gt;        End If&lt;br/&gt;        &lt;br/&gt;        Set doc = view.GetNextDocument(doc)&lt;br/&gt;    Loop&lt;br/&gt;    &lt;br/&gt;Finished:&lt;br/&gt;    xlWriterObject.writeExcelFile(folderName &amp;amp; "workbook.xls")&lt;br/&gt;    &lt;br/&gt;    Exit Sub&lt;br/&gt;    &lt;br/&gt;ErrorHandler:&lt;br/&gt;    Print "Error " &amp;amp; Error &amp;amp; " on line: " &amp;amp; Erl&lt;br/&gt;    &lt;br/&gt;    Resume Finished&lt;br/&gt;    &lt;br/&gt;End Sub&lt;/small&gt;&lt;/small&gt;&lt;br/&gt;&lt;br/&gt;Enjoy the code &lt;a href='http://dl.getdropbox.com/u/567115/MyExamples/LS2J-ExcelWriter.zip' target='_blank'&gt;here&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=1a27cad1-acc3-4b89-9a3a-dd0cef8523a7' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-4849986123342666930?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/BI12lRPOXGc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/4849986123342666930/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=4849986123342666930&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/4849986123342666930?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/4849986123342666930?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/BI12lRPOXGc/using-poi-to-export-lotus-notes-data-to.html" title="Using POI to Export Lotus Notes Data to Excel" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2008/10/using-poi-to-export-lotus-notes-data-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUHSH4-fyp7ImA9WxRXEEw.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-7589605585044811540</id><published>2008-10-14T12:02:00.002-04:00</published><updated>2008-10-14T16:30:39.057-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-14T16:30:39.057-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="lotusscript" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><title>Attachment ExtractFile Limitation</title><content type="html">&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;This might not be new to some of you but today it was the first time I had faced this issue.  For the past 2 weeks I have been troubleshooting an agent that is crashing the server.  This agent uses third party software to convert documents to pdf, it also uses excel to create a metadata sheet, and it uses code from my last posting to extract attachments.  We got IBM and the other vendor involved to help narrow down the problem.  I took out the excel part, also the third party code, and today after many many many server crashes we found that the embeddedObject.ExtractFile might be the problem.  Well not actually the function but the parameter.  Now, I knew that there is a filename limit on windows of 255 characters, but what I didn't know is that apparently the ExtractFile function has that limit but it takes into account the whole path sent to it.  So you might have a filename that is only 100 characters long, but have a deep folder hierarchy and that will cause problems.  Anyway we are still waiting on IBM to confirm, but seems pretty clear that this is the problem so we will have to make the folder hierarchy shorter and maybe truncate the filenames.&lt;br /&gt;&lt;br /&gt;Anybody else ever face this problem?&lt;br /&gt;&lt;br /&gt;[Update]&lt;br /&gt;After a bit more debugging it seems that the problem is happening when the Dir(filename, 0) is called.  I use this function to test out if a file already exists before extracting it.  I also did more testing on the windows limit and it does seem to be on the whole path, oh well one learns things every day.  Anyway we have IBM looking into why the Dir function is not returning an error and just crashes the server.  I will have to check the filepath length before sending it to the Dir function.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-7589605585044811540?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/Y3vOqCxUwi8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/7589605585044811540/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=7589605585044811540&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/7589605585044811540?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/7589605585044811540?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/Y3vOqCxUwi8/attachment-extractfile-limitation.html" title="Attachment ExtractFile Limitation" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://www.criverapr.com/2008/10/attachment-extractfile-limitation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAGQ3s8fSp7ImA9WxVUEkk.&quot;"><id>tag:blogger.com,1999:blog-7758114000990713523.post-5950846717651824954</id><published>2008-10-09T16:54:00.003-04:00</published><updated>2009-03-16T18:48:42.575-04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-16T18:48:42.575-04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="java" /><category scheme="http://www.blogger.com/atom/ns#" term="lotusscript" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="LS2J" /><title>Zip Extraction using LS2J</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;The last month I have been working on a project that involves converting notes documents to pdf and importing them within &lt;a href='http://www.documentum.com/' target='_blank'&gt;Documentum&lt;/a&gt;.  This also involved extracting any attachments in the documents and also sending them to &lt;a href='http://www.documentum.com/' target='_blank'&gt;Documentum&lt;/a&gt;.  The problems started when users found some attachments that had been sent to documentum and were zip files.  I guess Documentum doesn't index the content within zip files and the these files would not show up in the users search.  So I had to find a way to decompress the zip files and actually send the content of these to Documentum.  I went looking around the web and found &lt;a href='http://www.java-tips.org/java-se-tips/java.util.zip/how-to-extract-file-files-from-a-zip-file-3.html' target='_blank'&gt;How to extract file/files from a zip file&lt;/a&gt;.   This did exactly what I needed, but one little catch all the other logic was already in a lotusScript agent, so I decided to use LS2J.  It was my first time using LS2J so I did a search on &lt;a href='http://www.nsftools.com/blog/blog-11-2004.htm#11-19-04' target='_blank'&gt;nsftools.com&lt;/a&gt; since I remember that I had read a post about LS2J on &lt;a href='http://www.nsftools.com/blog/CurrentBlog.htm' target='_blank'&gt;Julian's Blog&lt;/a&gt;.  After that, I got to work and this is what I put together.&lt;br /&gt;&lt;br /&gt;I created the following java script library using the java class from the site above and made minor tweaks for my situation:&lt;br /&gt;&lt;br /&gt;&lt;small&gt;&lt;small&gt;&lt;br /&gt;package com.clr.zip;  &lt;br /&gt;&lt;br /&gt;import java.io.File;  &lt;br /&gt;import java.io.FileInputStream;  &lt;br /&gt;import java.io.FileOutputStream;  &lt;br /&gt;import java.util.zip.ZipEntry;  &lt;br /&gt;import java.util.zip.ZipInputStream;  &lt;br /&gt;&lt;br /&gt;public class ZipExtractor {  &lt;br /&gt;&lt;br /&gt;   public String extractZip(String folderName, String fileName) {  &lt;br /&gt;&lt;br /&gt;       try {  &lt;br /&gt;           byte[] buf = new byte[1024];  &lt;br /&gt;           ZipInputStream zipinputstream = null;  &lt;br /&gt;           ZipEntry zipentry;  &lt;br /&gt;           zipinputstream = new ZipInputStream(new FileInputStream(folderName + fileName));  &lt;br /&gt;&lt;br /&gt;           zipentry = zipinputstream.getNextEntry();  &lt;br /&gt;           while (zipentry != null) {  &lt;br /&gt;               // for each entry to be extracted  &lt;br /&gt;               String entryName = zipentry.getName();  &lt;br /&gt;&lt;br /&gt;               int n;  &lt;br /&gt;               FileOutputStream fileoutputstream;  &lt;br /&gt;               File newFile = new File(entryName);  &lt;br /&gt;               String directory = newFile.getParent();  &lt;br /&gt;&lt;br /&gt;               if (directory == null) {  &lt;br /&gt;                   if (newFile.isDirectory()) {  &lt;br /&gt;                       break;  &lt;br /&gt;                   }  &lt;br /&gt;               }  &lt;br /&gt;&lt;br /&gt;               fileoutputstream = new FileOutputStream(folderName + entryName);  &lt;br /&gt;&lt;br /&gt;               while ((n = zipinputstream.read(buf, 0, 1024)) &amp;gt; -1) {  &lt;br /&gt;                   fileoutputstream.write(buf, 0, n);  &lt;br /&gt;               }  &lt;br /&gt;&lt;br /&gt;               fileoutputstream.close();  &lt;br /&gt;               zipinputstream.closeEntry();  &lt;br /&gt;               zipentry = zipinputstream.getNextEntry();  &lt;br /&gt;&lt;br /&gt;           }// while  &lt;br /&gt;&lt;br /&gt;           zipinputstream.close();  &lt;br /&gt;           return("SUCCESS");  &lt;br /&gt;&lt;br /&gt;       } catch (Exception ex) {  &lt;br /&gt;           ex.printStackTrace();  &lt;br /&gt;           return ("ERROR");  &lt;br /&gt;       }  &lt;br /&gt;&lt;br /&gt;   }  &lt;br /&gt;} &lt;br /&gt;&lt;/small&gt;&lt;/small&gt;                                       &lt;br /&gt;&lt;br /&gt;Then I modified my lotusscript agent to use this class to decompress the zip files.&lt;br /&gt;&lt;br /&gt;To be able to use LS2J we have to add these to the Options section of our code&lt;br /&gt;&lt;br /&gt;&lt;small&gt;&lt;small&gt;&lt;br /&gt;Uselsx "*javacon"&lt;br /&gt;Use "ZipExtractor"&lt;br /&gt;&lt;/small&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;Then declare the following variables to work with the java class:&lt;br /&gt;&lt;br /&gt;&lt;small&gt;&lt;small&gt;&lt;br /&gt;Dim js As JAVASESSION&lt;br /&gt;Dim zipExtractorClass As JAVACLASS&lt;br /&gt;Dim zipExtractorObject As JavaObject&lt;br /&gt;&lt;/small&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;Now all we have to do is use the following lines to actually decompress a zip file to a certain folder:&lt;br /&gt;&lt;br /&gt;&lt;small&gt;&lt;small&gt;&lt;br /&gt;Set js = New JAVASESSION&lt;br /&gt;&lt;br /&gt;'Here we get a reference to the ZipExtractor class&lt;br /&gt;Set zipExtractorClass = js.GetClass("com.clr.zip.ZipExtractor")&lt;br /&gt;&lt;br /&gt;'Here we get an actual instance of the ZipExtractor class&lt;br /&gt;Set zipExtractorObject = zipExtractorClass.CreateObject&lt;br /&gt;&lt;br /&gt;'This is were the actual java class method is called and parameters are sent&lt;br /&gt;result = zipExtractorObject.ExtractZip(folderName, attachName)&lt;br /&gt;&lt;/small&gt;&lt;/small&gt;&lt;br /&gt;&lt;br /&gt;As we can see LS2J can be very handy to provide functionality in lotusscript that normally wouldn't be possible.  Hope others will find this helpful.&lt;br /&gt;&lt;br /&gt;Here is a &lt;a href='http://dl.getdropbox.com/u/567115/MyExamples/LS2J-ZipManager.zip' target='_blank'&gt;link&lt;/a&gt; to a demo db with the java class and the agent so you can mess around with it.&lt;br/&gt;&lt;br/&gt;&lt;div class='zemanta-pixie'&gt;&lt;img src='http://img.zemanta.com/pixy.gif?x-id=0b968cd9-1a07-41d9-bcb7-c99de0cf8851' class='zemanta-pixie-img'/&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7758114000990713523-5950846717651824954?l=www.criverapr.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/criverapr/~4/lucn88_oXUg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.criverapr.com/feeds/5950846717651824954/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=7758114000990713523&amp;postID=5950846717651824954&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/5950846717651824954?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7758114000990713523/posts/default/5950846717651824954?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/criverapr/~3/lucn88_oXUg/zip-extraction-using-ls2j.html" title="Zip Extraction using LS2J" /><author><name>Carlos</name><uri>http://www.blogger.com/profile/09961478284332496098</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="10625087499488905914" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://www.criverapr.com/2008/10/zip-extraction-using-ls2j.html</feedburner:origLink></entry></feed>
