Archive for the ‘Vendors’ Category

Figured Out a Work-Around for the VantagePoint Second Y Axis Bug

Monday, November 10th, 2008

comboGraph.png

I've been wrestling with a VantagePoint bug concerning the placement of Variables on the secondary Y axis, and this morning I got another email from Gordon with an example application that showed the secondary Y axis working perfectly. It took me a little bit to figure out that Gordon had put in the setLicense() call into the code, as I put mine in at another place and his trumped mine and so nothing worked, but that was a "Duh!" moment that was easy enough to figure out.

No, the problem was that on a simple graph, like Gordon's example, where the graph was all set up and ready to go before the first call to unlock() on the graph, didn't show the problem. When I looked at my code, there's all kinds of lock() and unlock() calls, and in general, the construction is far more dynamic - by design.

I was playing around with a lot of things and then came across this little nugget that was the beginning of the end for the problem. When I did the initial setting of the Variables on to the secondary Y axis, the code looked pretty familiar:

  for (int i = 0; i < cols.length; ++i) {
    getGraph().getVariableAttributes(cols[i])
        .setOption(VariableAttributes.voiSecondary, true);
  }

As you'd expect, this runs through the array of int values for the column numbers and sets those that need to be set. Pretty simple. Or so I thought.

When I did this I found that setting cols[2] actually also set cols[0] and if I cleared out cols[0] it also cleared out cols[2]. It's like they were linked somehow. I verified this by logging the status of each getOption() call for each of the columns on the graph after each call to setOption(). I was stunned.

I also was unable to reproduce this in the example Gordon gave me. I wanted to be able to send him back something but it wasn't looking good. Then I got the idea that maybe this was an order of operation issue, like some of the others have been with VantagePoint. Basically, for showing points and labels, it seems there's a necessary order to respect. This isn't required when you build the graph atomically, like Gordon's example, but it is in my code.

So I started messing with the order.

The first thing I did was to move the setting of the secondary Y axis to after the visibility of the points and labels. Immediately, it worked. Wow. That was fast. There wasn't much else to do but to document the heck out of the placement of the code, and then write it up to Gordon. In the end, I'm not sure if he's going to write back with requests for more data. If he does, I'll certainly try to supply it, but it's going to be tough. Simple is not where this guy shows up.

But it's nice to have it working as it's supposed to:

Fixed Second Y Axis

Seems Visualize Inc has been Bought – Serious Blow to VantagePoint

Thursday, October 30th, 2008

comboGraph.png

I've been using VantagePoint for quite a while, and a few weeks ago I sent in a few questions to the technical contact I've been using in the past and got an automated reply that he'd left the company, and all further requests need to go to Gordon, whom I've come to believe is the lead developer on VantagePoint. So I forwarded my questions to Gordon.

A few days later, I got a reply from 'Dawn' saying that we appeared to be in arrears on the maintenance agreement to the tune of some $20k+, and we needed to come current with that, and answer a few questions about our usage of VantagePoint, and then she'd allow the technical support guy (Gordon) to answer my questions.

Well... it took a while because the maintenance bills were sent to the paying agency, which, for a hedge fund, isn't always the same as the hedge fund. So, that's why we haven't been getting them. There were a few harsh words, until 'Dawn' figured out what was happening, and that this was a good way for them to get $9k/yr for doing essentially nothing, and things got back on track.

Gordon has been helping me since things got cleared away, but this morning I was just looking at a recent reply he sent me and I noticed that he cc:'ed a Dawn McKeever - at McKeever Financial. I had to look them up.

I've suspected that there was a management shake-up at Visualize Inc, because of the way they treated us, but I didn't suspect them to get bought out by an accounting company. Holy Cow! The web site for McKeever Financial isn't nearly as professionally done as the one for Visualize Inc. While that doesn't mean they didn't have the money, and that Visualize Inc wasn't in trouble.

It's just that when one of the owners is doing the Accounts Receivable, you know it's a small shop. And when it's an accounting firm, you know their priority is not going to be a high-performance Java graphing/visualization package. So chances are, the company got into trouble, and as an added asset, they included the software and it's users as part of the deal. But the guy had to go back to what he was more "billable" at, and now the support for VantagePoint is part-time on evenings and weekends.

It's just too bad. I really liked the package. It had a lot of promise, and yet I know it's only a matter of time before it's stale and dies of neglect. If they had just given up and given the users the code in escrow, then we'd be able to do something with it. But they didn't. Shucks.

