Archive for June, 2008

Staying Motivated is a Job in Itself at Times

Monday, June 23rd, 2008

cubeLifeView.gif

Today has been one of those days when it took a lot of effort to stay motivated just to keep going. When the highlights of your day are getting a loaner laptop and verifying that you can run a Java WebStart app as yourself - so as to prove to Bloomberg that we're using their API correctly, then you know it's a tough day.

I'm trying to get everything ready for the next steps in the validation of our usage of the Bloomberg Server API, and there's a lot of waiting. Waiting for Bloomberg to tell us what the requirements are for the next tests... waiting for the people involved here to get the software installed and the accounts created... waiting, waiting, waiting.

About the only technical challenge today was in trying to track down where some trades/ammendments went wrong - and only that was to answer a few questions as the folks came and asked. I wasn't directly asked to help in the search, so my involvement was really quite limited. But that's all there was today.

It's important to stay motivated so that when you are needed, you're there, ready to respond. But when dealing with external vendors and other folks, it's wise to set your expectations properly, for they won't see the need to respond as quickly as you do, and you're just going to have to wait.

Updated to gfortran 4.4.0 (May 2008)

Friday, June 20th, 2008

fortran.jpg

This morning I was doing a little checking on the projects I keep loose tabs on, and one is the gfortran compiler for Mac OS X. I've chatted with Gaurav, the maintainer, a few times and it's really nice that he's taking the continued effort to keep updating this package. I'm guessing he's using it in his work at the university, but I could be wrong.

I did a make clean; make on shark to see if there were any issues with the compiler, and there weren't any. Ran fine. Thanks Gaurav.

The MacResearch.org guys have a package for installing that has this as well as an Xcode plugin for building gfortran code in Xcode, but I'm more of a vi/Vim and makefile user for FORTRAN coding. Just don't really need the extra stuff at this point. But it's nice to know it's there, if you need it.

Nice Firefox 3.0 Themes for Mac OS X

Friday, June 20th, 2008

Firefox.jpg

This morning I was checking on the status of a few projects I follow, and I noticed that someone had a link to these fantastic Firefox themes that make Firefox 3.0 look virtually identical to Safari - which is not a bad thing. Personally, I like his 'GrApple Yummy (blue)' best, but I got all four and might switch up if I decide I need a different look.

Typically, I run Firefox and Safari side-by-side because the things I do in Firefox I want to keep around, and Safari is the general web tool. For example, I have a few pages up to my hosting provider all the time - checking on the state of things there, and for that, I want Firefox for it's completeness and support. But for Googling things and hitting the web-based docs and manuals, it's Safari. Because of that, I have to restart Safari a few times a week just because it gets so bloody big a memory footprint.

Anyway, give these themes a try on your Mac - they are pretty spiffy.

Growl 1.1.4 is Released

Thursday, June 19th, 2008

growlicon.png

I had an interesting message from Growl today about Growl - that version 1.1.4 was out and available for updating. The release notes don't make it sound like a ton of new features, but the things that they did fix seem important - core issues about installation and updates to a few localizations as well as fixes to the Mail and Safari components.

Not really amazing, but it's nice to stay up-to-date. And I use it every single day.

Cool MacVim Additions to My .vimrc

Thursday, June 19th, 2008

MacVim.jpg

I've been using MacVim for a while and it's really quite amazing. It's Vim as nice as Vim ever was, but it's also a complete Mac app with multiple windows, tabs, toolbar - everything you'd expect from a Mac app. It's really quite amazing.

That said, I've been fiddling with the .vimrc file to try to get it to do a few interesting things. I just thought I'd post them so that if I needed to look them up, I'd have them written down.

Switching Tabs

One of the nice things someone suggested was the ability for Cmd-1, Cmd-2, etc. to move to tab 1, 2, etc. like Firefox does. Cool! I thought, as this will keep my hands on the keyboard even more. The remapping of the key is really two parts: what key combination to use, and what to remap to it? The first answer is that <D-1>, <D-2>, etc. for Cmd-1, Cmd-2, etc. The second part os the command :tabn. Together, these fit into the .vimrc like:

  if (has("gui_macvim"))
    :nnoremap  :tabn 1
    :nnoremap  :tabn 2
    :nnoremap  :tabn 3
    :nnoremap  :tabn 4
    :nnoremap  :tabn 5
    :nnoremap  :tabn 6
  endif

Decent Colors

I know it seems silly, but I've really become used to the colors I've used in Vim over the years. They are called the 'torte' color scheme, and even that's not 100% - the cursor and search colors aren't really right, so I fix them up as well:

  if (has("gui_macvim"))
    :colorscheme torte
    :hi Cursor guibg=red
    :hi Search guibg=orange
  endif

Setting the Tab Name and Current Directory

I wanted just the filename in the tab and not the complete path - even truncated. Also, with a simple autocmd I can make it so that every time I change the buffer (file) I will make the current working directory the directory of the file in that buffer. It's an easy way to make sure that it's easy to add other files from the same directory.

  if (has("gui_macvim"))
    :autocmd BufEnter * :cd %:p:h
    :set guitablabel=%t
  endif

None of these are really earth-shaking, but they do make it a lot nicer to use Vim, and it's amazing that they are all very simple configuration file changes. Amazing tool Vim, and what they've done with it for MacVim.

Obama Not Taking Public Funds for Election

Thursday, June 19th, 2008

vote.jpg

This morning I got a tweet from Barack Obama saying:

Made an important decision today and wanted to share it with you. Visit http://my.barackobama.com/mydecision

