Fighting the Good Fight

August 29th, 2003

I've done it again. I can't for the life of me tell you why I do it other than I'm a Dad, and when it comes to what's right and what's easy I try to teach my kids that it's the right thing that's worth doing. Always.

So I'm trying to suggest that things at work change. Not a lot. Just make us look at what we're doing. Stop and look at things. That's all. But I've been accused of being afraid that my job would be eliminated by the success of this one project. Even if this project was perfect... even if it did everything it was capable of, and then some, I wouldn't be worried. Why? Because I've talked to the management and they have me working on more things every day. I'm in no risk. Yet everything I say is going to be discounted by the people working on the project because of what they feel are my actual motivations.

So in a way, it's a sad statement of paranoia. They feel certain that I can't be trying to help them so everything I say is tossed on the floor. They don't stand a chance of getting better without some help, but they don't want to listen to me.

Still, because I'm a Dad, and I'd tell my kids to do the right thing I'm going to keep trying. Wasting my time, probably.

How You Play the Game

August 12th, 2003

It's been said a million times: It's not whether you win or loose, it's how you play the game., and that's a great thing to tell kids to get them to realize that in life there are many times when we all can't win. It's a good lesson to know. It's a good lesson to learn. If I can extend it a bit, I'd say (for software development): It's not whether it runs or not, it's how the code was built..

I've been involved with many development efforts over the years and the without exception the phrase disposable code was universally inaccurate in every place it was used. The only code that I've ever called disposable code is that which I deleted right after I ran it just once. Everything else is going to get used a few times, and if it's used in a trusted capacity, then it's not disposable. It's got to be dependable.

Currently, I'm working with a group of software vendors whose product is fed through a Java interface. This Java interface doesn't have any package structure to it to help resolve the namespace issues that might arise. It was also delivered as a zip file of .java and .class files - no JAR file. Now there's no reason that these two things need to be in-place. Java certainly allows for package-less class creation, and the CLASSPATH can include directories of class files, but what vendor in their right mind would deliver their interface in that manner?

Oh, sure... I've written test classes and 'Hello World' apps without either, but those aren't the interface to my company's flagship product. They are simple little test apps that don't get any further than the development box. When things go into production - even for in-house development, there's always a package path, and they are most often delivered in JARs. The latter is bumped to an always when the code goes outside the company.

Yet I'm sitting here looking at the opposite. I'm stunned. The marketing types spun a good story, and while we (thankfully) haven't purchased the product (yet), it's these kinds of suprises that make me want to say "No matter how nice it seems, it's not built well under the covers. It'll break and we'll be left holding the bag."

I'm not sure how this is going to turn out. I'm hoping that when I ask for code samples, and any software engineering practices they have or use, that these things will stick out as incredible anomalies and the rest of their product will have been created with much greater care. But I'm not betting on it.

Fun with BBEdit

July 31st, 2003

One of the things I really like is getting surprised by really well written software. It doesn't happen everyday, so it's really nice to be really shocked by a chunk of code.

Thankfully, today is one of those days.

I was working with a few of my web sites and one of them happened to be on an NT box. I have the NT box for several reasons, but they all seem to be less important the more I try to do something on that box and find out that because it's NT, I can't. No good telnet server... no really solid ftp server... no OpenSSH server for security... it's so unlike all my other systems (all Unix of one sort or another), it's difficult to get some things done.

So I was trying to figure a way to get the web site fixed and I thought about BBEdit's "Open from FTP Server..." functionality. It's nothing short of amazing. I was able to look at the directory structure and load in the file as clean as you please. Then edit it a bit, save it and reload the page. Everything was working perfectly. I was stunned that it was as easy as it was.

In the end, it didn't matter that my NT FTP server wasn't really 'good', it was good enough for BBEdit. I got everything I wanted done.

Interviewing

July 14th, 2003

Interviewing can be a pain and it can be a lot of fun. When you're out of a job and you really need one, then interviewing can be a lot of grief trying to make yourself fit into each and every interview simply because you need the job. When you have a job, and are looking for something better - more interesting work, more free time, more pay... then interviewing is a lot more enjoyable. At least it is to me.

This morning I had a lovely talk with a company, and while nothing's perfect, this place sounded as close to it as I've ever heard. They're looking for someone to do just the kind of work I like doing, in a small team, with the right tools for the job - and get this, they are even looking to use Mac OS X on the developer's workstations. This is almost like a dream. I can hardly believe it.

Of course, this might be a little bit of a sales pitch as many interviews are - "please like us so you'll come work here". It works both ways. So I'm not expecting all that I heard to really materialize when (and if) I go and talk to them in person, but it's a lot in the right direction and that's a really big step forward for me. I'm looking forward to see what the reality of the place is. It promises to be a very interesting time.

Things are very predictable these days at work. More data, more views, it's like I'm a super-DBA where the "Database" I manage is all the data they are interested in seeing. It's not particularly exciting work, but it's OK.

