Archive for the ‘Cube Life’ Category

Big Shop versus Small Shop – Maybe it’s Time for a Change

Thursday, December 11th, 2008

cubeLifeView.gif

I got a call from a recruiter the other day telling me about a position that was open in a smaller prop (proprietary) trading firm here in the city. This place is small. Less than 20 people in all of IT, and less than a third of that developers. That's small.

But it's bigger than Port-to-Port, my old place. Maybe it's time to head back down to the smaller shops? It got me to thinking.

Certainly the big downsides of a smaller shop would be the job security and the pay. Chances are, they are not going to pay as well, and they have a far greater risk of folding than a multi-national bank with 65,000 employees. But there are a lot of upside there too.

If I got along with the folks (a requirement, to be sure), then the place would be far more accommodating about change. Maybe they'd be willing to look at different platforms, or at least more willing to look at different ideas and ways of doing things. I'm no fool... there's politics everywhere, and coming into a small shop means you have to make sure you like the people there, because that's simply all the people there are. No way to walk to another floor and chat with an old friend - the place doesn't take up two floors.

But if you get along with the people, you are more closely tied to the things that happening in the shop. Decisions about platform and process are going to be a lot more out in the open, and because of the small size, there's going to be less tolerance for the "process as a work product" as opposed to just getting things done. Given the last 8 months here, that is a very attractive possibility.

But in the end, I don't have to move. It might be nice, and if something really stupendous comes along, then great. But if not, that's OK too. I'm not in a horrible place, and I believe I'll know if it's the right time and right opportunity to take.

Office Politics Played Poorly

Wednesday, December 10th, 2008

cubeLifeView.gif

I was talking to a co-worker this morning - just after we arrived. I told him I heard that he'd be doing some web development - something I heard from the management team yesterday when they asked me about setting him up with a development box and such. He didn't look thrilled. I don't blame him. From his point of view, it's bad bad news. The one guy in this place that he outwardly hates, and outwardly hates him is the IT manager. This puts him under this guy and subject to his (often quite loud) rants. I've come to understand that they are as much a part f life here as the carpet and window cleaners. He's not yet at that point.

So he's trying to put a positive spin on things, and see it as once again, paying his dues, in order to get back to the place he was, and hopes to be again - quant trader-guy. Certainly an admirable goal, but there are many things standing in his way - not the least of which is the open feud between this guy and the IT manager.

My friend plays politics very poorly. He admits this. Maybe he's got a plan to learn better political skills, or maybe he's just going to sit tight and keep his mouth shut and try to ride this out. Not surprisingly, the "shit down and shut up" plan works remarkably well here, I'm guessing because so many people are pretty smart, and there's nothing a fragile ego likes more than to boss around someone who they fear is superior in some way.

But I'm not sure this is going to end up all that well. With the current financial crisis as the backdrop, there have been a lot of cuts - people and things, at a lot of organizations. I haven't heard anything definite about this place - yet, but it would not surprise me if the Bank as a whole decided cuts had to be made, and we ended up having to cut a few people. Wouldn't make it right, but it wouldn't surprise me.

Given this, I plan on doing what I've been doing, and simply acting like a little, neutered, slave and say "Yes" to everything they say. Oh, I'm not afraid I'm going to get cut, but there's no reason to ask for the unwanted focus at this time, either. Keep your head down, and let the storm blow over - it will... eventually.

I'm just not sure if my friend is capable of that. Maybe so, and if he is, he's learning, I'll give that to him. Previously, he'd have stood up and told them all they were acting timidly. It would have been right, but politically, it was suicide. So now he's looking at doing web pages.

He's a decent guy that doesn't deserve to have the political problems he has, but he did admit that he brought them down upon himself. I just hope this doesn't come back to haunt management or my friend.

GraphicConverter 6.3 is Out!

Monday, December 8th, 2008

GraphicConverter.jpg

GraphicConverter 6.3 is out, and it's one of the first graphics apps I got for my first G3 MacBook. It's been a valuable asset to me over the years, and while I haven't used it much since getting Acorn, I still want to support the authors, and while this was a free update, I'll get the paid updates as I think this is really good software and is deserving of my support.

The Perfect Tempo

Thursday, December 4th, 2008

cubeLifeView.gif

There are days... understandably rare... where the tempo is just perfect. I'm fortunate today to be having one of those days. Not too fast, not too slow. I'm able to help people with problems, do some good coding, write it all up nicely so there's documentation on the changes... it's been a wonderful morning.

Of course, now that I've written this down, watch it change, but even that's OK. A morning like this is better than none, and if I'm fortunate enough to stretch it out to a day... well... even better.

I've been talking a lot with some friends about where I'd like my career to go. Theirs too... it seems to be a common theme recently. I'm focusing on the idea of becoming an indie Mac developer. I've done the self-employed thing already with my old company, but this time I think I'd do it solo, or with very few people. Something I could do out of the office in the basement.

