Friday, June 27, 2008

R&D Coding and Changing Requirements

I work on a lot of R&D type projects. Basically I'm building proof of concept applications or applications that support a larger goal. These applications, for the most part are throw-aways or will not be used beyond the life of the project and also will probably not be used by real users. And, as you can expect, requirements for these types of projects change a lot and new requirements are constantly discovered as you go.

The handling of changing requirements is really not too much of an issue and it's usually easy enough to handle those. Short development cycles and refactoring help to minimize the impact of changing requirements. But how much refactoring do you do when the project is just a demo? Should you really spend the time and effort to re-architect some new requirement that has popped up that throws a wrench into your design? Or do you just do a quick hack and patch up your code to handle this new "feature"?

What do you think? Where do you draw the line between maintaining great code and getting the job done when working on a demo/throw-away application?

Thursday, June 26, 2008

Baseball Mid Season Checkup

It's getting close to mid season and I thought it might be a good time to do a quick checkup on my team and analyze some of my picks.

I'm in 3 leagues this year. A MLB Rotisserie league, an AL Rotisserie league, and an NL head-to-head league. Right now, I'm in second place in all three leagues. Not too bad considering some of the players I had high hopes for have not come through yet.

MLB Rotisserie league


The strategy in this league was to go after a high batting average and strike out pitchers. I'm in first place in both those categories, so mission accomplished there. I also tried to pick a bunch of hitters that would have break out seasons, Markakis, Rios, Pence were all high on my list and all of them have fallen short of my expectations. My only real gem was Josh Hamilton. And while I'm at it, here is the biggest blunder of my draft. In round 4 I took Derek Jeter instead of Lance Berkman. I figured the shortage of good middle infielders would start a run and allow me to grab some better guys down the line. This didn't happen and I ended up 1. without Berkman, 2. with Jeter who is doing ok, but far from a round 4 pick, 3. no good corners, 4. I failed to pickup Dan Uggla when someone dropped him because I couldn't get myself to drop Jeter or Placido Polanco. In my mind, if I did grab Berkman, I would have probably picked up Uggla as well, since I had the first waiver wire pick.

AL Rotisserie league


Sort of the same strategy here as with the MLB league. High batting average and strike out pitchers. I'm in the lead in both those categories. I also have Markakis and Rios in this league, so again, sort of disappointed there. But I also have Hamilton and I also have Milton Bradley who has been a great surprise. I ended up punting on saves but luckily so did another team and so now I'm second to the last (instead of last) with 2 saves. I thought my pitching would be really weak, but I'm getting good production out of Zack Greike, Data Eveland, and Kevin Slowey. I'm going to wait until after the All-Star break and try to pick up low ERA/WHIP relievers and start moving up in those categories

NL Head-To-Head


This one is a bit more challenging since it is head to head each week. The key in this league is consistent hitting and finding two start pitchers. My main hitters are Jose Reyes and Lance Berkman. I'm getting huge production out of those two. I also have Shane Victorino, who people laughed at when I drafted him, but in this league stolen bases are 3 point...that's a lot. My pitchers suck but it's all about getting two starts so I'm hanging in there. I really like Tim Lincecum. He's turning out to be the ace of my staff...that sort of says it all right there.

Anyway, we'll see how the second half goes.

Wednesday, June 18, 2008

World Record Holder

Well..sort of....

..maybe not. But I did download and install Firefox 3 (download count). So far I like the improvements. The Mac OS look is really nice and the browser seems to be eating up a lot less memory than version 2. There would be times that I had to restart the browser to clear the memory. I haven't had to do that yet.
I must admit that I haven't tried out too many of the new features yet. One of the features I am going to look at soon is the new bookmark manager. I stopped using the old bookmark manager because it didn't allow me to organize stuff in an easy way. Instead, I would just dump my bookmarks into delicious. Which, just so happens, has a new Firefox 3 add-on. I upgraded that too and it looks like it has a lot more features as well. I haven't really checked that out too much yet either so we'll see which one wins out....or if they both serve a purpose, I may end up using them both.
The new location bar has been working really well so far. Seems to be much more smarter than the old one. So far the location that i really want has popped up at the top more often than not. But then again, I'm a creature of habit and tend to visit the same sites throughout the day.
One thing that doesn't work in Firefox 3 is the Google Browser Sync add-on. I'm thinking of trying out Foxmarks instead. It seems to be just as good, if not better. Google Sync didn't allow me to get to my saved stuff and at times it would lose my tabs.
So anyway, if you haven't already, give Firefox 3 a try. Tell em a world record holder sent you.

Flex Woes

I've been experiencing a lot of strange behavior with Flex recently. I would add a new variable definition or an empty method to a class and all of a sudden, my application does not display. I was baffled by this for days.
I finally got the Flex Builder debugger to work and it gave me Error #1065: Variable is not defined error.
So I made sure all of my variables were defined....no luck. I even commented out every other piece of code, sometimes it would work, sometimes not. I then found out that this error message could also mean that your class is not public, or that you did not use an object, therefore it will not be included in the SWF file. All of which made no sense because all I did was add a variable declaration.
To make a long story short, the problem turned out to be with an XML object definition. I moved it to the end of my variable definition list and things started to work again. But this was a temporary solution. I have a feeling that putting the XML definition at the end of the list just ensured that the other variables would be defined before Flex errored out.
Eventually I removed the XML and put it in an object. I also made sure that all my XML was valid and all error cases were handled. Things have been working fine since then. I have a feeling that since I was breaking off pieces of the XML to be used in Flex containers that somewhere along the line something got corrupted. I still use pieces of the main XML and allow the Flex components to modify the pieces to modify the main XML document, I'm just a bit more careful about it. Using XML as a data storage mechanism for Flex has turned out to be a good thing and I'll be using it from now on.

