<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Falling Dominos</title>
	
	<link>http://codepress.net/b</link>
	<description>Thoughts about keeping Lotus Notes development relevant</description>
	<lastBuildDate>Mon, 06 Jul 2009 15:27:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<geo:lat>43.048545</geo:lat><geo:long>-88.042396</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Codepressnet" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FCodepressnet" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FCodepressnet" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FCodepressnet" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/Codepressnet" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FCodepressnet" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FCodepressnet" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FCodepressnet" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>And then all was lost…</title>
		<link>http://feedproxy.google.com/~r/Codepressnet/~3/rGRCtiDs-0g/</link>
		<comments>http://codepress.net/b/2009/07/04/and-then-all-was-lost/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 10:24:41 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=353</guid>
		<description><![CDATA[Two things I learned on Friday:

You get what you pay for. My $10 a year host was hacked. I think the server people figured it was easier to reformat the server than try to save anything.
Back up your stuff every now and then. I honestly backed up using Wordpress&#8217; export feature on June 29th. I [...]]]></description>
			<content:encoded><![CDATA[<p>Two things I learned on Friday:</p>
<ol>
<li>You get what you pay for. My $10 a year host was hacked. I think the server people figured it was easier to reformat the server than try to save anything.</li>
<li>Back up your stuff every now and then. I honestly backed up using Wordpress&#8217; export feature on June 29th. I don&#8217;t know if it hit a limit or what but it didn&#8217;t backup anything past 2008.</li>
</ol>
<p>This is a painful lesson but I should know better. I will hopefully have my code examples for MD5/SHA1 uploaded soon.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Codepressnet?a=rGRCtiDs-0g:QukISZcNPkQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Codepressnet?a=rGRCtiDs-0g:QukISZcNPkQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Codepressnet/~4/rGRCtiDs-0g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2009/07/04/and-then-all-was-lost/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://codepress.net/b/2009/07/04/and-then-all-was-lost/</feedburner:origLink></item>
		<item>
		<title>The difference between CouchDB and Lotus Notes</title>
		<link>http://feedproxy.google.com/~r/Codepressnet/~3/DVX2LiYxVYs/</link>
		<comments>http://codepress.net/b/2009/06/25/the-difference-between-couchdb-and-lotus-notes/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 13:02:44 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[lotus]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=365</guid>
		<description><![CDATA[I was trying to search for an old comment of mine and stumbled across this great answer for the question: “What is the difference between CouchDB and Lotus Notes?”
This is just the summary:
Summery: CouchDB is brand new software that is developing a core that has a similar conceptual but far more sophisticated design to that [...]]]></description>
			<content:encoded><![CDATA[<p>I was trying to search for an old comment of mine and stumbled across this great answer for the question: “<a href="http://stackoverflow.com/questions/167716/what-is-the-difference-between-couchdb-and-lotus-notes">What is the difference between CouchDB and Lotus Notes?</a>”</p>
<p>This is just the summary:</p>
<blockquote><p>Summery: CouchDB is brand new software that is developing a core that has a similar conceptual but far more sophisticated design to that used in Lotus Notes Domino. Lotus Notes Domino is a mature fully featured product that is capable of being deployed today. CouchDB is starting from scratch, building a solid foundation for future feature development. Lotus Notes Domino is continuing to develop new features, but is doing so on a 20 year old platform that strives to maintain backwards compatibility. There are features in Notes Domino that you might wish were in CouchDB, but there are also features in Notes Domino that are anachronistic in today’s world.</p></blockquote>
<p>I’m not sure if the author “Kerrr” plagiarized the entire answer but I highly suggest reading the <a href="http://stackoverflow.com/questions/167716/what-is-the-difference-between-couchdb-and-lotus-notes">whole thing</a> if you are ever at a loss for the technical explanation of “What is Lotus Notes?”</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Codepressnet?a=DVX2LiYxVYs:3ZseNC845uk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Codepressnet?a=DVX2LiYxVYs:3ZseNC845uk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Codepressnet/~4/DVX2LiYxVYs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2009/06/25/the-difference-between-couchdb-and-lotus-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://codepress.net/b/2009/06/25/the-difference-between-couchdb-and-lotus-notes/</feedburner:origLink></item>
		<item>
		<title>I am also attending IAMLUG</title>
		<link>http://feedproxy.google.com/~r/Codepressnet/~3/pJNbtsO8JVc/</link>
		<comments>http://codepress.net/b/2009/06/22/i-am-also-attending-iam-lug/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 15:21:44 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[lotus]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=374</guid>
		<description><![CDATA[Like Ed Brill… I am also going to the IAMLUG conference in St Louis.
My employer said I could only attend one of the two Midwest events so I  picked the one where I get to stay overnight at a casino. Travel is the same for  me too… two round-trip train tickets were the [...]]]></description>
			<content:encoded><![CDATA[<p>Like <a href="http://www.edbrill.com/ebrill/edbrill.nsf/dx/ill-be-at-iamlug-in-st.-louis-in-august?opendocument&amp;comments" target="_blank">Ed Brill</a>… I am also going to the <a href="http://iamlug.org/iamlug/IamLug2009a.nsf" target="_blank">IAMLUG</a> conference in St Louis.</p>
<p>My employer said I could only attend one of the two Midwest events so I  picked the one where I get to stay overnight at a casino. Travel is the same for  me too… two round-trip train tickets were the same price as a round-trip flight  to St Louis.</p>
<p>I would like to meet with other corporate developers like me. Maybe I’d call  it a “support group” for corporate RAD developers. Those of us who are  supporting hundreds of applications and are still developing tools for business.  Possible points of discussion include…</p>
<ul>
<li>Are you using any project methodology?</li>
<li>Has your workload increased due to the economy? (mine certainly has)</li>
<li>Is your group still treated like a red-headed step-child? (I won’t comment  on this one until IAM LUG)</li>
<li>How are you dealing with compliance issues?</li>
</ul>
<p>If you are interested in getting together at IAMLUG please email me at  tjoneil @ codepress.net.</p>
<p>Overall… I am excited to head down to St Louis. I have not been on a business  trip since Lotusphere 2008 (and that was with the family). It’s great to hear Ed  will be attending and I  look forward to seeing everyone down there!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Codepressnet?a=pJNbtsO8JVc:WtBe4P0cQPY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Codepressnet?a=pJNbtsO8JVc:WtBe4P0cQPY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Codepressnet/~4/pJNbtsO8JVc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2009/06/22/i-am-also-attending-iam-lug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://codepress.net/b/2009/06/22/i-am-also-attending-iam-lug/</feedburner:origLink></item>
		<item><title>Links for 2009-06-21 [del.icio.us]</title><link>http://feedproxy.google.com/~r/Codepressnet/~3/6lPslzTL3rw/tomoneil</link><pubDate>Mon, 22 Jun 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/tomoneil#2009-06-21</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://visualstudiomagazine.com/articles/2009/06/11/encrypting-the-web-config-file.aspx"&gt;Encrypting the Web.Config File -- Visual Studio Magazine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/Codepressnet/~4/6lPslzTL3rw" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/tomoneil#2009-06-21</feedburner:origLink></item><item><title>Links for 2009-06-19 [del.icio.us]</title><link>http://feedproxy.google.com/~r/Codepressnet/~3/Cxk2ADbZ_cE/tomoneil</link><pubDate>Sat, 20 Jun 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/tomoneil#2009-06-19</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=Fhd06OAngZA"&gt;YouTube - The Bagel Song!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/Codepressnet/~4/Cxk2ADbZ_cE" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/tomoneil#2009-06-19</feedburner:origLink></item><item><title>Links for 2009-06-08 [del.icio.us]</title><link>http://feedproxy.google.com/~r/Codepressnet/~3/NsVUelFrZZI/tomoneil</link><pubDate>Tue, 09 Jun 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/tomoneil#2009-06-08</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.erinsweb.com/gaelic1.html"&gt;Erin's Web &amp;gt; Learn Irish Gaelic: Lesson 1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/Codepressnet/~4/NsVUelFrZZI" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/tomoneil#2009-06-08</feedburner:origLink></item><item><title>Links for 2009-05-16 [del.icio.us]</title><link>http://feedproxy.google.com/~r/Codepressnet/~3/yDmyWNNUkTY/tomoneil</link><pubDate>Sun, 17 May 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/tomoneil#2009-05-16</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.htcwiki.com/thread/2186030/Performing+a+Hard+Reset+on+a+Sprint+HTC+Touch+Pro+Phone?t=anon"&gt;Performing a Hard Reset on a Sprint HTC Touch Pro Phone - HTC&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/Codepressnet/~4/yDmyWNNUkTY" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/tomoneil#2009-05-16</feedburner:origLink></item><item><title>Links for 2009-04-17 [del.icio.us]</title><link>http://feedproxy.google.com/~r/Codepressnet/~3/lbUHjBE9Z0s/tomoneil</link><pubDate>Sat, 18 Apr 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/tomoneil#2009-04-17</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.netwaver.com/23/24-html-form-elements-customization-techniques/"&gt;24 HTML Form Elements Customization Techniques | NetWaver&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/Codepressnet/~4/lbUHjBE9Z0s" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/tomoneil#2009-04-17</feedburner:origLink></item><item><title>Links for 2009-04-16 [del.icio.us]</title><link>http://feedproxy.google.com/~r/Codepressnet/~3/Q1z2-g7pLA8/tomoneil</link><pubDate>Fri, 17 Apr 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/tomoneil#2009-04-16</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://ghost.radified.com/ghost_alternatives.htm"&gt;Alternatives to Norton Ghost (Imaging / Cloning programs)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/Codepressnet/~4/Q1z2-g7pLA8" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/tomoneil#2009-04-16</feedburner:origLink></item><item><title>Links for 2009-04-10 [del.icio.us]</title><link>http://feedproxy.google.com/~r/Codepressnet/~3/QMEEiRnFstk/tomoneil</link><pubDate>Sat, 11 Apr 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/tomoneil#2009-04-10</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.hatfulofhollow.com/posts/code/visualisingsorting/index.html"&gt;Visualising Sorting Algorithms&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/Codepressnet/~4/QMEEiRnFstk" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/tomoneil#2009-04-10</feedburner:origLink></item><item>
		<title>MD5/SHA1 LotusScript Examples</title>
		<link>http://feedproxy.google.com/~r/Codepressnet/~3/YPd78FFaCCs/</link>
		<comments>http://codepress.net/b/2008/11/14/md5sha1-examples/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 23:02:55 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[lotus]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=357</guid>
		<description><![CDATA[I finally created an example database for the MD5 and SHA1 hashing libraries.
The database contains an “Example” form that allows you to either hash or HMAC hash a text string. Fill out the fields and click the “Hash!” button.
If you debug the button (or look at the code) you will notice that I use four [...]]]></description>
			<content:encoded><![CDATA[<p>I finally created an example database for the <a href="http://codepress.net/b/2008/07/22/sha1md5-hash-libraries-for-lotusscript/" target="_self">MD5 and SHA1 hashing libraries</a>.</p>
<p>The database contains an “Example” form that allows you to either hash or HMAC hash a text string. Fill out the fields and click the “Hash!” button.</p>
<p>If you debug the button (or look at the code) you will notice that I use four declared classes: HMAC_SHA1, SHA1, HMAC_MD5, and MD5.</p>
<p>All four classes require the text to be sent in the constructor. The HMAC classes also require a “key” due to the <a href="http://en.wikipedia.org/wiki/HMAC" target="_blank">nature of HMAC</a>.</p>
<p>All four classes expose three functions: toStr (string), toHex, toB64 (Binary64). These are the results of the hash. My example form returns the results in Hex because that is what the SlavaSoft HashCalc tool uses.</p>
<p>Link to the Example database: <a href="http://codepress.net/b/wp-content/uploads/2008/11/Hashes.nsf">MD5/SHA1 Example Database</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Codepressnet?a=YPd78FFaCCs:l5y7dorSCgE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Codepressnet?a=YPd78FFaCCs:l5y7dorSCgE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Codepressnet/~4/YPd78FFaCCs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/11/14/md5sha1-examples/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://codepress.net/b/2008/11/14/md5sha1-examples/</feedburner:origLink></item>
		<item>
		<title>Blowfish in LotusScript</title>
		<link>http://feedproxy.google.com/~r/Codepressnet/~3/w6EdwZpHb8M/</link>
		<comments>http://codepress.net/b/2008/10/28/blowfish-in-lotusscript/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 13:16:37 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[lotus]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=369</guid>
		<description><![CDATA[I am finished converting David Ireland’s VBScript version of Blowfish encryption. The code is all David’s. I made two hacks to make it work in LotusScript.
1) LotusScript doesn’t allow for Array building the way VBScript does (this should have been included in R5 let alone R8). In VBScript, an array can be declared by writing [...]]]></description>
			<content:encoded><![CDATA[<p>I am finished converting <a href="http://www.di-mgt.com.au/crypto.html">David Ireland’s</a> VBScript version of Blowfish encryption. The code is all David’s. I made two hacks to make it work in LotusScript.</p>
<p>1) LotusScript doesn’t allow for Array building the way VBScript does (this should have been included in R5 let alone R8). In VBScript, an array can be declared by writing Array(1,2,3,4). In LotusScript, I had to declare the array then build it. Take a look at the basblfArrays library and see how many arrays I had to convert (close to 300 lines of code).</p>
<p>2) My other hack was in blf_StringDec function of the basBlowfishFns library. In LotusScript ASC() throws an error if a null string is given. I threw a try/catch around the code.</p>
<p>I also copied David’s example ASP page into a Lotus Notes form so you can see how the code is used.</p>
<p>I could spend some time wrapping it into Object classes and making it a bit more intuitive for us Lotus developers but I will wait until I am happy with the testing.</p>
<p>FYI: I did not rename any of the libraries or functions. As I said… this is David Ireland’s code. Please follow the terms under his Copyright (found in every script library).</p>
<p>Zipped NSF File: <a href='http://codepress.net/b/wp-content/uploads/2008/10/blowfish_v11.zip'>LotusScript/Blowfish Database</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Codepressnet?a=w6EdwZpHb8M:bs3t39zeUNI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Codepressnet?a=w6EdwZpHb8M:bs3t39zeUNI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Codepressnet/~4/w6EdwZpHb8M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/10/28/blowfish-in-lotusscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://codepress.net/b/2008/10/28/blowfish-in-lotusscript/</feedburner:origLink></item>
		<item>
		<title>SHA1/MD5 Hash Libraries for LotusScript</title>
		<link>http://feedproxy.google.com/~r/Codepressnet/~3/z63snmVZEO0/</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[Uncategorized]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=196</guid>
		<description><![CDATA[UPDATE: A sample database using these hashes can be found here.
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 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE: A sample database using these hashes can be found <a href="http://codepress.net/b/2008/11/14/md5sha1-examples/">here</a>.</strong></p>
<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> &#8211; 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> &#8211; 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> &#8211; 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>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Codepressnet?a=z63snmVZEO0:CXoHyXH-Oqw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Codepressnet?a=z63snmVZEO0:CXoHyXH-Oqw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Codepressnet/~4/z63snmVZEO0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/22/sha1md5-hash-libraries-for-lotusscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://codepress.net/b/2008/07/22/sha1md5-hash-libraries-for-lotusscript/</feedburner:origLink></item>
		<item>
		<title>Sprint/Centro Update 1.07</title>
		<link>http://feedproxy.google.com/~r/Codepressnet/~3/bUWTm45qtEA/</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>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Codepressnet?a=bUWTm45qtEA:xNduZ-2ms_A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Codepressnet?a=bUWTm45qtEA:xNduZ-2ms_A:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Codepressnet/~4/bUWTm45qtEA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/22/sprintcentro-update-107/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://codepress.net/b/2008/07/22/sprintcentro-update-107/</feedburner:origLink></item>
		<item>
		<title>Sugar Free Vanilla Iced Coffee @ McDonalds</title>
		<link>http://feedproxy.google.com/~r/Codepressnet/~3/vrVbvktyqwA/</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>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Codepressnet?a=vrVbvktyqwA:8puzOhbcPVQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Codepressnet?a=vrVbvktyqwA:8puzOhbcPVQ:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Codepressnet/~4/vrVbvktyqwA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/22/sugar-free-vanilla-iced-coffee-mcdonalds/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://codepress.net/b/2008/07/22/sugar-free-vanilla-iced-coffee-mcdonalds/</feedburner:origLink></item>
		<item>
		<title>My COM Library Problem fixed</title>
		<link>http://feedproxy.google.com/~r/Codepressnet/~3/SuRYi5YF6Dw/</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 the [...]]]></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>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Codepressnet?a=SuRYi5YF6Dw:FXZsMxjakXE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Codepressnet?a=SuRYi5YF6Dw:FXZsMxjakXE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Codepressnet/~4/SuRYi5YF6Dw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/14/my-com-library-problem-fixed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://codepress.net/b/2008/07/14/my-com-library-problem-fixed/</feedburner:origLink></item>
		<item>
		<title>Multiple Forms in Domino Web Applications</title>
		<link>http://feedproxy.google.com/~r/Codepressnet/~3/cwTviA2seNs/</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[javascript]]></category>

		<guid isPermaLink="false">http://codepress.net/b/?p=190</guid>
		<description><![CDATA[UPDATE: A co-worker found some bugs in my standard javascript or &#8220;JSHeader&#8221; code that I had posted on this site. Most of the issues were related to how I was checking for &#8220;null&#8221; instead of checking to see if a variable was &#8220;undefined.&#8221; Also, the &#8220;getMyForm&#8221; function was not working if you sent a checkbox [...]]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE: </strong><em>A co-worker found some bugs in my standard javascript or &#8220;JSHeader&#8221; code that I had posted on this site. Most of the issues were related to how I was checking for &#8220;null&#8221; instead of checking to see if a variable was &#8220;undefined.&#8221; Also, the &#8220;getMyForm&#8221; function was not working if you sent a checkbox as the field. These issues have been fixed and the code has been posted below.</em></p>
<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 the Domino generated 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>The first thing I had to create was a function to get the current form.<br />
<br/></p>
<pre><code>
function getMyForm(field) {
// returns form element
	if (typeof(field) == "string") {
		for (var i = 0; i < document.forms.length;i++) {
			if (document.forms[i][field] != null) {
				return document.forms[i];
			}
		}
	} else {
		if (field.length >= 0) {
			var element = field[0];
		} else {
			var element = field;
		}
		while (element != null) {

			element = element.parentElement;
			if (element.tagName == "FORM") {
				return element;
				break;
			}

		}
	}

}
</code></pre>
<p><br/><br />
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.<br />
<br/></p>
<pre><code>
function getFieldValues(field) {
// Returns array of values. Depends on getMyForm.
	var value = new Array;
	if (typeof(form) == "undefined" || form == null || form.tagName != "FORM") {
		form = getMyForm(field);
	}
	if (typeof(field) == "object") {
		var theField = field;
	} else if (typeof(field) == "string") {
		var theField = form[field];
	} else {
		var theField = form[field.name];
	}

	if (theField == null) { // Exit quietly if field cannot be found.
		window.status = "Cannot get value for field:" + field.toString();
		return [''];

	}

	if (theField.length == null &#038;&#038; theField.options == null) {
		if (theField.type == "checkbox" &#038;&#038; theField.checked == false) {
			value =  [''];
		} else {
			value =  [theField.value];
		}
	} else if (theField.options != null) {
		for (var i = 0; i < theField.options.length;i++) {
			if (theField.options[i].selected == true) {
				if (theField.options[i].value === "") {
					value.push(theField.options[i].text);
				} else {
					value.push(theField.options[i].value);
				}
			}
		}
	} else if (theField.length >= 0) {
		for (var i = 0; i < theField.length;i++) {
			if (theField[i].checked == true) {
				value.push(theField[i].value);
			}
		}
	}
	if (value.length == 0) {
		value = [''];
	}
	return value;
}
</code></pre>
<p><br/><br />
I also have a function to set the value(s) of any field.<br />
<br/></p>
<pre><code>
function setFieldValue(field,values) {
// Sets array of values. Depends on getMyForm.
	if (typeof(form) == "undefined" || form == null || form.tagName != "FORM") {
		form = getMyForm(field);
	}
	if (typeof(field) == "object") {
		var theField = field;
	} else if (typeof(field) == "string") {
		var theField = form[field];
	} else {
		var theField = form[field.name];
	}
	if (typeof(values) == "object") {
	} else {
		values = [values];
	}
	if (theField == null) { // Exit quietly if field cannot be found.
		window.status = "Cannot set value for field:" + field.toString();
		return;

	}
	if (theField.length == null &#038;&#038; theField.options == null &#038;&#038; theField.type != "checkbox") {
		theField.value = values[0];
	} else if (theField.options != null) {
		for (var x = 0; x < values.length;x++) {
			for (var i = 0; i < theField.options.length;i++) {
				if (theField.options[i].value == values[x] || (theField.options[i].value == "" &#038;&#038;
				 theField.options[i].text == values[x])) {
					theField.options[i].selected = true;
				}
			}
		}
	} else if (theField.length >= 0) {
		for (var x = 0; x < values.length;x++) {
			for (var i = 0; i < theField.length;i++) {
				if (theField[i].value == values[x] || (theField[i].value == "" &#038;&#038;
				 theField.options[i].text == values[x])) {
					theField[i].checked = true;
				}
			}
		}
	} else if (theField.type == "checkbox" &#038;&#038; values[0] !== "") {
		theField.checked = true;
	}
}
</code></pre>
<p><br/><br />
Finally, a function to set the focus of a field (if it can find it).<br />
<br/></p>
<pre><code>
function setFocus(field) {
	if (typeof(field) == "undefined" || field == null) {
		return;
	}
	var value = new Array;
	if (typeof(form) == "undefined" || form == null || form.tagName != "FORM") {
		form = getMyForm(field);
	}
	if (typeof(field) == "string") {
		var theField = form[field];
	} else {
		var theField = form[field.name];
	}
	if (theField == null || theField.name === "") {
		window.status =  "Unable to set focus for field " + field;
		return;
	}
	if (theField.length == null || theField.options != null) {
		theField.focus();
	} else if (theField.length >= 0) {
		theField[0].focus();
	}
}
</code></pre>
<p><br/><br />
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're stuck in legacy code that doesn't allow you to throw in frameworks (or you really don't want to have to explain what you're doing to the other developers).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Codepressnet?a=cwTviA2seNs:s8FEZJcFIvU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Codepressnet?a=cwTviA2seNs:s8FEZJcFIvU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Codepressnet?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Codepressnet/~4/cwTviA2seNs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://codepress.net/b/2008/07/09/multiple-forms-in-domino-web-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://codepress.net/b/2008/07/09/multiple-forms-in-domino-web-applications/</feedburner:origLink></item>
	</channel>
</rss>
