<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-36418271</id><updated>2011-08-01T10:16:06.786-05:00</updated><title type='text'>Developments of the Developer</title><subtitle type='html'>Practical notes from a learning, growing, developing software developer</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://devscribbles.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://devscribbles.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Zach</name><uri>http://www.blogger.com/profile/08714678446580324383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_j5MUmwEjWS4/SrWhPT74QYI/AAAAAAAAAAU/-Crv3cP9uYU/S220/Face2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-36418271.post-7193833474846770329</id><published>2010-11-03T21:16:00.000-05:00</published><updated>2010-11-03T21:16:55.375-05:00</updated><title type='text'>Beginning Photography</title><content type='html'>Calling me an amateur photographer would be nice.  Absolute n00b is probably more appropriate.  But, I'm smart and with some time I can learn the ropes.  So, today I finally received my Nikon D7000.  Talk about intimidating, there are 20 parts.  The manual (English only version) is over 300 pages long.&lt;br&gt;&lt;br&gt;I start reading the manual and discover there are buttons on buttons on this camera.  There are hidden buttons.  There are dials because there are TOO MANY buttons.  There are inputs.  There are dual card inputs.  There are outputs.  Man...there are OUTPUTS.&lt;br&gt;&lt;br&gt;Anyway, started reading the manual.  Now I realize I'm in over my head.  Time to the INTERNETZ!  First, what the heck is FV Lock Indicator?&lt;br&gt;&lt;br&gt;Ah a good find.  &lt;a href="http://nikonclspracticalguide.blogspot.com/2008/01/4-so-what-is-flash-value-lock.html"&gt;http://nikonclspracticalguide.blogspot.com/2008/01/4-so-what-is-flash-value-lock.html&lt;/a&gt;.  So, FV is Flash Value, and lock indicator shows whether or not the lock is set, to keep the flash brightness locked to the current level.&lt;br&gt;&lt;br&gt;Sweet, one term down.  Like 2,000 more to go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36418271-7193833474846770329?l=devscribbles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devscribbles.blogspot.com/feeds/7193833474846770329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36418271&amp;postID=7193833474846770329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/7193833474846770329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/7193833474846770329'/><link rel='alternate' type='text/html' href='http://devscribbles.blogspot.com/2010/11/beginning-photography.html' title='Beginning Photography'/><author><name>Zach</name><uri>http://www.blogger.com/profile/08714678446580324383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_j5MUmwEjWS4/SrWhPT74QYI/AAAAAAAAAAU/-Crv3cP9uYU/S220/Face2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36418271.post-5329854227420614776</id><published>2009-11-27T14:06:00.000-06:00</published><updated>2009-11-27T14:06:08.613-06:00</updated><title type='text'>/Data Backup Script</title><content type='html'>So, I like to backup my data, and keep it encrypted, and small...&lt;br /&gt;&lt;br /&gt;For you cygwin users, here is a cute little script for backing up a C:/Data directory:&lt;br /&gt;&lt;br /&gt;echo "Type your password: "&lt;br /&gt;read -s pass&lt;br /&gt;echo "Type your password again: "&lt;br /&gt;read -s pass2&lt;br /&gt;&lt;br /&gt;if [ "$pass" != "$pass2" ]&lt;br /&gt;then &lt;br /&gt; echo "Passwords not the same, please rerun the script"&lt;br /&gt; echo $pass&lt;br /&gt; echo $pass2&lt;br /&gt;else&lt;br /&gt; echo "Removing temp directory"&lt;br /&gt; rm -rf /cygdrive/c/Data/Temp&lt;br /&gt; mkdir /cygdrive/c/Data/Temp&lt;br /&gt; echo "Beginning backup and encryption"&lt;br /&gt; tarfile=`date +%Y-%m-%d-backup.tar`&lt;br /&gt; logfile=`date +%Y-%m-%d-backup.logs`&lt;br /&gt; encfile=`date +%Y-%m-%d-backup.tar.gpg`&lt;br /&gt; tar czf $tarfile /cygdrive/c/Data &amp;&gt; $logfile&lt;br /&gt; echo "Tar of data completed, encryption beginning"&lt;br /&gt; echo $pass | gpg --passphrase-fd 0 -o $encfile -c $tarfile&lt;br /&gt; rm -f $tarfile&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;The read -s keeps the echo silent so that your password isn't displayed as you type.  The directory is tarred up, zipped, and then encrypted using gpg.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36418271-5329854227420614776?l=devscribbles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devscribbles.blogspot.com/feeds/5329854227420614776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36418271&amp;postID=5329854227420614776' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/5329854227420614776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/5329854227420614776'/><link rel='alternate' type='text/html' href='http://devscribbles.blogspot.com/2009/11/data-backup-script.html' title='/Data Backup Script'/><author><name>Zach</name><uri>http://www.blogger.com/profile/08714678446580324383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_j5MUmwEjWS4/SrWhPT74QYI/AAAAAAAAAAU/-Crv3cP9uYU/S220/Face2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36418271.post-6866293967971623918</id><published>2009-11-21T07:21:00.000-06:00</published><updated>2009-11-21T07:21:51.436-06:00</updated><title type='text'>Organization</title><content type='html'>So, I'm a Windows user.  I know, I know, blasphemy to all hardcore developers, but it is what has been in use for all of my jobs and is what is required for a lot, if not most companies out there.&lt;br /&gt;&lt;br /&gt;Anyways, I've always hated the way Windows organizes data (or doesn't) and I've been exploring some new ways to maintain my data.  Finally, I have come up with this solution, which seems to be working fine so far:&lt;br /&gt;&lt;br /&gt;C:/Data   *root directory that I own*&lt;br /&gt;C:/Data/Applications  *apps by OS*&lt;br /&gt;C:/Data/Applications/Windows&lt;br /&gt;C:/Data/Development   *Any development specific data*&lt;br /&gt;C:/Data/Development/Dependencies&lt;br /&gt;C:/Data/Development/Projects&lt;br /&gt;C:/Data/Development/Repositories&lt;br /&gt;C:/Data/Documents  *Documents organized by user/company*&lt;br /&gt;C:/Data/Drivers *drivers for my machine, other machines I work on*&lt;br /&gt;C:/Data/Enc *encrypted data, such as proprietary projects that I don't own*&lt;br /&gt;C:/Data/Keys *backup of software keys that I have purchased*&lt;br /&gt;C:/Data/Media *all media*&lt;br /&gt;C:/Data/Media/Movies&lt;br /&gt;C:/Data/Media/Music&lt;br /&gt;C:/Data/Media/Pictures&lt;br /&gt;C:/Data/OSs  *operating systems (iso)*&lt;br /&gt;C:/Data/Scripts *backup scripts, shell scripts, etc*&lt;br /&gt;C:/Data/Share *docs to share*&lt;br /&gt;C:/Data/Temp *docs to shred*&lt;br /&gt;C:/Data/VMs *virtual machines*&lt;br /&gt;&lt;br /&gt;So far, I'm really liking my new organization.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36418271-6866293967971623918?l=devscribbles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devscribbles.blogspot.com/feeds/6866293967971623918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36418271&amp;postID=6866293967971623918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/6866293967971623918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/6866293967971623918'/><link rel='alternate' type='text/html' href='http://devscribbles.blogspot.com/2009/11/organization.html' title='Organization'/><author><name>Zach</name><uri>http://www.blogger.com/profile/08714678446580324383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_j5MUmwEjWS4/SrWhPT74QYI/AAAAAAAAAAU/-Crv3cP9uYU/S220/Face2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36418271.post-47544913142101751</id><published>2009-10-22T20:15:00.000-05:00</published><updated>2009-10-22T20:15:57.031-05:00</updated><title type='text'></title><content type='html'>Let me first say I'm sorry for taking my sweet time in my next blog entry.&amp;nbsp; My dad has been diagnosed with cancer, my brother has been in trouble, I've moved, my girlfriend has moved in with me to our new home, and I've negotiated 2 new work contracts.&amp;nbsp; Let's just say things have been busy at best.&lt;br /&gt;&lt;br /&gt;Now, forward and onward.&amp;nbsp; Today's topic is closures.&amp;nbsp; First off, let's show Wikipedia's definition:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left: 3em; margin-right: 3em;"&gt;In computer science, a closure is a first-class function with free variables that are bound in the lexical environment. Such a function is said to be "closed over" its free variables. A closure is defined within the scope of its free variables, and the extent of those variables is at least as long as the lifetime of the closure itself. The explicit use of closures is associated with functional programming and with languages such as ML and Lisp. Closures are used to implement continuation passing style, and in this manner, hide state. Constructs such as objects and control structures can thus be implemented with closures.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Now let's go over what this actually translates to.&amp;nbsp; We'll first start by addressing why I think this topic is an important one.&amp;nbsp; This little feature makes Javascript a very, very powerful language that fully supports privitization.&amp;nbsp; Privitization is really being able to have an object own its variables and guarantee that no other entity can change them without the owner releasing them for editing to the public.&amp;nbsp; In a nutshell, it means I own some memory and you can't touch it unless I give you access.&lt;br /&gt;&lt;br /&gt;How this is implemented in Javascript is through a closure.&amp;nbsp; Let's take a sample closure:&lt;br /&gt;&lt;br /&gt;function willDie() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var private = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return function() { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(private++);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Now, let's assign it and use it;&lt;br /&gt;&lt;br /&gt;var myFunction = willDie();&lt;br /&gt;myFunction();&lt;br /&gt;myFunction();&lt;br /&gt;&lt;br /&gt;The myFunction assigned now owns the "private" variable.&amp;nbsp; However, the variable "myFunction" can't directly access it.&amp;nbsp; When used in conjunction with the rest of JavaScript's language features, it plays an integral role in defining a true object oriented language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36418271-47544913142101751?l=devscribbles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devscribbles.blogspot.com/feeds/47544913142101751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36418271&amp;postID=47544913142101751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/47544913142101751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/47544913142101751'/><link rel='alternate' type='text/html' href='http://devscribbles.blogspot.com/2009/10/let-me-first-say-im-sorry-for-taking-my.html' title=''/><author><name>Zach</name><uri>http://www.blogger.com/profile/08714678446580324383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_j5MUmwEjWS4/SrWhPT74QYI/AAAAAAAAAAU/-Crv3cP9uYU/S220/Face2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36418271.post-3531389711804420379</id><published>2009-09-30T08:54:00.003-05:00</published><updated>2009-09-30T16:47:24.292-05:00</updated><title type='text'>Code</title><content type='html'>So, writing great code is an art.&amp;nbsp; It is a talent.&amp;nbsp; It is something that I'm not sure can be taught, perhaps learned, but I doubt taught.&amp;nbsp; Writing good code, though, can be taught.&lt;br /&gt;&lt;br /&gt;To me, quality code can be graded via the following, not necessarily in any particular order of value:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Readability&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Reusability&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Maintainability&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;For readability, everyone has their own flavor.&amp;nbsp; However, find your standard, and stick to it.&amp;nbsp; Nothing upsets me more than seeing a function that can't even figure matching brace behaviors:&lt;br /&gt;function blah() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (...)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;It reads like an awful, awful book.&amp;nbsp; Other than picking a standard and sticking to it, defining the "right" way and "pretty" code is completely out of the control of one person.&amp;nbsp; It would be extremely cocky and stupid to think that I know the "one" way to right clean code.&amp;nbsp; I'm still under the assumption that my code has a long way to go to meet even my own expectations, let alone those of others.&lt;br /&gt;&lt;br /&gt;As for making code reusable, I think the most important thing is being able to draw the functional lines.&amp;nbsp; Know where the data library ends and the control library ends.&amp;nbsp; Study design patterns, the gang of four knew their stuff.&amp;nbsp; Know and understand MVC (model view controller).&amp;nbsp; Turn everything you can with an end product into a library.&amp;nbsp; Sure, there are limits, but find them and understand them.&lt;br /&gt;&lt;br /&gt;Maintainable code?&amp;nbsp; That's really covered by the previous two.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36418271-3531389711804420379?l=devscribbles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devscribbles.blogspot.com/feeds/3531389711804420379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36418271&amp;postID=3531389711804420379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/3531389711804420379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/3531389711804420379'/><link rel='alternate' type='text/html' href='http://devscribbles.blogspot.com/2009/09/code.html' title='Code'/><author><name>Zach</name><uri>http://www.blogger.com/profile/08714678446580324383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_j5MUmwEjWS4/SrWhPT74QYI/AAAAAAAAAAU/-Crv3cP9uYU/S220/Face2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36418271.post-6558805017472128902</id><published>2009-09-25T20:51:00.001-05:00</published><updated>2009-09-25T20:58:50.539-05:00</updated><title type='text'>Try.  Commit.  Catch.  Rollback.  Finally!</title><content type='html'>So, maintenance of code is costly.&amp;nbsp; Always has been, always will be.&amp;nbsp; It is the 100 line function that you pray will be replaced by something more coherent that you'll manage to find 6 years later and question if it is working right or not.&amp;nbsp; In database interactions, it becomes oh so painful.&lt;br /&gt;In most cases, when running transactions in Java code, you'll play this game to the tune of:&lt;br /&gt;allocate transaction&lt;br /&gt;try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; commit transaction&lt;br /&gt;} catch {&lt;br /&gt;&amp;nbsp;&amp;nbsp; rollback transaction&lt;br /&gt;} finally {&lt;br /&gt;&amp;nbsp; cleanup, possibly dispose of connection&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Let's say however that this code goes into play, and in a few years, you're gone.&amp;nbsp; Your replacement is of course the newer, leaner, cheaper, meaner college grad, ready to spend night and day at the beck and call of server failures and enhancement requests.&amp;nbsp; In "maintaining" this function, it now becomes a 100 line nightmare.&lt;br /&gt;try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&amp;nbsp; // 100 lines of logic, statement preparation, maybe even more DB interactions&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; commit transaction&lt;br /&gt;} catch {&lt;br /&gt;&amp;nbsp;&amp;nbsp; rollback transaction&lt;br /&gt;} finally {&lt;br /&gt;&amp;nbsp; cleanup, possibly dispose of connection&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Somewhere in those glorious 100 lines of code, a return statement is added, to short-circuit db interactions, because it is an in invalid state, or they're done using the transaction.&amp;nbsp; Whatever. &amp;nbsp; &lt;br /&gt;&lt;br /&gt;try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (hey, I'm done here)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return myDoneObject;&lt;br /&gt;&amp;nbsp; &amp;nbsp; ... &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; commit transaction&lt;br /&gt;} catch {&lt;br /&gt;&amp;nbsp;&amp;nbsp; rollback transaction&lt;br /&gt;} finally {&lt;br /&gt;&amp;nbsp; cleanup, possibly dispose of connection&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Well, of course they have just managed to short circuit a transaction.&amp;nbsp; Transaction leaking can be fairly difficult to discover when the transaction is a read only transaction; ie the transaction could have side effects, but is short circuited purposefully to avoid writing data to the DB that isn't supposed to be written (poor data, invalid data, customer account not set up, etc).&amp;nbsp; Now, you have a serious problem only discovered under heavy load testing.&lt;br /&gt;&lt;br /&gt;Instead, I propose a different, more maintainable tactic.&lt;br /&gt;&lt;br /&gt;bool commit = false;&amp;nbsp; // or whatever the safest bet is&lt;br /&gt;try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; commit= true;&lt;br /&gt;} catch {&lt;br /&gt;&amp;nbsp;&amp;nbsp; commit = false;&lt;br /&gt;&lt;br /&gt;} finally {&lt;br /&gt;&amp;nbsp; if (commit)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; commit transaction&lt;br /&gt;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rollback transaction&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Now, regardless of the side effects and their possible breakage, you at least are not leaking Transactions and possibly destroying your DB performance.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36418271-6558805017472128902?l=devscribbles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devscribbles.blogspot.com/feeds/6558805017472128902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36418271&amp;postID=6558805017472128902' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/6558805017472128902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/6558805017472128902'/><link rel='alternate' type='text/html' href='http://devscribbles.blogspot.com/2009/09/try-commit-catch-rollback-finally.html' title='Try.  Commit.  Catch.  Rollback.  Finally!'/><author><name>Zach</name><uri>http://www.blogger.com/profile/08714678446580324383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_j5MUmwEjWS4/SrWhPT74QYI/AAAAAAAAAAU/-Crv3cP9uYU/S220/Face2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36418271.post-842207430401487665</id><published>2009-09-19T21:33:00.001-05:00</published><updated>2009-09-19T21:34:46.024-05:00</updated><title type='text'>To Cert or not to Cert</title><content type='html'>As a software contractor, it is in my best interest to keep on my game and make myself highly marketable.&amp;nbsp; You're a business, in business to sell your service, and to do so you need to be able to advertise yourself.&amp;nbsp; The question is whether or not to chase certifications, such as Oracle, Java, A+, and others.&lt;br /&gt;&lt;br /&gt;In reviewing technological certifications, they strike me as very, very poor talent and/or skill detectors.&amp;nbsp; In fact, they look more like the word definition tests you would take in elementary English class.&amp;nbsp; Memorize the meanings of these 10 words, some of which have value in real world language, and some of which don't, and then regurgitate them on a written exam.&amp;nbsp; I'm not badmouthing English class, but to know a word is completely different than to be able to wield it.&amp;nbsp; Much like these tests, they can certainly show you know a definition of a technological phrase, or perhaps a language syntax, but show absolutely nothing about your ability to use it.&amp;nbsp; Using it is the real value in the software developer realm; I'd give 90% value to use understanding, 10% to definition.&lt;br /&gt;&lt;br /&gt;In addition to questioning the value of these tests, and preparing for these tests, I also run across those who think along the lines of &lt;a href="http://www.freshblurbs.com/professional-software-certifications-are-lame"&gt;this&lt;/a&gt;.  Basically, not only are they a waste, but they also can indicate you're willing to waste your time.&amp;nbsp; A long list of them can also indicate pompousness.&amp;nbsp; To add to this, a company that does value a long list of certifications may be populated with people who define themselves by complex syntax wielding developers, which typically leads to overly complex, hard-to-read code.&lt;br /&gt;&lt;br /&gt;I think for now their value is questionable, and simply a way to spruce up the resume if you can't fill up the first page.&amp;nbsp; Once you've got a few marketable claims, the value fades.&amp;nbsp; I assume for certain companies, this may offer great value to get your foot in the door.&amp;nbsp; The question is, are these the companies to work for?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36418271-842207430401487665?l=devscribbles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devscribbles.blogspot.com/feeds/842207430401487665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36418271&amp;postID=842207430401487665' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/842207430401487665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/842207430401487665'/><link rel='alternate' type='text/html' href='http://devscribbles.blogspot.com/2009/09/to-cert-or-not-to-cert.html' title='To Cert or not to Cert'/><author><name>Zach</name><uri>http://www.blogger.com/profile/08714678446580324383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_j5MUmwEjWS4/SrWhPT74QYI/AAAAAAAAAAU/-Crv3cP9uYU/S220/Face2.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36418271.post-7936219584751509403</id><published>2009-09-19T21:13:00.001-05:00</published><updated>2009-09-19T22:43:30.024-05:00</updated><title type='text'>Greasing the Blog Cogs</title><content type='html'>I spend on average somewhere between 40-50 hours per week performing software development tasks, reading about software development, and keeping up with technology.&amp;nbsp; This has been a significant part of my life for some time, and likely will continue to be for a long, long time.&amp;nbsp; I figured it was about time to contribute to the public realm, and am hoping some of my notes will offer some small return to others.&amp;nbsp; This is my humble attempt to give something back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36418271-7936219584751509403?l=devscribbles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://devscribbles.blogspot.com/feeds/7936219584751509403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36418271&amp;postID=7936219584751509403' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/7936219584751509403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36418271/posts/default/7936219584751509403'/><link rel='alternate' type='text/html' href='http://devscribbles.blogspot.com/2009/09/greasing-blog-cogs.html' title='Greasing the Blog Cogs'/><author><name>Zach</name><uri>http://www.blogger.com/profile/08714678446580324383</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_j5MUmwEjWS4/SrWhPT74QYI/AAAAAAAAAAU/-Crv3cP9uYU/S220/Face2.jpg'/></author><thr:total>0</thr:total></entry></feed>