I figure that if I get one app that can net $250k I can be totally debt free. At that point, I only need living expenses and that's a lot less than the house, etc. After that, I can get another job that's not as demanding, and build the second app. Get three or four apps and you're able to have that be your job.

It's something I'd really love doing. That's my path.

VoodooPad (Pro) 4.0.2 is Out!

Wednesday, December 3rd, 2008

VoodooPad.jpg

I got a tweet from Gus M. at Flying Meat that VoodooPad Pro 4.0.2 is out with a ton of bug fixes. I read the release notes for a good 5 mins. There are changes in the Python interpreter for plugins, lots of crashing bugs fixed, and a complete WebDAV update. Sounds like a great update - had to get it.

Interestingly, now the tabs for the pages I have open are ordered differently, and I can't figure out how to order them manually. It's not a huge deal, but it'd be nice to know what the magic was to getting them in any particular order. Seems dragging them is the key, but what if one is off screen (to the right), due to a window being smaller than the combined widths of the tabs? Hmmm... no solution there, my friend.

Work-around: maximize the window, move the tabs, and restore it. Not bad.

The Fun of being Busy

Wednesday, December 3rd, 2008

cubeLifeView.gif

This morning it's been a hectic morning - lots of things to dig into, fix, write up, explain... it's been a blast. Nothing major, but it's like a wonderful little buffet of things to keep my mind working - and in some cases, exercising my patience as well.

Athens Exchange Acting Up Again

Seems every so often the Athens exchange is acting up from Reuters. Today we didn't get the clearing of the earlyClose.flag and that meant that things were not ticking as the price was based on the earlyClose.price and not the incoming ticks. Once I cleared that up, things started working better. My favorite support guy in the price feed group is going to look into this and try and see why we missed it yet again.

Looking to Filter Ticks by Historical Data

There are problems with the data coming from the exchanges - no doubt about it, but when it comes like it did today, it's a significant pain in the rear, and there's a significant push to try and find a solution for this problem. Today there was an option that was sending a quote (bid/ask) of 0.3/1.2 - creating a price of 0.75. Then a quote of 0/150 would come in making the price 150. One of these is clearly wrong, but is there an objective way to determine that? Not really.

We need to somehow look at the historical data for this instrument and determine if it's correct or not. If the last n ticks have averaged 0.75 with a tight grouping, then the 150 is bad. But it's also possible that the reverse is true. We need to look at the data in a larger sense. However, this isn't easy. The rules you start to make are hard to pin down with any accuracy. You end up making artificial judgements (limits) like 200%, and such. It's not logical, it's experimental.

So I sent out an email asking if now is the time to look at this - or do we want to put this off for later. It's going to take some time as the prices coming from some exchanges are not always clear and complete. Some have CLOSE, for instance, some do not. So we have to make complex rules for all this. And then there's the training process. It's not easy... or quick. It's going to take some time.

So we'll see if this is that time.

Fixed a Few Bugs

Hey... everyone makes mistakes, and this morning I had to fix up a few of mine. This was my gotcha based on the fact that some fields were not getting populated consistently. I had to make special cases for the different ways they got populated, and that fixed the problem. Shucks.

Worked Around Changed Behavior in VantagePoint

In the BKTimeSeriesViewer, the init() method was blowing up with an exception in the hiding of the non-existant points on the graph. It turns out that in the latest cut of VantagePoint, the method getVariables() will return a null of there's nothing on the graph to show. In the past, it returned an empty int[]. This null was caught and we had the problem. So... what was the solution?

Turns out it's pretty simple - allow the null. The method getColumnsOnGraphOnSecondaryY() in the BKBaseGraph was the problem, and if we model it after VantagePoint, then it's simple to say that if there is a null returned from getColumnsOnGraph() (as it calls the VantagePoint method), then it's reasonable to return that from getColumnsOnGraphOnSecondaryY() as well. The rest of the code handles it nicely, so it was a simple change.

Gave this to the developers asking for it and all was well.

It’s Amazing What Passes for Senior Developer These Days

Tuesday, December 2nd, 2008

cubeLifeView.gif

Today a developer chatted me saying he was having a problem with the secondary Y axis on a graph he was building. I knew there were the problems with VantagePoint prior to the fixes I made, so I asked him if he had the latest versions of the BKit jar and the VantagePoint jar. Both were important for the fix.

He want away for a minute or two and came back saying that he got the latest BKit jar and it seill wasn't fixed. OK... let's make sure you have the most recent VantagePoint jar too - it's important as well (didn't I already say this? Yes, I did.)

He went away for a minute or two and then said it still wasn't working. OK, I asked him to send me the HTML and I'd look into it. I got the page, stripped out all the crud that wasn't necessary (headers, text, Javascript) - got it just down to the applet and it's tags. When I ran it in appletviewer I got this:

