MacVim Pops Out Snapshot 36

October 6th, 2008

MacVim.jpg

This morning I got notice on the mailing list that the MacVim team has released Snapshot 36 to fix the problem in Snapshot 35 of dropped characters when they are input too quickly. Seems the developer was tinkering around with changing the input queueing of the keystrokes, and it ended up dropping things. He fixed that up and also took care of several memory leaks.

Excellent work. I continue to be amazed at the level of integration they are doing with Vim on the Mac. Love it.

Interesting Application of My Quantum Mechanics

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!

Adding Inclusion of the Origin in BKGraphs

October 3rd, 2008

BKit.jpg

A developer and I were talking about the problem I was having with the second Y axis on the VantagePoint graphs, and he brought up another point: "On graphs", he said, "the origin is included and that tends to 'flatten out' the data so that it's not as rich in detail as it might be." Basically, if the range of the data on the y-axis was 1000 to 1100, the graph would include the y-axis origin and the graph would be smashed at the top. Not good.

I ran some tests, and I found that on my tests, the graph didn't include the origin. I asked him to send me data to verify, and he wrote back that the secondary Y axis data - minus the second Y axis, was fine. Here's a prime (but simple) example:

Squished Line Graph

Sure enough, on a line graph, the y-axis origin is included. I was testing the scatter graph. So I dig into the docs and it seems that VantagePoint defaults this inclusion of the origin differently for different graphs. What I then did was to add the ability on the graph and the applet using the graph to force the inclusion of the origin for each axis independently... or not. Up to the user. So we end up with:

Scaled Line Graph

which is exactly what he wanted. Nice. Now there's the choice and that's going to lead to better looking graphs for the users.

Had a Few Things to Look at in the BKGraphs

October 2nd, 2008

BKit.jpg

A few days ago, I got an email from the manager of this web site saying that he was starting to use the dual-Y-axis line graphs in BKit for the first time, and he was having a problem. I knew I had them working, but I checked my test case applets anyway. Sure enough, they worked fine on several systems in browsers and in the Java appletviewer. I sent back an email saying I couldn't reproduce the problem.

He got back to me saying it was the version of VantagePoint that seemed to be the issue. If he used the older version I used in my tests (4.6.4) then it worked as well. But if he used the newest version (4.6.6) then he got the following exception:

  Exception caught on Viewer[hash=07207493]'s render thread.
  java.lang.RuntimeException: Not implemented.  Use TwoDimVectorDataSet or
        TwoDimTimeSeriesVectorDataSet
    at com.visualizeinc.vantagepoint.jdk12.jfc.CommonDataSet.getColumn
    at com.visualizeinc.vantagepoint.jdk12.jfc.TwoDimLineChartViewer.getIsOnSecondary
    at com.visualizeinc.vantagepoint.jdk12.jfc.TwoDimPointViewer.bp
    at com.visualizeinc.vantagepoint.jdk12.jfc.TwoDimGraphViewer.b
    at com.visualizeinc.vantagepoint.jdk12.jfc.TwoDimPointViewer.e
    at com.visualizeinc.vantagepoint.jdk12.jfc.TwoDimLineChartViewer.e
    at com.visualizeinc.vantagepoint.jdk12.jfc.VisualViewer.p
    at com.visualizeinc.vantagepoint.jdk12.jfc.VisualViewer.b
    at com.visualizeinc.vantagepoint.jdk12.jfc.VisualViewer.run
    at java.lang.Thread.run(Thread.java:613)

I sent off an email to the VantagePoint technical support guys and didn't hear from them for a day or so, so this morning I decided to see if I could fix it by changing my use of the TwoDimDataSet to the mentioned TwoDimVectorDataSet.