It’s Amazing How Much Work a System Can Take

Wednesday, October 29th, 2008

SwissJupiter.jpg

Today has been nothing more than one little task after another. A million cuts. Nothing that hard - assuming you know this particular system, but it's amazing that there's nothing in this multi-million dollar system that allows you to "update" it's components en masse. There are some tools, but as evidenced by what I've done today, they aren't very good, and everything has to be verified to see if it actually worked. That's no way to work.

Then there's the tech support... virtually non-existant, and when they do try to help, you're lucky if they answer the question. OK, they have the easy ones covered, but those, by definition, aren't what you need help with. The hard ones like how are messages passed in this single-threaded model of yours? or I can see the data in the GUI client, but how can I get at it programmatically? - those, well... I've found that it's important to ask, only to have a written record of them not answering. In the end, you have to figure it out.

But what has struck me today is the mountains of work that this system - so very close to production status, is taking. It was supposed to make things easier... reduce the staffing requirements... eliminate systems... but it's having the complete opposite effect. New processes and applications are being built to interface it to systems it's not replacing. The number of people keeping it going make me think of the building of the great pyramids of Egypt... thousands of people toiling for their entire lives to build something one person is going to use. Kinda sad, in a way.

So today has been that kind of day that we move bricks. Nothing impossible, just lots of little bricks.

JDK 1.6.0_10 is Out – Applet Stability Goes Final

Tuesday, October 28th, 2008

java-logo-thumb.png

I've been using the betas and release candidates of JDK 1.6.0 for several months now as it's the only version that allows me to properly run one of my apps in Java WebStart and have the graphing applets I've written work in web pages. It's been a know issue for Sun for a long time, and 1.6.0_10 has been in "beta" and then "release candidate" for a long time - I mean months. So it was nice to see yesterday that they finally released it.

I got the Windows and Linux versions and put them on my machines. It's where I need the WebStart and applet stability that this version gives me. Why they called it '10' when the last one I remember was '7', I don't know. I'm guessing a different group of guys was working on this from the main-line code, and it's taken so long because in addition to their features and fixes, they had to merge back in all the changes to the main JDK branch.

In any case, I'm sure it'll be a while before it shows up on Software Update... Apple is not the early adopter of JDK releases, they go through a lot of work when they get a new one, and that's OK with me. Mac OS X is a great java development platform, and the applet support was (and is) great without the need for JDK 1.6.0_10. But I'll bet that we see it. If not soon, then in Snow Leopard due out in January.

VantagePoint 4.6.6 build 209 Fixes Some Problems, Misses Others

Tuesday, October 28th, 2008

comboGraph.png

I heard back from my tech support contact at Visualize Inc. about an update to VantagePoint to bring it to 4.6.6 build 209 to fix the problem I'd been having displaying a Variable from a TwoDimDataSet on a secondary Y axis. It was a few weeks ago that I first saw this bug - it was brought to my attention by another developer. The bug only appeared in ver. 4.6.6 - as it was working fine in 4.6.4. So I emailed them, and while it took a while for other reasons, Gordon kept me updated on the status of this, and got me something working today.

Unfortunately, it's still got that weird bug where trying to plot Variable(i) ends up plotting Variable(i mod 2) no matter what the value of i. He said that bug would likely still be there, and after my tests, I informed him that, indeed, it was still there. Fair enough, he's going to work on that and get back to me.

For now, I've got one bug down, and another in the wings. As soon as that guy is fixed, I'll be able to give something to the developer that originally pointed out the problem to me.

DataGraph and Framework Updates to 1.6.1.1

Tuesday, October 28th, 2008

DataGraph1.5.jpg

I noticed this morning that DataGraph had been updated to 1.6.1.1 with several bug fixes regarding the inclusion of multiple y-axes on the same plot. Since I love to play with DataGraph, I decided to get the update for the app and the Framework - who knows, maybe I'll get around to playing more with it today and checking out the differences.

Shopping at the Kindle Store and What Kindle Update?

Monday, October 27th, 2008

Kindle.jpg

Well... today I noticed that there were a few good books out from two of my favorite authors, and as soon as I get done with the latest Clive Cusser book Plague Ship, I was looking to dig into something from Vince Flynn or Brad Thor - both of the same genre. I noticed that they had two books out that I hadn't read - each, and so I got them. Love that Kindle shopping!