A few days ago I did a minor overhaul on one of the input parsers I had in InfoShop. The flat file parser was really pretty limited and I wanted to make it more general in it's parsing as well as in it's inputs. So I added the same style of code as the database parser to allow the creation of nested data structures, and allowed for a command to be executed and the output of that command be the input to the parser. This will give me a much greater capability as I can put scripts there as well as programs and such. It'll make for a much larger universe for the parser and it's needed that for over a year.

Other than that, things are moving along at their own pace. Not too bad given it's July.

Feeding Creativity

July 1st, 2003

Well... dealing with boredom is certainly one of the more difficult things I've had to deal with lately. When you've designed and built large, serious systems, it's hard to stay mentally challenged doing web pages. Especially when they are all basically the same - some data source feeding a graph or a table. Yet it's really important to feed and care for your Creativity.

I'm getting the impression that I'm not doing a good enough job of taking care of that part of myself that is the Creative side, and it's costing me more and more each day. I believe what I do is basically creative, that the job of building systems is as much art as anything else. Yes, there's certainly a lot of science, but there's a big difference between only using science and using art as well.

But like any tool that's not used daily, creativity will get rusty and you need to exercise it for those times you're really going to need it. Seems obvious when you think about it in the same terms as any other skill, but I'll admit to having neglected by creative side of late.

So I need to do something about that. Don't quite know what it is, but it certainly doesn't have to be something to do with programming. I built a fence a few weeks ago and it was a lot of fun and exercised those same creative forces/muscles which felt very good. But I can't keep building fences - they're just too darn big. I need something that's portable.

So I'm going to go on the hunt for something that's more reasonable and in the end serves the same purpose. I've searched osx.freshmeat.net and haven't found anything - yet, but I have a feeling I'll do some more searching before I give up. I've really enjoyed working on the OpenSource projects that I've worked on in the past, and they always needed more help than they had.

If that doesn't work out, I'll go back to some of the projects I've set down in the past and pick them up again. Sure, they're not the most interesting things to do, but it's something and exercise is like that - it's something.

Anger in the Workplace

June 3rd, 2003

I'll admit to being as passionate as anyone I know about lots of things. I can get upset about things, impassioned by things, and in general the only thing I really try to avoid is not feeling as that is just no fun at all.

Recently, work has become far more confrontational than even I find acceptable. At first, I thought these people would be upset, and then let things die down and get back to the business of doing business. I could not have been more wrong.

I've got people upset at me because I dare to propose that their scheme is not the best solution to the problem... I've got others upset with me because a trader asked to bypass them and deal directly with me... and while I suppose the former is at least partly my fault because I could lie and say they had a good plan, the latter is totally out of my control and yet I'm the target.

I just talked to my only real friend here and he said what I was thinking at that exact same moment - This place is sucking my will to live..

I realize that things aren't great... I know the economy is bad, and I'm willing to deal with the problems associated with this job so long as it's something I can control and have some power to effect. Unfortunately, this place is far more like a small business than anyone here probably realizes. The politics of the "boss' favorite" and the "problem child" are all too clear here. I thought I gave that up when I stopped running my own business. I was wrong... in such a big way.

I'm going to have to try and look past this. Try to look towards something that is interesting, even if it doesn't really have a lot of use to anyone. I need to be able to motivate myself to get up in the morning and come into this place. I know these are my jobs. This is life. But this place certainly makes it a lot harder than I can remember it being for a very, very, long time.

Funny People

June 2nd, 2003

I know it's not good to laugh at people that aren't meaning to be funny but some times it's all I can do not to laugh at some folks around here. There was this one time that a developer assured me that decrementing loops - that is, loops whose indeces start at their largest value and then work their way to the smallest, were more efficient than the more standard incrementing kind. I didn't want to argue, and I didn't want to laugh, but it was awfully hard not to at least smile. This upset him more than an argument, I'm guessing and he got very upset at me.

Then there's the situation I've run across today. One of the traders just wanted to come directly to me to get answers because he felt more comfortable coming to me than to my "boss". Now I say "boss" because this man has said We're all on the same Team, and, in fact, I don't take a lot of direction from him other than what features to implement. So when the Trader went to the CTO to get the "OK" to come directly to me, he said "Sure". Then my "boss" got very upset.

People are the funniest things. In Stranger in a Strange Land the author makes the point that humor is about the pain another is feeling. It didn't take me long to agree completly with his premise. And in the case of these two people, they brought their own misery down upon themselves. This is really what makes for good humor.

I remember doing a few really bonehead things here at work right in front of people and they (rightfully) nailed me on it. I was being a bit goofy and it cost me. Nothing major, but enough to get a good laugh out of it. Oh sure, I didn't laugh right away, but I did laugh at it later. It's important in raising good kids to laugh at the situations we, as parents, get ourselves into. It's the only thing that keeps us sane at times.

So for as long as I'm working with Bill Cosby and Jerry Seinfield I might as well enjoy the moments, because they certainly aren't.

War is Hell

May 30th, 2003