Tuesday, June 17, 2008

Baseball Season Is Done

My son's Bronco PONY team made it to the finals but lost 4-0. They did really well and I'm proud of all the kids on the team. We hit the ball hard but they went straight to fielders.
I managed to pickup the pitching signals and were relaying what I could to the batters but the balls just couldn't find any gaps.....sigh....maybe next year.
Anyway, it was a great season. Our regular season team went 14-1 and took the league championship, the All-Star team was very competitive, and I got to coach one of the best group of kids ever. They were by far the most talented, had great personalities, and were a just plain fun to be around.
I'm looking forward to next season. Which will probably be the last season that I can coach my son. But until then......football season is coming :)

Friday, June 13, 2008

Flex Killer?

I recently stumbled on Pivot, which is a Java framework that seems to want to provide similar functionality as Adobe Flex and Air (and also Microsoft Silverlight, etc). Mainly, the ability to create more interactive/functional web applications and at the same time support the creation of stand-alone applications using the same cross-platform framework.
I ran their demo and was sorely disappointed. On my system it took about a gazillion "Internet Seconds" to load, had a lot of paint/refresh problems, was not very responsive, and didn't look very appealing. Now I haven't looked at the code, documentation, or even the tutorials, but after the demo....what's the point.
I'd really like to see and use a Java solution, but this is definitely not it. I think Flex has a lot of issues, but for now, it seems like it's the cream of the crop.

Blog Cloud

I got this from aaron...who got it from someone else. Anyway, I thought I'd put my blog posts in there to see what came out. I'm glad that search came out very prominently since that is something that I'm interested in. Other than that.....I think Wordle is a pretty cool application.
'nuff said.

Thursday, June 12, 2008

Power Naps



I've been testing this out recently (heh) and it really does a world of good. I remember sitting at my desk on some afternoons, my mind and body slowly dozing off. It would be impossible to concentrate on solving any problems or do anything constructive. I'd basically be doing busy work to stay awake until the end of the day.
Since I now work from home, if I get into this state in the afternoon, I just take a 15-20 minute nap and I'm recharged for the rest of the day and into the evening. It really does work. And I've found that a bit of coffee right before makes it even better. I just feel totally energized.
So far I have always got back up, without an alarm, in about 15-20 minutes. I'm not sure why but I just pop awake and by the time I walk back to my desk, I'm fully awake.
Here are a couple of articles that discuss this. Here and Here.
So go and pitch that "quite room" with a couch idea to your boss. 20 minutes of downtime for several hours of productivity at the end of the day. ZZZzzzzz......

Wednesday, June 11, 2008

Twittering Development

I was wondering if using Twitter in a software development team would be useful. Twitter is a pretty unobtrusive application. Messages just show up and it's very easy to disregard the messages if they do not pertain or interest you. If the message does interest you, you can easily follow up with the person using a more traditional communication tool.
For a development team, I thought it would be useful to know what other developers are working on or have accomplished. There may be times when you could help each other out or would be aware if someone is going down the wrong path or has solved a problem that you couldn't.
I think it could be a good tool. Right now I'm on a project with another developer. We're going to try using Twitter to communicate "stuff". I'm hoping that we will be able to tweak our Twitters to be beneficial to each other over time. I'll post my findings on the Twitter Experiment. Let me know if anyone out there has already tried this or something similar or if you have any suggestions of things we should try out.

Blogging Direction



I've been direction-less when it comes to what I want to blog about. I sort of want my blog to have a point and be interesting and maybe even have an impact on someone. But after talking to aaron, I think I'm going to just go back to blogging about whatever the heck I feel like.

I'm going to try to increase the frequency of my posts. I'm hoping that this will create enough diversity that every now and then you'll be able to find something interesting....but for the most part, it'll just be a lot of incessant barking.

Tuesday, June 10, 2008

Home (Summer) Schooling

Summer is here and for us that means Summer school for my son. We decided a couple of years ago to tutor him at home during the summer instead of sending him to summer school. The times that we did send him, it seemed as though he didn't really learn much.
So I'll be in charge of Math, Computer skills, and Science. My wife is in charge of the Reading and Writing.

For Math, I'm going to do some review on conversions, things like changing km/h to miles/sec and calculating amounts based on rates. He seemed to have a hard time with that during the school year. I'm also going to start on basic algebra. For computer skills, I'm going to focus on getting his typing speed up. If there is time, and interest, maybe creating a web page. I'm thinking of punting on Science this summer. Experiments take too long to prepare. I was thinking of working a little on his Googling skills and getting him to think 'out of the box' instead. Maybe an Internet scavenger hunt or something like that.

Anyway, classes begin next week Monday. He's got this entire week to play around. But on his first day home at 10:00 AM he says to me..."I'm bored".
I can't wait. :)