Adding a Lot of Capabilities to My Web App

April 6th, 2010

WebDevel.jpg

Today I spent the entire day changing the way in which data sets are selected for display on the graph. Doesn't sound like much - but Holy Cow! it was a ton of work. The page was a relatively simple volatility by strike viewer, but the users wanted to be able to see any set of product/expiration pairs on the graph. At the start of this, I was allowing them to see any set of expirations for a given product.

Big difference.

The problem was really two parts: creating the GUI for the selection process, and then modifying the SQL to get the sets of data, and then coalesce them into one final data set.

The way I solved the first problem was to have a traditional selection drop-down set: the portfolio, the product and the expirations. These all made referential sense: change the portfolio and the products would be updated. Change a product, and the expirations would be updated to reflect that product. It allows for the selection of a single, 'tuple'.

I then had 'Add' and 'Remove' buttons between this on the right, and a single-select multi-line HTML SELECT on the left. The user could then 'create' a tuple, 'add' it to the list, and if there was one thing in the list they didn't want, they could select it and 'remove' it. It works pretty well, I have to say. Not amazing, but it's clean, simple, and almost everyone will understand how to use it immediately.

The second problem was how to get all this data into a single, coherent, data set. The answer was pretty simple: don't. What came to me was the idea that each of the tuples could be easily turned into a DataTable, and then I can put all those tables into a list and iterate over them, and then through the table. It's really a lot like the code I had to run through the JDBC ResultSet, but this time it's a nested loop.

In the end, I had just what I needed, but it took a lot of time to get all the features of the GUI right, and to get the servlet working properly. There was an additional wrinkle in that one of the users wanted to be able to specify the way in which the strikes would be placed on the same x-axis. Hey... it's silly, but it's a user, and that's what I do.

The Amazing Round-About Responsibility Game

April 5th, 2010

Today I spent quite a bit of time doing work for a single desk because their desk developers were all busy building new infrastructure for the firm. Of course, the infrastructure team was busy doing something else totally unrelated to the new infrastructure, but that's really the point, isn't it?

There is a serious bit of disfunction here. While the firm's stated goals are communication, cooperation, and excellence, many groups are so completely walled off - either on accident, by the business, or more likely through the use of incredible egos, that they simply have no need to communicate with others. They are the pinnacle of excellence, and any cooperation they offer is out of the goodness of their incredible generosity.

For a place that says it doesn't like egos, it's all about egos.

So we play this silly game of shuffle responsibilities. Since the infrastructure group is not talking to the desk developers, the desk developers are building their own infrastructure. Since the desk developers aren't providing the product they are supposed to be building for the desks, the desks come looking to the global risk group for that work. My manager is interested in looking good to all the groups, so he allows them to ask me to build and maintain things.

Unfortunately, the buck stops with me, as I have to do their work and mine as well. It's a shame I don't have a group that could pick up my work - Hey, I know, maybe the infrastructure team can manage to do this stuff!

It's just amazing that this place is run like a playschool. Managers know of problems in communication, and they do nothing about it. They give their tacit approval because having a job here is having a job for life. It's sad that professionalism is so lacking from people that are supposed to be professionals.

In truth, a lot of these folks wouldn't last like this in another job. They'd have to actually work, and they don't here. It's very frustrating for me as I end up doing other people's jobs, and nothing is being done to stop it.

Firefox 3.6.3 is Out

April 5th, 2010

Sometime this "iPad Weekend", (turns out it was Friday) Firefox 3.6.3 was released with more security fixes that could have led to remove code execution. Standard stuff, but good to see it's still plugging these holes.

Leaving Early for a Tiny Vacation to Wisconsin Dells

April 1st, 2010

Because tomorrow is Good Friday, and that means a vacation day for the markets, I'm taking off early for the day to get home and help get things settled at the house in preparation for taking a few days (3) and visiting Kalahari Report in Wisconsin Dells, WI. The kids said they wanted to go this year, and while Liza's schedule didn't allow for a lot of time off, there is time to go get soaked, and that's just what we plan on doing.

It's always a lot of fun to ride the rides, get all wet, and see the kids laugh. Good fun. Can't wait.

Google Now Incorporating Adobe Flash into Chrome

March 31st, 2010

GoogleChrome.jpg

Things are really heating up between some groups in Google and some groups in Apple. From what I've read, it seems like it's more of an Executive War, as opposed to a real "can't stand to look at you" war in the trenches. But hey, that's what makes the game of Executive Watching so darn much fun.

Well, this morning I was reading Slashdot and saw that Google announced that they would be working with Adobe on a new plugin API for browsers to support Flash, and including Flash in Chrome. This not only covers the initial install, but also any subsequent updates. This is a major slap in the face to Apple and it's push for HTML5 as the technology moving forward.

In a sense, I'm really happy that Google is doing this. I use Google's Visualization widgets daily at The Shop, and a better Flash in Chrome is going to do nothing but help me. That's fantastic. But in a larger sense, I think the better solution is to see the components I use ported to HTML5 Canvas or SVG graphics like some of the Visualization widgets.

