<?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/' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-8051123</atom:id><lastBuildDate>Mon, 14 Jul 2008 22:41:14 +0000</lastBuildDate><title>CodeFin.net</title><description/><link>http://www.codefin.net/</link><managingEditor>noreply@blogger.com (Joe)</managingEditor><generator>Blogger</generator><openSearch:totalResults>444</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-895044336026606049</guid><pubDate>Wed, 09 Jul 2008 01:28:00 +0000</pubDate><atom:updated>2008-07-08T19:29:16.718-06:00</atom:updated><title>To Pay the Piper</title><description>I just finished reading an editorial from today's edition of the New York Times titled &lt;a href="http://www.nytimes.com/2008/07/08/opinion/08tue3.html?partner=rssnyt&amp;emc=rss"&gt;New Jersey's Painful Lesson&lt;/a&gt;.  It is indeed surprising to read that elected officials still do not understand simple rules of budgeting.  Money always comes from somewhere and at a price.  I applaud Gov. Jon Corzine for pushing a difficult agenda of budget cuts with his legislature.  In an economy fraught with both moral and economic decisions to make, it becomes very difficult to tell people that they have to learn how to do more with less, or worse, that services needed by citizens are simply not available. &lt;br /&gt;&lt;br /&gt;Financial responsibility is key to any economy be it the economy of a family, state, nation or world.  Just as I have to pay my bills each month, so does my state, and our nation.  It seems to me that we've gone far too long without seriously considering the financial impact that legislation and policy make on our lives.  I am not against government.  I fully understand that legislation and policy are tools by which our land and freedoms can be protected.  I worry that those making these important decisions may not always have the best interest of the whole in mind.&lt;br /&gt;&lt;br /&gt;Decisions impacting personal, state and federal budgets should be carefully considered not just for the impact of the moment, but in the long term.  Like most, I hope for a healthy economy capable of supporting growth and great innovation for many years to come.  I also believe that this dream is not possible without careful and very intentional planning.  We should always be saving for the future, even if it means we don't have everything that we want in the here and now.&lt;br /&gt;&lt;br /&gt;I agree with the opinion of the Times.  "... it is not too late for other states and thousands of cities, towns and countries to learn that politicians who have little trouble running up a big tab have a terrible time paying it off when the bill, as it must, finally comes due."</description><link>http://www.codefin.net/2008/07/to-pay-piper.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-2631623772067452696</guid><pubDate>Mon, 07 Jul 2008 01:35:00 +0000</pubDate><atom:updated>2008-07-06T19:39:43.428-06:00</atom:updated><title>Free Time</title><description>Being at the tail end of a great week spent on vacation, I've allowed myself more time than I usually would to think.  It was fun to get out of town, and tend to the lighter things in life, but at the back of my mind I kept being nagged by the should do's and need to do's that I've not been so diligent about keeping up with.  That's not to say that I'm lazy in general, but professionally I've not been nearly as ambitious as I had hoped that I would be.  &lt;br /&gt;&lt;br /&gt;At the time I graduated I thought that it would be cool to try to learn a new programming language each quarter just for kicks.  I also thought it would be a good idea to read at least a book a week be it recreational or work related.  Rather than keeping up with these lofty goals I fell into a trap that most working American's know well.  Television.  There's always something on, and if there isn't something on right now, the DVR or iTunes can easily cure the problem.  I love my HD television, but truth be told I spend too much time with it.  It's just too easy and brainless.  With a movie the television makes for an easy date.  With a season or three of a sitcom or drama the television makes for more than several evenings of hanging out with friends.  This is not to say that television and one way media consumption doesn't have its place, but I do question what that place should be.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blip.tv/file/855937"&gt;Clay Shirky gave a presentation at the 2008 Web 2.0 Expo that seems to have gelled some of my thoughts regarding my current use of time&lt;/a&gt;.  Shirky calls it "cognitive surplus" or "free time".  He talks about how much time we, as a society, spend masking that surplus by watching television rather than investing it in other endeavors.  He quoted some "back of the envelope" calculations that the wikipedia project has an investment of 100 million hours of human thought.  Then stated that America spends 200 billion hours a year watching television.  Shirky then went on to speak about the evolution of society and how we're just now beginning to experiment with new ways to invest that 200 billion hours in an "architecture of participation".  This architecture of participation would include things like &lt;a href="http://en.wikipedia.org/wiki/Wikipedia"&gt;wikipedia&lt;/a&gt;, &lt;a href="http://www.facebook.com/"&gt;facebook&lt;/a&gt;, &lt;a href="http://www.flickr.com/"&gt;flickr&lt;/a&gt;, &lt;a href="http://twitter.com"&gt;twitter&lt;/a&gt;, &lt;a href="http://www.worldofwarcraft.com/index.xml"&gt;world of warcraft&lt;/a&gt;, &lt;a href="http://www.google.com/reader/view/#overview-page"&gt;google reader&lt;/a&gt; or &lt;a href="http://www.blogger.com/home"&gt;blogging&lt;/a&gt; the list is virtually endless.  He posits that people like to produce and share.  This thought resonates with me.  &lt;br /&gt;&lt;br /&gt;Deploying my cognitive surplus in front of the HD television is easy indeed, but spending it creating, reading, writing and participating in global conversations feels much more rewarding.  There's a certain feeling of accomplishment after I've posted a new blog entry, or commented on the flickr photo stream of a friend.  I feel pride in the fact that I contributed or participated.  &lt;br /&gt;&lt;br /&gt;So maybe for the next week, I'll try to limit the time spent on my couch.  Rather, I'll read, write, and live a bit more, with the expectation that it will enhance my experience and possible that of others as well.</description><link>http://www.codefin.net/2008/07/free-time.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-3867229118990751700</guid><pubDate>Sun, 04 May 2008 02:37:00 +0000</pubDate><atom:updated>2008-05-03T20:54:14.098-06:00</atom:updated><title>IBM Commands Attention?</title><description>Just finished listening to &lt;a href="http://javaposse.com/index.php?post_id=333661#"&gt;episode 182&lt;/a&gt; of the Java Posse podcast.&lt;br /&gt;&lt;br /&gt;I don't know who to attribute the quote to but thought it noteworthy none the less.&lt;br /&gt;&lt;br /&gt;"You can't really discount the size of IBM as a market force.  And IBM just as a company hasn't even really moved."&lt;br /&gt;&lt;br /&gt;The statement was made during a discussion with regard to new JRE adoption specifically about how IBM and its customers are so slow to move.  I think that the comment is relevant.  As a software engineer working for a company that is beholden to IBM's WebSphere, we can only move as quickly as IBM will let us.  Currently we're in the middle of a conversion from WAS 5.1 to WAS 6.1 which does give us a 1.5 JRE, but the conversion has not been without its own pain.  It would be nice if IBM were able to support the bleeding edge, however when they insist on writing their own implementation of the JRE, speed isn't going to be there.  Then again, the whole J2EE app server world seems heavy and slow to change.  &lt;br /&gt;&lt;br /&gt;It will be interesting to see what happens as Java continues to compete with newer and different languages.  The pod cast did a great job at discussing the issues from various angles.</description><link>http://www.codefin.net/2008/05/ibm-commands-attention.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-179119589343964629</guid><pubDate>Fri, 02 May 2008 03:19:00 +0000</pubDate><atom:updated>2008-05-01T21:19:50.616-06:00</atom:updated><title>It's Time</title><description>The easiest way to damn progress is to put off to another day what you should just start working on today.  It is very easy to get into the habit of using situations as justification for not working on those things one wants.  One may say: I'll work on it when I have more money in the bank, or when work isn't quite so busy, or when things are precisely how I expect them to be.  The fact of the matter is, typical situations aren't  ideal, and while waiting for that ideal moment, opportunities may be lost.  Today is as good as any, life doesn't get any easier.  Take control of the situation and make the best of what you've got.</description><link>http://www.codefin.net/2008/05/its-time.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-2967901001906116045</guid><pubDate>Mon, 17 Mar 2008 01:37:00 +0000</pubDate><atom:updated>2008-03-16T19:37:37.880-06:00</atom:updated><title>Are you your own problem?</title><description>Yet another insightful post by &lt;a href="http://www.slash7.com/articles/2008/3/14/alex-hillman-is-better-than-me"&gt;Amy Hoy&lt;/a&gt;.  I'm intrigued by the last paragraph:&lt;br /&gt;&lt;quote&gt;&lt;em&gt;&lt;br /&gt;Is there something you're claiming can't be done, just because you just don't want it bad enough? A project you're trying to (unsuccessfully) brute force from the wrong direction—where the right direction requires a skill set other than the one you're most comfortable in? Or a situation where the stumbling blocks in your way are largely of your own devising or imagination?&lt;br /&gt;&lt;br /&gt;What do you stand to lose by admitting what's really happening?&lt;br /&gt;&lt;/em&gt;&lt;/quote&gt;</description><link>http://www.codefin.net/2008/03/are-you-your-own-problem.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-2168699154229248178</guid><pubDate>Sun, 10 Feb 2008 04:32:00 +0000</pubDate><atom:updated>2008-02-09T21:34:14.634-07:00</atom:updated><title>Software Requirements</title><description>I had a brief discussion with a family member this evening in which the following &lt;a href="http://en.wikiquote.org/wiki/Henry_Ford"&gt;Henry Ford quote&lt;/a&gt; was used. &lt;em&gt;"If I'd asked people what they wanted, they would have asked for a better horse."&lt;/em&gt;  I had mentioned that at times building business software is difficult because the target is never fixed, and with changing requirements it becomes difficult to deliver the project to the satisfaction of stakeholders.  It is humbling to see a different perspective on the same problem.  Rather than expecting business sponsors to be able to deliver a comprehensive set of requirements, I was challenged to learn the business so that it could be applied to the problem to anticipate what business may need.  Business is great at identifying needs, but they may not know what the solution should look like.  That's where grounded knowledge of business and good engineering can come together to meet needs in new and awesome ways.  This thought really resonated with me this evening.  In theory this gives the engineer more responsibility and equity in the work she does.  It also should deliver a product that meets or exceeds requirements, bringing growth and change to an organization.  I think that there's some good stuff here.  I've clearly got some changing to do.</description><link>http://www.codefin.net/2008/02/software-requirements.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-663755403264407232</guid><pubDate>Sun, 27 Jan 2008 03:44:00 +0000</pubDate><atom:updated>2008-01-26T20:44:59.516-07:00</atom:updated><title>Will REST Provide a Better Experience?</title><description>Service Oriented Architecture (SOA) is an architectural style that promotes loose coupling of business processes through services independent of platform, time and location.  When business discussion turns to SOA, web services are often used as the classic example for producing these loosely coupled components.  What usually is not discussed are the challenges presented with SOA implementation based on classic web services.  Some vendors have created tools to ease implementation, but it is important to understand that with a classic web service there's a lot happening behind the scenes and the programmer should have knowledge of how it works. &lt;br /&gt;&lt;br /&gt;Classic web services are built upon the following five standards.&lt;br /&gt;- SOAP (Simple Object Access Protocol)&lt;br /&gt;- XML (Extensible Markup Language)&lt;br /&gt;- HTTP (Hypertext Transport Protocol)&lt;br /&gt;- WSDL (Web Services Description Language)&lt;br /&gt;- UDDI (Universal Discovery Description Integration)&lt;br /&gt; Keep in mind that while there are standards for the languages and protocols, each implementor may go about creating the solution in a different way.  This is particularly important when it comes time to maintain your web service.  Some solutions do a better job at hiding the complexity than others.  Bottom line:  There's very little that is simple about the classic web service.&lt;br /&gt;&lt;br /&gt;When I approached traditional "web services" in school, I was in a .NET environment.  Credit must be given to Microsoft with their implementation.  It was so simple.  The wizards were intuitive, changes were easy to make and all of the hard stuff was carefully hidden from the user.  I should have understood that given the list of standards involved there was a lot of 'black magic' happening.&lt;br /&gt;&lt;br /&gt;Having approached traditional web services professionally, it's always been a severe pain point.  The java tooling (at least that provided by IBM) attempts to hide the complexity from the user, but it's been my experience that things never work quite as they should.  This forces the developer to play with the "black magic" which never provides me with a really good, warm feeling inside.&lt;br /&gt;&lt;br /&gt;I've been doing some preliminary reading on REST.  This looks good.  Really good.  I'm up for anything that still provides platform independent exchange of information without the pain of RPC.</description><link>http://www.codefin.net/2008/01/will-rest-provide-better-experience.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-4487585975095610991</guid><pubDate>Fri, 18 Jan 2008 04:04:00 +0000</pubDate><atom:updated>2008-01-17T21:04:43.409-07:00</atom:updated><title>My $.02</title><description>I've been following the "Is Java Dying" debate that seems to have been swirling around the web with more fervor in the past several weeks.  I tend to agree with the camp that believes that language evolution is inevitable, but this is not damaging to the Java community.  There's a LOT of Java code out there.  There are still a LOT of people writing new Java code every day.  There are some great new languages out there, but I don't yet see a reason to move to a newer language or stack.  There's still a lot of promise in the Java world.  I'm particularly excited by a couple of projects released under the auspices of the great Google: Guice and GWT.  Both of these projects show us that there's new and innovative stuff being done in Java every day.</description><link>http://www.codefin.net/2008/01/my-02.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-2375721363718305855</guid><pubDate>Thu, 10 Jan 2008 03:00:00 +0000</pubDate><atom:updated>2008-01-09T20:00:42.176-07:00</atom:updated><title>January Yuck</title><description>I'm feeling somewhat numb.  Again.  Not in the physical sense, but certainly in the mental.  It's really hard to go back to work after a vacation.  I set out to do all sorts of great stuff this week, and it seems that fate would rather have me work on other things.  It's frustrating when you can't stick to your own schedule.&lt;br /&gt;&lt;br /&gt;I walked through a condo last night that I am very tempted to make an offer on.  We'll see where things end up.  I need to think about it for a few more days. I would like to get out of this numbness before making any big decisions however.&lt;br /&gt;&lt;br /&gt;Perhaps this is what January is all about.</description><link>http://www.codefin.net/2008/01/january-yuck.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-2425423998266884652</guid><pubDate>Wed, 02 Jan 2008 03:25:00 +0000</pubDate><atom:updated>2008-01-01T20:28:21.838-07:00</atom:updated><title>One More Lazy Day</title><description>&lt;center&gt;&lt;a href="http://www.flickr.com/photos/codefin/2157118512/" title="blanket by CodeFin, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2226/2157118512_fe7e82216d.jpg" width="500" height="333" alt="blanket" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Slept in - When you're used to being up at 5, sleeping in until 9 feels luxurious.&lt;br /&gt;Spent most of the day reading and staying warm.&lt;br /&gt;Made chicken enchiladas for dinner.&lt;br /&gt;The regular program continues tomorrow.</description><link>http://www.codefin.net/2008/01/one-more-lazy-day.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-8340369095960500018</guid><pubDate>Mon, 31 Dec 2007 23:09:00 +0000</pubDate><atom:updated>2007-12-31T16:10:21.803-07:00</atom:updated><title>Year End</title><description>2007 was a big year.  At the end of 2003, I had no way of knowing what life would be like today.  I was a confused three-year biology student who had no desire to finish a degree in biology.  Something had to change, and a new area of study would go a long way toward making that happen.  I had always loved computers.  I had a job doing computer support and a little bit of QA for a large HMO in my home town.  A manager had the good sense to take me to lunch and encourage me to think seriously about a career in computing.  And so goes the story.  2007 made it into the long range goal list when my academic counselor and I set out my plan my degree in computer science.  Imagine with me for a moment what your reaction to the following course description would have been had you no formal experience with programming at all.  "Introduction to the problem of engineering computational efficiency into programs. Classical algorithms (including sorting, searching, and graph traversal) and data structures (including stacks, queues, linked lists, trees, hash tables, and graphs). Analysis of program space and time requirements. Extensive programming exercises that require the application of elementary techniques from software engineering."  I was overwhelmed, but willing to put in the long hours to learn the material.  Looking back on my seven year tenure as an undergraduate, I wish I had found computer science earlier.  I learned a lot about computers, gained knowledge that makes me a marketable employee, and built friendships that I hope will last a lifetime.  Graduation was just a day in May of this year, but it was years in the making, and will have years worth of impact on my future.  I'm profoundly grateful to the people who were along for the ride.  They know who they are.&lt;br /&gt;&lt;br /&gt;I also managed to get out of the country for the first time this year.  It couldn't have been done without the suggestion and help of some awesome family members.  In August with my uncle, aunt, cousin and grandfather, we went on a 14 day holiday through Europe.  Cities on the itinerary included: Prague, Pilzen, Paris, Avignon, Vasion La Romaine, Florence and Rome.  The country side to be seen was amazing.  The food was better than I could have imagined.  The art was truly awesome.  The trip was unforgettable.&lt;br /&gt;&lt;br /&gt;As if graduation and a european vacation weren't enough; there was mountain biking, pc-gaming and a trip to Moab, Utah to do both.  There were near daily lunches with co-workers whom I am lucky to also call friends.  I'm grateful to have a job where there are needs to be filled by solving interesting problems.  I work with creative, smart people who care a lot about delivering a quality product to our customers.&lt;br /&gt;&lt;br /&gt;2007 was a good year.  There's a lot to reflect on.  There's a lot more to be grateful for.  I suppose the my wish for 2008 would be that situations continue to get better.  We all have to live, learn and change.  May our changes be for the best.</description><link>http://www.codefin.net/2007/12/year-end.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-1932338672067170189</guid><pubDate>Mon, 31 Dec 2007 03:56:00 +0000</pubDate><atom:updated>2007-12-30T21:03:53.429-07:00</atom:updated><title>Homework to Do</title><description>After Friday's gripe session with regard to my 'meets the requirements' discussion and scriptaculous, a friend engaged me in a conversation today.  &lt;br /&gt;&lt;br /&gt;Him: Did you see the &lt;a href="http://www.ongwt.com/post/2007/12/22/GWT-Gears-javascript-and-java-%3A-Interview-with-Dion-Almaer-at-Javapolis"&gt;article&lt;/a&gt; I starred from Ajaxian in Reader, or did you just shift - a it into oblivion?&lt;br /&gt;Me: I read through it briefly, but I'm really not interested in learning yet another framework.&lt;br /&gt;&lt;br /&gt;I made some pathetic argument about building frameworks versus working/contributing to ones that already exist.  Oh well.  It's pretty clear that I'm fallible.  If I'm half the programmer that I claim to be, I need to spend some real time with GWT.  It's not fair for me to bag a framework simply on the ground that it's another thing that I don't have time for.  Dion Almaer makes a good argument that GWT may actually simplify a developer's life.  I'll repent and give this a try.  More to follow.</description><link>http://www.codefin.net/2007/12/homework-to-do.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-4669671646736628918</guid><pubDate>Sun, 30 Dec 2007 01:16:00 +0000</pubDate><atom:updated>2007-12-29T18:33:58.368-07:00</atom:updated><title>Change</title><description>&lt;center&gt;&lt;a href="http://www.flickr.com/photos/codefin/2422570/" title="Evening Walk in the Rain by CodeFin, on Flickr"&gt;&lt;img src="http://farm1.static.flickr.com/2/2422570_689bdb20bd.jpg" width="375" height="500" alt="Evening Walk in the Rain" /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;center&gt;All but Death, can be Adjusted -&lt;br /&gt;Dynasties repaired -&lt;br /&gt;Systems - settled in their Sockets -&lt;br /&gt;Citadels - dissolved -&lt;br /&gt;&lt;br /&gt;Wastes of Lives -resown with Colors&lt;br /&gt;By Succeeding Springs -&lt;br /&gt;Death - unto itself - Exception -&lt;br /&gt;Is exempt from Change -&lt;br /&gt;- Emily Dickinson&lt;/center&gt;&lt;br /&gt;I took the above picture on Main Street in downtown Salt Lake City on December 21, 2004.  The picture would be vastly different if I were to try to capture the scene today.  Deconstruction looms everywhere.  Buildings that once seemed so solid and  permanent have been gone for months.  I think that Dickinson gets it wright when she says All but death can be adjusted, and I'm not so sure about that either.  Change is the constant in life.  Nothing stays the same.  Perhaps our biggest challenge is to adapt and accept the changes that come our way.  Hopefully the changes that we face are good, but if they aren't there's something to be said for making the best of a difficult situation.  The end of a year provides us with a moment to look back and assess where we've been and what we've accomplished.  It's also a time to look forward, to see where we might like to be in the future.  I don't know that I'm a fan of New Year's resolutions, but the end of the year does provide one with a good clean epoch from which observations, both backward and forward, can be made.  It seems to me that if all things are indeed adjustable, and change is consistent rather than an exception.  Then perhaps it is time to figure out how I'll change with the word which will change with, or without, me.</description><link>http://www.codefin.net/2007/12/change.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-7020554007655376750</guid><pubDate>Sat, 29 Dec 2007 03:32:00 +0000</pubDate><atom:updated>2007-12-28T20:38:14.331-07:00</atom:updated><title>Ah Progress - Sort Of</title><description>A lot of credit is due to &lt;a href="http://script.aculo.us/"&gt;scriptaculous&lt;/a&gt; this evening.  And though I am pleased that I got a job done, I'm not happy about the way it was accomplished.  I don't usually have many good things to say about scriptaculous.  It seems to me that it is a whole bunch of code, that almost never works correctly in every browser.  Additionally, though the point of their website is to show off the product, I can't stand the way that it navigates.  Finding exactly what you want concisely and simply is neither concise nor simple.  This was absolutely the case with the &lt;a href="http://wiki.script.aculo.us/scriptaculous/show/Ajax.Autocompleter"&gt;Ajax.Autocompleter&lt;/a&gt; that I managed to wrangle to my will today.  Finding the appropriate documentation was difficult.  Also it appears to work differently in IE, Firefox and Safari.  Because the feature was for an in-house, IE only application I didn't stress too much about the differences between browsers.   However to make it work perfectly for IE, I did have to hack the script according to &lt;a href="http://wiki.script.aculo.us/scriptaculous/discuss/Ajax.Autocompleter"&gt;some advice&lt;/a&gt; I found on the scriptaculous wiki.  At some point you have to weigh the costs of perfection, versus just getting the job done.  I'm not usually an advocate for the latter but in this case for this set of users, I think that I'll just acquiesce albeit begrudgingly.  At the end of the day the huge library was able to do something that would have taken me much longer to do on my own, though I am sure that had I invested the time to do it on my own, I would be more proud of the end result.  I'm still a bit apprehensive about someone hitting the page with a non-standard browser.  I know that company policy doesn't state that I have to support them, nor to I get paid to make sure that my code runs in every browser, but it's a point of pride for me.  Generally speaking, I believe that if something is worth doing, it is worth doing the right way.  That means that your code needs to be as nimble and flexible as possible, so that when someone decides that we are browser agnostic as a standard, I don't end up re-writing every piece of code.&lt;br /&gt;&lt;br /&gt;There are a lot of big names using scriptaculous, which leads me to believe that my poor experience with the library may have to do with my naiveté.  However, if you're the producer of a big library, wouldn't you want to be as clear and open as possible with your community.  Yes, a wiki is open but something similar to a JavaDoc would be nice.  &lt;br /&gt;&lt;br /&gt;I guess I can't blame them, lots of &lt;a href="http://www.ibm.com/us/"&gt;big&lt;/a&gt; &lt;a href="http://www.microsoft.com/en/us/default.aspx"&gt;companies&lt;/a&gt; have a hard time making sure that their documentation is clear and easy to find.</description><link>http://www.codefin.net/2007/12/ah-progress-sort-of.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-8814252850024228862</guid><pubDate>Fri, 28 Dec 2007 03:10:00 +0000</pubDate><atom:updated>2007-12-27T20:20:59.376-07:00</atom:updated><title>Those Days</title><description>Some days are better than others.  Wednesday was an awesome day.  Today was frustrating.  I've been working on a small maintenance release for a legacy application, and I hit a major wall with my approach to solving a problem.  I'll find my way around the issue, but that doesn't make me much happier about the situation.  There are a lot of tools out there to help with &lt;a href="http://www.google.com/search?client=safari&amp;rls=en-us&amp;q=autocomplete+%2B+AJAX&amp;ie=UTF-8&amp;oe=UTF-8"&gt;AJAX auto-completion&lt;/a&gt;, but most of them assume that the programmer has more control over the dom and page rendering than I have with this portal bean.  There's a very good reason for &lt;a href="http://jcp.org/en/jsr/detail?id=168"&gt;JSR168&lt;/a&gt;.</description><link>http://www.codefin.net/2007/12/those-days.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-7028162867405534253</guid><pubDate>Thu, 27 Dec 2007 03:47:00 +0000</pubDate><atom:updated>2007-12-26T20:50:34.455-07:00</atom:updated><title>Good Food Continues</title><description>I thought to make a prime rib dinner for the family last night, but we were all too full to think about another large meal.  So I prepared the prime rib this evening.  Prime rib with pearl onions, carrots, gravy, red mashed potatoes, and steamed broccoli.  Pretty awesome.&lt;br /&gt;&lt;br /&gt;Prime Rib (4-6 lbs)&lt;br /&gt;Garlic (1 clove)&lt;br /&gt;Cut Carrots (16 oz)&lt;br /&gt;Red Pearl Onions (8 oz)&lt;br /&gt;White Pearl Onions (8 oz)&lt;br /&gt;Beef Stock&lt;br /&gt;Olive Oil&lt;br /&gt;Salt&lt;br /&gt;Pepper&lt;br /&gt;Thyme&lt;br /&gt;&lt;br /&gt;Forty minutes before you intend to begin preparation, remove the prime rib from the refrigerator and let it acclimate to room temperature.  Preheat the oven to 350 degrees.  Cut slits into the beef, for the garlic cloves.  Liberally coat the beef with olive oil, salt, pepper, and thyme.  Peel onions, and place with carrots in the bottom of the roasting pan.  Cover the bottom of the roasting pan with Beef Stock.  Place the prime rib on top of the carrots and onions.  Bake for 2.5 hours(med), or or to desired doneness.  Remove from oven and let sit under a tinfoil tent for 15 minutes.&lt;br /&gt;&lt;br /&gt;If you're feeling extravagant, you can make a gravy from the drippings by straining the vegetables out of the roasting pan.  While the pan is empty melt four tablespoons of butter, then add four tablespoons of flour.  Combine the butter and flour, and cook for a couple of minutes.  Then over medium-high heat slowly combine the drippings with the butter flour mixture.  If the gravy looks too thick, add more stock.</description><link>http://www.codefin.net/2007/12/good-food-continues.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-1310120469917406618</guid><pubDate>Wed, 26 Dec 2007 03:35:00 +0000</pubDate><atom:updated>2007-12-26T20:51:08.702-07:00</atom:updated><title>Merry Christmas</title><description>It was a good day.  Much like last night, there was lots of good company and food.  I got a good nap time today, and had an introduction to Rock Band - lots of good fun.  Right now I'm sort of wishing that I had opted to take the entire week off from work.  Maybe I'll feel differently tomorrow morning.  We'll see.</description><link>http://www.codefin.net/2007/12/merry-christmas.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-8825787747709807957</guid><pubDate>Tue, 25 Dec 2007 05:56:00 +0000</pubDate><atom:updated>2007-12-24T22:59:47.016-07:00</atom:updated><title>Holiday Eve</title><description>&lt;center&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/codefin/2134197965/" title="Veggies by CodeFin, on Flickr"&gt;&lt;img src="http://farm3.static.flickr.com/2403/2134197965_f74379da20.jpg" width="500" height="333" alt="Veggies" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;center&gt;The weather was classic.  The company was wonderful.  The food was amazing.&lt;/center&gt;</description><link>http://www.codefin.net/2007/12/holiday-eve.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-532384029072881114</guid><pubDate>Mon, 24 Dec 2007 04:50:00 +0000</pubDate><atom:updated>2007-12-23T21:50:24.899-07:00</atom:updated><title>More Fun with C</title><description>Did you know that gcc isn't pre-installed with your Macintosh?  I thought that they were, given that Terminal is, and that from terminal many of the command line staples exist.  Today I managed to download and install the latest version of xcode.  This opened up the way for me to play with some of the low level I/O stuff that I was talking about in yesterday's entry.  I had a great time, and I'm well on my way to having my home-made I/O library to replace stdio.h.  No, I am not planning to code without stdio, I just wanted to understand at the code level what it does.  In my opinion, the best way to do that is to implement a toy library that does the same thing.  That, and when you make a living working in high-level languages, it's a good idea to re-visit other languages and areas of the stack so that you don't loose fluency.  There's something very satisfying about writing in C.  My goal over the next few days is to finish implementing my own stdio.h, and then my own string.h.  Again, it's just good to have first-hand experience with how things work in the lower levels.  I really believe that it makes for better high level programs.  Not every programmer needs to write the operating system, but every programmer needs to know how the operating system accomplishes its tasks.</description><link>http://www.codefin.net/2007/12/more-fun-with-c.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-4863414228335983465</guid><pubDate>Sun, 23 Dec 2007 04:12:00 +0000</pubDate><atom:updated>2007-12-22T21:33:15.845-07:00</atom:updated><title>Food For Thought</title><description>"This is your last chance. After this, there is no turning back. You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill - you stay in Wonderland and I show you how deep the rabbit-hole goes. " - &lt;a href="http://www.imdb.com/title/tt0133093/"&gt;The Matrix&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;That quote often comes to mind when searching the web for some obscure, low level fact about how computers work.  The world of computing is very broad and deep.  You could be like my grandparents, just grateful that the machine turns on and that you can manage your photo albums.  Or you could be one of those engineers who spends her existence working out the instruction pipeline on the processor we'll see in three years.  Most days I live happily in a land filled with Java and Javascript, which for many of my non-work acquaintances puts me in a pretty deep rabbit hole.&lt;br /&gt;&lt;br /&gt;I dusted off a text book from the college days: &lt;a href="http://www.amazon.com/Computer-Systems-Programmers-Randal-Bryant/dp/013034074X/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1198383816&amp;sr=8-1"&gt;Computer Systems: A Programmers Perspective&lt;/a&gt;.  Leafing through the pages of that book I was again reminded of how deep the rabbit-hole really is.  I got caught up in chapter 11 for a while, "System-Level I/O".  Over the Christmas holiday I'll work through some of those exercises just for good fun.  It's nice to remember how I/O works at the system level.  Every person who writes code should be grateful for the high level ease of something like System.out.println("Hello World!");. &lt;br /&gt;&lt;br /&gt;Good Stuff.  Really.</description><link>http://www.codefin.net/2007/12/food-for-thought_22.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-8038089757259519275</guid><pubDate>Sat, 22 Dec 2007 04:26:00 +0000</pubDate><atom:updated>2007-12-21T21:30:47.023-07:00</atom:updated><title>There are updates for Websphere 6.1</title><description>This probably doesn't come as a surprise to many, but there's quite a list of recommended updates to Websphere 6.1.  &lt;a href="http://www-1.ibm.com/support/docview.wss?uid=swg27007951"&gt;Check them out.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The version that I'm currently running is 6.1.0.2.  It looks like I've got some serious updates to do.   You know, perhaps if I was all patched up I wouldn't have so much resentment toward this app server.  Then again, IBM could do more by way of an automated update process that is EASY to use.  I just tried to patch up to patch 9 and it looks like I'm going to have to fight with my computer, JAVA, and RAD/Websphere just to be able to complete the install.&lt;br /&gt;&lt;br /&gt;It's got to be better.  I just want pages that compile quickly.</description><link>http://www.codefin.net/2007/12/there-are-updates-for-websphere-61.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-3517344167836819203</guid><pubDate>Fri, 21 Dec 2007 03:52:00 +0000</pubDate><atom:updated>2007-12-20T20:52:48.877-07:00</atom:updated><title>Misc. Thoughts</title><description>I've not been as religious with Reader as I usually am.  Things have been particularly busy at work, and I haven't been all that into reading when I've been home.  There are still 938 items in my unread list, but I was pleased with several of the articles that I did get to read this evening.&lt;br /&gt;&lt;br /&gt;I'm curious about Firefox, and the role that it will continue to play in the browser market.  I'm a big fan.  With that being said, I have to admit that I haven't installed it on my MacBook Pro.  I've been happy with Safari.  It's got some truly amazing tools to help with client side JavaScript/web page development.  Hopefully the optimizations promised in ff3 will pan out the way the documentation claims that it does.&lt;br /&gt;&lt;br /&gt;It was intriguing to read that IE8 has passed the famous ACID 2 test.  More interesting than that however was the discussion of web standards given by Dean Hachamovitch who is the General Manager of the IE8 team.  I have high hopes for IE8.  As much as IE frustrates the hell out of me, I will admit that I love their rendering engine.  The pages just look better in IE than they do on ff, at least in the Windows world.&lt;br /&gt;&lt;br /&gt;Finally, I've found a renewed interest in frameworks that allow for some form of remote code invocation.  We had a rather stimulating conversation about this at work today, but I still left with some doubts.  EJB, Spring, Web Services, something else?  Right now I tend to be favoring the something else category.  Not that any of the above listed methods isn't a fine and valid solution, they just seem to be overly complex with what may appear to be their most simple configuration.  More needs to be said about this, but the thoughts haven't fully solidified in my own mind.&lt;br /&gt;&lt;br /&gt;That does it for tonight.  I'll see what I can to do say more, particularly with regard to remote code invocation tomorrow.</description><link>http://www.codefin.net/2007/12/misc-thoughts.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-1630022800160027013</guid><pubDate>Thu, 20 Dec 2007 05:09:00 +0000</pubDate><atom:updated>2007-12-19T22:24:46.643-07:00</atom:updated><title>For Beginners:  Java 5 Collections.sort() and Generics</title><description>Today at work a co-worker came up with an interesting question related to a warning related to unchecked types when using Collections.sort under Java 5.  When moving a project from an earlier JRE to Java 5 this sort of thing happens all the time.  Though the answer was really quite simple, sometimes looking at the compiler errors, one isn't quite sure what should be done.&lt;br /&gt;&lt;br /&gt;Suppose you tried to compile the following code:&lt;br /&gt;&lt;pre&gt;public class Test{&lt;br /&gt; public static void main(String[] args){&lt;br /&gt;  ArrayList&amp;lt;Foo&amp;gt; testArr = new ArrayList&amp;lt;Foo&amp;gt;();&lt;br /&gt;  Collections.sort(testArr);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public class Foo implements Comparable{&lt;br /&gt;  public int a = 0;&lt;br /&gt;  &lt;br /&gt;  public int compareTo(Object o){&lt;br /&gt;   return 0;&lt;br /&gt;  }&lt;br /&gt; }&lt;br /&gt;}&lt;/pre&gt;Upon compilation the javac compiler will issue the following warning.&lt;br /&gt;&lt;pre&gt;warning: [unchecked] unchecked method invocation: &amp;lt;T&amp;gt;sort(java.util.List&amp;lt;T&amp;gt;) in&lt;br /&gt;java.util.Collections is applied to (java.util.ArrayList&amp;lt;Test.foo&amp;gt;) Collections.sort(test);&lt;/pre&gt;Essentially, we are being warned that the version of the Comparable we're using doesn't support the generics, so you had better know what you're doing.  The answer is to explicitly tell the compiler what kind of Comparable Foo knows how to compare.  Doing this is really quite simple, but it's not immediately obvious from the warning error how the code needs to change.  &lt;br /&gt;&lt;br /&gt;If we change the inner class to specify what type Comparable operates over, the warnings will go away.&lt;br /&gt;&lt;pre&gt;public class Foo implements Comparable&amp;lt;Foo&amp;gt;{&lt;br /&gt; public int a = 0;&lt;br /&gt; &lt;br /&gt; public int compareTo(Foo o){&lt;br /&gt;  return 0;&lt;br /&gt; }&lt;br /&gt;}&lt;/pre&gt;Note that in Java 5 Comparable now carries a type.  That is, it's a Comparable&amp;lt;T&amp;gt;.  The other important thing to note is that rather than having compareTo take an Object, it should take the specific type that it will compare.&lt;br /&gt;&lt;br /&gt;In the office today my co-worker was happy to change his code to make the warning go away, however he did question why the compiler couldn't make some assumptions about the type for Comparable&amp;lt;T&amp;gt;.  I'm not a language specialist, but I have a feeling that it has to do with compiler implementation and the limitations of generics as implemented in the byte code.  Though it would be fun to learn more about the real theory behind the design decision.&lt;br /&gt;&lt;br /&gt;In the mean time, if you run across this simple warning and want to make it go away, it all has to do with making sure that your object is set up correctly with the new Java 5 type paradigm.</description><link>http://www.codefin.net/2007/12/for-beginners-java-5-collectionssort.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-140468928566685013</guid><pubDate>Wed, 19 Dec 2007 04:16:00 +0000</pubDate><atom:updated>2007-12-18T21:19:18.919-07:00</atom:updated><title>My Own Home - One Step Closer</title><description>Today I met with a mortgage broker.  I'm now pre-qualified.   So the wheels are now moving.  I've been told that I can finance the place.  It's all about finding it now.  The meeting went well, I certainly feel a lot better about things now knowing where the finances will actually lay.  The decision to buy is a big one, but I think it's time.</description><link>http://www.codefin.net/2007/12/my-own-home-one-step-closer.html</link><author>noreply@blogger.com (Joe)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-8051123.post-7702934427246416630</guid><pubDate>Tue, 18 Dec 2007 04:51:00 +0000</pubDate><atom:updated>2007-12-17T21:52:42.704-07:00</atom:updated><title>Monday</title><description>It was a monday.  I got quite a bit done.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Build shipped to QA- check.&lt;/div&gt;&lt;div&gt;Documentation/Sample Data for internal audit- check.&lt;/div&gt;&lt;div&gt;Prepared for tomorrow's meetings- check.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm also really sleepy.  So I think I'll call it a night.&lt;/div&gt;</description><link>http://www.codefin.net/2007/12/monday.html</link><author>noreply@blogger.com (Joe)</author></item></channel></rss>