Archive for the ‘Cube Life’ Category

Sitting on the Locomotive of a Train Headed Right off the Cliff

Monday, October 6th, 2008

SwissJupiter.jpg

Overly dramatic? Possibly. On target? Dead on.

These last two days have brought a point to light with this product we're trying to integrate into the Shop that is a show-stopper, and we didn't find it out until a week and a half from the completion of all development related to the major deliverables.

Basically, it's insufficient for our needs and we didn't see it until we're virtually done and have spent literally dozens of man-years on the integration. It's like building a car only to find that it's engine is too small to actually move the chassis, and no way to make it bigger.

Major problems.

The vendor is all but saying "Sorry, that's the best we can do for you", and the management tram is scrambling because they know the next question that's going to be asked is "Why didn't you see this coming?" Good question. I wonder why they didn't.

Oh, hey, I know... because they no longer value judgements here - only answers to questions they phrase and then they make the decisions thinking they have all the knowledge necessary. After a while, we stopped trying to do, and moved into a simple reactionary phase. That's all they wanted anyway.

So now we're all sitting on this train... too late to get off, it's a week before the deadline. No way the vendor is going to supply a fix, they've known about this from another customer for 18 months and done nothing about it. Nope... it's a train wreck, all right, and we're stuck on the top of it.

Well... at least I'll have a good view of the fall.

Coloring the Axes on the BKGraphs – Together and Individually

Monday, October 6th, 2008

BKit.jpg

A developer came and talked to me today about the colors of the default second Y axes when using VantagePoint 4.6.4 (the last one I have that allowed this feature) as it defaulted to lime green. Not the ideal choice, I'll agree. So I dug into the code and realized that in my setAxesColor(Color) method on the BKBaseGraph, I set the colors of the X and Y axes, as well as the second X and second Y axes - but only if it was a Hi/Low/Vol graph. That was the mistake.

So I changed it to always set the second Y and then optionally the second X if it was the Hi/Low/Vol graph. Works great. After that, I got to thinking that it'd be even nicer if it allowed the axes to be set independently, as well as collectively. So I wrote the methods and added the applet param tag decoding to deal with the axes independently, and then collapsed the code into a more manageable set.

In the end, I have a lot better coverage of the capabilities of the graphs, and still defaults to something very reasonable for the quick graphs that will be used 90% of the time. Nice.

DrawIt Goes 3.6, 3.6.1, and 3.6.2 and Drops Pixel Editing

Monday, October 6th, 2008

DrawIt.jpg

Over the weekend, DrawIt 3.6 was released, and very quickly, it seems, 3.6.1 and 3.6.2 were sent out to address specific problems found by the first few users. I saw this just this morning, and I just got the 3.6.2 update. There are a few significant changes in this codebase - primarily the exclusion of the pixel editing features. Rather, they opted for a cross-licensing agreement with the Flying Meat crew to give you a license to Acorn for those features, and then allow a 'shell out' feature in DrawIt so that the integration is smooth.

I realize the need to specialize, and if you're not that good at one thing, take advantage of the fact that someone else is. Acorn is something that I use daily, and to see that DrawIt is acknowledging that as well is nice, and providing a clean interface to it even nicer. I don't see this as loosing something from DrawIt - as gaining a nice integration to Acorn.

That you get a free license, is nice, but I've already got licenses. No harm.

Two great products. Now specializing in what each does best. That's a great Mac tradition. Keep the faith, Boys! Gotta love it.

Interesting Application of My Quantum Mechanics

Friday, October 3rd, 2008

Detective.jpg

This afternoon I was trying to measure the partial, intermediate results of something that we're trying to improve the through-put of on a Vendor's package, and I realized that the data I was looking at was really only good in relation to itself - I'd hit on one of the coolest things in Quantum Mechanics: The act of observation alters the system.

I hadn't run into it like this before, but under independent tests, I know that a singular blob could be processed in a little more than a second. But but placing in the outputting of timing results, I saw the combined time raise to roughly three seconds. That's a factor of three. Then it hit me.

