Archive for August, 2007

New AdiumX, iWork ’08 Arrives, and Finishing Coding

Monday, August 13th, 2007

This morning I have finally finished the coding of the SOD Position editor applet and web page. Today it was the applet activation in IE. Amazingly painful. But in the end, it's working and that's all the really matters.

Also, AdiumX 1.1 was released over the weekend and I updated it. The bug fixes look nice, and I have to say, this is an amazing step up from Fire, and I thought Fire was it. Use it every day, all day long.

On Saturday, I received the package from Apple for iWork '08 and put that license code in to stop the 30-day trial and get things set up right. I am still amazed at the level of thought put into Numbers. The increment GUI tools are clever, and completely obvious to use. The graphs are nice - much nicer than the default graphs in Excel. I'm still very glad I got this.

Today I'm going to try and get caught up on all the things I've let slide a few days as I've been working on the SOD Position Editor. Shouldn't take too long - the first thing (catching up on my journal) is now done.

Great Coding on my Anniversary

Friday, August 10th, 2007

Today I've been doing more coding on the SOD position file editor. I talked about it a lot in the post yesterday, but it's nice to be moving forward - even if it's slowly. The Java GUI tools are powerful, I'll grant you that, but they aren't something that you can use once every year and expect to be really proficient at much of anything. You have to dedicate a lot of time to getting into each class and how it fits into the collective whole to be able to code a good looking GUI without having to hit Google for every other feature.

Also, today is my anniversary - 22 years. Amazing. Going to try and have a little fun this weekend.

In the Groove

Thursday, August 9th, 2007

I've been in the Groove on adding the start-of-day (SOD) position file editing to the editor web for my server. Java GUIs aren't my favorite thing to code up because of the mastery of the object library to really get it done right. Thankfully, Google is there to help.

UPDATE: One of the problems was getting the columns sized correctly. And when I say 'correctly' I mean sized to fit the data in the column headers and column data. So that if you give it enough horizontal space, you'll be able to see everything without having to resize the columns each time you do something like sort the table by a column. The code turned out to turn off the auto-resizing and then go through each column, getting the renderer and asking it what it's preferred size was. Add those up, tack on a bit of margin and you have it. The code is in BKSimpleTable, if you want to have a look.

The next thing was getting the changes back to the server from the applet. I decided to make a cgi script that simply took the old and the new, and replaced one with the other in the SOD position file. It turns out that it's not that bad - but not really efficient either, as you have to scan the file for the matching line. But that's not horrible as we're not doing hundreds of these a day.

The next hurdle was getting the applet to auto-activate in IE. Turns out, IE requires that you call Javascript in another file in order to get it to work. Basically, make a Javascript function myPrintln(s) and in that simple call document.writeln(s); and as long as this is in another file, it'll work. Then, write out each line with this method. Seems like a waste, and it is, but that's IE compatibility. I do with they'd get on the ball.

In the end, things are looking good for a 1.0 release of the page. I've shown it to the Data Team and they will play with it and see if they can find any problems or additions that they need. I'm hoping that this makes the corporate action processing so easy that it's not a major issue any more.

iWork ’08 Released

Wednesday, August 8th, 2007

Yesterday Apple updated iWork '08 and with the addition of Numbers to iWork, it was something I really had to try. I've been putting off getting MS Office for a long time. I just didn't like the idea of spending money on another Microsoft product, and TextEdit and Mesa did almost all the tasks I needed. But they weren't 100%, and in the end, I still had to do a lot of fiddling with Word, Excel, etc. So I was happy to see that iWork added a spreadsheet.

I got the trial and tried to open up some of the critical Excel and Word docs that I needed to have. For the most part, I need to be able to read and write these formats, so it was very nice that right there on the web sites, it says Pages and Numbers can read and write Office formatted files. Combine that with the fact that the style of these apps is incredible, and you have a really compelling argument.

Then again, it's $79.

Sold.

I will use the trial until I get the serial number in the email, or get the package from Apple in a few days. It's nice to be able to support the Good Guys and at the same time fit in with the rest of the business world on the file formats. Yup... I'm a big Apple fan.

