<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>RSS feed for InstantSpot site Blog of Dave</title><link>http://daveshuck.instantspot.com</link><description>Dave Shuck&apos;s ramblings on - ColdFusion, Flex, and Java, and life.</description><language>en-us</language><copyright>This work is Copyright &#xA9; 2009 by Blog of Dave</copyright><generator>RSSVille ColdFusion FeedMaker, version 1.0</generator><pubDate>Sat, 21 Nov 2009 09:40:54 GMT</pubDate><item><title>Create SSL sites in Apache on Windows with OpenSSL</title><link>http://daveshuck.instantspot.com/blog/2009/11/12/Create-SSL-sites-in-Apache-on-Windows-with-OpenSSL</link><description>To get a secure SSL site up and running on Apache under Windows, there are a few hoops to jump through that are not very intuitive.&amp;nbsp; To that end, I am going to document my approach to setting up SSL using OpenSSL.&amp;nbsp; This approach assumes that you already have Apache up and running on your machine, so if you have not done that, head over to the &lt;a href=&quot;http://httpd.apache.org/download.cgi&quot;&gt;HTTPD download page&lt;/a&gt; and set that up before continuing.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Setting up OpenSSL&lt;br /&gt;&lt;/b&gt;First we need to get &lt;a href=&quot;http://www.openssl.org&quot;&gt;OpenSSL&lt;/a&gt; setup on our system, which is not included with the Apache Windows binaries.&amp;nbsp; In fact the OpenSSL project doesn&apos;t even provide the binaries themselves, but you can find them at &lt;a href=&quot;http://www.slproweb.com/products/Win32OpenSSL.html&quot;&gt;Shining Light Productions&lt;/a&gt;.&amp;nbsp; For this example, I will be choosing the &lt;a href=&quot;http://www.slproweb.com/download/Win32OpenSSL_Light-0_9_8k.exe&quot;&gt;Win32 OpenSSL v0.9.8k Light&lt;/a&gt; version.&amp;nbsp; If you see a message like the one below, you will need to install the &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&amp;amp;displaylang=en&quot;&gt;Microsoft Visual C++ 2008 Redistributable Package&lt;/a&gt; and then attempt the OpenSSL installation again.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;img style=&quot;max-width: 800px;&quot; src=&quot;http://daveshuck.instantspot.com/userfiles/073006/91/c++error.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Once you have it installed, you can do a quick test to make sure that it is set up properly:&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;max-width: 800px;&quot; src=&quot;http://daveshuck.instantspot.com/userfiles/073006/91/openssltest.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Creating Certificates&lt;br /&gt;&lt;/b&gt;Next, we will use the OpenSSL terminal interface to create our self-signed certificates.&amp;nbsp; To explain a bit about what is going on below, I have a site already existing on my system that can be reached at http://scribble.&amp;nbsp; What we are doing is creating a secure subdomain of https://secure.scribble. &amp;nbsp; Typically when I create certificates, I name the files with the host/domain obvious so that they can be easily identified later.&amp;nbsp; Obviously you will want to replace the domain name to match your setup, but type the following in the terminal in the OpenSSL/bin directory:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;padding: 0pt 10px 10px 0pt;&quot;&gt;[codeblock 433]&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;That will generate what you see below.&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;max-width: 800px;&quot; src=&quot;http://dl.dropbox.com/u/101948/blog/entries/ssl_on_apache/create-cert1.png&quot; height=&quot;420&quot; width=&quot;650&quot; /&gt;&lt;br /&gt;&lt;br /&gt;You may notice that I left a lot of the prompts blank.&amp;nbsp; Considering this is a dummy certificate in a development environment, that approach makes sense.&amp;nbsp; You may choose to be more explicit based on your needs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If we were to use this key as it is, we would be prompted for the password every time that Apache starts.&amp;nbsp; Since that is less than ideal, we will now generate a non-protected key from the one we created in the previous step by typing the following:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;padding: 0pt 10px 10px 0pt;&quot;&gt;[codeblock 434]&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;max-width: 800px;&quot; src=&quot;http://dl.dropbox.com/u/101948/blog/entries/ssl_on_apache/create-cert2.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can see that I was prompted for a pass phrase.&amp;nbsp; This is the same password that you created when we generated the certificate above.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we need to need to build the certificate that we will actually import into Apache.&amp;nbsp; You can do so by typing:&lt;br /&gt;&lt;span style=&quot;padding: 0pt 10px 10px 0pt;&quot;&gt;&lt;br /&gt;[codeblock 435]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will result in the following output:&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;max-width: 800px;&quot; src=&quot;http://dl.dropbox.com/u/101948/blog/entries/ssl_on_apache/create-cert3.png&quot; height=&quot;443&quot; width=&quot;650&quot; /&gt;&lt;br /&gt;&lt;br /&gt;You can see that we now have a .cert, .csr, .key, and .pem file for our domain.&amp;nbsp; We will use a combination of the .key and the .cert&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Configuring Apache&lt;br /&gt;&lt;/b&gt;Now we need to make sure that your Apache server is ready to serve SSL requests.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;First, let&apos;s put the .key and .cert files that we created above into a directory under Apache.&amp;nbsp; In your &quot;conf&quot; directory, create a subdirectory named &quot;ssl&quot; and move secure.scribble.key and secure.scribble.cert into that new directory.&lt;br /&gt;&lt;br /&gt;Next we need to make sure that the mod_ssl module is enabled.&amp;nbsp; Open up the httpd.conf file for your Apache webserver.&amp;nbsp; Search for &quot;mod_ssl&quot; and you should find a line that looks like this:&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;max-width: 800px;&quot; src=&quot;http://daveshuck.instantspot.com/userfiles/073006/91/mod_sso.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Yours will likely be commented out with a &apos;#&apos; sign in front of the line.&amp;nbsp; You will want to delete that &apos;#&apos; so that it looks like the highlighted line above.&lt;br /&gt;&lt;br /&gt;Next you will need to make sure that you have uncommented the line that includes the httpd-ssl.conf file like you see below:&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;max-width: 800px;&quot; src=&quot;http://daveshuck.instantspot.com/userfiles/073006/91/conf_ssl.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;The last thing we need to do is configure our site.&amp;nbsp; Open up the conf/extra/httpd-ssl.conf file in an editor.&amp;nbsp; You will see that there is an amazingly huge and complex site definition in there already that starts with &lt;virtualhost _default_:443=&quot;&quot;&gt; and ends about 150 lines later with &lt;/virtualhost&gt;.&amp;nbsp; We need to disable this site.&amp;nbsp; If you are feeling bold, you can simply delete it.&amp;nbsp; However, I take the approach of commenting it out entirely so that I still have it as a reference, which is my recommendation as well.&amp;nbsp;&amp;nbsp; Starting with the line &lt;virtualhost _default_:443=&quot;&quot;&gt;, put a &apos;#&apos; at the start of every line that doesn&apos;t already have one and continue until you comment out the &lt;/virtualhost&gt; line.&lt;br /&gt;&lt;br /&gt;Now it is finally time for us to create the site definition for our https://secure.scribble site.&amp;nbsp; We will use some of the concepts in the example, but eliminate most of them.&amp;nbsp; Here is what mine looks like after paring down all the excess:&lt;br /&gt;&lt;span style=&quot;padding: 0pt 10px 10px 0pt;&quot;&gt;[codeblock 436]&lt;br /&gt;&lt;br /&gt;In that code you can see where we are pointing to the .key and .cert files that we created above.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Now, restart your Apache server and you are now serving up securely! &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;zemanta-pixie&quot;&gt;&lt;img class=&quot;zemanta-pixie-img&quot; alt=&quot;&quot; src=&quot;http://img.zemanta.com/pixy.gif?x-id=9d1b1403-fab2-8595-83d6-897a928c54c5&quot; /&gt;&lt;/div&gt;</description><pubDate>Fri, 13 Nov 2009 03:47:33 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2009/11/12/Create-SSL-sites-in-Apache-on-Windows-with-OpenSSL</guid><category>Tips and Tricks,Servers,Windows,Technology</category></item><item><title>Talking through some current issues with ColdFusion Event Gateways</title><link>http://daveshuck.instantspot.com/blog/2009/11/09/Talking-through-some-current-issues-with-ColdFusion-Event-Gateways</link><description>Normally on my blog I attempt to throw out some tip, trick, or nugget of some sort.&amp;nbsp; This time?&amp;nbsp; Not so!&amp;nbsp;&amp;nbsp; I am currently trying to find a solution to a problem at hand and am brainstorming the best way to handle a few things.&amp;nbsp; I am really just talking this out for my own benefit, but I would love to hear thoughts from others that have perhaps solved similar issues.&lt;br /&gt;&lt;br /&gt;On a project that I am currently engaged in I am leveraging ColdFusion Event Gateways which work as a subscriber to a SonicMQ JMS server.&amp;nbsp; My gateway instance listens for messages on the ESB (Enterprise Service Bus) on a particular destination name (topic/queue).&amp;nbsp; When it receives a message, it parses the XML that it received, and plays traffic cop pushing data into various services that need it.&amp;nbsp; I have this working flawlessly in my small development environment.&amp;nbsp; However, I have a couple of complexities ahead of me that I am having difficulty coming up with a good solution.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Running in the cloud - &lt;/b&gt;Our production environment will have any number of CF instances, not clustered, but rather running as isolated applications with a load balancer directing the requests using sticky sessions.&amp;nbsp; Our system will be bringing new instances on/off line as traffic traffic dictates.&amp;nbsp; I have yet to solve the issue of how to set up my JMS Event Gateway in this environment.&amp;nbsp; I definitely don&apos;t want 20 different listeners out there all doing the same work.&amp;nbsp; I have considered the idea of having some sort of a support database where a listener can insert a row with a specific JMS message ID and when any other server picks up a message with that ID it will see that it is already being acted upon and it can safely ignore it. There are a couple of negatives that I can see right off the bat.&amp;nbsp; First is that every single subscribed instance will have to pull in the same message and test to see whether or not it should be acted upon.&amp;nbsp; It just seems like a little bit of redundancy that shouldn&apos;t be there.&amp;nbsp; Secondly, there is a chance that two servers could pick up the same request within milliseconds of each other and both could end up doing the work.&amp;nbsp; Duplicate processing could not only be wasteful, but could also create some data integrity issues.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Different environments have different settings (dynamic config)&lt;/b&gt; - Right now in our development phase, we have a single config file with setting specific to our development JMS server (credentials, domain, URL, Initial Context Factory, etc).&amp;nbsp; However, soon I will need to have this process support a number of different environments: multiple dev environments, multiple integration environments, multiple QA environments, and eventually production.&amp;nbsp; Ideally it would be wonderful if I could find some way to load a specific config into the event gateway at server init time, but as of today I have _NO_ idea how to solve this one.&amp;nbsp; First, there is no real intrinsic indicator at the server level that lets it know what environment is currently running (yet anyway...) and secondly, ColdFusion event gateway architecture isn&apos;t conducive in any way to dynamically loading a specific config.&amp;nbsp; &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;So now I am counting on you CFML community.&amp;nbsp; Help me brain storm on this!&amp;nbsp; Do you have any thoughts/ideas that might help me here?&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;zemanta-pixie&quot;&gt;&lt;img class=&quot;zemanta-pixie-img&quot; alt=&quot;&quot; src=&quot;http://img.zemanta.com/pixy.gif?x-id=acb39c0d-d2f4-8647-b4f4-44e30f8e673e&quot; /&gt;&lt;/div&gt;</description><pubDate>Mon, 09 Nov 2009 16:28:07 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2009/11/09/Talking-through-some-current-issues-with-ColdFusion-Event-Gateways</guid><category>ColdFusion,Technology,Java</category></item><item><title>A linux guy&apos;s experience with Windows 7</title><link>http://daveshuck.instantspot.com/blog/2009/10/19/A-linux-guys-experience-with-Windows-7</link><description>&lt;p&gt;Anyone who knows me well knows that I am typically somewhat of an anti-Windows guy. I absolutely love linux, and get very frustrated by Windows in general. The only thing that I really dislike about linux is the lack of application support by a number of companies (ahem&amp;hellip;. Adobe).&amp;nbsp; Before going to the Adobe MAX conference, I decided I should swap out OSes on my personal laptop so that I could run all the stuff I would need for labs without constantly cursing about being stuck in a VM, limited functionality, etc.&amp;nbsp; A friend had just bought a package of Windows 7 licenses and sold me one for 5 bucks, which I considered to be a pretty reasonable risk.&amp;nbsp; I opted for installing Windows 7 on my laptop.&lt;br /&gt; &lt;br /&gt; Given that background and my previous feelings about Windows, I have to say that it is a pretty dang nice operating system.&amp;nbsp; It is by far the best offering to date by MS in my opinion.&amp;nbsp; There are a few things that they still haven&apos;t managed to get right (native file copy still makes me want to stick forks in my eyes), but by and large they have done a great job with Windows 7.&amp;nbsp; Other than having to track down a few drivers for my laptop, the installation was painless &amp;ndash; if not fast.&amp;nbsp; This is still an area that linux, and especially Ubuntu, wins hands down though.&amp;nbsp; Apps run extremely stable, and with the addition of a new concept of &amp;quot;Libraries&amp;quot;, directories that I need access to regularly are right at hand instead of having to tree down through big hierarchies.&amp;nbsp; I am also not finding what I expected would be an immediate degradation of performance after installing all the servers and development tools that I use on a daily basis.&amp;nbsp; Over all, so far so good.&lt;br /&gt; &lt;br /&gt; &lt;strong&gt;A few things that I think are a *must* for the way that I use it. &lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;     &lt;li&gt;I found a &amp;quot;sudo&amp;quot; program called &lt;a href=&quot;http://brandontools.com/content/StartPlusPlus.aspx&quot;&gt;Start++&lt;/a&gt; that allows me to open applications from the terminal or start menu as Administrator by typing &lt;strong&gt;sudo notepad&lt;/strong&gt; [or some other program].&amp;nbsp; It will prompt you for the UAC stuff and the program will open as administrator.&amp;nbsp; I use this regularly for editing system files like hosts, apache configs, and use it to open a terminal to fire off j2ee servers.&amp;nbsp;&lt;/li&gt;     &lt;li&gt;Install &lt;a href=&quot;http://www.codesector.com/teracopy.php&quot;&gt;Teracopy&lt;/a&gt; which is a replacement for the Windows copy program.&amp;nbsp; While certainly not as fast/efficient as a linux terminal, it greatly increases file copy speed over the native windows GUI file copy.&amp;nbsp; No more &amp;quot;preparing to copy&amp;quot; waits while your system bogs down.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Things that annoy me&lt;/strong&gt;&lt;/p&gt; &lt;ul&gt;     &lt;li&gt;I still wish I could have a real terminal and be able to use VI in sudo, but that is just something I will have to get over I guess.&lt;/li&gt;     &lt;li&gt;I hate that I now have to be so careful with regard to viruses and spyware.&amp;nbsp; I love the protection that linux offers in that area, and having to go out of my to stay protected seems a bit cumbersome.&lt;/li&gt;     &lt;li&gt;I miss being able to easily try out software with the ease of the synaptic package manager.&amp;nbsp; It seems foreign now to have to download an exe run an installer and have settings being obscurely written all over a &amp;quot;black box&amp;quot; registry.&lt;/li&gt;     &lt;li&gt;I miss built-in networking tools.&amp;nbsp; Even simply things like being able to run &amp;quot;whois&amp;quot; from the teminal.&lt;/li&gt;     &lt;li&gt;My drive is getting fragmented far faster than with linux, and I find that I am running the defrag tool fairly often.&amp;nbsp; Linux just manages this under the covers and I never have to worry about it.&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;All said, after using it for about the past 4 weeks, I can honestly say that I am surprised (and perhaps even a bit disappointed) that I like it as much as I do.&amp;nbsp; I planned on just running it while I was at the Adobe MAX conference and going back to linux when I got home, but it looks like I will be keeping it for a while longer.&lt;/p&gt; &lt;div class=&quot;zemanta-pixie&quot;&gt;&lt;img src=&quot;http://img.zemanta.com/pixy.gif?x-id=8f740e60-f3eb-8f02-a041-715c13c72d2d&quot; alt=&quot;&quot; class=&quot;zemanta-pixie-img&quot; /&gt;&lt;/div&gt;</description><pubDate>Mon, 19 Oct 2009 13:58:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2009/10/19/A-linux-guys-experience-with-Windows-7</guid><category>Windows,Technology,Linux</category></item><item><title>Strange behavior with ColdFusion ExpandPath() when using Symbolic Links</title><link>http://daveshuck.instantspot.com/blog/2009/09/23/Strange-behavior-with-ColdFusion-ExpandPath-when-using-Symbolic-Links</link><description>&lt;p&gt;I was playing around with the Quicksilver framework last night, and for some reason it was unable to find and instantiate my CFCs properly.&amp;nbsp; After digging into the framework a bit and determining where it was breaking, I discovered something strange about the way that ColdFusion interprets ExpandPath() when it exists in a directory that is defined as a symbolic link.&amp;nbsp; I am not sure if the same behavior exists on Macs, but I would imagine it does.&amp;nbsp; If someone could confirm that to be the case, I would be interested.&lt;br /&gt; &lt;br /&gt; For starters, I usually have a &apos;www&apos; directory in my user home directory. This way when I pass my user profile around from distro to distro, my development work is included in my home directory.&amp;nbsp; For ease of configuration I typically have a symbolic link in my OS that points &lt;strong&gt;/www/&lt;/strong&gt; ---&amp;gt; &lt;strong&gt;/home/dshuck/www/&lt;/strong&gt;.&amp;nbsp; Then when I am creating a new web project called &apos;davescode&apos;, I would put it in &lt;strong&gt;/home/dshuck/www/davescode&lt;/strong&gt;, but my Apache config would usually point to &lt;strong&gt;/www/davescode&lt;/strong&gt;.&amp;nbsp; For the past several years, this approach has worked will for me.&amp;nbsp; That is until last night when experimenting with Quicksilver.&amp;nbsp; &lt;br /&gt; &lt;br /&gt; When Quicksilver loads, it creates a list of service CFCs in the the application in such a way that if I had Foo.cfc in a directory &lt;strong&gt;&apos;com&apos; &lt;/strong&gt;in the root of my davescode site, it would look like &lt;strong&gt;/home/dshuck/www/davescode/com/Foo.cfc&lt;/strong&gt;.&amp;nbsp; When I initted the application, I was getting an error that&amp;nbsp; it couldn&apos;t find the CFC &lt;strong&gt;home/dshuckcom/Foo.cfc&lt;/strong&gt;.&amp;nbsp; Essentially what was happening is that it was getting the full path of the CFC and replacing the path to the root of the site with &amp;quot;&amp;quot;.&amp;nbsp; In a perfect world the value of the path after the string replace would have looked like &lt;strong&gt;com/Foo.cfc.&amp;nbsp; &lt;/strong&gt;Unfortunately that was not so.&amp;nbsp; Here&apos;s why!&lt;br /&gt; &lt;br /&gt; I put a test file called path.cfm in the root of my davescode site that considted of the following:&lt;br /&gt; &lt;div class=&quot;code&quot; &gt;&lt;pre&gt;&amp;lt;cfoutput&amp;gt;#ExpandPath(&amp;quot;./&amp;quot;)#&amp;lt;/cfoutput&amp;gt; &amp;lt;br/&amp;gt; &amp;lt;cfoutput&amp;gt;#ExpandPath(&amp;quot;/&amp;quot;)#&amp;lt;/cfoutput&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt; The result was &lt;em&gt;very&lt;/em&gt; surprising!&lt;br /&gt; &lt;div class=&quot;code&quot; &gt;&lt;pre&gt;/home/dshuck/www/davescode/ /www/davescode/&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt; For some reason when you do ExpandPath(&amp;quot;/&amp;quot;) it looks at the symbolic link path, but when you do ExpandPath(&amp;quot;./&amp;quot;), it looks at the true file path.&amp;nbsp; For the life of me, I can&apos;t think of why that would be.&amp;nbsp; If anyone has an explanation, I would be all ears!&lt;/p&gt; &lt;div class=&quot;zemanta-pixie&quot;&gt;&lt;img class=&quot;zemanta-pixie-img&quot; alt=&quot;&quot; src=&quot;http://img.zemanta.com/pixy.gif?x-id=49729c7f-e4fe-8ce3-a08f-2bd5d5e173f3&quot; /&gt;&lt;/div&gt;</description><pubDate>Wed, 23 Sep 2009 14:11:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2009/09/23/Strange-behavior-with-ColdFusion-ExpandPath-when-using-Symbolic-Links</guid><category>ColdFusion,Technology,Linux</category></item><item><title>Usability - It&apos;s not just for websites!</title><link>http://daveshuck.instantspot.com/blog/2007/07/02/Usability--Its-not-just-for-websites</link><description>&lt;p&gt;  As a web developer, usability is something that we consider on a daily basis.&amp;nbsp; When it comes to functionality that has become a standard, we don&amp;#39;t jack with it!&amp;nbsp; For instance, we have long established that when you mouseover a link the cursor turns into a pointy finger.&amp;nbsp; Can we alter that?&amp;nbsp; Sure!&amp;nbsp; But people would be confused and would likely miss some content in your application.&amp;nbsp; See that navigation bar at the top of my page?&amp;nbsp; I could easily move to align with the bottom of my site, but the result would lead to more confusion.  &lt;/p&gt;  &lt;p&gt;  This leads me to a mini-rant about my new phone.&amp;nbsp; A couple weeks ago I dropped my LG phone one too many times.&amp;nbsp; It seemed to always think I had a headset plugged in, although I have never actually owned a phone headset.&amp;nbsp; In addition, when I turned it on, it would randomly call my Mom and Dad.&amp;nbsp; That one I still can&amp;#39;t figure out!  &lt;/p&gt;  &lt;p&gt;  So, being a generally cheap guy, I stopped by the Cingular store to pick up the the next-to-the-bottom-line model for about 60 bucks and was on my way without paying too much attention.&amp;nbsp;&amp;nbsp;&amp;nbsp; After unwrapping it and charging for the first time, I discovered something that baffles me.&amp;nbsp; Check out this keypad!  &lt;/p&gt;  &lt;p&gt;  &lt;img style=&quot;border: 1px solid black&quot; src=&quot;http://img259.imageshack.us/img259/8396/phonepo8.jpg&quot; alt=&quot;Sony Ericsson flip phone keypad&quot; title=&quot;Sony Ericsson flip phone keypad&quot; width=&quot;500&quot; height=&quot;400&quot; /&gt;  &lt;/p&gt;  &lt;p&gt;  What genius thought it would be a good idea to design the keys like that?&amp;nbsp; After about 35 years of a consistent and well-defined pattern of telephone keypads, Sony/Ericsson decided it would be a good idea to alter that by offsetting the middle column. &amp;nbsp; This serves no functional purpose either.&amp;nbsp; You can see they could have quite easily shifted the middle column of buttons up so that they would be aligned.&amp;nbsp; I am sure my fingers will get used to it, but dialing without looking at my fingers presents a new challenge.&amp;nbsp; I suppose that is one of the costs of being cheap.&amp;nbsp; :)   &lt;/p&gt;  </description><pubDate>Mon, 02 Jul 2007 12:55:26 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2007/07/02/Usability--Its-not-just-for-websites</guid><category>Technology</category></item><item><title>Cyber attack us eh? How about a counter attack IRL!</title><link>http://daveshuck.instantspot.com/blog/2007/02/08/Cyber-attack-us-eh-How-about-a-counter-attack-IRL</link><description>&lt;p&gt;  This is pretty interesting, especially in light of this week&amp;#39;s rampant DoS attacks.&amp;nbsp;&amp;nbsp; From the article:  &lt;/p&gt;  &lt;p&gt;  &lt;em&gt;If the United States found itself under a major cyberattack aimed at  undermining the nation&amp;rsquo;s critical information infrastructure, the  Department of Defense is prepared, based on the authority of the  president, to launch a cyber counterattack or an actual bombing of an  attack source&lt;/em&gt;.&amp;nbsp;    &lt;/p&gt;  &lt;p&gt;  Apparently  if the nation&amp;#39;s networks come under a severe attack, there is a group  called the National &lt;span class=&quot;hm&quot;&gt;Cyber&lt;/span&gt; Response Coordination Group (&lt;span class=&quot;hm&quot;&gt;NCRCG&lt;/span&gt;) that is  responsible for coordinating a defense/retaliation strategy. &amp;nbsp; Members  of the &lt;span class=&quot;hm&quot;&gt;NCRCG&lt;/span&gt; include experts from the US-CERT computer-readiness  team, the Department of Justice and the Defense Department.&amp;nbsp; They are  actually playing out &amp;quot;war games&amp;quot; in order to prepare for an attack.&amp;nbsp;  Where it gets especially interesting to me is the fact that the  strategy potentially could include a physical bombing attack. &amp;nbsp; I am  certainly glad to see them protecting my career as an &lt;span class=&quot;hm&quot;&gt;internet&lt;/span&gt;  developer! :)  &lt;/p&gt;  &lt;p&gt;  &lt;a href=&quot;http://www.networkworld.com/news/2007/020807-rsa-cyber-attacks.html&quot;&gt;Read the complete article...&lt;/a&gt;   &lt;/p&gt;  &lt;p&gt;  &amp;nbsp;  &lt;/p&gt;  &lt;p&gt;  &lt;span class=&quot;hm&quot;&gt;ps&lt;/span&gt;.&amp;nbsp;  Make sure you keep those Windows Updates current&amp;nbsp; We sure would miss  you if your computer was commandeered and was preforming an attack from  your house!   &lt;/p&gt;  </description><pubDate>Thu, 08 Feb 2007 20:25:59 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2007/02/08/Cyber-attack-us-eh-How-about-a-counter-attack-IRL</guid><category>Technology</category></item><item><title>Cool video showing an iPhone in action - and a question to web developers</title><link>http://daveshuck.instantspot.com/blog/2007/01/31/Cool-video-showing-an-iPhone-in-action--and-a-question-to-web-developers</link><description>&lt;p&gt;  I have been kind of passively watching the iPhone news go by the past month knowing I am far too cheap to actually buy one until they are no longer cool and people have moved on to the next flash in the pan at which point I will be stuck with the old and busted iPhone.    &lt;/p&gt;  &lt;p&gt;  This morning a coworker sent me this video demonstrating the features.  There is some really sweet stuff in there!  As I watched it I could hear a future conversation my kids will be having their kids.    &lt;/p&gt;  &lt;p&gt;  &lt;em&gt;&amp;quot;Son, when I was a little boy we had these big noisy metal boxes under our desks and *those* were our computers.  Can you believe that?&amp;quot;&lt;/em&gt;  &lt;/p&gt;  &lt;p&gt;  So to the web development community -- What do you think we need to be doing today in order to be prepared for the future in such a way that we remain viable as developers?   I don&amp;#39;t want to end up staring at the same fate as client-server Windows application developers, watching my corner of the development world get smaller and smaller!   &lt;/p&gt;  &lt;p&gt;  Does it really change much for us?  What what should we be learning now?  &lt;/p&gt;  &lt;p&gt;  [youtube YgW7or1TuFk]&lt;a href=&quot;http://www.youtube.com/watch?v=YgW7or1TuFk&amp;amp;eurl&quot;&gt;&lt;/a&gt;  &lt;/p&gt;  </description><pubDate>Wed, 31 Jan 2007 16:50:43 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2007/01/31/Cool-video-showing-an-iPhone-in-action--and-a-question-to-web-developers</guid><category>Technology</category></item><item><title>Grand Canyon... It&apos;s on!</title><link>http://daveshuck.instantspot.com/blog/2005/07/11/Grand-Canyon-Its-on</link><description>My father and I decided that this was the year that we would hike the North Rim to the South Rim of the Grand Canyon.   I know this seems crazy, but it is actually a paperwork challenge to be able to hike the Grand Canyon.  There is an application process in which you have to fax your request in the 1st day of the month 6 months before the intended date of your trip with a detailed itinerary, including where you will be sleeping and when.  We sent faxed our paperwork in and held our breath on the 1st of April, 6 months before we hoped to go in September.  After no word for a month we finally contacted them, only to find out that we had been rejected.  Discouraged, but not beaten, we laid out the calendar to see if there was another time that would work.  We decided that November would be acceptable, albeit a little colder.  It should be in the 60s in the bottom of the canyon though where we will spend the majority of our time.  Once again, we laid out our itinerary and faxed in on July 1.  My dad received a letter today dated July 6, 2005 telling him that they were sorry, but they were unable to accept out application.  He spent a good hour walking around the house cussing and feeling terribly disappointed.  A bit later my mom noticed there was another letter from the Grand Canyon dated July 7, 2005.  &lt;br /&gt;  &lt;br /&gt;  &lt;div class=&quot;note&quot;&gt;  Dear Mr. Shuck, we have accepted your request to hike the Grand Canyon on the dates of November 1, 2 and 3, 2005.  Enlcosed are your passes, which you will need to affix to your backpack and carry with you in the canyon.  There is no need to stop by the back country headquarters before departing on the trail.  &lt;/div&gt;  So in 3.5 months, I will be taking this in....&lt;br /&gt;  &lt;div style=&quot;text-align: center&quot;&gt;  &lt;img src=&quot;/images/GrandCanyon.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;  &lt;/div&gt;      </description><pubDate>Mon, 11 Jul 2005 05:00:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2005/07/11/Grand-Canyon-Its-on</guid><category>Outdoors</category></item></channel></rss>