Monday, December 31, 2007

Year End

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.

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.

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.

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.

Sunday, December 30, 2007

Homework to Do

After Friday's gripe session with regard to my 'meets the requirements' discussion and scriptaculous, a friend engaged me in a conversation today.

Him: Did you see the article I starred from Ajaxian in Reader, or did you just shift - a it into oblivion?
Me: I read through it briefly, but I'm really not interested in learning yet another framework.

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.

Saturday, December 29, 2007


Evening Walk in the Rain

All but Death, can be Adjusted -
Dynasties repaired -
Systems - settled in their Sockets -
Citadels - dissolved -

Wastes of Lives -resown with Colors
By Succeeding Springs -
Death - unto itself - Exception -
Is exempt from Change -
- Emily Dickinson

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.

Friday, December 28, 2007

Ah Progress - Sort Of

A lot of credit is due to scriptaculous 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 Ajax.Autocompleter 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 some advice 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.

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.

I guess I can't blame them, lots of big companies have a hard time making sure that their documentation is clear and easy to find.

Thursday, December 27, 2007

Those Days

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 AJAX auto-completion, 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 JSR168.

Wednesday, December 26, 2007

Good Food Continues

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.

Prime Rib (4-6 lbs)
Garlic (1 clove)
Cut Carrots (16 oz)
Red Pearl Onions (8 oz)
White Pearl Onions (8 oz)
Beef Stock
Olive Oil

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.

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.

Tuesday, December 25, 2007

Merry Christmas

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.

Monday, December 24, 2007

Holiday Eve


The weather was classic. The company was wonderful. The food was amazing.

Sunday, December 23, 2007

More Fun with C

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.

Saturday, December 22, 2007

Food For Thought

"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. " - The Matrix

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.

I dusted off a text book from the college days: Computer Systems: A Programmers Perspective. 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!");.

Good Stuff. Really.

Friday, December 21, 2007

There are updates for Websphere 6.1

This probably doesn't come as a surprise to many, but there's quite a list of recommended updates to Websphere 6.1. Check them out.

The version that I'm currently running is 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.

It's got to be better. I just want pages that compile quickly.

Thursday, December 20, 2007

Misc. Thoughts

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.

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.

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.

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.

That does it for tonight. I'll see what I can to do say more, particularly with regard to remote code invocation tomorrow.

Wednesday, December 19, 2007

For Beginners: Java 5 Collections.sort() and Generics

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.