You can imagine the issue: by stopping to get the time, more time was taken. Not a lot, but it added up. Fantastic! Thankfully, I didn't require absolute accuracy - I just needed to know the relative times spent on succeeding steps. For that, this was more than good enough. But it was a kick in the pants to see it happen right in front of my eyes. Sweet!

Well… That Didn’t Take Long…

Wednesday, October 1st, 2008

SwissJupiter.jpg

I've been forced to be the Manager of this project's core development. I didn't want it, I told my Boss it was a bad idea - that I wasn't the right guy, that I'd be undercut by the Management Team anytime I tried to get someone to do something they didn't already want to do... all that. I even tried it for a few months, it was a mess, but I didn't really piss anyone off, and I went back to say I wanted out, it wasn't working, etc. Still, I was being forced to do this.

"We'll back you up." they said.

"You are to assign tasks and not keep them all to yourself - that creates a bottleneck, and overloads you. You need to assign some of these tasks to speed up the process."

And always: "We'll back you up - we're all on the same Team and we need to get moving."

Yeah, right.

Well... I can honestly say that it's taken about a week from the last of those talks to today when I found out that not every manager is on the same page. Specifically, there was a task that needed to be done and I had/have absolutely no pertinent experience on the issue. Sure, I can learn, but that's not the same, and it's not in keeping with what they have expressly stated they want me to go - delegate to better skilled people.

So I sent out an email with a lot of questions on this issue to try to come up to speed myself - as no one was standing up saying "Pick me! Pick me!", and I got a very knowledgeable response from a guy in London and I wrote back saying it was nice to see he knew so much, that I'd assign the ask to him.

The project manager read this and noted that if there was coding work, I'd do that, I agreed, updated the project plans to indicate all these changes - his assignment, new tasks for the identification others for the coding of the new custom fields, and thought - hey, this is going to work out pretty well.

Then the other shoe dropped.

Another manager sent me a nicely worded, but nasty intended email about checking with a person's manager before assigning work to them. There it was... cut right out from under me.

Should I have checked? Did anyone check with my manager before assigning me things? Nope. Wasn't I told recently - on several occasions, to do just that? Seems like it.

So I waled into my manager's office and said "OK, just do you know - that's the last time I'll do it. Period." I explained the situation and reminded him that I predicted this months and months ago. He said he'd look into it. I said nothing, and left.

If you're going to say I should do something, then you bloody well better back me up and make it known so that when I do, I do not have this guy slap me down. I hate this Keystone Cops style of management. I will do my work, but I won't be a part of that. Not anymore.

UPDATE: I was later told what happened... turns out his manager was upset and yet his manager and the Project leaders supposedly backed me. They didn't find out what happened, but they said the best thing might be to send all my 'assignment requests' to the Project Manager and let them physically make the assignments so there's no question of the authority. This is a mess. But I'm fine with passing on recommendations. Dumb, but workable.

I Wonder if Dobby Felt this Way?

Tuesday, September 30th, 2008

SwissJupiter.jpg

I've been working exceptionally hard these last few days, and it should come as no surprise that it's a thankless, horrible job, but they saddled me with it and rather than drag it out, I want to get get this crap done, and move on. Unfortunately, this will probably mean that I'll be rewarded with even more horrible and distasteful work on this project in the future. I suppose on one had I should be happy that in these times I have a well-paying job in the financial sector. But I tell you this... I'd easily work for less to do something that wasn't as distasteful.

Even this place, a year ago, was a better place. But this Death March project that I'm being forced to be on is just draining my will to live. It's bad. But I'm trying my best to stay optimistic - tonight I'll get more than 4.5 hrs. sleep, and that will be a welcome relief.

I've got people looking, but so far nothing really exciting where the work is at least as interesting as this, and is a long-term commitment. No more short-term consulting jobs. I just sure hope this horrible crap is over soon.

Interesting Bug in Dealing with Negative Prices

Friday, September 26th, 2008

MarketData.jpg

One of the support crew in London pointed out to me that a Money Market ticker in one of the applications fed from my ticker plant was not updating properly. That the quote from my source had both the bid and ask less than zero was interesting. What happened was the conversion I did from working in "all positive" price to "mixed sign" prices on the calculation of 'Best Price' in the client code had a bug. Basically, there is a test for a 'good' quote that the bid and ask are in the right relation to one another - with a little 'fudge' factor, and also that they are not horribly disparate either.