Where are all the Good Developers?

Tuesday, August 7th, 2007

We have been conducting phone screenings for developer positions at work and I have to say, it seems that the really good developers have gone into hiding... maybe the witness protection program, or something. It's amazing. I've tried to think of my old co-workers and realized that most of them are happy (enough) in their jobs - that or they have moved out of the city/state and don't want to move back. It's getting surprisingly hard to find really top-notch candidates to hire.

I'm sure the I'm happy with my current position plays into it a lot, as does the desire not to get management upset after learning that you're in the market for a new position. But really... I'd have expected more than we're seeing.

Well... the search goes on.

Not Everything is a Good Plan

Monday, August 6th, 2007

Well... I spent a lot of time Wednesday and Thursday working on these improvements to the Server, but the more I got into it, the more I was convinced that it was a horrible idea - and it was my idea. The basic idea of the enhancement was to have the instruments in the server contain a business date, and then according to a configurable schedule, we'd roll the business date by region (Asia, etc.) and that way the instruments would pick up new SOD positions and 'look' like they were ready for the next business day.

But the problem was really that all the changes required for this to work would have made the server far less stable in the short-term, and that might be a public relations problem that would take months to recover from. Additionally, I needed to know the exact requirements from the traders in Hong Kong, as they are the ones pushing this. Do they need to see the positions for Europe and the Americas when they get in? Do they need to see the marks? These are things that are going to make a huge difference to the code.

In the end, I decided that it would be far, far better to make the server capable of reloading it's complete position set - as well as marks (which it already does), so that we can make a trial SOD position file and start a new server off that - ideally, London. Then, when the final SOD position file is ready, we copy that over to London, and reload all the positions into the London server. This means that the Asia positions and marks will be rock-solid, and the Europe/Americas positions will be close and the refinement will make them just perfect.

This solution has many upsides, but the one downside is the human cost of data maintenance. If we have two servers, then any editing done to one has to be done to the other as well. This just means that the effort I would have placed in the server now needs to go into the server and editor. Basically, all the editing operations that are now being done need to be made as simple and easy as possible. That way, the load for the data maintenance of one server goes down, and hopefully, the addition of the other is not a horrible problem.

There are several things to work out, but the number of systems that have to change in this plan is much fewer - only the Server/Editor. This makes it much more likely that the stability will remain high during the changes, which is a major benefit. We have to deal with the trade processing, but that shouldn't be hard - again, it's by region. Also, we need to have a trial SOD position file, and that should not be hard either as it's already capable of being generated by several systems at this time.

Not all my plans are jewels... this one is far better than my original. Far, far, better.

Lots More Work on the Server

Wednesday, August 1st, 2007

Today was spent working through a few issues on the conversion of the server from a nightly restart to continuous operation with multiple regions rolling over as the day progresses. It's really that latter part that's the pain in the neck as a single timezone implementation wouldn't be nearly as hard, but the problem is that we can't get people here to stop work early enough to allow the system to be ready for the start of the far east day.

Today was really just trying to get all the references to the global constants for time and date to be region-specific so that we can have n regions and not have to worry that there are just two - like there are at the present time. While I don't think there will ever be more than two regions, it's not a good idea to build in such a concept as it represents a serious limitation going forward.

Tomorrow will be more heads-down coding. Not a lot of time to sit up and look around, I need to get this code in place and working on a single timezone as soon as possible to check and see what the stability impacts are to the system.

More News on the iPod

Wednesday, August 1st, 2007

Stories on the Mac rumors sites say that a new Nano with video capabilities is coming out next week. Not bad. I'm sure there are lots of folks that will buy it. I'm not one of them, but there are plenty that will use it to store a few shows, or a decent music collection. But the real news is that it's not the update to the real iPod. That's still being estimated at next year as a no-phone iPhone. Once again, if they make it I will buy it. My old iPod is still working, but it's got issues on the sound production, and the battery is not what it once was.