Suppose you tried to compile the following code:
public class Test{
public static void main(String[] args){
ArrayList<Foo> testArr = new ArrayList<Foo>();

public class Foo implements Comparable{
public int a = 0;

public int compareTo(Object o){
return 0;
Upon compilation the javac compiler will issue the following warning.
warning: [unchecked] unchecked method invocation: <T>sort(java.util.List<T>) in
java.util.Collections is applied to (java.util.ArrayList<>) Collections.sort(test);
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.

If we change the inner class to specify what type Comparable operates over, the warnings will go away.
public class Foo implements Comparable<Foo>{
public int a = 0;

public int compareTo(Foo o){
return 0;
Note that in Java 5 Comparable now carries a type. That is, it's a Comparable<T>. 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.

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<T>. 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.

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.

Tuesday, December 18, 2007

My Own Home - One Step Closer

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.

Monday, December 17, 2007


It was a monday.  I got quite a bit done.

Build shipped to QA- check.
Documentation/Sample Data for internal audit- check.
Prepared for tomorrow's meetings- check.

I'm also really sleepy.  So I think I'll call it a night.

Sunday, December 16, 2007

The Belgaraid - A great set of books (fantasy fiction)

A year ago I would have rejected the notion of reading fantasy.  Really, I had a hard time with the idea of reading fiction.  It just seemed to me that in a world where there was so much to learn and do, that reading fiction didn't seem a proper use of time.  Shortly after graduation a friend suggested that I take some time off from academic reading and pick up a series of books by David Eddings.

Twelve books in all.  They represent a wholesome, entertaining and thought provoking story that has entertained me in small doses for the last eight months.  I wasn't in a big hurry to get this series read, sometimes I would go several weeks without picking up the book.  It was however a good read.  If you have time and are thinking to dabble with the fantasy genre, this would be a great place to start.

Saturday, December 15, 2007

I Want to Buy a House

I’ve been informally looking for housing now for the past six months. Most of my searching has involved looking at the MLS listing online and driving up and down the streets in neighborhoods that I liked. It appears to me that the triangle of expectation applies to the housing market just like it applies to business. I guess that makes sense since housing is business. You’ve got three areas of requirement and you can have two, but you can’t have all three.

1. Location
2. Quality
3. Price

I saw a home today that was listed at an unbelievable price. From the curb I loved the look of the house. I was convinced that this was the house for me. So, I called a friend who happens to be a real estate agent and asked if she could get me in to see the place. A couple of hours later we were walking through the house and the triangle of expectation was once again thrust upon my life. Like many other things in this world, quite literally, you get what you pay for. Or to use another trite axiom: if it looks too good to be true, it probably is.

Some good lessons were re-enforced today. It wasn’t anything earth shattering, or particularly new. But it was good to see the realities. It was also good to make my housing search official. I know what I can spend and now I have someone who can help me find a place. I’d like to be in a new place within the next 90 days. With any luck, and some work, I’m sure that goal can be met.

Friday, December 14, 2007


Today I was in an informal meeting where I mentioned that perhaps a piece of software should 'automagically' fix a problem.
The business associate that I was with stated that she had never heard someone use that word before, and it caused me to
think a bit about Clarke's Three Laws:
  1. When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.

  2. The only way of discovering the limits of the possible is to venture a little way past them into the impossible.

  3. Any sufficiently advanced technology is indistinguishable from magic.
I'm particularly enamored with the second and third laws. One of the things that I love about software is that its writers are often presented with opportunity to venture venture a bit past the possible. The best part is that if the journey is successful, then the experience can be magical for both the engineer and the end user.

Everyone wants software that is fun, intelligent and easy to use.

Thursday, December 13, 2007

Prototype and Insertion.After

This probably comes as old news to people who use prototype a lot, but I came across a bug with Insertion.After in IE 7.
Is it really any shock that it wasn't working? Seriously. IE.

I didn't spend a whole lot of time looking into what specifically was borked. All I know is that Insertion.After appeared to be doing an insert, but not exactly after.

I decided to just drop prototype 1.6 into the project to see if it fixed the issue and it did. Now I just need to go figure out what changed between 1.5 and 1.6, followed by regression testing of my application.

Fun Stuff. O that the browser manufacturers could agree about how things should be implemented.

Wednesday, December 12, 2007


As most of my co-workers would tell you, I'm not afraid of refactoring code. Firstly, I think that doing it more often helps relieve development debt. Secondly, I believe that it helps me not become too attached to a given way of solving a problem. Though refactoring is generally a good thing, if one's not careful, bad things can come of it. This is perhaps why most people who write about writing software claim that uninterrupted time is so important. When you're in the middle of writing, or in this case transforming, code it becomes quite critical that the job is completed in a thorough manner. Half transforms, especially when we're talking about JavaScript, cause strange bugs that are difficult to track down.

So, when on that endeavor to improve code by changing it, make sure that you're able to complete the task at hand. I'm not sure about the best ways to tell those around you that you can't be bothered. I'd hate to appear rude, but I'd also hate to commit murder to my code by not completing a transform.

It's a thought anyway.

Tuesday, December 11, 2007

Change and Verification

Program correctness. It’s important and certainly worth study. Formal verification is very worthy, but perhaps a bit deep for my taste. Though I am fascinated with languages that are mathematically sound. Not only does it sound good, but it feels good too.

Work has presented me with opportunity to re-visit some code that I wrote more than a year ago. Were I to program today what I programmed a year ago, it would look very different. I think that’s a good thing, as it means that I’m learning and growing. But it also brings to mind a question of correctness. The code is correct, it meets the business requirements, but it could be more correct in that it could have been written more efficiently.

A different situation at work is allowing me to think about a set of business rules that a colleague and I have been working on now for the past eight months or so. As we’ve worked on this unit of logic our views about the problem and what is ‘correct’ have changed significantly. At times we’ve made changes to our algorithms. Other times we’ve approached the business rules philosophically by re-defining the task we’re trying to accomplish. Interestingly enough though we change algorithms and/or re-define tasks, in the eyes of the customer the meta-rules remain the same. However from the perspective of verification, I believe that we’ve created a moving target. Though the meta-rules remain the same, there have been many changes (some small, some not so) which should get us to the same set of meta-results. I suppose the question is this. In an environment were change is the constant, what is the best way to verify program correctness? Or to ask the same question with different words. When making constant changes/re-definitions to the nuts and bolts, how is the consistency of the meta-rules to be maintained and verified?

One might argue that this is where unit tests will come to my aid. However, I’m still having trouble buying into unit tests for database driven business processes. When the database is removed (as most unit testers say is prudent) many of the most critical parts of our application are cut out of the picture. I’m not so concerned about presentation logic, but I’m absolutely paranoid about getting the right data out of the database in the most efficient manner possible.

I’m intrigued by this ‘moving target’. It’s more like research. What we thought to be correct eight months ago isn’t so correct today. Like the code that I wrote over a year ago, it’s encouraging to be able to look back and note that there are things that I would do differently with today’s knowledge. I’m comfortable with change, and with change comes the need to verify that the results are still good. Verification is the part I’m still uneasy about. It’s the weak link. I don't know what the answer is, but I’d like to believe that I’ll be able to recognize it when it is presented.

Monday, December 10, 2007

DRM... meh

I read an article today which posited:

“Nobody cares about DRM until they have to, and then they care passionately.”

It may be the case that I’m just one of those people who hasn’t had to care about DRM yet, but currently I’m firmly in the camp that says Apple has done what they needed to do in order to deliver a product to the people in a manner that both the people and the recording industry could stomach. Is the situation ideal? No. Am I able to conveniently buy and listen to my media? Yes. Absolutely. I don’t feel hindered by my iTunes library. Contrary to the fact, I now buy more music with my iPod and iTunes than I ever did before.

I’ll concede the point that if you go out and buy a non-apple media player, things aren’t plug and play with your current media library, but there are ways around that. And before you tell me that those methods are only available to the technically savvy, I’ll head that off by saying that anyone who can use Google will be able to figure it out.

Amazon. I love the book store, but I don’t think that their music buying experience is on par with that of iTunes. Sorry.

DRM isn’t here to stay. This is just another one of those moments in the history of media that someday we’ll be able to reflect upon with a smirk. “Can you believe that ten years ago media was tied to a specific platform or player?” The industry will catch on. There is money to be made, and I’ll be buying along the entire way. So far as caring passionately about DRM, I think that it really depends on the person. I know what I’m getting into. I know how to get around it. Thus, there’s no need to be fanatical about it one way or the other.

Sunday, December 09, 2007

They Get it All

It’s a rather obvious, well documented, fact that there are twenty-four hours in any given day. Twenty-four hours with which you can perform any number of finite tasks. It appears that some people are more efficient with their time than others. Millions of dollars have been made by enterprising persons who have figured out how to market time management plans. Though the plans are thorough, and are often full of great advice, they don’t often scale. Personal time management seems to be just that. Personal. Everybody has their own rhythm. Things that work for one, don’t always work for another. Yet, people who’ve figured it out seem to have everything going for them. You know the type. They’re the ones who get in a physical workout every day, they fulfill all of their religious commitments, they have full and happy social lives, they are successful in the work environment and it appears that they always have time to do anything that happens to come their way. Not only are they always able to achieve what appears to be the impossible, but they are very positive people. It’s pleasant to be around them.

I’ve wondered about these people from time to time. Who am I kidding? I’d like to be one of them. When asked these achievers often shrug it off and say something about making time for the things that are most important. It seems to come down to prioritization and the attitude with which one uses their twenty-four hours.

Irish Novelist Maria Edgeworth said: (thanks Google)
"All work and no play makes Jack a dull boy. All play and no work makes Jack a mere toy."

From being so concerned with work that there is no fun, to spending too much time with life’s indulgences. Neither is ideal. The real answer to appropriate time allocation has as much to do with balance as anything else. Doing the right thing. At the right time. For the right reasons.

Saturday, December 08, 2007

NBC "rewind"

I was an avid watcher of NBC comedy night. However, I never caught it on television. I was a faithful iTunes watcher. I've tried to get along with NBC's version of online video, and I just can't make it work for me. The video quality is bad. There are almost always glitches in the streaming or problems getting into or back out of commercials. Can't Apple and NBC just figure out there differences and let the viewers have a service that lets them get the shows on their own terms. There's got to be a better way.

Friday, December 07, 2007


I spent a lot of my day in meetings. The thing about meetings is that they are seldom inspirational. More often than not, they have this way of gradually draining their victims of creativity and will to thrive. I understand that meetings are necessary, and that it is a great medium for communication, but only when the right people are involved for the right amount of time.

Needless to say I was with on my way between meetings with another person and he mentioned how given the choice he would really like to skip out on the next appointment. Being a Friday afternoon, I asked him if we should start a game. It was determined that the contest would be to see who could work the word "route" into the conversation as many times as possible.

We hadn't even sat down before this person had used the word. He won the game. But only because I lost track of the game and never came to the table to play. I'll claim that I was too busy paying attention to the conversation, which didn't leave the brain cells to play the game. However, we have a meeting with the same group next week at which time I would like to try again.

At the end of the day, I suppose that some of what you'll get out of a meeting depends on what you bring to it by way of preparation and germane conversation. Everyone already knows it, but time comes at a premium. The least a meeting organizer can do is to make the time spent worthwhile.

Thursday, December 06, 2007



I liked this shot when I took it with my cheap camera in 2005 and I still like it today. There's something entertaining about the reflections in the blurry green glass.

On another note, I was walking from one meeting to another today and have decided that I absolutely MUST instantiate an exercise program for myself. Seriously, tired from walking? That should NEVER happen. Granted it was further than I would normally walk in a day (we walk to and from the Gateway at least once a week) but still. How shameful. Really.

If only day's were as easy to replay as pictures. You live and learn.

Wednesday, December 05, 2007

Core Dump

What is the best way to squeeze the most out of every day?

What is the best way to make sure every person involved with a project feels a sense of ownership and responsibility for the cumulative success of the endeavor?

"Enterprise" is NOT synonymous with "Easy", "Friendly", or "Fast".  Particularly when it comes to software purchased in a package from a third party.

It is possible to write idiot proof software, but it does come at a cost.  Perhaps education with regard to the "triangle of expectation" should be addressed when minds are at a young age.

When in doubt, smile.  Be nice.  Try to understand.  Deep down most people really do want to succeed.

Tuesday, December 04, 2007

Windows By Any Other Name...

would still be a big pain in the you-know-what to install- even on a mac.

This evening as I've been back in not-so-happy Windows install land, I remember why it is that I fear a the annual Windows re-install.

I've got to hand it to Apple, they've done just about everything that they could to make Boot Camp a pleasure to use. However, they can't do anything about the HUNDREDS of updates that Windows XP2 requires after a clean install. There MUST be a better way. Seriously. Think 2007.

Speaking of Boot Camp, I should have started there before I played with CrossOver or Paralells. Though the idea of virtualized windows is also really neat, and will work great for most "business" needs. It just doesn't give you the performance you need for say- Team Fortress 2. Now if Steam and Valve were to produce binaries that could run natively under OSX- then we'd be cooking with gas. In the meantime, I have Mac to please my aesthetic needs, and I have Windows to remote to work and play the occasional FPS. Who said I couldn't have my cake and eat it too?

Monday, December 03, 2007

Everyone Knows One

Though I don't imbibe, I've got to recognize the great work that was Anheuser-Busch's Bud Light campaign - Real Men of Genius.

I came across this on the interwebs today, and thought to share.


Sunday, December 02, 2007

Tis the Season

The lights are on the house, the tree is trimmed and the halls are decked.  It's that one month when we tend to live just a bit more indulgently than we do the other 11.  Some may spend 11 months recovering from the one that they totally let go.  For some it's a time to re-kindle friendships of seasons past.  A season for reconciliation.  A moment to focus on others rather than self.  Regardless of the way you choose to spend this holiday, indulgent or not, may it be bright. 

Saturday, December 01, 2007

Food For Thought

I've been trying to catch up on the backlog of items in my feed reader and came across this article by Amy Hoy.

She has some interesting and motivating ideas about how one should go about living their lives. After all has been said and done, a lot of our happiness as people comes down to how we choose to learn and experience the things that life throws at us.

Consider the following thought from her article:

The Pithiest Lesson

It all comes down to this: Some people make themselves into doers. The rest make themselves into what they probably call realists, cynics, or John C Dvorak—but often, in reality, they're merely complainers.

That's just the way life is.

But you get to choose which you are, which you become. And you can change, if you want.

I'll admit to having been on both sides of the above thought. Who isn't at one point or another? Though in my mind I think we'd all rather be classified as doers.