My ultimate goal is to have a visualization platform that does what I need without crashing, or bringing the machine to it's knees. CUrrently, I have to do a lot of little "tweaks" to get a reasonably stable platform, and even that's a bit dodgey at times. Anything that Google does to make this better is a good move in my book.

That being said, if I saw that someone came out with an HTML5 Canvas-based graphing package like the Google Visualizations, I'd immediately check it out. If it had a better system of support and less problems in the deployment (I can't deploy on Firefox, and IE only with the Google Chrome Frame plugin), then I'd switch over and never look back.

I don't think Google is doing the right thing in the long-term, and that's what I've always thought they would do. Engineers giving into silly Executive battles is just silly. It's beneath them. Beneath us.

Stop it. Convert the AnnotatedTimeLine to HTML5 Canvas, and then stop messing with Flash. That's a winning strategy.

Oracle is Shutting Down ‘Free’ Solaris Program

March 31st, 2010

Solaris.gif

For the past several years, Sun's Solaris for SPARC (at least) was "free" - you had to pay for the media and shipping. In that time, I bought Solaris 7, 8, and 9 for my SPARCstation 20. It was a fantastic program as it made sure that people like me would still be running, using, and liking Solaris, long after the linux wagon came to town. Had Sun charged me full price for Solaris, I'd have been running linux on that same box all that time. It was a good move on Sun's part to have this program in place.

Then Oracle bought Sun... and every good thing must come to an end.

This morning I was reading Slashdot and saw that Oracle is suspending the free licenses of Solaris. That's sad.

The funny thing is - I doubt it'll generate much revenue for the company. But it's going to cost them a lot of potential adopters in the kids that get old machines to play with and now won't learn Solaris and thus keep Oracle out of the long-term business. It's just not smart.

But then again, I've never thought that "smart" was a good adjective for Oracle.

iPhoto ’09 (8.1.2) and iTunes 9.1 are on Software Updates

March 31st, 2010

This morning I saw that both iPhoto '09 (8.1.2) and iTunes 9.1 were out on Software Updates. From what I've heard, iTunes 9.1 is about preparation for the iPad launch in a few days. I'm not sure what's up with the new iPhoto, but I'm guessing it has to do with supporting more cameras, or security and stability fixes. Good enough.

I use both of these a ton, so it's nice to see them updated.

Can You Generate Trust with a Micromanager?

March 30th, 2010

I'm having a difficult time trying to come up with a good, solid, plan for dealing with a serious micromanaging manager. He's a decent guy, but I'm not sure if it's "just his way", or if it's an issue of trust that causes him to be so involved in every single detail of the work I do. After a full year of delivering good stuff, and even asking me what I thought he should do in a lot of situations, I'd think we had established the trust necessary for him to be able to give me something to be done, and then walk away until I had something to show him.

But that is clearly not the case.

So I'm beginning to think that it's not trust at all that's the issue. Problem is, I really don't have any other idea what it could possibly be. I'm going to try and ask him about it in our monthly planning meeting coming up in a few days, but I wonder if he's even aware of the issue?

Probably not.

In fact, I'm guessing that he thinks this is what everyone likes. That, in fact, this is the preferred way a manager acts to his people. If he likes it, then why wouldn't we?

I think I may have my work cut out for me on this one.

May not even be possible, but I think it's worth at least a few questions to see if he's aware of the situation.

Mac OS X 10.6.3 is on Software Updates

March 30th, 2010

This morning Apple finally released 10.6.3 and with it a slew of updates and fixes to the system. I've got it installing on my MacBook Pro now, and will update my Mini Server later today as I have time. Exciting stuff to see the OS take nice, big, steps forward.

First Full Day in The New Space

March 29th, 2010

cubeLifeView.gif

Well today has been a whirlwind of activity. It's the first full day in the new space and there are a lot of things that aren't quite right. I had the benefit of unpacking over the weekend, so I'm ready to go, but there are a lot of people with issues ranging from "not too bad" to "pretty serious" and there is a small army of support folks here to make sure that we can trade today out of the new space.

At the same time, today I'm doing a lot of application changes and re-configurations that is supposed to help the London folks better manage their risk. Will it? Not sure. They say it will, so I'm doing it, but in the end, I've often wondered if these kinds of changes are really proven to be worth it, or if they just believe they need it, and want to see it and play with it to see if it really lives up to the hope.

It's about thinking about what's really needed as opposed to simply doing something with the hope that it's going to be good enough to get the job done. If not, then try again. While it's possible to achieve success like this, it's also just as likely that you'll take enough 'stabs' at the problem that it'll be dead. It should only be a last resort - not a preferred way of development and design (which is to say no design).

But I'm not being asked to correct these problems - only update the apps. So I shake my head and wonder how many of these I can send to The Daily WTF before I'm found out.