<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-4192397709824316967</atom:id><lastBuildDate>Tue, 09 Feb 2010 21:51:40 +0000</lastBuildDate><title>Adventures as an IT Monkey</title><description>The not quite personal blog of Robert Lynch, computer monkey.  A mixture of insight, analysis, and wishful thinking on all things technological and beyond.</description><link>http://www.agilepro.com/blog/</link><managingEditor>noreply@blogger.com (Rob Lynch)</managingEditor><generator>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-8338836482387279270</guid><pubDate>Tue, 15 Dec 2009 21:21:00 +0000</pubDate><atom:updated>2009-12-15T13:39:37.822-08:00</atom:updated><title>jQuery UI Draggable Revert Callback</title><description>&lt;p&gt;While this functionality is built into jQuery UI as of this writing, it is not well documented that you can set a callback function for the revert option of a draggable object.&lt;br /&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;"&gt;Advanced Draggable Revert functionality with a Callback Function:&lt;/p&gt;  &lt;p&gt;jQuery UI provides us with a number of useful widgets and behaviors to allow us to build rich user interfaces.  In this document I will show you how to better use draggable and droppable by adding a callback function to the default revert behavior.&lt;/p&gt;  &lt;p&gt;For the sake of simplicity I like to think of draggable objects as pegs and the droppable objects as sockets.&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;The revert option of the draggable class can be modified to execute a callback function that allows for greater flexibility in it's operation.  By default the revert option has the following possible values:&lt;/p&gt;  &lt;p&gt;revert: 'invalid','valid','true','false'&lt;/p&gt;  &lt;p&gt;Just to briefly co over what each does, the invalid option will cause the draggable object to revert back to it's previous position (the location it was in before the drag), if the draggable does not get dropped in a valid droppable.&lt;/p&gt;  &lt;p&gt;There are a number of cases where we need to provide additional checks in order to determine if an object can be dropped in a specific location after the fact.&lt;/p&gt;  &lt;p&gt;Consider the following code for a set of draggable divs given the class “peg”.&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$(".peg").draggable(&lt;br /&gt;{&lt;br /&gt;  revert: function(socketObj)&lt;br /&gt;  {&lt;br /&gt;     //if false then no socket object drop occurred.&lt;br /&gt;     if(socketObj === false)&lt;br /&gt;     {&lt;br /&gt;        //revert the peg by returning true&lt;br /&gt;        return true;&lt;br /&gt;     }&lt;br /&gt;     else&lt;br /&gt;     {&lt;br /&gt;        //socket object was returned,&lt;br /&gt;        //we can perform additional checks here if we like&lt;br /&gt;        //alert(socketObj.attr('id')); would work fine&lt;br /&gt;&lt;br /&gt;        //return false so that the peg does not revert&lt;br /&gt;        return false;&lt;br /&gt;     }&lt;br /&gt;  },&lt;br /&gt;  snap: '.socketInner',&lt;br /&gt;  snapMode: 'inner',&lt;br /&gt;  snapTolerance: 35,&lt;br /&gt;  distance: 8,&lt;br /&gt;  stack: { group: 'pegs', min:50 },&lt;br /&gt;  stop: function()&lt;br /&gt;  {&lt;br /&gt;     draggedOutOfSocket = false;&lt;br /&gt;     alert('stop');&lt;br /&gt;  }&lt;br /&gt;} );&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:100%;"&gt;As you can see that we've replaced the usual string or boolean values given to the revert option with a callback function.  The functionality is in this form, the same as using 'invalid', but it illustrates the concept well, because this is by far the most common usage case for revert.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:100%;"&gt;The anonymous function takes one parameter, I've decided on calling it socketObj  but the importand bit is that you know that one parameter is sent too the callback. This lone parameter will either be false if the draggable was  not dropped into a droppable socket, or it will contain the droppable object if it was successful.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:100%;"&gt;The action taken by revert is determined by what we return from our callback.  In the example if the socketObj is false we return true, because we do want to revert position.  Conversely if an object was passed to the function then we will return false so that our dragged object will stay where we dragged it.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:100%;"&gt;Note that you can see there is a commented out javascript alert.  I placed it there to express that this is a standard jQuery object that has all the usual methods you are used to dealing with such as attr() to read the attributes.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:100%;"&gt;Some common things you might end up doing in this portion of the function would be making additional tests to see if you really want that element where the user dropped it, potentially reverting it (by returning true) even though the drop was valid in the UI sense it might not make sense in your application.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-family:Times New Roman,serif;"&gt;&lt;span style="font-size:100%;"&gt;If you have any questions or comments please feel free to make them. I'll try to provide a more practical real world example of this in action soon.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-8338836482387279270?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/12/while-this-functionality-is-built-into.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-3726253043590640596</guid><pubDate>Sat, 24 Oct 2009 15:58:00 +0000</pubDate><atom:updated>2009-10-24T09:09:03.177-07:00</atom:updated><title>Starting Back Up Again</title><description>It has been a little while since I last found the time to blog.  So here is me planning to start again.  My goal to begin with will be to publish at least two blogs a month.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The main cause of my absence has been the I ended up switching jobs and found myself in a very different type of situation.  No longer was I fixing computer problems, and therefore coming across interesting issues, the solutions to which would be of interest to readers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My new job takes me back to the field of web development, and so far I'm happy with this.  It certainly is helping me continue to improve the skills I started developing when I built Local Sing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This shift in career focus will lead to a shift in blog focus.  I will now try to post and further develop some of my code for the benefit of the community.  My end goal is to begin a least a few interesting open source projects that may take on a life of their own.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Up next: A php, mysql database comparison script.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-3726253043590640596?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/10/starting-back-up-again.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-362225234051877365</guid><pubDate>Wed, 22 Jul 2009 17:38:00 +0000</pubDate><atom:updated>2009-07-22T12:09:42.683-07:00</atom:updated><title>Calyx Point freezes at Credit Report (Vista)</title><description>&lt;span style="font-weight: bold;"&gt;Issue:&lt;/span&gt;&lt;br /&gt;Ran into an issue a few times lately where Calyx Point fails to automatically insert liabilities when requesting a credit report.  The symptom, essentially a freeze that takes a very long time to resolve, is caused by the Calyx Document Converter.  It will resolve on it's own, however only once have I had the patience&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solution:&lt;/span&gt;&lt;br /&gt;While Point is "frozen", open the printers folder. (Start | Control Panel | Printers)  Double click the "Calyx Document Converter" to bring up the current batch of print jobs.  Highlight and delete (via the "delete" key or right click to cancel) any print jobs that are there.  Be patient.  Once the jobs have been cleared out, Point will continue normally.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Notes:&lt;/span&gt;&lt;br /&gt;This seems to only be an issue with Vista, and may come down to permissions.  Setting Point to be run as an Administrator (right click point shortcut, properties | compatibility) may fix this issue as well, though I have not experimented with it to that end.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-362225234051877365?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/07/calyx-point-freezes-at-credit-report.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-4511490499550427102</guid><pubDate>Tue, 21 Apr 2009 19:26:00 +0000</pubDate><atom:updated>2009-04-21T12:57:14.793-07:00</atom:updated><title>POST and GET are not two ways to do the same thing.</title><description>While the end result seems to be the same thing, the subtle differences are very important.  POST should be used when you are sending data to the the server to be processed, saved, etc.  GET should be used when requesting dynamic information from the server.  In effect, GET tells the server what YOU want.  POST tells the server what IT wants.&lt;br /&gt;&lt;br /&gt;Why?  Well, the short answer would be to say that web pages are RESTful services.  &lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer"&gt;You can read up on REST here&lt;/a&gt;.  But that answer sucks.  It can be tempting to always use POST because it keeps your URL pretty and clean without ?a=bunch&amp;amp;of=unreadble text.  But perhaps the best reason to give as a concrete why, is the way browsers will handle the information.  When you POST data, the browser assumes that you won't want to post it again.  It will pop up a waring to the user asking something to the effect of "Do you want to submit this information again?"&lt;br /&gt;&lt;br /&gt;If you follow the concept that POST is for submitting data such as: creating a user account, entering shipping information, logging in... you will find that this behavior from the browser is in line with your web application.&lt;br /&gt;&lt;br /&gt;GET on the other hand sends it's information in the the URL string.  While this can look a bit ugly.  The pages work much like static pages, and this sort of behavior is much more appropriate when doing things like navigating search results (users may want to return to previous results) or loading articles or other task where you are GETting something.&lt;br /&gt;&lt;br /&gt;So, try to keep in mind when choosing a form method, are you sending information to the server or are you asking for information.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-4511490499550427102?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/04/post-and-get-are-not-two-ways-to-do.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-7929581155332826547</guid><pubDate>Wed, 01 Apr 2009 17:22:00 +0000</pubDate><atom:updated>2009-04-01T13:42:01.706-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>local sing</category><category domain='http://www.blogger.com/atom/ns#'>karaoke</category><title>Local Sing Launch</title><description>I love the internet on April Fools.  Somebody always manages to trick me, another will make me laugh out loud, and still more will actually make me wish the joke was real.  It is perhaps for the reason that I enjoy the numerous fake announcements and the odd tradition of it all that I have chosen today to release my first home grown idea to the world.  No joke.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.localsing.com/"&gt;LocalSing.com&lt;/a&gt; is my baby, and so far I have been the only developer working on it.  It is a website that brings together Karaoke DJs and Singers.  DJs promote their karaoke nights and Singers can search for specific songs and find a mic local to them.&lt;br /&gt;&lt;br /&gt;It is as most things on the web are made to be: a constantly evolving work.  I have a number of must have features still in the works, but development has been rapid and I don't plan to slow down now.  The site is complete in that it delivers on its core promise.  I look forward to promoting the continuing improvements to the site here as well as connecting with some of my users.&lt;br /&gt;&lt;br /&gt;If you get a chance, take a look!  If you are a Karaoke DJ, please sign up and help me grow!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-7929581155332826547?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/04/local-sing-launch.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-4794531678663154156</guid><pubDate>Fri, 27 Mar 2009 15:59:00 +0000</pubDate><atom:updated>2009-03-27T09:15:11.295-07:00</atom:updated><title>The Key to Return Business: Don't Shut Out Your Buyers</title><description>I'm a bit obsessive with most things.  I'll immerse myself in something, and ignore all else until I've had my fill.  This is especially true of video games, and no other genre lends its self better to obsession than MMOs.&lt;br /&gt;&lt;br /&gt;Recently I've felt the urge to go back to Final Fantasy XI, and was thrilled that despite their threats to delete account information after 3 months of inactivity, that they were offering what they call, the &lt;a href="http://www.playonline.com/ff11us/campaign/wcb/"&gt;Return Home to Vana'diel&lt;/a&gt; campaign.  This alluring concept got me excited, but eventually let me down.&lt;br /&gt;&lt;br /&gt;The problem is that they require you either to have a still active PlayOnline account.  Which still only services 2 games, FFXI and Tetramaster.  Who on earth actually kept thier PlayOnline account active after quitting FFXI?  Since I did not, I would need my original FFXI booklet with the registration code on the inside.  Sorry, Sqeenix, but I lost that years ago.&lt;br /&gt;&lt;br /&gt;I have to wonder how much money they are missing out on because they can't seem to see the value in what every other MMO seems to already know.  If you leave your user's data alone, eventually a lot of them will spend more money with you.&lt;br /&gt;&lt;br /&gt;I can't count the number of times I've let my World of Warcraft account expire only to play again a few months later.  If there is a model for success worth trying to copy out there, it certainly is WoW.&lt;br /&gt;&lt;br /&gt;It must be a slow month, this is my second post about a company that just doesn't seem to want my money in recent memory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-4794531678663154156?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/03/key-to-return-business-dont-shut-out.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-6064113547939951177</guid><pubDate>Thu, 26 Mar 2009 18:28:00 +0000</pubDate><atom:updated>2009-03-26T11:45:56.539-07:00</atom:updated><title>OnLive, True Linux Gaming At Last?</title><description>&lt;a href="http://www.onlive.com/"&gt;OnLive&lt;/a&gt; just announced a very interesting service today that will run the latest video games on a powerful server, and feed you the video within milliseconds.&lt;br /&gt;&lt;br /&gt;At first I was skeptical, which was followed by an odd wave of elitism as I hoped they would fail to bring performance hungry games to mild mannered machines. (I've always loved building and pushing computers to the limit, largely to play games)  But then I settled down and realized the potential if what they claim to have developed is the real deal.&lt;br /&gt;&lt;br /&gt;I quickly realized how the device could change trips home to Mom's where there isn't a gaming console in sight.  I could just bring onlive along.  It would bring the full breadth of gaming enjoyment to my linux desktop, with or without fussing with getting the 3D hardware working, windows emulation and bitter disappointment.&lt;br /&gt;&lt;br /&gt;It opens up a lot of doors that I just can't wait to peek inside.  It does also bring out some worrisome hypotheticals too.  For instance, if every kid on the block is using a lot more bandwidth than before, what will happen to the speed of our cable internet?  Can I play with multiple friends at my house on various devices without grinding any connection to a halt.  Saving me $100-$200 a year in hardware upgrades, won't do me much good if it costs me $30 per month in extra internet costs.  And what will the service it's self cost when it is availalable?&lt;br /&gt;&lt;br /&gt;Still, the concept is a strong one.  I'm thinking it may be an OnLive christmas this year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-6064113547939951177?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/03/onlive-true-linux-gaming-at-last.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-8733124770893917927</guid><pubDate>Fri, 13 Mar 2009 18:40:00 +0000</pubDate><atom:updated>2009-03-17T12:07:11.526-07:00</atom:updated><title>Where is my Creative Suite for Linux?</title><description>We're on the cusp of a new Adobe version and I'm excited by all the changes I've been hearing about in CS4.  CS3 has been terrific software that I enjoy using at work, but I've long held off on buying a personal copy for my home.  The primary reason, no Linux version.  At home, where my network can be anything I want, I choose Linux.  Specifically Ubuntu and OpenSuse machines.&lt;br /&gt;&lt;br /&gt;I'd be willing to settle for a stripped down version if nessessary, but I have to believe that Adobe would make more money by offering something on Linux.  I'll just keep my fingers crossed and my wallet open.  Here's my money Adobe!  Take it! Please?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-8733124770893917927?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/03/where-is-my-creative-suite-for-linux.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-9008289574874557745</guid><pubDate>Fri, 27 Feb 2009 18:48:00 +0000</pubDate><atom:updated>2009-02-27T11:19:47.659-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>SATA CDROM</category><category domain='http://www.blogger.com/atom/ns#'>780V</category><category domain='http://www.blogger.com/atom/ns#'>RAID</category><category domain='http://www.blogger.com/atom/ns#'>M3A78-CM</category><category domain='http://www.blogger.com/atom/ns#'>SATA</category><category domain='http://www.blogger.com/atom/ns#'>ASUS</category><title>CD-ROM not detected when using SATA RAID (ASUS M3A78-CM)</title><description>I came across a problem with my AMD 780V / SB700 based ASUS M3A78-CM Motherboard today.&lt;br /&gt;&lt;br /&gt;With the bios version it shipped with (1201), I set up a RAID-1 (though I'll bet this issue presents its self in RAID-0 or JBOD as well) and once I had the SATA CDROM was no longer detected in BIOS nor would it boot my installation CD.&lt;br /&gt;&lt;br /&gt;With the system set to the standard non-RAID SATA configuration the CDROM is detected.&lt;br /&gt;&lt;br /&gt;After some reading I found that the motherboard indicates that SATA ports 5 and 6 do not work in the standard SATA mode.  But to make matters more annoying, it does happen to specifically state that they do work in SATA or AHCI mode.  Well, this appears to be a bad mistake on the technical writer's part. (I reread the sentence five times just to make sure I wasn't crazy)&lt;br /&gt;&lt;br /&gt;The opposite is what appears to be true in my testing.  RAID ports 5 and 6 works just fine in the standard mode, but RAID can only use ports 1 through 4.  So this includes my SATA CDROM which had been sitting on port 6.&lt;br /&gt;&lt;br /&gt;Simply move it over two slots and it's fixed!  Still I can't say I'm thrilled about this particular "feature" of the motherboard or perhapse, chipset would be more accurate.  If you give me six plugs, give me six plugs!!!&lt;br /&gt;&lt;br /&gt;To be fair, I should also say that this MoBo is pretty killer.  It did all sorts of other things right, for instance, it calculated the fastest possible speed for the memory I put in.  rated for 1066mhz at CAS 5, it deftly decided to run it at 900-something mhz at CAS4 for an overall boost in memory bandwidth.  Kudos to AMD and ASUS for that much.&lt;br /&gt;&lt;br /&gt;Anyone interested in tryding other BIOS versions my look here: &lt;a href="http://support.asus.com/download/download.aspx?SLanguage=en-us&amp;amp;model=M3A78-CM"&gt;ASUS Downloads&lt;/a&gt;&lt;br /&gt;However there is only one BIOS version newer than the one I am using and the changelog does not indicate anything regarding RAID.  All AM3 fixes mostly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-9008289574874557745?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/02/cd-rom-not-detected-when-using-sata.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-1054127027055447043</guid><pubDate>Tue, 24 Feb 2009 18:40:00 +0000</pubDate><atom:updated>2009-02-28T20:36:00.373-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>shared hosting</category><category domain='http://www.blogger.com/atom/ns#'>kohana</category><category domain='http://www.blogger.com/atom/ns#'>framework</category><category domain='http://www.blogger.com/atom/ns#'>php</category><title>Shared Hosting and Kohana</title><description>Once upon a time I set out to try and run the Kohana PHP Framwork on godaddy's new grid hosting plan (beta).&lt;br /&gt;&lt;br /&gt;If this already sounds like a bad idea to some of you, don't worry,  it does to me too.  But I was cheap, foolhardy, and bored.&lt;br /&gt;&lt;br /&gt;Much to my surprise I was able to get further than expected with the Installation without much trouble.  I had downloaded a copy of Kohana from &lt;a href="http://kohanaphp.com/"&gt;kohanaphp.com&lt;/a&gt; and uploaded it to my godaddy hosting account.&lt;br /&gt;&lt;br /&gt;I got the "install" screen to come up and tell me that everything was green and happy.  I was shocked to find that at least from Kohana's viewpoint everything about my godaddy account was set up as desired.&lt;br /&gt;&lt;br /&gt;However there does seem to be a problem with loading anything more than the index page.  all urls weather they be written /index.php/welcome or the cleaner /welcome using .htaccess it won't work.&lt;br /&gt;&lt;br /&gt;I tried a number of things with .htaccess to attempt to fix the problem to but to no avail.  I may attempt this again in the future, but at the end of journey, I ended up getting shared hosting from &lt;a href="http://www.webfaction.com/?affiliate=roblynch"&gt;Web Faction&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It's a little odd at first, but the "PHP, CGI or static site" option that you can use for the software / webapp install as they call it, is configured so that Kohana works perfectly right out of the box.  So for now, those of you looking for cheap shared hosting that works well with Kohana, it's a good option.&lt;br /&gt;&lt;br /&gt;Tell them "roblynch" refered you and help me keep my personal sites up.  Thanks!&lt;br /&gt;&lt;br /&gt;If anyone else knows of good shared hosting that supports Kohana please let me know.  I'd like to compile a list for the benefit of the community.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-1054127027055447043?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/02/shared-hosting-and-kohana.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-2516115240566546390</guid><pubDate>Fri, 20 Feb 2009 07:49:00 +0000</pubDate><atom:updated>2009-02-20T00:01:36.447-08:00</atom:updated><title>Just because I'm not getting paid...</title><description>... doesn't mean I'm not finding plenty of work to do.  What a busy week:  Server upgrades at the office, still moving into the new house, and building web sites as always.  It's been almost two months since I swore off paid jobs and I'm doing well with that.  I've turned down a lot of jobs and have in turn had a lot more time for the projects that matter to me.&lt;br /&gt;&lt;br /&gt;One great example is that I was able to build this site: &lt;a href="http://www.openairwavesdesign.com/"&gt;Open Airwaves Design&lt;/a&gt;, for my younger brother, the artist, musician, all around cool guy of the family.&lt;br /&gt;&lt;br /&gt;I'm rather proud of this bit of web code not so much because it does anything impressive, but more because from the time I typed in the URL of my domain registrar to the time that I finished the site, only 35 minutes had passed.&lt;br /&gt;&lt;br /&gt;This included cutting up photoshop images, writing a little bit of dynamic code to read the portfolio directory that he can upload pictures into, and even an interruption to answer a computer question.&lt;br /&gt;&lt;br /&gt;In any event, I'm glad that I got to do this and I'm even happier that I don;t feel too burnt out to do these projects.  I'm thrilled with my new years resolution so far and hope to keep the feeling going!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-2516115240566546390?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/02/just-because-im-not-getting-paid.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-8697494991413884942</guid><pubDate>Thu, 29 Jan 2009 00:50:00 +0000</pubDate><atom:updated>2009-02-28T20:26:12.269-08:00</atom:updated><title>Tortoise SVN (TSVN) menus missing from explorer</title><description>Came across a small issue in TSVN when doing a fresh install on a laptop I just restored to factory defaults. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Issue:&lt;/span&gt;&lt;br /&gt;When I right clicked, the usual subversion options no longer appeared where they would in the context menu.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The solution&lt;/span&gt; was to go into Start | All Programs | Tortoise SVN | Settings&lt;br /&gt;Select "Icon Overlays"&lt;br /&gt;Then I toggled the first checkbox "Show overlays and context menu in explorer only" off, then applied, then toggled it back on again and applied the change.&lt;br /&gt;&lt;br /&gt;This process "fixed" whatever was missing from windows that caused the SVN commands from showing up where they ought to.  Once it is fixed, it seems to remain fixed no matter if you leave the aforementioned option on or off (I like it on, seems to aid with performance.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Some thoughts and observations:&lt;/span&gt;&lt;br /&gt;As to what caused the problem, the only thing I did differently this time from any other installation was that when I installed TSVN, rather than let it reboot when prompted to, I entered the settings page and set everything to the way I like it and then reboot my machine.  Maybe it is best to allow it that reboot before you screw with any settings. (duh?)  *shrugs*&lt;br /&gt;&lt;br /&gt;But for any of you who may be having an issue with subversion options missing from explorer, give this fix a try.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-8697494991413884942?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/01/tortoise-svn-tsvn-menus-missing-from.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-1235030444138840218</guid><pubDate>Tue, 13 Jan 2009 20:20:00 +0000</pubDate><atom:updated>2009-01-30T12:24:57.591-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>download</category><category domain='http://www.blogger.com/atom/ns#'>error</category><category domain='http://www.blogger.com/atom/ns#'>windows</category><category domain='http://www.blogger.com/atom/ns#'>nhelper.exe</category><category domain='http://www.blogger.com/atom/ns#'>nhelper</category><category domain='http://www.blogger.com/atom/ns#'>nlite</category><title>nhelper Missing Error after nlite XP Install</title><description>Came across some a rather annoying issue when reinstalling windows the other day.  I used nlite to get my RAID drivers in since I don't have any usb floppy drives laying around.  When installation was complete however, I got the following error:&lt;br /&gt;&lt;br /&gt;Title: "nhelper"&lt;br /&gt;Error: "Windows cannot find 'nhelper'. Make sure you typed the name correctly, and try again.  To search for a file click the Start button, and then click Search."&lt;br /&gt;&lt;br /&gt;Joy!  nhelper isn't anything necessary, and the best solution would be to figure out where it is being called from so that we can remove it from the startup.&lt;br /&gt;&lt;br /&gt;But the quick fix seems to be to copy the file &lt;a href="http://agilepro.com/files/nhelper.exe"&gt;nhelper.exe&lt;/a&gt; to your windows/system and windows/system32 folders.  Click here to &lt;a href="http://agilepro.com/files/nhelper.exe"&gt;download nhelper.exe&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-1235030444138840218?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/01/nhelper-missing-error-after-nlite-xp.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-487483262462218522</guid><pubDate>Wed, 07 Jan 2009 23:01:00 +0000</pubDate><atom:updated>2009-01-07T15:09:47.943-08:00</atom:updated><title>My advice</title><description>In IT I'm asked a lot of questions.  I've come to notice that my short fix is one of two things.&lt;br /&gt;&lt;br /&gt;1.  Really?  That is strange.  Maybe try &lt;a href="http://firefox.com"&gt;Firefox&lt;/a&gt;.&lt;br /&gt;or&lt;br /&gt;2. Really?  That si strange. Maybe try &lt;a href="http://openoffice.org"&gt;Open Office&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-487483262462218522?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2009/01/my-advice.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-4364138292080089332</guid><pubDate>Fri, 26 Dec 2008 17:30:00 +0000</pubDate><atom:updated>2008-12-26T09:44:41.014-08:00</atom:updated><title>A New Resolution</title><description>&lt;span style="font-weight: bold;"&gt;The Way It Is&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Everyone uses the web nowadays, it seems that everyone also has some "brilliant" idea about what the next big thing will be or a good way to make a quick buck.  Fortunately for us, the freelance web developer, most people don't know how to make this next big thing a reality, and that's supposed to be our bread and butter.&lt;br /&gt;&lt;br /&gt;It seems that for most of us the first few lessons we learn in this trade are the realities of the business end of things.  I myself was that way.  I'd do projects on the cheap in return for some percentage of the profits.  None of these ideas took off.  Often times the project would fizzle out and I'd get paid little or nothing, and usually less than the effort put in should have paid me.  As a result, ask almost any jaded programmer for advice and they will likely tell you much the same things.  Always get some money up front, don;t work for free or for percentages.  These arrangements usually go badly for us.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;For the new year I'm going to go against this wisdom a bit.  I'm resolving to in 2009, not take any side projects for money.  This isn't some noble cause I'm taking up: to make the world a better place through pro-bono web design.  I'm not going to save the whales.  This is a new outlook about what it is going to take to make me more satisfied with my job, expand my knowledge base, and get filthy rich.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Way It Will Be&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The motivation for not taking any paid projects this next year may seem a bit fuzzy and in regards to getting rich it appear downright counterintuitive.&lt;br /&gt;&lt;br /&gt;When I take side projects I do make a fair amount of money.  It is a greater hourly rate by far than what I make behind my desk at my day job.  However, the projects I take are the ones where the client has the means to pay.  They pay 25% up front, they don't fight the quoted price much, they don't even mention doing work for free or a cut.  The usual hallmarks of a side job, I'll be willing to accept.&lt;br /&gt;&lt;br /&gt;The reason is this.  I want to be excited again.  This next year, I would rather make nothing more than my base sallary, but be able to say I built something that I thought was a great idea.  Maybe I'll have the idea, or maybe it will be one of those prospective clients I would have once ignored.  The key is even though this goes against what a few years experience has taught me and many others, maybe 10 years experience can now help me pick up on that the truely good ones.&lt;br /&gt;&lt;br /&gt;It's a long shot on the getting rich part.  I'm too realistic to think this is just going to happen.  But there are toher reasons and I think that those will come with the effort.  I want to help push boundaries in web design.  Paying clients usually just want strict emulation of other sites that they like.  I want to experiment.  Try new things and learn in the process.  This will add to my skill set and lead to greater satisfaction with the job I am doing.&lt;br /&gt;&lt;br /&gt;I don't have it all figured out yet, but I have decided that I'm going to do it.  Here's looking forward to a new year.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-4364138292080089332?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2008/12/new-resolution.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-5753801583139559806</guid><pubDate>Fri, 19 Dec 2008 22:00:00 +0000</pubDate><atom:updated>2008-12-19T16:03:32.983-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>antivirus 2009</category><category domain='http://www.blogger.com/atom/ns#'>virus removal</category><title>Antivirus 2009</title><description>Recently around the office the Antivirus 2009 bug has been popping up a lot.  This fake antivirus software isn't terribly clever in it's execution, as fake antivirus software that is actually a virus is an old trick now, it is shockingly pervasive having infected 4 or 5 laptops here this last month.  Sure I could use this as a podium to rant that my office really ought to keep stricter controls over the PCs we have on the network, but since most of our employees are expected to have their own personal laptops to work from, I can't really restrict their rights on their own personal machines.&lt;br /&gt;&lt;br /&gt;In any event, using a few utilities I've had very good luck removing this virus and all the little bits and pieces it leaves behind without damaging the OS.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Quick Fix:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For those of you are certain that the infection you are experiencing is "Antivirus 2009" my advice is quite simply to download &lt;a href="http://www.malwarebytes.org/mbam.php"&gt;Malwarebytes Anti-Malware&lt;/a&gt;, update, run the full scan and presto, your computer will be fixed.  Malwarebytes is the essential one to run because it is of the software I tried, the only one that managed to kill all Antivirus 2009 background processes and get it to stop replicating.&lt;br /&gt;&lt;br /&gt;After running Malwarebytes, I also reccomend using Spybot Search and Destroy to help remove any sypware, adware or other _____ware buddies 2009 might have invited to the party.&lt;br /&gt;&lt;br /&gt;For those who would like more in-depth diagnosis and instruction please read on.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Diagnosis:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Antivirus 2009, is a fake Antivirus software that installs to your computer primarily by malicious websites tricking the user into thinking that a scan has been run and a virus was found on thier PC.  The user then installs Antivirus 2009 (the real virus) thinking it will remove the nonexistant one.&lt;br /&gt;&lt;br /&gt;I've also seen it piggyback along with P2P downloads, wares, and other less than reputable downloads.&lt;br /&gt;&lt;br /&gt;Computers with Antivirus 2009 will often have a pop-up window or taskbar tray application that runs a "scan" of thier computer.  This program can have other names, but the behavior and purpose is usually the same.  For tips on how you can tell fake software from real software see this article.&lt;br /&gt;&lt;br /&gt;Closing the application will close the window, but not stop the program.  Using Ctrl-Alt-Del to bring up the task manager will allow you to see the "antivirus2009" process, but killing it will only temporarily disable it.  Deleting the file that executed the process will also only slow it down as it is replicating.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Fix:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first order of business is to stop it from replicating and remove the offending files.  The best software for this is  &lt;a href="http://www.malwarebytes.org/mbam.php"&gt;Malwarebytes Anti-Malware&lt;/a&gt;. Once you have downloaded the installer, it's as simple as clicking next until it completes.&lt;br /&gt;&lt;br /&gt;Upon loading the program click the update tab and run an update.&lt;br /&gt;&lt;br /&gt;After that run a full scan.  Once the scan is complete, click the show results button in the lower right hand potion of the window.&lt;br /&gt;&lt;br /&gt;Remove all the bad files found by Malwarebytes. The system may ask to reboot.  Do so if prompted.  Upon restarting, your system should be free of the Antivirus 2009 Virus.  You may want to run additional scans (Such as Spybot Search and Destroy, AVG Antivirus, or Avast!)  to check for other malicious programs&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;How to Keep Yourself Protected in the Future.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A little education goes a long way when it comes to preventing virus attacks on your computers.  In the case of Antivirus 2009, most people could prevent the installation or escalation of this infection by knowing how to identify spoofed virus warnings.&lt;br /&gt;&lt;br /&gt;The trick isn't so much knowing what to look for in a fake warning but knowing what a real warning looks like, and only react to those.&lt;br /&gt;&lt;br /&gt;Step one: download and use a reputable Antivirus program.  This way if you do recieve a message saying that "your computer is unprotected" or some other alarmist statement the virus writers use to get your fear going, you'll know this isn;t the case.&lt;br /&gt;&lt;br /&gt;Among my favorites are AVG Antivirus and Avast Antivirus.  Why?  Well, that might be a topic better suited for a separate post... something I'll get to eventually no doubt.&lt;br /&gt;&lt;br /&gt;The next thing to do once you have installed your choice antivirus application, is to actually use it.  Run a scan, run an update, take it for a walk in the park.  Get to know your software a bit.  So that when the time comes you'll be able to better guage if the information you are getting seems to be from the application you are using.&lt;br /&gt;&lt;br /&gt;If the look of the warning, the name of the software, or other clues don't seem to match up.  You are likely looking at a hoax.  Better yet, a good antivirus software package will go so far as to prevent the hoax from making it to the screen or at least bailing you out of trouble if it does.&lt;br /&gt;&lt;br /&gt;In the end, viruses are everywhere and the best way to make sure your system is safe is to apply a little human intelligence and think criticaly not emotionaly when security is in question.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-5753801583139559806?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2008/12/antivirus-2009.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-4192397709824316967.post-4221115073874187445</guid><pubDate>Fri, 12 Dec 2008 00:35:00 +0000</pubDate><atom:updated>2008-12-11T16:46:07.984-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>introduction</category><category domain='http://www.blogger.com/atom/ns#'>personal</category><title>It's been too long</title><description>I've missed the simple pleasure of writing in my blog since my old Live Journal community fell apart.  Once upon a time as my old friends started to go off to college, and "The Group" became more and more disparate, we all used blogs to keep informed about the goings on in our tight circle.  For a time things were good but as time passed the posts got more and more infrequent, and I slowly got the impression that I was beginning to talk to myself.  Fearing the onset of madness, even I, one of the most consistent bloggers, quit.&lt;br /&gt;&lt;br /&gt;So, here I am now.  Starting a blog.  This is going to be different.  Not simply because I am older, or because the surroundings are new, but because my focus this time around is new.  As an IT Manager for Mountain View Mortgage, and a programmer for the last decade, I feel like I might actually have things to say that are of general interest and use.  I know not yet who my audience may be, but I enjoy writing enough to find out by experimentation.&lt;br /&gt;&lt;br /&gt;On that note I give you, the beginning...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4192397709824316967-4221115073874187445?l=www.agilepro.com%2Fblog' alt='' /&gt;&lt;/div&gt;</description><link>http://www.agilepro.com/blog/2008/12/its-been-too-long.html</link><author>noreply@blogger.com (Rob Lynch)</author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></item></channel></rss>