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

<channel>
	<title>codepress.net</title>
	<atom:link href="http://codepress.net/b/feed/" rel="self" type="application/rss+xml" />
	<link>http://codepress.net/b</link>
	<description>Thoughts about Lotus Notes, code, Milwaukee, and whatever else...</description>
	<pubDate>Wed, 23 Jul 2008 02:09:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>SHA1/MD5 Hash Libraries for LotusScript</title>
		<link>http://codepress.net/b/2008/07/22/sha1md5-hash-libraries-for-lotusscript/</link>
		<comments>http://codepress.net/b/2008/07/22/sha1md5-hash-libraries-for-lotusscript/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 02:07:32 +0000</pubDate>
		<dc:creator>tom</dc:creator>
		
		<category><![CDATA[lotus]]></category>

		<category><![CDATA[lotus notes]]></category>

		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=196</guid>
		<description><![CDATA[Jason Molzen contacted me this weekend asking for help generating MD5 hashes in LotusScript. I had previously posted a HMAC SHA1 library that was an amalgamation of two developers&#8217; (Paul Johnston and Julian Robichaux) code. Paul did not mind me converting the SHA1 code so I spent a lot of time translating the MD5 script [...]]]></description>
			<content:encoded><![CDATA[<p>Jason Molzen contacted me this weekend asking for help generating <a href="http://en.wikipedia.org/wiki/MD5" target="_blank">MD5</a> hashes in LotusScript. I had previously posted a <a href="http://codepress.net/b/2008/01/14/libhmac_sha1/">HMAC SHA1 library</a> that was an amalgamation of two developers&#8217; (<a href="http://pajhome.org.uk/crypt/md5/sha1src.html">Paul Johnston</a> and <a href="http://www.nsftools.com/">Julian Robichaux</a>) code. Paul did not mind me converting the SHA1 code so I spent a lot of time translating the MD5 script he created.</p>
<p>With Jason&#8217;s help I converted Paul Johnston&#8217;s MD5 script but I wasn&#8217;t quite happy when I finished the library. The code was written as functions and it was hard to figure out what to use to create each hash.</p>
<p>I finally ended up with three script libraries. Click on the links to download the &#8220;lss&#8221; library files.</p>
<ul>
<li><a href="http://codepress.net/b/wp-content/uploads/2008/07/corehashlibrary.lss" target="_blank">CoreHashLibrary</a> - Contains one class called HashHelper (I loved using the word &#8220;Hash&#8221;). It contains a lot of the binary functions for processing these hashes.</li>
<li><a href="http://codepress.net/b/wp-content/uploads/2008/07/md5.lss" target="_blank">MD5</a> - Self explanatory. This contains two classes: a MD5 class with a New(text) constructor and a HMAC_MD5 class with a New(key,text) constructor</li>
<li><a href="http://codepress.net/b/wp-content/uploads/2008/07/sha1.lss" target="_blank">SHA1</a> - Self explanatory. This contains two classes: a SHA1 class with a New(text) constructor and a HMAC_SHA1 class with a New(key,text) constructor</li>
</ul>
<p>Jason sent a link to a great tool for testing these hashes: <a href="http://wwwendt.de/tech/md5/index.html" target="_blank">HashCalc</a>. Previously, I had been testing the hashes with Paul Johnston&#8217;s javascript but HashCalc saved me a lot of time.</p>
]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/22/sha1md5-hash-libraries-for-lotusscript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sprint/Centro Update 1.07</title>
		<link>http://codepress.net/b/2008/07/22/sprintcentro-update-107/</link>
		<comments>http://codepress.net/b/2008/07/22/sprintcentro-update-107/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 01:34:56 +0000</pubDate>
		<dc:creator>tom</dc:creator>
		
		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=194</guid>
		<description><![CDATA[Sprint and Palm published a new update for the Centro today. Release 1.07 updates the Centro&#8217;s ability to use Location based services in Google Maps.
Get the update here.
]]></description>
			<content:encoded><![CDATA[<p>Sprint and Palm published a new update for the Centro today. Release 1.07 updates the Centro&#8217;s ability to use Location based services in Google Maps.</p>
<p>Get the update <a href="http://www.palm.com/us/support/downloads/centroupdate/sprint.html" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/22/sprintcentro-update-107/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sugar Free Vanilla Iced Coffee @ McDonalds</title>
		<link>http://codepress.net/b/2008/07/22/sugar-free-vanilla-iced-coffee-mcdonalds/</link>
		<comments>http://codepress.net/b/2008/07/22/sugar-free-vanilla-iced-coffee-mcdonalds/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 12:32:36 +0000</pubDate>
		<dc:creator>tom</dc:creator>
		
		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=192</guid>
		<description><![CDATA[I made the mistake of ordering a Sugar Free Vanilla Iced Coffee at McDonalds. It&#8217;s not worth the 200 calories saved. Go with the regular Vanilla flavoring.
]]></description>
			<content:encoded><![CDATA[<p>I made the mistake of ordering a Sugar Free Vanilla Iced Coffee at McDonalds. It&#8217;s not worth the 200 calories saved. Go with the regular Vanilla flavoring.</p>
]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/22/sugar-free-vanilla-iced-coffee-mcdonalds/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My COM Library Problem fixed</title>
		<link>http://codepress.net/b/2008/07/14/my-com-library-problem-fixed/</link>
		<comments>http://codepress.net/b/2008/07/14/my-com-library-problem-fixed/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 20:40:03 +0000</pubDate>
		<dc:creator>tom</dc:creator>
		
		<category><![CDATA[lotus]]></category>

		<category><![CDATA[lotus notes]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=191</guid>
		<description><![CDATA[My goodness. I wasted a good portion of the week trying to get a C# COM/dll to work with Domino 8. 
To summarize my problem&#8230; A COM dll that was working in R6.5 stopped working when we upgraded the server to R8. The dll was having issues finding the namgr.exe.config file that it used on [...]]]></description>
			<content:encoded><![CDATA[<p>My goodness. I wasted a good portion of the week trying to get a C# COM/dll to work with Domino 8. </p>
<p>To summarize my problem&#8230; A COM dll that was working in R6.5 stopped working when we upgraded the server to R8. The dll was having issues finding the namgr.exe.config file that it used on the R6.5 install.</p>
<p>Solution: You won&#8217;t believe this&#8230; I spent a week recompiling the dll with different hard-coded values and different debug statements trying to figure out why it could not find that namgr.exe.config file. Luckily, I discovered a C# property that displays the expected configuration file path: </p>
<pre><code>AppDomain.CurrentDomain.SetupInformation.ConfigurationFile</code></pre>
<p>A debug line showed that for some reason, Domino 8 expects a COM&#8217;s configuration path to be (programfile).config instead of (programfile).exe.config (e.g. namgr.config vs namgr.exe.config). I didn&#8217;t know Domino had any control over how .NET behaved but I have no other explanation for what happened.</p>
<p>Oh well&#8230; what seemed like a really easy fix took almost a week to discover.</p>
]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/14/my-com-library-problem-fixed/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Multiple Forms in Domino Web Applications</title>
		<link>http://codepress.net/b/2008/07/09/multiple-forms-in-domino-web-applications/</link>
		<comments>http://codepress.net/b/2008/07/09/multiple-forms-in-domino-web-applications/#comments</comments>
		<pubDate>Wed, 09 Jul 2008 10:56:04 +0000</pubDate>
		<dc:creator>tom</dc:creator>
		
		<category><![CDATA[lotus]]></category>

		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=190</guid>
		<description><![CDATA[I&#8217;m having some fun in a legacy application at work. The Lotus Notes/Domino forms I am creating and maintaining are embedded into an ActiveX frame (like a portal). 
Prior to this application, I think all of my development has been under the assumption that my HTML form was the only form. Hence, document.forms[0] was my [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m having some fun in a legacy application at work. The Lotus Notes/Domino forms I am creating and maintaining are embedded into an ActiveX frame (like a portal). </p>
<p>Prior to this application, I think all of my development has been under the assumption that my HTML form was the only form. Hence, document.forms[0] was my standard. Well, now that I&#8217;m working in this embedded application, that isn&#8217;t always true. I&#8217;ve had to rewrite some of my javascript to work with the current form.</p>
<p>Here&#8217;s a few of my current nuggets.</p>
<p>The first thing I had to create was a function to get the current form. </p>
<pre><code>function getMyForm(field) {
// returns form element
	if (typeof(field) == "string") {
		for (var i = 0; i &lt; document.forms.length;i++) {
			if (document.forms[i][field] != null) {
				return document.forms[i];
			}
		}
	} else {
		var element = field;
		while (element != null) {
			element = element.parentElement;
			if (element.tagName == "FORM") {
				return element;
				break;
			}

		}
	}

}</code></pre>
<p>I am still debating how to implement the next function. I wasn&#8217;t sure if I should pass the form into the function, expect that I already have it (bad design), or get it using the function above. I actually do a mixture of the last two options. I typicall set a global form variable in the JSHeader but check for it in case it is not there.</p>
<pre><code>function getFieldValues(field) {
// Returns array of values. Depends on getMyForm.
	var value = new Array;
	if (form == null || form.tagName != "FORM") {
		var form = getMyForm(field);
	}
	if (typeof(field) == "string") {
		var theField = form[field];
	} else {
		var theField = form[field.name];
	}

	if (theField.length == null &amp;&amp; theField.options == null) {
		value =  [theField.value];
	} else if (theField.options != null) {
		for (var i = 0; i &lt; theField.options.length;i++) {
			if (theField.options[i].selected == true) {
				value.push(theField.options[i].text);
			}
		}
	} else if (theField.length &gt;= 0) {
		for (var i = 0; i &lt; theField.length;i++) {
			if (theField[i].checked == true) {
				value.push(theField[i].value);
			}
		}
	} else {
		value = [''];
	}
	return value;
}</code></pre>
<p>This is nothing new for a lot of developers and frameworks like jQuery and Prototype handle a lot of this. But in many instances, you&#8217;re stuck in legacy code that doesn&#8217;t allow you to throw in frameworks (or you really don&#8217;t want to have to explain what you&#8217;re doing to the other developers).</p>
]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/09/multiple-forms-in-domino-web-applications/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Being a Good Developer &#8230;</title>
		<link>http://codepress.net/b/2008/07/07/being-a-good-developer/</link>
		<comments>http://codepress.net/b/2008/07/07/being-a-good-developer/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 03:33:44 +0000</pubDate>
		<dc:creator>tom</dc:creator>
		
		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=188</guid>
		<description><![CDATA[Damir Tomicic - Being a good developer is 3% talent, 97% not being distracted by the internet.
(via .NET Buzz Forum)
]]></description>
			<content:encoded><![CDATA[<p><a href="http://tomicic.de/2008/07/07/BeingAGoodDeveloper.aspx">Damir Tomicic</a> - Being a good developer is 3% talent, 97% not being distracted by the internet.</p>
<p>(via <a href="http://www.artima.com/forums/flat.jsp?forum=152&#038;thread=234309">.NET Buzz Forum</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/07/being-a-good-developer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cheatsheets for Front-End Web Developers</title>
		<link>http://codepress.net/b/2008/07/07/cheatsheets-for-front-end-web-developers/</link>
		<comments>http://codepress.net/b/2008/07/07/cheatsheets-for-front-end-web-developers/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 03:23:14 +0000</pubDate>
		<dc:creator>tom</dc:creator>
		
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=187</guid>
		<description><![CDATA[A handy list of cheat sheets (HTML, CSS, Javascript, etc&#8230;).
I still live and die by my VisiBone Browser Book but some of the jQuery cheatsheets will be handy.
(via del.icio.us)
]]></description>
			<content:encoded><![CDATA[<p>A handy <a href="http://sixrevisions.com/resources/cheat_sheets_web_developer/">list</a> of cheat sheets (HTML, CSS, Javascript, etc&#8230;).</p>
<p>I still live and die by my <a href="http://www.visibone.com/products/browserbook.html">VisiBone Browser Book</a> but some of the jQuery cheatsheets will be handy.</p>
<p>(via <a href="http://del.icio.us">del.icio.us</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/07/cheatsheets-for-front-end-web-developers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Help</title>
		<link>http://codepress.net/b/2008/07/02/help/</link>
		<comments>http://codepress.net/b/2008/07/02/help/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 01:55:37 +0000</pubDate>
		<dc:creator>tom</dc:creator>
		
		<category><![CDATA[lotus]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=186</guid>
		<description><![CDATA[Dear loyal readers (all two of you). I need Lotus Notes help badly.
Please ask your Lotus Notes developer friends if they&#8217;ve have any ideas on how to help me.
We just upgraded from R6 to R8 and now my namgr.exe.config or nserver.exe.config files stopped working. It&#8217;s like it can&#8217;t see them.
We were using a 3rd party [...]]]></description>
			<content:encoded><![CDATA[<p>Dear loyal readers (all two of you). I need Lotus Notes help badly.</p>
<p>Please ask your Lotus Notes developer friends if they&#8217;ve have any ideas on how to help me.</p>
<blockquote><p>We just upgraded from R6 to R8 and now my namgr.exe.config or nserver.exe.config files stopped working. It&#8217;s like it can&#8217;t see them.</p>
<p>We were using a 3rd party COM library for a Notes app. The COM library is created using .Net framework and acts as a proxy to a (microsoft) web service. It requries a config file which must be named &#8220;[my_app_name].exe.config&#8221;.</p>
<p>I tried to name the config file as &#8220;notes.exe.config&#8221;, and &#8220;nlnotes.exe.config&#8221;. But it seems that Windows doesn&#8217;t work with Notes in this way.</p>
<p>Would appreciate any suggestion regard this.</p></blockquote>
<p>There is a multi-beer reward.</p>
]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/02/help/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Great Lotus Notes Application Example</title>
		<link>http://codepress.net/b/2008/07/02/great-lotus-notes-application-example/</link>
		<comments>http://codepress.net/b/2008/07/02/great-lotus-notes-application-example/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 01:53:30 +0000</pubDate>
		<dc:creator>tom</dc:creator>
		
		<category><![CDATA[lotus]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=185</guid>
		<description><![CDATA[It&#8217;s great to read about successful Lotus Notes applications. I was browsing Linkedin when I found this:
Michael Janas&#8217; company bid out an application but decided to develop it in-house on the Lotus platform. It&#8217;s answer #2 on the list.
I had the same requirements, looked around at software, was caught off guard by the costs and [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s great to read about successful Lotus Notes applications. I was browsing Linkedin when I found this:</p>
<p>Michael Janas&#8217; company bid out an application but decided to <a href="http://www.linkedin.com/answers/hiring-human-resources/staffing-recruiting/HRH_SFF/259794-6884331?searchIdx=7&amp;sik=1215049132123&amp;goback=%2Easr_1_1215049132123" target="_blank">develop it in-house on the Lotus platform</a>. It&#8217;s answer #2 on the list.</p>
<blockquote><p>I had the same requirements, looked around at software, was caught off guard by the costs and IT reqmts, so decided to use in-house talent to develop a system based on Lotus Notes. Didn&#8217;t take a lot of time to develop and only three weeks to Beta test and then launch enterprise wide with 5200 employees and 375 managers or requisitioners.</p></blockquote>
<p>Sometimes&#8230; I just want to scream &#8220;Hey CIO! I&#8217;ve got money saving applications over here!&#8221;</p>
<p>Thank you Michael Janas for publishing a success story for Lotus Application development.</p>
]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/02/great-lotus-notes-application-example/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Page O&#8217; Connection Strings</title>
		<link>http://codepress.net/b/2008/06/23/page-o-connection-strings/</link>
		<comments>http://codepress.net/b/2008/06/23/page-o-connection-strings/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 19:10:37 +0000</pubDate>
		<dc:creator>tom</dc:creator>
		
		<category><![CDATA[lotus]]></category>

		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=184</guid>
		<description><![CDATA[My brain is like a sieve. I can&#8217;t remember simple things like how to write a &#8220;for loop.&#8221; Hence the reason I am a Lotus Notes developer&#8230; the on-line help is great.
A great find for developers like me is a table of connection strings for all types of data sources.
]]></description>
			<content:encoded><![CDATA[<p>My brain is like a sieve. I can&#8217;t remember simple things like how to write a &#8220;for loop.&#8221; Hence the reason I am a Lotus Notes developer&#8230; the on-line help is great.</p>
<p>A great find for developers like me is a <a href="http://www.devlist.com/ConnectionStringsPage.aspx">table of connection strings</a> for all types of data sources.</p>
]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/06/23/page-o-connection-strings/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