The problem code looked like:

    if (((fabs(mAsk) <= 0.5) ||
         (1.1*fabs(mAsk) >= fabs(mBid))) &&
        (fabs(mBid)*1000.0 > fabs(mAsk))) {
      retval = (mBid + mAsk)/2.0;
    }

where the firs check is to make sure that if the ask is small enough we don't mess with the check - like 0.05/0.10 quotes. The second check is the problem... without the fabs() calls, it works for positive numbers: of the ask is bigger than the bid, and the ask isn't too much bigger than the bid, then we take the mid point. Easy.

But if we put the fabs() calls in there and try to work with negative numbers, we're messed up. Negative bids need to be numerically less than the asks but with the fabs() calls, they get flipped to being numerically greater than the asks. This is the problem.

If we change the code to look like:

    if (((fabs(mAsk) <= 0.5) ||
         ((mBid - mAsk)/fabs(mAsk) <= 0.1)) &&
        (fabs(mBid)*1000.0 > fabs(mAsk))) {
      retval = (mBid + mAsk)/2.0;
    }

then we're looking at the percentage change and that works for both signs - positive and negative.

I put this into the clients and things started ticking nicely - if you can call a negative price quote 'nice'. It was just interesting to me that I thought I had it right the first time, but you have to be very tricky about throwing around fabs() in your code.

WaMu Grabbed by FDIC and Sold to JPMorgan for $1.9b

Friday, September 26th, 2008

pirate.jpg

This morning I read on the Wall Street Journal front page about the failure of WaMu being the biggest in the nation's history. Roughly $30 billion in debt and stock washed down the tubes. Holy Cow!

The fact that no bank was willing to buy WaMu until it failed shows how badly confidence has eroded in a banking system awash with record profits just a few years ago. Faced with deepening losses on mortgages, credit cards and other loans, big and small banks across the country are struggling with what many bank executives say is a crisis far deeper than the savings-and-loan debacle.

This just makes me mad. People will look at this industry and say "What a horrible bunch of greedy people" when the last statement in the quote says it all: bad loans.

OK, who is the major borrower here? Answer: People. People getting into homes and mortgages they can't afford. People running up credit card debit they can't pay. It's people. Every single one of us that lives beyond their means. Ask not for whom the bailout is - is it for thee

Wishing I could Tweet

Wednesday, September 24th, 2008

Twitterrific.jpg

I like Twitter. It's an interesting async chat client. I like following the characters I follow. Interesting group. And I really wish I could tweet more. I really do. The problem is not that I can't, or don't have anything to say... it's as simple as the fear of retribution.

I work for some folks that would not appreciate that I'm talking from personal experience. Nope. Banks are funny that way. They aren't interested in your rights. They could not care less about what you think about the separation of work and personal life.

Nope. They like to get lawyers involved as soon as possible. We've got two of them on the same floor as I sit. It's sad, really. But in the end, I can't tweet because you can search tweets.

I'd think the government and shareholders would like to know about my tweets. Maybe there's something hiding under the covers here... maybe this place would want people to tweet to make sure the mere appearance of wrong-doing is ousted.

But they don't think that way. And I can't tweet.

Get a new job and maybe I can tweet.

Been a Wild Morning on the Markets

Friday, September 19th, 2008

WallSt.jpg

When people walk up to you before the markets open in the US and tell you to make sure everything is is tip-top shape because the day is going to get rough right out of the gate, you tend to think they are either hoping it'll be that way, or worried it'll be that way. Today things went up, but it's been a very hectic day.

The SEC suspending short-selling on 799 companies make it very clear that the 'free market' isn't free right now. The government has no plans on letting big banks file or consolidate to the point that it'll have anti-trust issues to deal with. Nope. And that makes people more optimistic about the stocks, and things go up. But I have to wonder how long the Administration is going to let this happen before things start to go bad because of the intervention?

Nixon's price freeze... I was a kid and I still remember that. Politicians are not good at running markets - they are too heavy handed and want immediate results. Confidence takes longer than that to build, as it took longer than that to erode it.

I just wonder where things are going to end. Wild times.