<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>RSS feed for InstantSpot site Daily Investigations</title><link>http://dionrecaps.instantspot.com</link><description>To recap my daily research in different areas</description><language>en-us</language><copyright>This work is Copyright &#xA9; 2010 by Daily Investigations</copyright><generator>RSSVille ColdFusion FeedMaker, version 1.0</generator><pubDate>Mon, 22 Mar 2010 05:43:49 GMT</pubDate><item><title>Panomorphic Cameras</title><link>http://dionrecaps.instantspot.com/blog/2009/10/08/Panomorphic-Cameras/</link><description>Some very cool stuff</description><pubDate>Fri, 09 Oct 2009 03:25:00 GMT</pubDate><guid>http://dionrecaps.instantspot.com/blog/2009/10/08/Panomorphic-Cameras/</guid><category>Surveillance</category></item><item><title>Embedded Procurement</title><link>http://dionrecaps.instantspot.com/blog/2009/10/08/Embedded-Procurement/</link><description>Struggles and lessons with securing hardware </description><pubDate>Thu, 08 Oct 2009 05:02:00 GMT</pubDate><guid>http://dionrecaps.instantspot.com/blog/2009/10/08/Embedded-Procurement/</guid><category>Embedded</category></item><item><title>MIX07 - Day 1  Keynote </title><link>http://dionrecaps.instantspot.com/blog/2007/04/30/MIX07--Day-1--Keynote-/</link><description>&lt;p&gt;  This is the first day of the MIX07 event in Las Vegas and Microsoft has called on a lot of impressive speakers and has released several new products.  &lt;/p&gt;  &lt;p&gt;  The keynote speaker was Ray Ozzie (3 of 5), you know him as the l Lotus Notes guy. He is very impressive and clearly has a wealth of knowledge.  The thing I imagined from his direction Microsoft may be doing less with open standards than ever before, this is just my opinion.   I have done some Lotus Notes coding and I have also tried to integrate with Lotus Notes, one is easy and the other is not so easy.&amp;nbsp;&amp;nbsp;  &lt;/p&gt;  &lt;p&gt;  Ray then introduced one of the technical guys and I did not get his name, but he was very code centric.  I appreciated his efforts to hold off on getting to technical for a keynote speech but you could tell he wanted to let it rip, I like him.  &lt;/p&gt;  &lt;p&gt;  The thing I was getting confused about, not being a Microsoft centric coder, was there seemed to be a lot of products to duplicate what Flash gave you in one product.      &lt;/p&gt;  &lt;p&gt;  Products that were used as part of the demo:  &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Studio - of course&lt;/li&gt;   &lt;li&gt;Video Encoder -  preps the video for use on the web&lt;/li&gt;   &lt;li&gt;Expression Designer&lt;/li&gt;   &lt;li&gt;Blend II - alpha Blend I is beta and can be downloaded&lt;br /&gt;   &lt;/li&gt;   &lt;li&gt;Expression Web 2 &lt;/li&gt;   &lt;li&gt;SilverLight - Beta 1.0 the&amp;quot;Flex&amp;quot; Flash like product (runs on a Mac, runs on a Mac, runs on a Mac)  I heard that phrase a few times.   The small quick download is 4.3Mb and it includes the .Net framework to run cross platform. Interesting stuff, will discuss later.  &lt;/li&gt;  &lt;/ol&gt;  &lt;p&gt;  Now to discuss the SilverLight download and the inclusion of .Net. I  originally thought this was another Microsoft taking advantage of being  a big player and trying to squash the little guy, javascript. I know it  is hard to debug, especially with IE&amp;#39;s (object expected detailed error  message), but it is what it is and it does the job. They were  crucifying javascript and that upset me somewhat, but when thinking  about what they were saying it is the same as the Flash player. Flash  has actionscript and they have just made a version that runs faster  than previous versions but all of there comparisions were made to  itself and not to javascript. They both are doing the same thing, I  applaud Microsoft for including this, it is still an imitation not  innovation, but it was a very smart move on their part. The size is not  what I call small but 4.3Mb is becoming smaller and smaller all the  time. &lt;br /&gt;  &lt;/p&gt;  &lt;p&gt;  Anyway, sorry for the rant.    &lt;/p&gt;  &lt;p&gt;  Then came the Netflix demo (3 of 5), this was a very cool demo on how to use the Microsoft suite to duplicate &amp;quot;youtube&amp;quot; or &amp;quot;dailymotion&amp;quot; but for movies.  It was impressive just not as original as it was presented.   This was done in a 3 week period and that is impressive, but having to design something and create it is something different.   I just mean to imitate something, and I steal or borrow whenever I see a good idea, and doing that compared to having to create something original is two totally different things.  &lt;/p&gt;  &lt;p&gt;  Then came Wayne Smith (4 of 5) , a designer at Microsoft, he was very entertaining and showed some very cool to be features not what was.    I liked him and would subscribe to his blog if I knew he had one.  &lt;/p&gt;  &lt;p&gt;  Now came out the President and General Manager of CBS, Jonathon Leess (3 of 5).  He was an old school speaker, loud, confident and dared anyone to question his statements.  The AV kid from CBS doing his slide presentation, messed up once and said &amp;quot;Please forgive me&amp;quot;.  I got a chuckle out of that.  CBS demoed what they could use it for, collaborative news.  Normal people submit news, the audience watches it and votes and the tv stations play the highest rated news.  I like the idea when it was called &amp;quot;American Funniest Home Videos&amp;quot;, just kidding, I think it very bold just not as visionary as presented.  &lt;/p&gt;  &lt;p&gt;  The next guy, from a company called &amp;quot;Top Banana&amp;quot; was a really funny guy, Beau Anbur (4 of 5).  I did keep waiting for him to screan &amp;quot;well, you can do that when you live in a van down by the river&amp;quot;, he looked and talked like Chris Farley when he did the motivational speaker skit.&amp;nbsp; Honestly if you need something to make your company stand out and you have some money give this guy a call.   I think he would rather die than not give you the latest and greatest. In addition, the cool video editor he built is free for download and Microsoft is doing free hosting of up to 10 minute videos for anyone wanting to start using their tools for video.  Watch out &amp;quot;youtube&amp;quot; here comes Microsoft.   &lt;/p&gt;  &lt;p&gt;  Now sports, Pres and CEO of MBL.com Advanced Media, Bob Bowman (reminded me of Kevin Coster in &amp;quot;For the Love of the Game&amp;quot;).  Sharp dresser, confident, good dresser, loves the sport but stuff is passing him by.  He called in a basketball player to talk about what they were doing.  He was not a basketball player but &amp;quot;Justin Schaffer&amp;quot; (6&amp;#39;8&amp;quot; and 4of5) did the majority of the demo.  They also showed they are implementing mlb.com on mobile devices and that impressed me.  MLB.com, not going to pay $15 bucks a month for your service but a very impressive presentation.  I like satellite radio for my sports away from home listening pleasure.  &lt;/p&gt;  &lt;p&gt;  Microsoft came back on stage and starting doing more code and talked about how they support mulitple languages.  They have embraced Python and Ruby, to Microsoft as Iron Ruby and Iron Python, this is very cool stuff.   I do not understand the concept totally here so I really have no thoughts on this subject.  If I was a Python developer and now I can buy .Net so i can run something that is free?  I sure there are very good reasons, I just for the life of me can&amp;#39;t figure out what they are.  &lt;/p&gt;  &lt;p&gt;  To recap the overall impression:  &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Outstanding presentation ability that Microsoft has - they can really sell.&lt;/li&gt;   &lt;li&gt;I take it the developer community has taken the Microsoft approach and not embraced many open source frameworks because many of the thing people were clapping for have existed for many moons now.&lt;/li&gt;   &lt;li&gt;Man can they sell, upper management does not have a chance if these guys set their scopes.&lt;/li&gt;   &lt;li&gt;I would come to a Microsoft event if it was on basically nothing because they can really put on a nice shin dig.  &lt;br /&gt;   &lt;/li&gt;   &lt;li&gt;They are making very nice enhancements to there product line but it is a catch up by imitation not a step ahead with innovation.&lt;/li&gt;  &lt;/ol&gt;  &lt;p&gt;  If you are a Microsoft shop this is a very impressive tool set, just do not know the price, as everything is now free and it is also in beta.  If I was a core Microsoft developer and had not developed with tools that already had this capability I was be very excited about what I can do that I have seen on the web for the last few years.     &lt;/p&gt;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  </description><pubDate>Mon, 30 Apr 2007 21:56:20 GMT</pubDate><guid>http://dionrecaps.instantspot.com/blog/2007/04/30/MIX07--Day-1--Keynote-/</guid><category>Conferences</category></item><item><title>The SPRY / Flex Conspiracy</title><link>http://dionrecaps.instantspot.com/blog/2007/03/14/The-SPRY--Flex-Conspiracy/</link><description>&lt;p&gt;  For all you Clancy fans this is one to think about and hopefully someone can give good reasons I am wrong.  &lt;/p&gt;  &lt;p&gt;  I have been using Spry 2 weeks before CFUnited 06&amp;#39; and I have integrated it with several projects and it has allowed me to add some really nice functionality.&amp;nbsp; I have also used it for a phone book that gets hit like thousands of times a day.&amp;nbsp; It has helped reduced network traffic to a quarter of what is what originally.  &lt;/p&gt;  &lt;p&gt;  I was at the Flex360 conference and was asking when would you use Spry and when would you use Flex.&amp;nbsp; I got a resounding you only want to use Spry for the little things because it can not handle large enterprise applications.&amp;nbsp; I usually take this information and repeat it like a good little follower but this did not make sense to me.&amp;nbsp; It uses Google XPath and google runs large applicaitons.&amp;nbsp; Spry is doing all of its work on the client side and the server is just serving up XML.  &lt;/p&gt;  &lt;p&gt;  One article I read said Coldfusion was not able to handle outputing all this xml to Spry components and you need Flex for it. &amp;nbsp; OK, but if Coldfusion can not handle outputing several packets of XML does that not destroy the theory that Coldfusion is an enterprise ready tool? &amp;nbsp;  &lt;/p&gt;  &lt;p&gt;  Anyway, I think somewhere along the way the Adobe marketing team decided that Spry is better than anticppated and it could really hurt Flex (Apollo) sales and it was declared to spread the word and make everyone scared to use it for anything that was considered a large application.&amp;nbsp; It seems too much of an orchestrated message considering most blogs start with, this guy is really brillant but here is where he is wrong. &amp;nbsp;  &lt;/p&gt;  &lt;p&gt;  Please respond and tell me your thoughts as I lay at sleep at night wondering what the Spry Matrix really is. &lt;br /&gt;  &lt;/p&gt;  </description><pubDate>Thu, 15 Mar 2007 03:08:59 GMT</pubDate><guid>http://dionrecaps.instantspot.com/blog/2007/03/14/The-SPRY--Flex-Conspiracy/</guid><category>Coldfusion</category></item><item><title>Microsoft Product Launch - Developer Track</title><link>http://dionrecaps.instantspot.com/blog/2007/02/01/Microsoft-Product-Launch--Developer-Track/</link><description>&lt;p&gt;  Attending the Microsoft product launch yesterday, I finally realized what the Apple t-shirts meant &amp;quot;Apple: Windows 95 since 84&amp;quot;.  &lt;/p&gt;  &lt;p&gt;  I got to see some nice product enhancements, like vector graphics - I am serious, they showed the resizing of a basic form like 10 times, like that was new.&amp;nbsp; Then it was a Flash bash party, the question was raised, has anyone ever tried to implement a web service into Flash, pause, it is almost impossible. &amp;nbsp; I was holding back with everything I had to say it is really simple with Flex, you know what you took and called XAML (MXML) or WPF - Flash.&amp;nbsp; They promised WPFe was coming soon, and they said they had run it on an apple (intel machine) under Safari.&amp;nbsp; Don&amp;#39;t get me wrong this is good looking stuff, but it is was not jaw dropping innovative tehnology.  &lt;/p&gt;  &lt;p&gt;  To their credit, they are starting to make ends to open up office documents 2007, with openXML standards, thanks to Open Office implementing it first.&amp;nbsp; I really believe if they go to proprietary on this version of office it could have really hurt them.&amp;nbsp; Office documents no longer need to be soley a client side application.&amp;nbsp; It needs to integrate with backend systems and have the data inputted go into a database so information its information can be accessed.  &lt;/p&gt;  &lt;p&gt;  I would really like to see Coldfusion 8 come out with some wicked easy implementation for excel, word would be nice and power point if they can. &amp;nbsp; I think Excel is a very powerful interface and can open up development bottlenecks by letting the customer basically developing the user interfaces and let a coldfusion developer easily organize, store and report on this data.&amp;nbsp;  &lt;/p&gt;  &lt;p&gt;  I really do not care about an office replacement as much as I would like to see an office integration solution.&amp;nbsp; I love Google Spreadsheets &amp;amp; Docs and I marvel at how they are doing what they are doing, but it still it is not Excel.&amp;nbsp; Microsoft is starting this but the infrastructure costs apprears to be outrageous.&amp;nbsp; I really think this white space has not been touched and could have tremendous benefits for the one who comes up with the answer.  &lt;/p&gt;  &lt;p&gt;  Congrats to Microsoft for changing windows kernal to have the graphics portion seperate to help eliminate the all to common blue screens of death.&amp;nbsp; When I can afford to run a server at my house to run Vista with all the cool features I will definitely think about upgrading.  &lt;/p&gt;  </description><pubDate>Thu, 01 Feb 2007 23:28:31 GMT</pubDate><guid>http://dionrecaps.instantspot.com/blog/2007/02/01/Microsoft-Product-Launch--Developer-Track/</guid><category>Coldfusion</category></item><item><title>Communication, Communication, Communication</title><link>http://dionrecaps.instantspot.com/blog/2007/01/13/Communication-Communication-Communication/</link><description>&lt;p&gt;  This is basically a plug for a book that has really helped me in several key areas of corporate communication.  I use it to help make my communications direct, attention grabbing and have a better sense of clarity than in years past.    &lt;/p&gt;  &lt;p&gt;  I traveled to Nashville, Tn this weekend to see my nephew play in the all state band (2nd chair Tuba), way to go Lincoln.  This gave me some time to finish a book I have been refrencing for several different types of communications dealt  with on a daily basis (email, IM, presentations, instructional manuals, lesson plans, etc...).    &lt;/p&gt;  &lt;p&gt;  The book, &lt;strong class=&quot;sans&quot;&gt;Write to the Point: How to Communicate in Business With Style and Purpose (Paperback)   &lt;/strong&gt;by &lt;a href=&quot;http://www.amazon.com/exec/obidos/search-handle-url/002-2102219-4260028?%5Fencoding=UTF8&amp;amp;search-type=ss&amp;amp;index=books&amp;amp;field-author=Salvatore%20J.%20Iacone&quot;&gt;Salvatore J. Iacone&lt;/a&gt; is about $9-11 on &lt;a href=&quot;http://www.amazon.com/Write-Point-Communicate-Business-Purpose/dp/1564146391/sr=8-2/qid=1168751158/ref=pd_bbs_sr_2/002-2102219-4260028?ie=UTF8&amp;amp;s=books&quot;&gt;Amazon&lt;/a&gt; with $4 dollars shipping and handling.  It is a very good book for people who just want the answers and do not want to have to read 3 chapters to get it.  It is very clear and  gets to the point, packed with detailed examples.   &lt;/p&gt;  &lt;p&gt;  Great Book, Salvatore J. Iacone, Ph.D.   &lt;/p&gt;  </description><pubDate>Sun, 14 Jan 2007 05:21:23 GMT</pubDate><guid>http://dionrecaps.instantspot.com/blog/2007/01/13/Communication-Communication-Communication/</guid><category>Career</category></item><item><title>Maintenance Grid - Spry and the Google hack</title><link>http://dionrecaps.instantspot.com/blog/2007/01/12/Maintenance-Grid--Spry-and-the-Google-hack/</link><description>&lt;p&gt;  I have always hated to write the maintenance sections of my applications.  CRUD is not only what needs to be accomplished but how what I feel like when I have to finally complete them.  I blame SQL Server Enterprise Mgr for my maintenance depression because it makes it so easy to add or change fields for the categories, status, locations, and the other ones.  I really feel bad that the actual user never gets a system that is as clean and simple to use as I have during development when I cheat with Enterprise Mgr.   &lt;/p&gt;  &lt;p&gt;  Now, to the solution or my solution,  I am a huge fan of google&amp;#39;s web design.  The human factors element they put into their design and the elegance of how they accomplish it is amazing.    &lt;/p&gt;  &lt;p&gt;  &lt;em&gt;&lt;font face=&quot;helvetica&quot;&gt;Human Factors with elegant design, with IBM they achieve everything with brute force and when it does not scale their solution is to  just buy bigger hardware, say the AIX with 36 processors and 200 Gb or ram.  Google can give a better user experience at the same time it does it in such an elegant way it runs the same for 1 as it does 100,000 users.  &lt;/font&gt;&lt;/em&gt;  &lt;/p&gt;  &lt;p&gt;  Sorry for the &lt;em&gt;tangent rant&lt;/em&gt;!  &lt;/p&gt;  &lt;p&gt;  Moving on, if you have used Google&amp;#39;s portal page you have noticed how they show and hide layers for the config portions of each portlet or googlet, whatever they are called.  They accomplish this with such a simple technique that it actually made me feel like the Gieco Caveman.   &lt;/p&gt;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  &lt;div style=&quot;overflow: auto; width: 500px; height: 300px; background-color: #efefef&quot;&gt;  &lt;br /&gt;  .modbox .el {display:;}  .modbox .csl, .modbox .es {display:none;}  .modbox_e .el {display:none;}  .modbox_e .csl, .modbox .es {display:;}   &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  function _gel(ig_){  return document.getElementById?document.getElementById(ig_):null  }  function _add(ig_,ig_a){  _gel(&amp;quot;m_&amp;quot;+ig_).className=&amp;quot;modbox_e&amp;quot;;  return false  }  function _cadd(ig_){  _gel(&amp;quot;m_&amp;quot;+ig_).className=&amp;quot;modbox&amp;quot;;  _gel(&amp;quot;m_&amp;quot;+ig_+&amp;quot;_form&amp;quot;).reset();  return false  }  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  &amp;lt;div id=&amp;quot;m_999998&amp;quot; class=&amp;quot;modbox&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;form id=&amp;quot;m_999998_form&amp;quot; name=&amp;quot;m_999998_form&amp;quot; action=&amp;quot;javascript:addRecord(&amp;#39;999998&amp;#39;);&amp;quot; AUTOCOMPLETE = &amp;quot;off&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;table&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;tbody&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;tr class=&amp;quot;el&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;td colspan=4 style=&amp;quot;background-color:##efefef;&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;a xhref=&amp;quot;javascript:void(0)&amp;quot; mce_href=&amp;quot;javascript:void(0)&amp;quot; class=&amp;quot;el&amp;quot; onclick=&amp;quot;return _add(&amp;#39;999998&amp;#39;,null);&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;[+]&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;  Add new record.  &amp;lt;/td&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;/tr&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;tr class=&amp;quot;csl&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;td width=5% nowrap&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;a xhref=&amp;quot;javascript:void(0)&amp;quot; mce_href=&amp;quot;javascript:void(0)&amp;quot; onclick=&amp;quot;javascript:addRecord(&amp;#39;999998&amp;#39;);&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;Save&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt; |  &amp;lt;a xhref=&amp;quot;javascript:void(0)&amp;quot; mce_href=&amp;quot;javascript:void(0)&amp;quot; onclick=&amp;quot;return _cadd(&amp;#39;999998&amp;#39;,null);&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;Cancel&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;/td&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;td width=30%&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;key&amp;quot; value=&amp;quot;&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;td width=45%&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;desc&amp;quot; value=&amp;quot;&amp;quot;  maxlength=50 size=25&amp;gt;&amp;lt;br /&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;td width=20%&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;input type=&amp;quot;radio&amp;quot; name=&amp;quot;status&amp;quot; value=&amp;quot;1&amp;quot; checked&amp;gt;&amp;lt;br /&amp;gt;Active  &amp;lt;/td&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;/tr&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;/tbody&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;/table&amp;gt;&amp;lt;br /&amp;gt;   &amp;lt;/form&amp;gt;&amp;lt;br /&amp;gt;  &amp;lt;/div&amp;gt;&amp;lt;br /&amp;gt;  &lt;/div&gt;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  &lt;p&gt;  Google&amp;#39;s concept is to create a div layer with a class of modbox and two elements inside of it called &amp;quot;el&amp;quot; and &amp;quot;csl&amp;quot;.  Both elements has the oposite css properties, el to show and csl to hide.  The elegance is when you call on the javasript function _add(&amp;#39;numeric id&amp;#39;) it changes the parent div layer from modbox to modbox_e.   Yes, modbox_e is the bizarro modbox (Superman reference) and it changes the el properties to hide and csl properties to show, call on the javascript function of _cadd (cancel add) and it changes the parent div layer back to _modbox.    &lt;/p&gt;  &lt;p&gt;  I hear you talking, I have been reading for a couple minutes and your code example did not work correctly (sorry but you can get the idea) and I still do not know what you do for the maintenance portion of your applications.  &lt;/p&gt;  &lt;p&gt;  I have created a generic fusebox circuit that has its prefuseaction action to set a few parameters (key_id field, field_desc, field_status and maint_table) the paramers map the consistent maintenance tables.     The one and only dsp page in the circuit creates a form page that has two different rows for each record.  The first row is the display row and the second row is the input elements of the record.    &lt;/p&gt;  &lt;p&gt;  When spry calls on the repeatable region is creates the two rows one in the parent div of el and the other in the parent window of csl.  The parent div&amp;#39;s syntax is as follows (&amp;lt;div id=&amp;quot;m_{ds_RowNumberPlus1}&amp;quot; class=&amp;quot;modbox&amp;quot;&amp;gt;).  &lt;/p&gt;  &lt;div id=&quot;m_{ds_RowNumberPlus1}&quot; class=&quot;modbox&quot;&gt;  &lt;p&gt;  Spry used in this manner allows each maintenance section to have the basic characteristics of excel and my develop time has been cut from a few days to a few minutes.  The end user is impressed with this advanced looking interface even though it is just basic Ajax functionality provided by  this Spry-Google hack .    &lt;/p&gt;  &lt;p&gt;  NOTE: The last project I completed 24 maintenance tables in 38 minutes.    &lt;/p&gt;  &lt;p&gt;  I have tried to add as much code inside this blog as possible but this one is just too much to try and add.  If you would like a copy of this fusebox circuit code just email me at dion.perkins@gmail.com.   &lt;/p&gt;  &lt;/div&gt;  </description><pubDate>Sat, 13 Jan 2007 05:35:27 GMT</pubDate><guid>http://dionrecaps.instantspot.com/blog/2007/01/12/Maintenance-Grid--Spry-and-the-Google-hack/</guid><category>Coldfusion</category></item><item><title>Web Services - Write Java, Promote Coldfusion</title><link>http://dionrecaps.instantspot.com/blog/2007/01/12/Web-Services--Write-Java-Promote-Coldfusion/</link><description>&lt;p&gt;  I have created a few web services from coldfusion for basic information that does not really affect the ROI numbers for the company but can be used to provide a better end user experience.    &lt;/p&gt;  &lt;p&gt;  A good example, a web service to lookup up a user&amp;#39;s email address from their common logon id.  This has been used in several different ways but one of the best was one of the java developer&amp;#39;s was storing the last time each user id logged into their system. If there was going to be a distruption of service or new features launched, they just add the message to a page and click send alerts.  Each user that had logged into the system in the last 6 months would get an email by using the web service to look up each user&amp;#39;s email address.    &lt;/p&gt;  &lt;p&gt;  The interesting thing I discovered was more java developers than not have little experience reading in data from a web service.  Our shop is mainly a java shop with coldfusion as the small to medium jobs.  The perception, for whatever reason, is web services created by coldfusion can only be used by coldfusion.  The coldfusion guys don&amp;#39;t have much java experience so when they are asked how do I, a java developer, access that web service they are like cfinvoke and the java developer says thats cool and never uses it.  The point I am trying to get to is, knowing more than coldfusion could have promoted coldfusion.  In this situation, instead of the attitude of switch and come over to the coldfusion side, knowing a little java can help with the promotion of coldfusion&amp;#39;s ability to create web services.  &lt;/p&gt;  &lt;p&gt;  To try and help anyone who might recognize the situation above, I included a snippet of Java code I wrote to demonstrate how to read in a simple coldfusion web service.  Please feel free to use it to demonstrate to java devevlopers how they can take advantage of web services created in coldfusion.   &lt;/p&gt;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  &lt;div style=&quot;overflow: auto; width: 500px; height: 400px; background-color: #efefef&quot;&gt;  package test;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  import org.apache.axis.client.Call;&lt;br /&gt;  import org.apache.axis.client.Service;&lt;br /&gt;  import org.apache.axis.encoding.XMLType;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  import javax.xml.rpc.ParameterMode;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  public class WSClient {&lt;br /&gt;  public static void main(String [] args) throws Exception {&lt;br /&gt;  String endpoint = &amp;quot;http://server/webserviceurl.cfc?wsdl&amp;quot;;&lt;br /&gt;  // Make the call&lt;br /&gt;  Service  service = new Service();&lt;br /&gt;  Call     call    = (Call) service.createCall();&lt;br /&gt;  String i1 = &amp;quot;loginID&amp;quot;;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  call.setTargetEndpointAddress(new java.net.URL(endpoint));&lt;br /&gt;  call.setOperationName(&amp;quot;getEmailAddress&amp;quot;);&lt;br /&gt;  call.addParameter(&amp;quot;euid&amp;quot;, XMLType.XSD_STRING, ParameterMode.IN);&lt;br /&gt;  call.setReturnType(XMLType.XSD_STRING);  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  String ret = (String) call.invoke( new Object [] { i1 });  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  System.out.println(&amp;quot;Got result : &amp;quot; + ret);  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  }&lt;br /&gt;  }&lt;br /&gt;  &lt;/div&gt;  </description><pubDate>Fri, 12 Jan 2007 14:03:24 GMT</pubDate><guid>http://dionrecaps.instantspot.com/blog/2007/01/12/Web-Services--Write-Java-Promote-Coldfusion/</guid><category>Coldfusion</category></item><item><title>Fusebox Lifecycle - Prototyping</title><link>http://dionrecaps.instantspot.com/blog/2007/01/03/Fusebox-Lifecycle--Prototyping/</link><description>&lt;p&gt;  This is a quick introduction to the next phase I use of the FLiP process, prototyping.&amp;nbsp; The way I implement prototyping is to take the completed wireframe and get any other field requirements and start coding the frontend of the application using the fusebox framework.&amp;nbsp; To imitate data I either hard code the entries or utiize &lt;a href=&quot;http://www.halhelms.com/index.cfm?fuseaction=code.detail&quot;&gt;cf_querysim&lt;/a&gt;.&amp;nbsp;&amp;nbsp;   &lt;/p&gt;  &lt;p&gt;  I do tend to try to get the circuits as close the finished production as possible but I do not worry how close I get the fuses.&amp;nbsp; I have tried to worry about the fuses in the past and I was then missing the backend design with the frontend presentation layer and it created to much havoc.&amp;nbsp; Recap: Circuits are close - Fuses maybe/maybe not.  &lt;/p&gt;  &lt;p&gt;  The prototype has to come with a couple of warnings:  &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Watch out for scope creep.&amp;nbsp; The business can start to believe you are a GOD for being able to take their every little request and insert it into the prototype.&amp;nbsp; But be warned you are making a working application you are just painting a picture.&amp;nbsp; Keep a list of High Risk requests and get confirmation on what is a want and what is a need.&amp;nbsp; Needs get put in and wants get considered if they will not cause delays. &lt;/li&gt;   &lt;li&gt;Warn, Warn, Warn the business owner that this is the fast interactive part for them.&amp;nbsp; If you played the GOD card during prototyping it will usually backfire because they will think the applicaiton is basically done and the weeks that follow for development will appear you have forgotten about them.&amp;nbsp; In addition, if you promised them everything from the prototype (wants and needs) they have a memory like a trap and say things like I thought we talked adding the ability for this to make gold out of lead and you said yeah.&amp;nbsp; &lt;br /&gt;   &lt;/li&gt;   &lt;li&gt;Set expectations from realistic to low, if you deliver on time they can trust you if you come in ahead they think you padded the estimate, if you are late they think you are just another one of those tech guys.&lt;/li&gt;  &lt;/ol&gt;  &lt;p&gt;  Prototyping will flush out requirements that most do not find until 2-3 weeks into production.&amp;nbsp; When you get to see what you are talking about the business owner and programmer can share what the finished production will be before it is actually done.&amp;nbsp; When both parties agree the prototype covers everything that is needing and some of the wants get them to physically sign off before development is started.&amp;nbsp; Business owners tend to get very serious when you ask for a signature and you might find yourself with a 2 week delay while they double check everything again.  &lt;/p&gt;  &lt;p&gt;  The sign off is the last part of the prototype phase.&amp;nbsp; I then copy the prototype to a new branch in CVS or just copy the project and start with the backend development and design.&amp;nbsp; The reason I do a branch or copy is to be able to pulll up the signed off prototype and the actual application and except for the dynamic data the business user can not determine the difference.&amp;nbsp;  &lt;/p&gt;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  </description><pubDate>Thu, 04 Jan 2007 04:14:59 GMT</pubDate><guid>http://dionrecaps.instantspot.com/blog/2007/01/03/Fusebox-Lifecycle--Prototyping/</guid><category>Methodology</category></item><item><title>Fusebox Lifecycle - Wireframing</title><link>http://dionrecaps.instantspot.com/blog/2007/01/02/Fusebox-Lifecycle--Wireframing/</link><description>&lt;p&gt;  For those who are new to methodologies in the development of software, there is a very complete and mature methodology named FLiP.  FLiP stands for Fusebox Lifecycle process but does not rely on you using the Fusebox framework.  FLiP  starts with a basic conversation with the end user to discuss what it is they demand.  If after talking with them and taking some basic requirements, most will have prepared but scattered documentation, you can use a tool or process called Wireframing.  &lt;/p&gt;  &lt;p&gt;  Wireframing helps you create a flow and text based description of each segment of the proposed application and allows everyone to view the results.  The wireframing tools, coldfusion based, are mature and work very nicely.  The cool aspects of Wireframing that sometimes is not commented are the following:  &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The business user is so excited about being able to actively participate in the development process they document and flush out several requirements before you ever start.&lt;/li&gt;   &lt;li&gt;This makes you look really high tech to actually have a tool that is editable online than others tools that people use to represent screen shots.  I hate looking at any plain vanilla border rich screen shot created by a PM who knows how to created a table with border=1 in word or powerpoint.&lt;/li&gt;   &lt;li&gt;The workflow is useful in the creation of use cases.&lt;/li&gt;  &lt;/ol&gt;  &lt;p&gt;  &lt;br /&gt;  I have used this on several projects where I am on the east coast and the business user is on the west coast and we do not have to spend time trying to coordinate schedules.  I did the wireframing and sent them the link they added tons of documentation that I imported for into my project documentation, help documentation and used for a more complete prototype.    &lt;/p&gt;  &lt;p&gt;  To summarize, my advice is to get some form of methodology when developing software and just not in your head methodology.  Have a written process and inform your business users of the high level steps needed to complete the process.  Wireframing is a great tool for visualizing a project when you are still in discussion mode.  &lt;/p&gt;  &lt;p&gt;  Resource links:  &lt;/p&gt;  &lt;p&gt;  &lt;a href=&quot;http://www.teratech.com/index.cfm?go=FLiP.Wireframing&quot; target=&quot;_blank&quot;&gt;Wireframing from the new owners Tera Tech &lt;/a&gt;   &lt;/p&gt;  </description><pubDate>Wed, 03 Jan 2007 04:53:24 GMT</pubDate><guid>http://dionrecaps.instantspot.com/blog/2007/01/02/Fusebox-Lifecycle--Wireframing/</guid><category>Methodology</category></item><item><title>Toyota Production System</title><link>http://dionrecaps.instantspot.com/blog/2006/12/30/Toyota-Production-System/</link><description>&lt;p&gt;  Interesting read today about the Toyota Production System.  It has enabled Toyota to take over the number 2 spot in the in the automobile world, right behind GM.  The details of how this system works is too much for this blog but it is worth of recognizing some key points.  &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;When a problem is found stop and correct it.  Take the beating now and reap the benefits of a problem free system.&lt;/li&gt;   &lt;li&gt;Do not skip for the short term award, keep to the long term goal.&lt;/li&gt;   &lt;li&gt;Eliminate waste whenever possible. ( I take this as watching the users and eliminate as many key strokes, clicks as possible, make it fast for them to use)&lt;/li&gt;  &lt;/ol&gt;  &lt;p&gt;  There are several good articles about this but one of the best overall descriptions of the process is once again wikipedia.  &lt;/p&gt;  &lt;p&gt;  &lt;a href=&quot;http://en.wikipedia.org/wiki/Toyota_Production_System&quot; target=&quot;_blank&quot;&gt;Wikipedia TPS&lt;/a&gt;  &lt;/p&gt;  &lt;p&gt;  Anyway I created a word doc with some of the basic principles of TPS and placed it in my office to remind me there is always improvements to anything that is done.   &lt;/p&gt;  &lt;div style=&quot;border: 2px none #000000; overflow: auto; background-color: #efefef; width: 500px; height: 300px&quot;&gt;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  &lt;p&gt;  Eliminate these 7 things  &lt;/p&gt;  &lt;ol&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Over-production&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Motion (of operator or   machine)&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Waiting (of operator or   machine)&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Conveyance&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Processing Itself&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Inventory (raw material)&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Correction (rework &amp;amp;   scrap)&lt;/li&gt;  &lt;/ol&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;  Philosophy  of TPS  &lt;/p&gt;  &lt;ol&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Base your management   decisions on a long-term philosophy, even at the expense of short-term   goals&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Create continuous process   flow to bring problems to surface&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Use &amp;ldquo;pull&amp;rdquo; systems to avoid   overproduction&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Level out the workload&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Build a culture of stopping   to fix problems, to get quality right the first time&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Standardized tasks are the   foundation for continuous improvement and employee empowerment&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Use visual control so no   problems are hidden&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Use only reliable, thoroughly   tested technology that serves your people and processes&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Grow leaders who thoroughly   understand the work, live the philosophy, and teach it to others&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Develop exceptional people   and teams who follow your company&amp;rsquo;s philosophy&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Respect your extended network   of partners and suppliers by challenging them and helping them improve&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Go and see for yourself to   thoroughly understand the situation (genchi genbutsu)&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Make decisions slowly by   consensus, thoroughly considering all options; implement decisions rapidly&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Become a learning   organization through relentless reflection and continuous improvement&lt;/li&gt;  &lt;/ol&gt;  &lt;!--[if !supportEmptyParas]--&gt;&lt;!--[endif]--&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;  &lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;  &lt;/p&gt;  &lt;h2&gt;&lt;span class=&quot;mw-headline&quot;&gt;Long-Term Philosophy&lt;/span&gt;&lt;/h2&gt;  &lt;p&gt;  Base your management decisions on a long-term philosophy, even at the  expense of short-term financial goals.  &lt;/p&gt;  &lt;h2&gt;&lt;span class=&quot;mw-headline&quot;&gt;The Right Process Will Produce the Right Results&lt;/span&gt;&lt;/h2&gt;  &lt;ol&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Create continuous process   flow to bring problems to the surface&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Use the &amp;quot;pull&amp;quot; system   to avoid overproduction&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Level out the workload   (heijunka). (Work like the tortoise, not the hare.)&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Build a culture of stopping   to fix problems, to get quality right the first time&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Standardized tasks are the   foundation for continuous improvement and employee empowerment&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Use visual control so no   problems are hidden&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Use only reliable, thoroughly   tested technology that serves your people and processes.&lt;/li&gt;  &lt;/ol&gt;  &lt;h2&gt;&lt;span class=&quot;mw-headline&quot;&gt;Add Value to the Organization by Developing Your  People and Partners&lt;/span&gt;&lt;/h2&gt;  &lt;ol&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Grow leaders who thoroughly   understand the work, live the philosophy, and teach it to others.&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Develop exceptional people   and teams who follow your company&amp;#39;s philosophy&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Respect your extended network   of partners and suppliers by challenging them and helping them improve.&lt;/li&gt;  &lt;/ol&gt;  &lt;h2&gt;&lt;span class=&quot;mw-headline&quot;&gt;Continuously Solving Root Problems Drives  Organizational Learning&lt;/span&gt;&lt;/h2&gt;  &lt;ol&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Go and see for yourself to   thoroughly understand the situation (Genchi Genbutsu&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Make decisions slowly by   consensus, thoroughly considering all options; implement decisions rapidly&lt;/li&gt;   &lt;li class=&quot;MsoNormal&quot;&gt;Become a learning   organizatoin through relentless reflectoin (hansei) and continuous   improvement (Kaizen)&lt;/li&gt;  &lt;/ol&gt;  &lt;!--[if !supportEmptyParas]--&gt;&lt;!--[endif]--&gt;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  &lt;/div&gt;  </description><pubDate>Sun, 31 Dec 2006 03:52:44 GMT</pubDate><guid>http://dionrecaps.instantspot.com/blog/2006/12/30/Toyota-Production-System/</guid><category>Methodology</category></item><item><title>Coldusion MX7 read excel for free (Apache POI) </title><link>http://dionrecaps.instantspot.com/blog/2006/12/29/Coldusion-MX7-read-excel-for-free-Apache-POI-/</link><description>&lt;p&gt;  Recently I had the need to utilize existing spreadsheets uploaded to our Capital Appropriation applicaiton.  The problems you can encounter at the enterprise level is getting approval to buy any type of software to do this, then you have to put in the requests to get everything installed and then you must fill out security documents to get the admins the access to install the software, blah, blah, blah, red tape.    &lt;/p&gt;  &lt;p&gt;  I did some intial research and found all types of examples where Coldfusion uses Apache POI to create excel documents but i did not acutally find where it would read documents.  I found it was a little tricky to read excel documents but I got it working in a couple of days and thought it would be good to share.  &lt;/p&gt;  &lt;p&gt;  The code example I am listing is not a perfect example of how to read an excel spreadsheet but it goes a long way to get all the formatting to actually give a way to do a html conversion of an excel document.  &lt;/p&gt;  &lt;p&gt;  I hope this gives some other coldfusion developers a way to start reading existing excel spreadsheets in your business environment.  &lt;/p&gt;  &lt;p&gt;  Some of the ideas I had for this are:  &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;A new querysim (Hal Helms) that uses excel instead of a text file&lt;/li&gt;   &lt;li&gt;Security document (fusebox fuseactions) a column of fuseactions and columns for each group level of access.  The matrix could have yes, no or 1,0 to show this group has or does not have access to a specific fuseaction.  This would be loaded into application structure and called as a security prefuseaction.&lt;/li&gt;  &lt;/ol&gt;  &lt;br /&gt;  readExcel.cfm&lt;br /&gt;  &lt;div style=&quot;border: 1px none #000000; padding: 5px; overflow: auto; width: 500px; height: 200px; background-color: #efefef&quot;&gt;  &amp;lt;!--- Header begin ---&amp;gt;&lt;br /&gt;  &amp;lt;!--- Insert page title here ---&amp;gt;&lt;br /&gt;  &amp;lt;br /&amp;gt;  Reading an Excel with MX7 &amp;amp; Apache POI for free  &amp;lt;!--- Link to your standard stylesheet ---&amp;gt;&lt;br /&gt;  &amp;lt;!--- Link to standard Javascript file that provides row and button hover functionality to IE ---&amp;gt;&lt;br /&gt;  &amp;lt;!--- Include links to any application specific stylesheets, scripts here ---&amp;gt;&lt;br /&gt;  #supportNavigation {  position: relative;  z-index: 100;  padding-left: 14px;   padding-top:2px;   float: left;  height: 50px;   clear: left;  margin: 0px;  }   &amp;lt;div id=&amp;quot;header&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;!--- Insert application name here ---&amp;gt;&lt;br /&gt;  &amp;lt;div id=&amp;quot;appName&amp;quot;&amp;gt;&lt;br /&gt;  Reading an Excel or Word Document with MX7 &amp;amp; Apache POI  &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;!--- Insert user information/assistance here ---&amp;gt;&lt;br /&gt;  &amp;lt;div id=&amp;quot;greeting&amp;quot;&amp;gt;&lt;br /&gt;  Welcome   &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;div id=&amp;quot;divider&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;!--- Header end ---&amp;gt;&lt;br /&gt;  #excel{  border: 1px solid #808080;  background-color: #DDDDDD;  text-align: center;  }  &amp;lt;!--- store the package in a variable for more compact code ---&amp;gt;&lt;br /&gt;  &amp;lt;!--- create a new workbook ---&amp;gt;&lt;br /&gt;  &amp;lt;!--- Find out if the spreadsheet is protected ---&amp;gt;&lt;br /&gt;  &amp;lt;!---   Beginning logic for colspan and rowspan probably should move to div layers---&amp;gt;&lt;br /&gt;  &amp;lt;!--- &amp;lt;cfdump var=&amp;quot;#sheet#&amp;quot;&amp;gt;&lt;br /&gt;  ---&amp;gt;&lt;br /&gt;  &amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;div id=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;table border=&amp;quot;0&amp;quot; style=&amp;quot;border-collapse: collapse&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;tbody&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;  &amp;lt;td id=&amp;quot;excel&amp;quot;&amp;gt;&lt;br /&gt;  &amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;td id=&amp;quot;excel&amp;quot;&amp;gt;&lt;br /&gt;  #ucase(GetAlphabetPosition(myPrePos))##ucase(GetAlphabetPosition(myColPos))#  &amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;  &amp;lt;td id=&amp;quot;excel&amp;quot;&amp;gt;&lt;br /&gt;  #myTmpRow#&amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;!---       &amp;lt;cfset myFGColor=wb.getCustomPalette().getColor(javacast(&amp;quot;int&amp;quot;,myFGColor)).getHexString()&amp;gt;&lt;br /&gt;  ---&amp;gt;&lt;br /&gt;  &amp;lt;td&amp;gt;&lt;br /&gt;  colspan=#myColSpan[&amp;quot;#CC#,#DD#&amp;quot;]#  style=&amp;quot;padding:3px;#fnFont(myFont,myUnderline,myItalic,myStrikeout,myFontHeight,myBoldWeight)# #fnHAlignment(myHalignment)# #fnVAlignment(myValignment)#  #fnFGColor(myFGColor)#  #fnBorder(myLBorder,myTBorder,myRBorder,myBBorder)#&amp;quot;&amp;gt;  &amp;lt;!--- &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;#CC#,#DD#&amp;quot; value=&amp;quot; ---&amp;gt;&lt;br /&gt;  &amp;lt;!--- HSSFCell.CELL_TYPE_NUMERIC ---&amp;gt;&lt;br /&gt;  &amp;lt;!--- Check to see if numeric value has date formatting and use the correct method ---&amp;gt;&lt;br /&gt;  #dateformat(wb.getSheetAt(0).getRow(javacast(&amp;quot;int&amp;quot;, CC)).getCell(javacast(&amp;quot;int&amp;quot;, DD)).getDateCellValue(),&amp;quot;mm/dd/yyyy&amp;quot;)#   #wb.getSheetAt(0).getRow(javacast(&amp;quot;int&amp;quot;, CC)).getCell(javacast(&amp;quot;int&amp;quot;, DD)).getNumericCellValue()#  &amp;lt;!--- HSSFCell.CELL_TYPE_STRING ---&amp;gt;&lt;br /&gt;  #wb.getSheetAt(0).getRow(javacast(&amp;quot;int&amp;quot;, CC)).getCell(javacast(&amp;quot;int&amp;quot;, DD)).getStringCellValue()#  &amp;lt;!--- HSSFCell.CELL_TYPE_FORMULA ---&amp;gt;&lt;br /&gt;  #trim(numberformat(wb.getSheetAt(0).getRow(javacast(&amp;quot;int&amp;quot;, CC)).getCell(javacast(&amp;quot;int&amp;quot;, DD)).getNumericCellValue(),&amp;quot;999,999,999.99&amp;quot;))#  &amp;lt;a style=&amp;quot;text-decoration: none&amp;quot; xhref=&amp;quot;javascript:void(0);&amp;quot; mce_href=&amp;quot;javascript:void(0);&amp;quot; onmouseover=&amp;quot;return overlib(&amp;#39;#JSStringFormat(wb.getSheetAt(0).getRow(javacast(&amp;quot; onmouseout=&amp;quot;nd();&amp;quot;&amp;gt;&lt;br /&gt;  *&amp;lt;/a&amp;gt;&lt;br /&gt;  &amp;lt;!--- HSSFCell.CELL_TYPE_BLANK ---&amp;gt;&lt;br /&gt;  &amp;lt;!--- HSSFCell.CELL_TYPE_BOOLEAN ---&amp;gt;&lt;br /&gt;  #wb.getSheetAt(0).getRow(javacast(&amp;quot;int&amp;quot;, CC)).getCell(javacast(&amp;quot;int&amp;quot;, DD)).getBooleanCellValue()#  &amp;lt;!--- HSSFCell.CELL_TYPE_ERROR ---&amp;gt;&lt;br /&gt;  #wb.getSheetAt(0).getRow(javacast(&amp;quot;int&amp;quot;, CC)).getCell(javacast(&amp;quot;int&amp;quot;, DD)).getErrorCellValue()#  Cell type is numeric value of #wb.getSheetAt(0).getRow(javacast(&amp;quot;int&amp;quot;,CC)).getCell(javacast(&amp;quot;int&amp;quot;,DD)).getCellType()#  &amp;gt;  &amp;lt;!---  &amp;quot;&amp;gt;&lt;br /&gt;  ---&amp;gt;&lt;br /&gt;  &amp;lt;!---   &amp;lt;cfdump var=&amp;quot;#cfcatch#&amp;quot;&amp;gt;&lt;br /&gt;  &amp;lt;cfabort&amp;gt;&lt;br /&gt;  ---&amp;gt;&lt;br /&gt;  &amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;  &amp;lt;/tbody&amp;gt;&lt;br /&gt;  &amp;lt;/table&amp;gt;&lt;br /&gt;  &amp;lt;/div&amp;gt;&lt;br /&gt;  &lt;/div&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;!--- Footer end ---&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;br /&gt;  &lt;!--- Footer end ---&gt;  plugExcel.cfm&lt;br /&gt;  &lt;div style=&quot;border: 1px none #000000; padding: 5px; overflow: auto; width: 500px; height: 200px; background-color: #efefef&quot;&gt;  &lt;br /&gt;  /**  * Returns the numeric value of a letter&amp;#39;s position in the alphabet, or the returns matching letter of a number in the alphabet.  *   * @param charornum   Either a character or number.   * @return Returns either a character, number, or empty string on error.   * @author Seth Duffey (sduffey@ci.davis.ca.us)   * @version 1, January 7, 2002   */  function GetAlphabetPosition(charornum) {  var a_numeric = asc(&amp;quot;a&amp;quot;);  charornum = lCase(trim(charornum));  if (charornum eq &amp;quot;&amp;quot;){  return &amp;quot;&amp;quot;;  }  if(isNumeric(charornum)) {  if(charornum lte 0 OR charornum gte 27) return &amp;quot;&amp;quot;;  return chr(charornum+a_numeric-1);  } else {  if(len(charornum) gt 1) return &amp;quot;&amp;quot;;  if(REFind(&amp;quot;[^a-z]&amp;quot;,charornum)) return &amp;quot;&amp;quot;;  return asc(charornum) - a_numeric + 1;  }  return 1;  }  function fnHAlignment(this_cell){  switch(this_cell){  case &amp;quot;1&amp;quot;:   return &amp;quot;text-align:left;padding-left:.5em;&amp;quot;;  break;  case &amp;quot;2&amp;quot;:   return &amp;quot;text-align:center;&amp;quot;;  break;       case &amp;quot;3&amp;quot;:   return &amp;quot;text-align:right;padding-right:.5em;&amp;quot;;  break;                  }  return &amp;quot;&amp;quot;;   }  function fnFont(myFont,myUnderline,myItalic,myStrikeout,myFontHeight,myBoldWeight){  var myReturnFont=&amp;quot;font-size:&amp;quot;&amp;amp;myFontHeight&amp;amp;&amp;quot;px;&amp;quot;;  myReturnFont=myReturnFont&amp;amp;&amp;quot;font:&amp;quot;&amp;amp;myFont&amp;amp;&amp;quot;;&amp;quot;;  myReturnFont=myReturnFont&amp;amp;&amp;quot;font-weight:&amp;quot;&amp;amp;myBoldWeight&amp;amp;&amp;quot;;&amp;quot;;  if (myUnderline){  myReturnFont=myReturnFont&amp;amp;&amp;quot;text-decoration:underline;&amp;quot;;  }  if (myItalic){  myReturnFont=myReturnFont&amp;amp;&amp;quot;font-style:italic;&amp;quot;;   }  return myReturnFont;  }  function fnVAlignment(this_cell){  switch(this_cell){  case &amp;quot;0&amp;quot;:   return &amp;quot;vertical-align:top;&amp;quot;;  break;  case &amp;quot;1&amp;quot;:   return &amp;quot;vertical-align:middle;&amp;quot;;  break;       case &amp;quot;2&amp;quot;:   return &amp;quot;vertical-align:bottom;&amp;quot;;  break;                  }  return &amp;quot;&amp;quot;;   }  function fnFGColor(this_color){  return &amp;quot;background-color:&amp;quot; &amp;amp; fnColor(this_color) &amp;amp; &amp;quot;;&amp;quot;;  }  function fnBorder(this_left, this_top, this_right, this_bottom){  var myBorder=&amp;quot;&amp;quot;;  if (this_left){  myBorder=&amp;quot;border-left:1px solid ##000000;&amp;quot;;  }   if (this_top){  myBorder=myBorder&amp;amp;&amp;quot;border-top:1px solid ##000000;&amp;quot;;  }    if (this_right){  myBorder=myBorder&amp;amp;&amp;quot;border-right:1px solid ##000000;&amp;quot;;  }     if (this_bottom){  myBorder=myBorder&amp;amp;&amp;quot;border-bottom:1px solid ##000000;&amp;quot;;  }     return myBorder;  }  function fnColor(this_color){  switch(this_color){  case &amp;quot;1&amp;quot;:  return &amp;quot;##000000;&amp;quot;;  break;   case &amp;quot;2&amp;quot;:  return &amp;quot;##ffffff;&amp;quot;;  break;       case &amp;quot;10&amp;quot;:  return &amp;quot;##ff0000;&amp;quot;;  break;       case &amp;quot;4&amp;quot;:  return &amp;quot;##00ff00;&amp;quot;;  break;       case &amp;quot;18&amp;quot;:  return &amp;quot;##0000ff;&amp;quot;;  break;       case &amp;quot;13&amp;quot;:  return &amp;quot;##ffff00;&amp;quot;;  break;       case &amp;quot;7&amp;quot;:  return &amp;quot;##ff00ff;&amp;quot;;  break;       case &amp;quot;8&amp;quot;:  return &amp;quot;##00ffff;&amp;quot;;  break;    //9     case &amp;quot;60&amp;quot;:  return &amp;quot;##800000;&amp;quot;;  break;       case &amp;quot;57&amp;quot;:  return &amp;quot;##008000;&amp;quot;;  break;       case &amp;quot;11&amp;quot;:  return &amp;quot;##000080;&amp;quot;;  break;       case &amp;quot;12&amp;quot;:  return &amp;quot;##808000;&amp;quot;;  break;       case &amp;quot;11113&amp;quot;:  return &amp;quot;##800080;&amp;quot;;  break;       case &amp;quot;14&amp;quot;:  return &amp;quot;##ff0000;&amp;quot;;  break;   case &amp;quot;22&amp;quot;:  return &amp;quot;##c0c0c0&amp;quot;;  break;  case &amp;quot;16&amp;quot;:  return &amp;quot;##808080&amp;quot;;  break;      case &amp;quot;17&amp;quot;:  return &amp;quot;##9999ff&amp;quot;;  break;      case &amp;quot;11118&amp;quot;:  return &amp;quot;##993366&amp;quot;;  break;      case &amp;quot;19&amp;quot;:  return &amp;quot;##ffffcc&amp;quot;;  break;      case &amp;quot;20&amp;quot;:  return &amp;quot;##ccffff&amp;quot;;  break;      case &amp;quot;21&amp;quot;:  return &amp;quot;##660066&amp;quot;;  break;            case &amp;quot;2299&amp;quot;:  return &amp;quot;##ff8080&amp;quot;;  break;      case &amp;quot;23&amp;quot;:  return &amp;quot;##0066cc&amp;quot;;  break;        case &amp;quot;24&amp;quot;:  return &amp;quot;##ccccff&amp;quot;;  break;      case &amp;quot;25&amp;quot;:  return &amp;quot;##000080&amp;quot;;  break;      case &amp;quot;26&amp;quot;:  return &amp;quot;##ff00ff&amp;quot;;  break;      case &amp;quot;27&amp;quot;:  return &amp;quot;##ffff00&amp;quot;;  break;      case &amp;quot;28&amp;quot;:  return &amp;quot;##00ffff&amp;quot;;  break;      case &amp;quot;29&amp;quot;:  return &amp;quot;##800080&amp;quot;;  break;      case &amp;quot;30&amp;quot;:  return &amp;quot;##800000&amp;quot;;  break;      case &amp;quot;31&amp;quot;:  return &amp;quot;##008080&amp;quot;;  break;      case &amp;quot;32&amp;quot;:  return &amp;quot;##0000ff&amp;quot;;  break;      case &amp;quot;33&amp;quot;:  return &amp;quot;##00ccff&amp;quot;;  break;      case &amp;quot;34&amp;quot;:  return &amp;quot;##ccffff&amp;quot;;  break;      case &amp;quot;35&amp;quot;:  return &amp;quot;##ccffcc&amp;quot;;  break;      case &amp;quot;43&amp;quot;:  return &amp;quot;##ffff99&amp;quot;;  break;      case &amp;quot;37&amp;quot;:  return &amp;quot;##99ccff&amp;quot;;  break;      case &amp;quot;38&amp;quot;:  return &amp;quot;##ff99cc&amp;quot;;  break;                     case &amp;quot;39&amp;quot;:  return &amp;quot;##cc99ff&amp;quot;;  break;      case &amp;quot;40&amp;quot;:  return &amp;quot;##ffcc99&amp;quot;;  break;      case &amp;quot;41&amp;quot;:  return &amp;quot;##3366ff&amp;quot;;  break;      case &amp;quot;42&amp;quot;:  return &amp;quot;##33cccc&amp;quot;;  break;      case &amp;quot;99&amp;quot;:  return &amp;quot;##99cc00&amp;quot;;  break;      case &amp;quot;44&amp;quot;:  return &amp;quot;##ffcc00&amp;quot;;  break;      case &amp;quot;45&amp;quot;:  return &amp;quot;##ff9900&amp;quot;;  break;      case &amp;quot;46&amp;quot;:  return &amp;quot;##ff6600&amp;quot;;  break;      case &amp;quot;47&amp;quot;:  return &amp;quot;##666699&amp;quot;;  break;      case &amp;quot;48&amp;quot;:  return &amp;quot;##969696&amp;quot;;  break;      case &amp;quot;49&amp;quot;:  return &amp;quot;##003366&amp;quot;;  break;      case &amp;quot;50&amp;quot;:  return &amp;quot;##339966&amp;quot;;  break;      case &amp;quot;51&amp;quot;:  return &amp;quot;##003300&amp;quot;;  break;      case &amp;quot;52&amp;quot;:  return &amp;quot;##333300&amp;quot;;  break;      case &amp;quot;53&amp;quot;:  return &amp;quot;##993300&amp;quot;;  break;      case &amp;quot;54&amp;quot;:  return &amp;quot;##993366&amp;quot;;  break;      case &amp;quot;55&amp;quot;:  return &amp;quot;##333399&amp;quot;;  break;      case &amp;quot;56&amp;quot;:  return &amp;quot;##333333&amp;quot;;  break;   }  return this_color;                       }  &lt;br /&gt;  &lt;/div&gt;  </description><pubDate>Sat, 30 Dec 2006 04:14:34 GMT</pubDate><guid>http://dionrecaps.instantspot.com/blog/2006/12/29/Coldusion-MX7-read-excel-for-free-Apache-POI-/</guid><category>Coldfusion</category></item></channel></rss>