What I have been a little surprised about is the lack of additional rumors about the second-generation Kindle. The last leaked snapshots I saw were a step backwards. I'm wondering if the initial tests looked good, but then the usability and form-factor was really off. That was my take on it.

At the same time the new Sony eReader with touch-screen interface is really pushing the limits and it'd make the simply re-pacakged Kindle look pretty sickly. Maybe they pulled it for that reason. Whatever the reason, I think it's pretty clear that we're not seeing a new Kindle in the next 4 days, so the rumor of a new Kindle in October is bust.

Maybe early next year? Who knows. Until then, I'm very happy with the one I have. OK... there's a few things I wish it had - organization is the biggest. I wish there were ways to tag them as "this is the order I want to read them in", and/or put the publishing dates on them in a place easy to see.

Secondly, make it easier to file away a book that's read so it doesn't clutter the screen. And while you're at it, make 'Folders' for heaven's sake. How hard can that be? That would solve a ton on me issues. But until they do, I'll still keep reading.

UPDATE: I sent in the suggestions to Amazon and we'll see what comes of my suggestions. I'm guessing I'm not the only one asking for this kind of stuff, so maybe we'll see something. Would be very nice.

Fission 1.6 is Out!

Monday, October 27th, 2008

Fission.png

You have to love Twitter for application updates. It seems to be the mechanism for indie Mac developers. Well... today I got a tweet saying that Fission 1.6 was out with a lot of improvements:

The biggest update is that Fission now has built-in iPhone Ringtone saving, using the same method found in our MakeiPhoneRingtone application. With Fission, you can take any audio file in any format (not just AAC), and easily turn it into a ringtone/alarm sound for your iPhone! Just crop it down to 40 seconds or less, then choose “Save as iPhone Ringtone”, and Fission will handle the rest. Your file will be transcoding to AAC if needed, then passed off to iTunes and ready for syncing.

Fission 1.6 also adds the ability to Insert Silence into a file, a command to set the exact location of the playhead, software updates via Sparkle, and almost two dozen additional improvements and bug fixes. It’s a free update for all licensed owners of Fission, and can be downloaded right here.

While I'm not into the iPhone scene -- yet, I can appreciate the Sparkle updater and the ability to make the ringtones as good, solid steps in the right direction.

BBEdit 9.0.1 is Out!

Monday, October 27th, 2008

BBEdit.jpg

This morning I noticed that BBEdit 9.0.2 was released with a ton of fixes and a few new features. Probably the most interesting new thing is the ability to choose the language on the scratchpad so that it can have syntax coloring. There were also fixes in the Javascript and HTML parsing. Lots of little things, which is nice to see.

Adding Auto Zoom Reset Option to BKit Graphs

Friday, October 24th, 2008

comboGraph.png

A few days ago a developer stopped by to ask me if I could make a change to the BKit graphs as he had heard from the users that they didn't like the default behavior - bug is what he used, but it really wasn't.

Basically, if you pull up any graph, and then zoom in on a section of it with the mouse, and then change the axes the zoom remains in effect until you tell it to reset by clicking on it with the mouse. It's an orthogonal control set - zoom is one thing - axis control another. Seems simple to me. Sigh... not so to others.

He said they wanted to have the zoom reset (zoomed out) all the way when the axes were changed. I can see this. But I can also see the default behavior. He agreed that there were two ways of looking at it - but I'm guessing that he was only interested in saying what would get me to put in the feature he wanted. So be it.

So we settled on an option that can be given to the graphs, or set in the applet PARAM tags that will tell the graph when it changes the data sets to reset the zoom all the way out. The problem came in when I tried to find out how to do this in VantagePoint. It wasn't obvious, I tell you that. This was made for the mouse actions and not programmatically. So I had to send off an email to their tech support and see what I was missing.

Turns out, the tech support agrees with me that this wasn't easy to find, and the code to do it wasn't obvious either. But with two calls you can reset an axis, and given that we have two, and sometimes three, axes to deal with. I put the code into resetZoomOnGraph() and then added an ivar to see if we needed to call this on changes to the graph. If so, then call it, if not, no biggie. Either way, there's a way to do it manually now, which is nice.

I've got all the code ready to go, and as soon as I get the fix for the other VantagePoint bug I've got pending with them, I'll check it all in and then let the guys know that the new applet tag is there for their use and they can have it anyway they want.