So I started by making that change and recompiling. I then ran through all the graph types I had to make sure they all worked. The first problem I ran into was with the Heat graph. It was all red. I had to track it down to a few lines in the creation of the Heat graph:

    case HEAT:
      g = new TwoDimGridViewer(getData(), true);
      if (g == null) {
        error = true;
        throw new BKDebugException("BKBaseGraph.switchGraphType(int) - a VantagePoint
            TwoDimGridViewer could not be created on this dataset. This is a serious
            problem as nothing can be changed.");
      } else {
        // make sure that the graph knows to color pts & labels
        g.setOption(VisualViewer.oiColorStatus, true);
        g.setOption(VisualViewer.oiColorStatusLabel, true);
      }
      break;

It turned out to be lines 9-11 which had been put there to make sure that the default color of labels and points was red. This works fine with the other graph types, but for the Heat graph, it makes all the squares that color. The solution is to not call those methods and I decided to add in the color smoothing in it's place:

    case HEAT:
      g = new TwoDimGridViewer(getData(), true);
      if (g == null) {
        error = true;
        throw new BKDebugException("BKBaseGraph.switchGraphType(int) - a VantagePoint
            TwoDimGridViewer could not be created on this dataset. This is a serious
            problem as nothing can be changed.");
      } else {
        // smooth the colors from one square to the next
        g.setOption(TwoDimGridViewer.gtSmoothColorGradient, true);
      }
      break;

At this point, I have a nice Heat map again:

BKFixedHeatGraphApplet - Fixed

But when I tried to change from using the TwoDimDataSet to the TwoDimVectorDataSet I got a different exception:

  Exception caught on Viewer[hash=03840954]'s render thread.
  java.lang.NullPointerException
    at com.visualizeinc.vantagepoint.jdk12.jfc.TwoDimLineChartViewer.getIsOnSecondary
    at com.visualizeinc.vantagepoint.jdk12.jfc.TwoDimPointViewer.bp
    at com.visualizeinc.vantagepoint.jdk12.jfc.TwoDimGraphViewer.b
    at com.visualizeinc.vantagepoint.jdk12.jfc.TwoDimPointViewer.e
    at com.visualizeinc.vantagepoint.jdk12.jfc.TwoDimLineChartViewer.e
    at com.visualizeinc.vantagepoint.jdk12.jfc.VisualViewer.p
    at com.visualizeinc.vantagepoint.jdk12.jfc.VisualViewer.b
    at com.visualizeinc.vantagepoint.jdk12.jfc.VisualViewer.run
    at java.lang.Thread.run(Thread.java:613)

which is saying that it's trying to call CommonDataSet.getColumn but it's getting a NullPointerException. I'm guessing that this is something to do with the way the TwoDimVectorDataSet is used. Interestingly, all the graphs I've checked work fine with the TwoDimVectorDataSet instead of the TwoDimDataSet. So I'm thinking I'm using it properly, it's just something in their code.

I've gone directly to their web site and put in a support request saying all the data I have on this and asking them to please help me. New version... new code... something that will give me back the double-Y axes on a graph like was (is) available in 4.6.4.

Skitch v1.0b7 Released – One of My Favorite Apps

October 2nd, 2008

Skitch.jpg

This morning I read that the great guys as plasq have released Skitch 1.0b7 which has several new features and a few bug fixes as well. The primary change is the addition of the 'Put on all Spaces' option in the preferences. This makes it possible to have Skitch on every Space, and that's handy for moving things between Spaces.

OK, so it's not like they upgraded the storage, or added in something new and wild - but it's already the best app I've ever seen for what it does - get pictures easily, edit them simply, save them to the web in a place that's easy to link to, and you're done. All of this takes next to no time, and any improvements are just icing on the cake.

It's an open beta... look into it. It's wild.

Updated to Git 1.6.0.2 on My Intel Macs

October 1st, 2008

gitLogo_vert.gif

I checked, and the Git for OS X group has built git 1.6.0.2 for the installer. Since I've decided to use them for git, it made sense to update. Additionally, 1.6.0.2 is the version that I've built from source for my OS X 10.3.9 box so it makes good sense to move.

I'm still waiting for some time to get gitweb going on my home server, but it's been a heck of a few weeks, and there just hasn't been time. Soon... very soon. And then there's the project I need to start using it... Holy Cow!

I gotta say... I'm really looking forward to using this. I just wish I weren't so bloody busy this month. Soon enough.

Apple Lifts the NDA on the iPhone Developers

October 1st, 2008

Apple-logo.jpg

Amazing, but they did it. Apple lifted the NDA on all iPhone developers. Great. I guess the pressure worked. Good enough. I've already heard that the Pragmatic Programmers are back 'on' with their iPhone development book. Nicely done. I'm not in the market - yet, but when I am, it'll be nice to know these guys have a book that I can get as PDF and view on my MacBook Pro.

Well... that's been an unusually awkward period for Apple. I'm glad it's over. The Good Guys are better than that.

Well… That Didn’t Take Long…

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?

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.

Perian 1.1.1 is Out – But it’s Tough to Get

September 29th, 2008

Perian.jpg

This morning I saw that Perian 1.1.1 is out, and I tried to get it. First, through the auto-updater in Perian itself, and then directly from the Perian web site. I was stunned... it took me several hours to get the update, and in the end the auto-updater was the 'winner'.

I was stunned. I've never seen a web site under such load. I may be trying to infer causation in a correlational study, but if they are getting hit this badly from an update, they might need to get a better hoster - or maybe get more donations because this thing is big.

I'll admit, I probably never see it in action - QuickTime just works and the plugin is just that - a plugin. But I have to say I'm impressed. Go get 'em guys!