Transmit 4.1.5, Dropbox 1.0.20, Skype 5 all Out

January 28th, 2011

Dropbox.jpg

This morning there were a few updates, one interesting story and the worst UI make-over I've seen in ages. Let's start with the non-story. Dropbox 1.0.20 was released, and I was sure this was supposed-to auto-update itself as it saw there was new code to deploy. But it seems that I need to manually update each time. Not a horrible problem, but it's somewhat annoying. Still, it's a great app as it just works. Nice.

Transmit 4

Then there's the story of Transmit 4.1.5 - it seems the guys at Panic wanted to have the same release schedule for the App Store version and the "buy direct" version, so they held off on releasing the update to the "buy direct" customers, like myself. When it was clear that the App Store review process was taking more than a week, they decided that in all honesty, they couldn't withhold the update from the "buy direct" customers. So they released it. It's going to be a fact of life that developers will always be able to release apps faster on their own than going through Apple's review process. But so it goes. Vendors are deciding how they are going to handle the release time differences, and trying to be fair to all. It's a tough problem.

trophy.jpg

Then there's Skype 5. I don't get it. It's a competitor to iChat, Adium, and other IM apps as well as a front-end for VOIP calls and video conferencing. It's a simple concept. They went from a somewhat large-ish window, when compared to iChat and Adium, and they Pumped It UP! It's now a monster on the screen. Why? What possible reason could they have for making this thing bigger? Make chat windows small - or able to be small, that's easy. When you're on the phone you don't need a window - that's small. WHen you have video chat, make it a separate window. They blew this. Horribly. Worst. Redesign. Ever. Amazing.

A Plethora of Rock Stars – Save Me!

January 27th, 2011

cubeLifeView.gif

Everyone wants to think that their work is really special. That theirs is the work that's really clever, or complete, or accurate. I'm sure it all stems from everyone wanting to think that they are special. But we all know that's not really the case. Oh sure... we're all unique individuals, and we all have our assets and weaknesses, but it seems that in the last few years I'm running into more and more folks that just believe - without question, it seems, that they are indeed The One.

It's the Rock Star mentality that seems we're getting more and more inundated with lately. Maybe it's TV and everyone thinking "Hey, if they put that on TV - I can be a TV star!" Who knows, but it's really something I could do without.

Today I've been dealing with some folks on an issue at The Shop, and it's just amazing the attitude I'm seeing. I was asked to deliver a product, I did. They were asked to use it, and they come back with all these measurements of the difference in their version and mine. Yup, there are differences - by design. But it's so passive-agressive to take all this time and bring up all these differences when what they want to say is "I don't want to use it". Problem there is that it's not their choice.

So we get into this very lame discussion about why theirs is better, but it misses the point that management, for better or worse, has listened to the arguments and made a decision. Personally, I don't care if they use my stuff or not. But management cares. Why they are arguing with me (in the passive-agressive way), I do not know. They seem to think I'll back off and go away.

Again... I don't care. Use it or not, it's up to you. But if management asks why you haven't, don't be surprised if they don't like your answer.

I'm floored by these types of people. It's like they believe it's their decision to make. Amazing. Not their company, but it's their decision. Wow.

Properly Mapping the Service Coverage for OPRA

January 27th, 2011

WallStreet.jpg

I finally got my hands on the coverage map for the existing 24 OPRA channels - the option data feed from SIAC. It's nice in that I can now exactly map my ticker plants to the symbol ranges they cover. Prior to this, I was guessing, and to cover myself, I was making sure there was lots of overlap. Now it's tight, and focused. Very nice improvement.

At the same time, I worked up the mappings when they go to the new 48 channel distribution in a few months. For me, it'll be just a few changes and I'll be up to date with the new 48.

Just nice to get this out of the way.

Doing a Little Work Debugging ZeroMQ

January 27th, 2011

ZeroMQ

I got a response from Steve on the ZeroMQ mailing list about my problems with the latest clone of the github repo. My initial email wasn't very solid, and I've learned a lot sense then, so I made a very nice, detailed response - with line numbers and logic flow, so that he can see the problem I've run into and hopefully come up with a solution.

We'll see in a bit, but for now, it's nice that we have a fall-back tarball that I kept. It's working fine on CentOS 5 and Ubuntu 10.04.1.

Starting to Learn Erlang – Get it Installed on Mac OS X

January 27th, 2011

erlang

Well... I'm off on a new path - learning erlang. I have to admit I'm very interested. It's got everything I don't have in C++ - functional programming, easy threading, concurrency without hassles... it certainly looks to be a growth experience. I'm looking forward to it.

I need to learn this for a project here at The Shop, and it's good to be working with a good erlang developer to help me figure things out.

The first thing was to get it installed on my MacBook Pro. There's a site that makes it pretty easy, as if it isn't already pretty easy:

  cd otp_src_R14B01
  ./configure --enable-hipe
  make
  sudo make install

