Saturday, September 29, 2012

Blog moved

I'm moved my blog over to Wordpress. You can find it at http://itsnull.wordpress.com/.

Thursday, August 12, 2010

Opticks Extension Development Quick Start - Updated for latest Opticks 4.4.0 Release

I've updated my Quick Start for Opticks Extension Development since Opticks 4.4.0 was just released. You can use this on Windows to get started and only need to download this, which is 33MB instead of the regular Opticks Windows SDK, which is 290MB.

So, what do you get out of the Quick Start?
Download it, double-click on two batch files and you will have two tutorial plug-ins compiled and installed into your Opticks install that you can start using with a sample data file that's been bundled into the Quick Start. From there you can modify these plug-ins or create your own using the instructions bundled in the Quick Start.

So, what do you need?
  • Quick Start Download
    • exe - this is a self extracting 7z, just double-click. No need to install anything.
    • OR
    • 7zip - if you don't want to use above self extracting exe. You should download and install 7-Zip File Manager to extract this.
  • Opticks 4.4.0 32-bit
  • Python, 2.5 or 2.6 are known to work.
Then unzip the Quick Start package and open the README.html in your web browser for further instructions. You'll be up and running in 15 minutes, probably less.

Wednesday, May 12, 2010

Opticks Extension Development - Get Started In Less Than 15 Minutes

The Opticks Open-Source Programming Contest deadline is just 3 weeks away (June 4th, 2010). And along with this, I was inspired to come up with a way to quick start extension development for Opticks. So, over the weekend I created a Quick Start package for use on Windows, which is only 33 MB. You only need to download this and can skip downloading the Opticks Windows SDK, which is 266 MB, so I just saved you 233 MB of download time.

So, what do you get out of the Quick Start?
Download it, double-click on two batch files and you will have two tutorial plug-ins compiled and installed into your Opticks install that you can start using with a sample data file that's been bundled into the Quick Start. From there you can modify these plug-ins or create your own using the instructions bundled in the Quick Start.

So, what do you need?
  • Quick Start Download
    • exe - this is a self extracting 7z, just double-click. No need to install anything.
    • OR
    • 7zip - if you don't want to use above self extracting exe. You should download and install 7-Zip File Manager to extract this.
  • Opticks 4.3.3 32-bit
  • Python, 2.5 or 2.6 are known to work.
Then unzip the Quick Start package and open the README.html in your web browser for further instructions. You'll be up and running in 15 minutes, probably less.

Hopefully, this is the impetus you need to start developing a plug-in for the Opticks programming contest or just to develop plug-in for Opticks in general. Don't forget you can win a Nintendo Wii or PS3 in the contest.

Saturday, March 20, 2010

Visual Studio 2010

I am very excited about the Visual Studio 2010 release. Why would I be so excited about a compiler release? I guess because I'm that nerdy. Ok, it's a little more than that. This new compiler release has some real benefits for Opticks.

Easier Deployment - right now Opticks deployment is complicated by Visual Studio's insistence on manifests and use of the windows side by side cache. This insistence complicates user level installs (e.g. without admin privileges) and wreaks havoc when they push a new Visual Studio patch out. But, all of this goes away with Visual Studio 2010. They have seen the errors of their ways and are reverting to the deployment used with Visual Studio 6. Yeah!

Faster - Visual Studio 2010 is including a new feature in the next C++ standard, R-value references. You don't need to care about and I don't need to either. But what you will care about is when applied to STL, they provide an order of magnitude speed up. We use a lot of STL in Opticks, so I expect some noticeable speed-up.

Needless to say, can't wait until Visual Studio 2010 gets released. And yes we are planning on upgrading to use Visual Studio 2010 for the Opticks 4.4.X line.

Google Summer of Code

Woot! Opticks has been accepted into Google Summer of Code 2010 as a mentoring organization. I'm very excited and the interest we've had from students already is amazing. It's going to be a very good summer. I've been looking forward to this for 2 years, we applied last year but weren't accepted.

I will say I find this year's summer of code very interesting because there seem to be a good number of other scientific software packages. Might just be me, but this is pretty cool.

Friday, October 30, 2009

Continuous Integration Tools

Do you need to compile and test your software on an automated basis? Which continuous integration or nightly build tool should you use?

Hudson

Why? Because it's that good. Give it a try, you won't regret it. I've used Cruise Control and then LuntBuild. I've looked at and followed BuildBot, Zutubi Pulse, AntHill, Atlassian Bamboo, Apache Continuum, CDash, and QuickBuild.

And Hudson is better. It's easy to set-up, it's easy to configure, it's deceptively powerful, there are a ton of plug-ins. I don't think I've encountered another open-source projects that does releases more frequently. It's free and open-source. It supports large clusters of slaves or agents. It's management and set-up of slaves is the best I've seen. Because it's free, you can scale up your slaves as high as you want to go.

And no, I don't work on the project. And I'm certainly not getting paid to endorse it. I just found it one day and it's that good. Check out the public instance I administer for the Opticks project.

Ever try to use copy?

Today, I was working on some automated builds for Opticks, and I needed to use the windows "copy" command as part of the automated build process. So, I wrote:

copy foo.zip bar.zip

and then my 250 MB foo.zip was turned into a 55 byte bar.zip. And I was so very confused until I discovered that copy has "/B" flag. This apparently tells copy that a "binary" file is involved and then all my problems went away. I thought about researching the history of the "/B" flag, but I'm not sure I want to know. I think my life might be better not knowing.

So, for the record please use:

copy /B foo.zip bar.zip

It saves lives.