Pavel's Working Graph

Looks good to me. So I sent him back the HTML after I called him over to see the graph, and agree that it was as he thought it should be. OK, it's got to be on his end.

He comes back a few minutes later saying it's still not working. So I walk over to his desk. The jars are the correct version, and appletviewer on this box shows the right graph, so how about changing the codebase on the applet tag and seeing if appletviewer will show the right graph.

Oh... that worked.

"Well..." I said, "it's got to be IE's cache." - which I had mentioned as a possibility a while back, but he dismissed.

A few minutes later I get a chat from him - all is working. Surprise.

My rant is that this is simple debugging that any developer should be capable of doing. This isn't something special to me, or any advanced or elite status... this is simple Debugging 101. Yet it eludes him so completely. I know it's not going to make any difference, but it's stunning just the same. Some days I wish I had the ability of calling a programming foul and penalizing him 15 yards for illegal use of an education. Something like that. Gimminy.

Walking the Line Between Support and Honesty

Tuesday, December 2nd, 2008

SwissJupiter.jpg

This morning I was talking to a newly-returned (prodigal?) co-worker trying to bring him up to speed on what's happening in the area that he's been asked to focus on. Answer: a lot in the year he's been absent, but nothing he can't pick up on. What turned out to be at least as important as what's happened (to me, at least) was what the mood was after a year of absence.

It's vastly different, and while I didn't want to curb his enthusiasm, I didn't want him to charge off and find that his ideas, while good, were met with a load of screaming folks with torches and pitch-forks. And at the same time, I didn't want to rain on his new parade. There had to be a middle-ground. Someplace where I could tall him that it's important to consider the moods and feelings of the folks doing the work, and letting them determine his choices.

I tried to point out that while his ideas are good, and possible even necessary, there are other things that would be much less volatile and serve just as important a purpose to the overall effort - just not have as immediate a payoff as the more volatile ones. Part of this has to be tempered with the fact that we're in the final days of a year-long push that has left many people at wits end. Work on something they need, but aren't yet critically dependent on, and in a few months when things have settled down, and you've delivered a little bit of help to the crew, you can approach the things they have depended on for the last year. Hopefully, by then emotions will have settled down and even they will understand the problems in the existing system.

It's tough, and I don't envy him his position. But I wanted to help him so that he didn't get too frustrated right away and have a bad feeling before he even really gets started.

Managers – Part Comedian, Part General

Monday, December 1st, 2008

PHB.gif

It's hard to even know where to start with this one. I couldn't even come up with a decent title on this guy because it's actually so bizarre that it almost defies classification. But I'll try.

I was summoned to my boss' office this afternoon and after I walked in, I could tell on his face it wasn't going to be what I consider 'fun'. He started out with a "How you been?" - simple enough, I told him my back hurt a little - it does, and that it was something that I'll deal with and it'll get better in the coming days and weeks. Then he jumps right into the reason for the meeting.

"OK, I know you're not happy, so bitch... about me. Go ahead."

Hmmm... now there's several ways to play this. I could go with the 100% honest answer and clearly get into a fight that I cannot win. Not a good idea. I could try to point out the most offensive remarks of the recent days, that had merit. I could also deny it all.

I started with the denial. It didn't work. Shucks!

So I went with the most recent issue - that of the "total honesty" approach he's been using.

"Well..." I said, "I just wish you'd say less - particularly about the 'I don't care what you think' kind of talk. It's unimportant, as I'm going to do it anyway, and it's just demoralizing. It doesn't get things done faster, and while it may be true, it's not really helpful in the least."

He defended himself as if it was necessary to tell me this and then launched into a 45 min talk about what was coming up, and why I should be happy about all that. While it was a reasonably good outcome for me - I didn't have to be as honest as he was being, it was amazing that he really didn't want me to get things off my chest, he wanted to get things off his.

I don't mind these 'diverted' conversations. Primarily because they are actually informative to me about what's happening. But it's funny that he defends his actions about telling me he doesn't care what I think, and further to try and almost cheer me up with the stories of what's coming.

It's no surprise that in these financially turbulent times, guys in middle and upper management are worried that they won't be able to get the new BMW this year. It's understandable. So they think "Where can I make cuts?" and "Who's going to back me?". Not a fun place to be, I can see that, but to pull things like this is really shooting yourself in the foot.

Anyway... it's an odd meeting that I'm glad is over.

Calc Board Updated to 1.6.1

Monday, December 1st, 2008

CalcBoard.jpg

Calc Board is a wonderful little Dashboard widget that I use at least once a week. Little sums, or calculations that I need to do and don't use a calculator for because I want the results to hang around a while. It's got a lot more capability than I use, but it's nice in what it does, and if I ever need the help, it's nice to know it's there as well.

Excellent little widget.