but there is one interesting limitation at this point: you can build it 64-bit on Darwin, but then you can't use the wxWindows graphics. I chose to use the graphics and stay 32-bit. Seems like a decent trade-off for now. Hopefully they will get this fixed in a future release, but then again, who knows.

Upgraded to Git 1.7.3.5 on my MacBook Pro

January 27th, 2011

gitLogo.gif

This morning I was wondering what the latest version of git was, and decided to check the nice Mac OS X Git Installer and was very happy to see that they now have x86_64 and i386 packages. Previously, it was only i386, and while I don't expect to see a huge difference in the 64-bit version, it's nice to get as many tools moved to 64-bit as possible.

Sure enough, after installing the package, I was treated to:

  $ git --version
  git version 1.7.3.5

Sweet.

The Internet Really Has Changed Communication – Amazing

January 27th, 2011

chat.jpg

I'm sitting on the couch this morning, reading my news, the feeds, etc. - just like I do every day and I got a chat from a guy I chatted with yesterday in the ZeroMQ chat room on freenode. He was chatting me about some questions he'd had on ZeroMQ usage and I was helping him. We talked for about half an hour - until I had to leave to catch the train, and then we finished things up when I got to work.

The amazing thing is that this took place at 3:30 am my time. This guy is clearly in Europe, and we're chatting like he's in the next room. Sure, you can do this all with phones, and this technology isn't new, it's just become so pervasive. Everyone has a chat client. Everyone has an IM client. And everyone uses them.

The world has become a much smaller place. Neighborhoods are now really places of common interest, in addition to the physical street you live on. It's really just stunning to me sometimes. I can remember ARPAnet getting going. I can remember the cool tools of ftp and telnet. I can remember seeing all this grow. It's inspiring, it really is.

I can remember my Dad once saying that his Dad saw the invention of radio and lived to see it used to talk to a man on the moon. I feel just as awestruck. We live in amazing times.

Google Chrome dev 10.0.648.6 is Out

January 27th, 2011

This morning I saw that Google Chrome dev 10.0.648.6 was out with just a series of bug fixes ported into the dev channel from the other channels. It's a nice little maintenance release for today.

Added More Fault Tolerance to Ticker Plants

January 26th, 2011

This afternoon I've been working on adding a bunch more fault tolerance to my ticker plants. I had a problem one time with the SIAC symbol mapping data coming out of the configuration service. It should have been a simple JSON map with strings for keys and values, but for some reason, one of the elements wasn't a string. Exception.

So I added in the test for the data types and if they aren't strings, I log it and move on. Had another one where the configuration service didn't return sufficient data for properly configuring a UDP receiver. It then got stuck in a very tight loop that logged a message saying it was retrying, and soon filled up the disk!

That one took a little more effort, but it's all about checking and re-checking to make sure that things are self-consistent. It's not rocket science, but it's hard to predict these problems, and that's why I like to just watch the application run and see what the real world has to offer in terms of problems.

Finally, I added one nice thing to my lisp-like parser. The java version has the functions cond and merge that offer conditional behavior like an if/then but a little more flexible. The cond takes pairs of arguments organized as a predicate and an action. The evaluation of the cond starts with the first predicate - if it evaluates to true then the corresponding action is evaluated and that is the return value for the cond. It's a simple switch statement.

The merge is like an OR union. Every predicate is evaluated, and if it evaluates to true, the corresponding action is OR-ed with the result of the merge. This is more like a filter.

Both are interesting and I really enjoyed adding them to the parser. Now I just need to get to the project where this parser is going to be used.

Tracking Down Bugs in Latest ZeroMQ Code

January 26th, 2011

ZeroMQ

This morning I was able to track down some problems I've been having with ZeroMQ on Ubuntu. Turns out, it was bugs in the latest code in ZeroMQ off the github master. They had made some changes in the code, not checked them into master, and while they thought the bugs were fixed, they really weren't. So I talked to Sustrik on IRC and he asked me to try a simple test - it was just the simple change on a few lines of code.

Turns out, that cleared up the exception I was getting, as I expected - based on looking at the change, but that didn't solve the problem of getting the messages. Seems there's more to it. WHen I told him of these results, he asked me to make up a little compatibility matrix for the different versions: 2.1.0 (ref)... 2.1.0 with my changes for RECOVERY_IVL (me), and the git master (master). Here's what I found:

Sender Recevier Works?
2.1.0 2.1.0 Yes
me me Yes
master master No
me 2.1.0 Yes
me master No

it sure seems like there's a problem in the latest code. Thankfully, the unix admins have built my drop of the code into Ubuntu packages, so we can continue with the project, but I'm going to have to be very careful when we move off this code as it's going to be possibly a significant change.

Just something to consider. I like helping out, and giving back.