The Second War is getting heated and I'm trying to step out of it as best I can. I don't believe that anyone wins a war - there's only the victor and the vanquished, and neither really wins. One has to continue the opression or be faced with an uprising and the other must continue the fight or else loose everything. The shooting may stop, but the hostilities don't.

Of late, the battles drawn have been both overt and subtle. I've been trying to keep things professional, but it seems that the other combatants are not as interested in taking that same tac. Unfortunate. I have tried to not get too ugly, but being passionate about the outcome places a burden on me to do my level best to ensure success. This means fighting with like-minded tools and techniques. So if they sling mud, I'm picking up mud.

Until yesterday afternoon.

I've decided that there's more hard done to my cause by acting like them than acting like I want to act, and setting myself up as an "easy target". The simple fact is that I am up-front and fairly transparent, so I am an easy target for those looking at taking shots at me. But that says a lot about both of us. And I'm happy about what it says - about both of us.

So, when my impulses rise up to strike back at slanderous and inflammatory remarks, I'm going to do my best to remain calm and professional. I hope that simple fact will help draw a distinction between the people and their plans. I could be hopelessly romantic about this and get blind-sided, but then that says a lot about the management. If they play that way, then it's best I find it out sooner than later.

Even if I'm a silly fool and get blown out of the water, I'm going to try to act like the person that I want my kids to grow up to be. If we all can't act that way, then how can we possibly expect our kids to be any
different?

Jockeying for Position

May 27th, 2003

The bad thing about revolutions brought about by the death of The King is that there's a second battleground that has to be fought - the War of The Winners.

What I mean is best seen in an example: within the last week the higher ups at my workplace have decided that the existing infrastructure for moving data around is not going to cut it anymore. In fact, they haven't liked it for quite a while, but it had a guardian angel that has since left for greener pastures (at the point of a gun), and so the infrastructure he championed is also going out the door.

But what to replace it with?

There's the second war.

There are at least three camps now fighting it out for the technical vision of the replacement technology/system. One I'll call the Plan Big camp, the other No Plan, and the final Right Fit. I'm in the Right Fit camp, and believe that since we can't get the users to plan 3 months out, there's no reason to plan and build three months out as it's all too likely to change. Also, we don't have a pressing need for any new technology, we just need to execute better on the current technology.

The Plan Big camp is big into technologists leading the users. They believe that they know what we'll need 3-, 6-, 9-months down the road and want to create a grand plan that will enable everything to be done easier by investing 3, 6, or 9 months in heads-down development on new technologies so that we don't get left behind.

The No Plan is just as it sounds - make no plans further away than right now, maybe two days out, and assume that things will just work out. Interestingly enough, the commanders of the No Plan and Plan Big are both convinced that they are the smartest person they know and the other commander is a complete dolt.

So as the next few months pass it'll be interesting to see which, if any, of the camps really wins, and what happens as a result. Depending on who wins, there's certain to be a good bit of sabotage and glee in partial failure.

And I thought dealing with my kids was difficult at times...

Changes… Lots of Changes

May 21st, 2003

I should write in this journal more often. Hard to believe that I'd have enough stuff to put into it each day to fill a few pages. Now work and such is slower and there seems less and less to write about. But I'll try to bring things up to date.

I got a windfall and purchased a 17-inch Powerbook. It's everything that all the reviewers are saying: awesome display, excellent keyboard, fast and a lot of fun. I ended up moving everything from my iBook to the new Powerbook so I didn't loose anything and it took a lot less time than I had thought. The Transfer Mode in OS X is exceptionally nice and makes the one machine look like a firewire drive to the other. I slaved my iBook to my Powerbook and simply copied things over. Very nice.

I've added several things to BKit, most notably is the inclusion of the VantagePoint graphing from Visualize Inc. to enable quick and easy graphing of data sets that I run into from time to time. The licensing for VantagePoint is excessively expensive (starts at $25,000), but for large corporations, I can see it being a reasonable payoff.

I've started work on a new version of the potential/electric field simulator for OS X - nothing fancy, but it's nice to be working on something like that again. I'm taking a new approach on the class structure as well as the simulation/solver code. I already like the way the changes have made things easier and cleaner, I hope they also make things quite a bit faster. I'm also banking on the AltiVec and the math libraries compiled into OS X to help on the speed issue.

Work has been somewhat interesting in that recently the powers that be have decided to thin things out a little more. This round of cuts comes to a group that's consistently been the most arrogant, unlikable group of people that I've ever met in one place. Lead, of course, by the two singularly most unlikable folks I've ever met. Now, to put a little bit of perspective on this, I haven't met any serial killers, or national politicians - yet. But up to now, these two are at the top of the list and by a wide margin. So now they get theirs. Karma... excellent.

It's getting close to Summer and that's nice, but it's still Spring, and that means school, activities, and work around the house. Lots of work around the house.

I'm guessing that's what's kept me from writing more in this journal than I have lately - not a lot of fun things I felt like sharing. Sure, life is generally good for me and I shouldn't complain. But there's a big difference between "not bad" and "good". I guess it takes more "good" things to happen for me to take the time to write them down.