while I think it's very much worth listening to, the essential point is that his campaign this Fall will not take any public funds. This means no more "Paid for by friends of Barack Obama", and all that crud that other elections have used to skirt the issue of campaign finance reform. They have someone else pay for it. Still... it's the special interest groups that are funding the vast majority of these (expensive) commercials.

With this, it's going to be an election where the people fund the candidate. While I might talk about the other nominees, I'm not going to. The point is not what they do, it's what I do, and by extension, what the person does that I cast my one, important vote for.

We need leadership, not just another President. Good for Obama!

MarsEdit Updated to 2.1.4!

Thursday, June 19th, 2008

MarsEditIcon128.jpg

Yesterday, I got a tweet from 'MarsEdit' saying that 2.1.4 was released, but it was too late in the day for me to have the time to download it and see what's what... so this morning that's the first thing I wanted to do.

The changes really don't seem to effect me much as they are for Blogger and a few things to do with drag-n-drop in the preview window. Not bad, and I'm sure there were a ton of people clamoring for these changes, but I'm still looking forward to the time when I can resize the main Edit Post window smaller than it's current default. Also, an improved media library window would be nice - things like the size of the icons... organizational features like folders, etc. All these would be nice, but it's not essential.

Anyway, it works, and it's nice to stay up to date even if you don't need the updates right away.

Learn Something New Every Day – C++ Destructors

Wednesday, June 18th, 2008

cplusplus.jpg

I was talking to a guy yesterday and something hit me like a ton of bricks - the virtual keyword in C++ really is just about polymorphism (the ability to have a pointer know the right type to call) and has nothing in the order the destructors are called.

In my (weak) defense, I've always used virtual destructors in C++ - just to be safe, but safe from what is the issue? While I knew the reason for the keyword virtual in C++ class definition, I was thinking that there was something special in the use on destructors. Something where it told the compiler to 'unwind' the destruction properly. Not so.

If I have the simple class structure:

  #include <iostream>
 
  class GrandParent
  {
    public:
      GrandParent() {
        std::cout << "constructing GrandParent" << std::endl;
      }
      ~GrandParent() {
        std::cout << "destructing GrandParent" << std::endl;
      }
  };
 
  class Parent :
    public GrandParent
  {
    public:
      Parent() : GrandParent() {
        std::cout << "constructing Parent" << std::endl;
      }
      ~Parent() {
        std::cout << "destructing Parent" << std::endl;
      }
  };
 
 
  class Me :
    public Parent
  {
    public:
      Me() : Parent() {
        std::cout << "constructing Me" << std::endl;
      }
      ~Me() {
        std::cout << "destructing Me" << std::endl;
      }
  };
 
  int main(int argc, char *argv[]) {
    Me    a;
    return(0);
  }

we get the output:

  peabody{drbob}30: a.out
  constructing GrandParent
  constructing Parent
  constructing Me
  destructing Me
  destructing Parent
  destructing GrandParent

Which confirms the conversation I had with this C++ developer that the only reason that the keyword virtual would be used on the destructor is if you had a GrandParent pointer that was really pointing to an instance of Me and you wanted to make sure that the destructors for Me and Parent were called along with the destructor for GrandParent.

I made the silly assumption, and this guy was right. I'm glad we had the talk we did, as I'm going to question a lot of the assumptions I've been holding on to regarding C++ coding because of it. Interesting talk. Never too old to learn.

OsiriX 3.2 is Out!

Wednesday, June 18th, 2008

OsiriX.jpg

They have updated my favorite medical software - as if I had that great a need for medical software, OsiriX 3.2. The web page indicates that the 64-bit add-on is now 25-50% faster, but the standard Open Source app is 32-bit - which is an interesting business model.

These guys have put a ton of work into the app, and they started Open Source, and mean to stay Open Source, but they want to make some money. Understandable. Rather than have the app need a lot of work, like JBoss, and charge for the manuals and consulting, these guys have a fully functioning 32-bit app, and they charge $149 to get the 64-bit add-on that boosts the memory space and speed. So... free is limited by the memory of a 32-bit process, and if you want to spend the $149 you can get more capacity. Nice.

I can't say as I'd ever need the 64-bit add-on as I only have the family's xrays in OsiriX, but I can imagine my sister and her husband (doctors) that would pay for something like this - or the clinics/hospitals they work at. To them, this is easy, just like paying for BBEdit is for me. It's a tool of the trade.

So, hat's off to finding a new model for getting a little money out of the Open Source model.

Wild Day Yesterday

Wednesday, June 18th, 2008

blogs.jpg

Yesterday (Tuesday) things were so hectic in the morning that I didn't have time to post anything - or read anything, either. Today I'm playing a little bit of catch-up to get everything back in-sync with the daily goings on.

Thankfully, the treadmill is still there, the train is still there and life goes on. It's just going to take me a little bit of the day to get caught up with everything and get a few posts in about the day. It was memorable.

Kindle.jpg

UPDATE: I was sitting waiting for an appointment yesterday, reading my Kindle, like you do, and someone walked up to me and said "Hey, is that a Kindle?"

"Yes, it is" I replied as I turned it to show her a better view of the screen.

"I've been thinking about getting one, but I've read a lot of the online reviews saying that it's too easy to accidentally hit the change a page buttons. Is it?" as she looked at the Kindle.

I showed her the buttons, told her of my experiences, which are that I've hit it accidentally once, and it was no big deal. Just hold it, and it's right there. Very convenient. No problems.

She remarked on the clear, crisp screen, which I had noticed day-one as well, and after a few minutes she was off, saying I'd made up her mind and she was going to order one. So... Amazon... send me a free book for being your sales force! 🙂