02.28.2006 08:31

OBS deployment makes news

Ocean bottom seismometers (OBS) made the news... http://blogs.zdnet.com/emergingtech/?p=174
  Jeff McGuire and John Collins at the Woods Hole Oceanographic
  Institution (WHOI) plan to deploy 40 ocean bottom seismometers, or
  OBSs, on the ocean floor along the East Pacific Rise in the Eastern
  Pacific Ocean. Their target area is a section of ocean about the
  size of the states of Connecticut and Rhode Island combined.

Posted by Kurt | Permalink

02.28.2006 07:59

my fink status

This is just a note to those that use fink packages that I maintain and a note to myself. Here are the status of my fink packages and what I am planning for them.

You (that is all of you!) need to submit reports for what works and doesn't. The only reports I have right now are that cwp-su is a little shaky, someone is using nanoblogger and very happy, coin was not building and other fink dev person patched it for me last week (not tested by me yet). I am no longer using 10.3, so if it does not work there, I encourage you to upgrade to 10.4. In 10.4, I have yet to test ANY of these packages. I still getting spun up here at UNH.

Found 23 packages maintained by Kurt Schwehr:

  • acoc - need to upgrade to 0.7.1
  • coin44 Need to update to 2.4.4
  • cwp-su Needs upgrade to version 39
  • density Needs testing after upgrade of Coin and SoQt
  • man2html Needs testing
  • mbsystem Need to upgrade gmt to 4.1 and mbsystem to 5.0.9.
  • nanoblogger Works, but need to update to 3.3 which should be out soon (at RC3 right now in dev)
  • pdflib-py24 Need to get pdflib and pdflib-py to 6.x
  • pmag Lisa is at 1.9... need to upgrade.
  • proj Upgrade to 4.4.9
  • pyproj-py24 WAY OUT OF DATE... need to get to 1.6.5
  • simage27 - Needs testing
  • simvoleon41 - Need testing.
  • soqt21 Upgrade to 1.3.0.
  • soxt3 Up-to-date. Needs testing.
  • tclx9 - This is only here cause of tksu. Tclx appears to be stagnant. Would be great to hear from any tclx9 developers out there.
  • tksu - Up-to-date, needs testing
  • weka - Up-to-date, but needs testing
  • xtermcontrol Need to upgrade to 2.8. Thanks to the xtermcontrol project for mentioning the fink package.
Note, getting the lastest version of swig is also very important to me so that I can give pivy a go.

Posted by Kurt | Permalink

02.28.2006 07:53

vmware free version

http://www.vmware.com/news/releases/server_beta.html - Unfortunately no Mac version. At least I have a copy of Virtual PC sitting on my self waiting to be used.
  PALO ALTO, Calif., February 6, 2006 VMware, Inc., the global leader
  in virtual infrastructure software for industry-standard systems,
  today introduced VMware Server, a free new entry-level hosted
  virtualization product for Linux and Windows servers. The product is
  available as a beta download at www.vmware.com/products/server/.

Posted by Kurt | Permalink

02.27.2006 15:44

Professional Mariner

The "Professional Mariner" journal appears to be just what I have been looking for! They have a "Maritime Casualty Reports" section. I am also going to be reading a bit of "Seamanship: Fundamentals for the Deck Officer" by Dodge and Kyriss along with looing through what is in the "United States Coast Pilot" which is a NOAA publication.

Posted by Kurt | Permalink

02.23.2006 16:20

Mac port

The first instance of geozui running on a mac. Not ready for primetime, but it does run!

Posted by Kurt | Permalink

02.23.2006 15:11

SDL parachute

And I quote:
./SDLapplication
  No joystick detected
  Fatal signal: Bus Error (SDL Parachute Deployed)
  arg
Thankgoodness it comes with a parachute.

Posted by Kurt | Permalink

02.21.2006 20:11

Finished my PhD

I just got confirmation that my thesis was accepted by UCSD. That was the last step for finishing my PhD. Woo hoo!

Posted by Kurt | Permalink

02.21.2006 11:52

Graphics libraries

US Army Corps of Engineers has a Commercial Terrain Visualization Software Product Info Page

If you are building a graphics application, there are a lot of different APIs and systems to base your work on. Here are some of them in no particular order and does not include raytraced systems. Back in the day SGI owned the world with 5 tiers of libraries:
  1. OpenGL and ImageVision - basic 3D graphics and image display
  2. OpenInventor - a really nice scene graph API that made graphics software much easier to write
  3. Performer - for the maximum graphics performance with multiple CPUs and pipes. Not that much fun to program, but fast.
  4. Explorer - Visual programming for graphics. Drop in a few widgets and add some wires to get instant visualization.
  5. Volumizer for volumetric data
They then followed up with Cosmo and VRML and managed to sell off or distance themselves from everything that I thought was really awesome about SGI in terms of graphics. I was one of those diehard SGI/IRIX fans until 2000. Now the field is a confusing set of options, where I am never sure what the right choice is. With that list, I have left out tons of quality software. If anyone knows what is up with Sense8, please let me know. Also, I thought OpenSceneGraph was in Fink, but I can't find it. Strange.

There are many ways to extend the basic graphics libraries with more dynamic languages. One of my favorite languages is python, but there are many others :)
  • Pivy - Python bindings for Coin3d.
  • IVuPy - Another python binding for Coin3d (Thanks Harry!).
  • Togl - Tk OpenGL widget. This one is used by GeoZui4D.
  • and about 50 more...
I tried to get Pivy going on the Mac about a year ago, but Pivy requires a much newer swig than is in fink. I am hoping to give the python/coin3d on the mac thing another go soon.

One last thing: Don't forget about things like Blender3D, povray, bluemoon, etc. This is a whole set of tools that are important (and that I want to explore more).

Posted by Kurt | Permalink

02.21.2006 08:19

Upgrading to Tiger/Mac OSX 10.4

Update: This now becoming my how to upgrade document.

I am in the middle of upgrading my Mac to OSX 10.4/Tiger. My system info is now:
  # uname -a
  Darwin 
  8.5.0 
  Darwin Kernel Version 8.5.0: Sun Jan 22 10:38:46 PST 2006; 
  root:xnu-792.6.61.obj~1/RELEASE_PPC Power Macintosh 
  powerpc
There are two questions that I am getting about upgrading to 10.4.5 from 10.3.9. First is "Why didn't you do this sooner?" That one is simple! Like I wanted to screw it up and spend time on my mac when I should be finishing my thesis. The second question is a combined "How long did it take and did anything not work afterward?" The answer to that is a little bit more complicated. Yes it worked, but the time it took me will likely not be the same for you.

The basic install from the 10.4.3 DVD took about 1.5 hours on a 1.5 GHz G4 Ti laptop. The CD/DVD writer on these laptops is SLOW! So I think that was the major bottleneck. If you can use an external DVD reader that is faster, you should. There is a half hour for Mac OSX updates. Then I had to get XCode 2.2 from apple which is a 833 MB download. That took another 2 hours over my home DSL link. Then finally is fink which will be a day or two of background compiling. So the core is about 4-5 hours. And most of that time, you can be doing something else like watching the Olympics.

Does it work? I think so! Everything I have tried so far has worked fine. I have yet to reinstall any of my applications.

http://fink.sourceforge.net/download/upgrade.php

Here is a walk through with some of my notes...
  1. First, I did a backup of my critical data and applications. Pic2Icon has disappeared from the net and I need both Acrobat 5 and 6 to generate my thesis. Grr.
  2. I made dmg DVD images with /Applications/Utilities/Disk\ Utility.app on a firewire drive and then filled those with stuff I wanted to burn. However, UFS firewire drives seem to not be able to build images > 2 GB, so you must use a drive that uses the Mac OSX extended file system.
  3. I then threw /sw in the Trash and emptied the trash. It took about 15 minutes for the machine to delete 250k files. Talk about slow. I was a little nervous about using rm -rf, but that would have run a lot quicker.
  4. According to the fink upgrade path, here is where to nuke your developer tools. /Developer/Tools/uninstall-devtools.pl in a terminal
  5. FinkCommander also ended up in the trash.
  6. I made sure that I had quite a bit of free disk space before starting the upgrade. Turns out that it added about 4 GB of stuff to my machine. I have no idea how much went where!
  7. Then I detached my external monitor, keyboard, and mouse just to be safe. I am sure they would not have caused trouble, but what the heck.
  8. Dropped in the 10.4.3 Tiger DVD. Read the readme; kick the the kickme. Nothing really interesting in the readme.
  9. Clicked the install icon and the machine rebooted.
  10. Selected upgrade. It then crunched away for 1:15.
  11. Rebooted and then plugged the keyboard, mouse, and keyboard. I have a Microsoft split keyboard and the mac asked me to press a bunch of keys. Then it said something like ANSI/ISO keyboard. I said yes and everything worked for logging back in.
  12. Went through the setup program that popped up on login and registered my Tiger install. Made sure not to ask for emails.
  13. Then went right to Apple - Software Update. That updated Java 1.3.1 and 1.4.2 Release 2; Al Powerbook(15 inch); and Mac OSX Update Combined (PowerPC). When that finished I rebooted.
  14. Did Software update again and Got J2SE 5.0 Release 3.
  15. Opened up Mail.app and let it take 10 minutes to grind through 10k emails.
  16. Install the 10.4 X11 from the DVD. /Volumes/Mac OS X Install DVD/System/Installation/Packages
  17. Got the X-Code 2.2 dmg from apple: http://developer.apple.com/tools/xcode/index.html. This is free for any educational user. Note that Firefox seems unable to pause restart the download, so I used Safari and had to do about 3 pause/resumes to get all 833 MB to download.

  18. Uninstall the Xcode stuff from 10.3.9. Mount the xcode 2.2 dmg and run: sudo /Volumes/Xcode\ Tools/Utilities/uninstall-devtools.pl This will nuke any stale headers or libraries.
  19. Reboot and ONLY then...
  20. Installed Xcode 2.2. Took about 20 minutes (not sure since I was watching the Olympics). I noticed that Apple is now installing the 11SDK in the default installer. I don't know if this because I had a 10.3.9 X11 SDK already installed, but I hope they just install it no matter what these days.
  21. http://fink.sf.net/ - Download Fink 0.8.0 binary installer. Install it and don't forget to drop FinkCommander in your /Applications folder.
  22. From a terminal did "fink selfupdate". I did CVS, but all normal users should use rsync!! This took about 15 minutes.
  23. Installed postgres-ssl-8.0, tetex, Qt and emacs from binaries (blue install button) in fink commander
  24. FinkCommander - preferences - fink: Turned on unstable and unstable crypto packages.
  25. Started installing things like wget-ssl and gdal-py24. Awesome! I can't wait to try the gdal python API!
That is where I am at right now. Mail is working. MenuMeters kept right on cranking. My desktop images stayed. The Adobe CS programs work as well as before (I am not happy about Acrobat pro 5 or 6 right now). A few preferences have been lost. "open foo.pdf" has gone back to using preview, which I do not like. Apple-I on a PDF, Open With, set to Adobe Reader 7.0, then Change All.

WARNING: Remember to backup critical data before upgrading!!! You are making regular backups right?!?!? This is an extra important time to make backups. Burn some DVDs and keep them away from your machine. With upgrading 10.2 to 10.3 I had something like 10 successes and 1 machine freak. That 1 machine lost whatever was on the disk. I don't know what the cause was and the 10.4 updater is probably better, but you are duly warned.

Thanks to the Fink IRC folks for help with this!

Posted by Kurt | Permalink

02.18.2006 20:27


Posted by Kurt | Permalink

02.15.2006 13:07

ELN = Electronic Lab Notebooks

Just saw this email this morning. I think this is what I have been trying to do with my combination blog/cvs tree/journal files.
Subject: {Thur 2/16 at 5PM}-Electronic Lab Notebook information session, 
Price Center Los Angeles room, sponsored in part by the GSA
From:    jgoor _at_ ucsd.edu


Interested in Electronic Lab Notebooks? Thought about using or buying an ELN? Want to know what's available, what's legal, or just curious where the technology is going?

Then come to the ELN info session, hosted by the UCSD ELN User Group, Thursday 2/16/06 at 5-6 PM in the Price Center Los Angeles room. There will be a presentation about ELN technology, then a forum for questions and discussion. Meet other users and get questions answered. Pizza and light refreshments will be served.

The ELN User Group's mission is to promote the use, adoption and awareness of electronic data management technologies, primarily in the academic and research environment. This event is sponsored in part by the Graduate Student Association and is open to all students and university affiliates.
Add another acronym to the pile.

Update:

Posted by Kurt | Permalink

02.14.2006 19:54

Lisa's paleomag course

Lisa sent this out to gpmag-l list serve. I have Lisa's hard back 1998 book, but I really use these online chapters as there have been many improvements since the book came out. I thought that it is important to advertise these resources. See also Butler's online book. I don't have the URL handy, but google does a good job finding his book.
From: Lisa Tauxe


Dear GP community,

I've been getting a number of e-mails asking me about my lecture notes and whether anyone can use them, etc. I hereby invite any and all to use them freely. I'm treating the lecture notes themselves as a "book" whose proper citation is: Tauxe, L., 2005, "Lectures in Paleomagnetism", http://earthref.org/MAGIC/books/Tauxe/2005/. You can use the lectures, take the figures and use them in your own lectures with my blessing. If you use figures from these lectures in a published article, cite them. I've tried to cite sources in these lecture notes when I've taken things from others, but these are after all lecture notes and a work in progress - if i've missed a citation or blown something, let me know. Also, I plan to update these lecture notes everytime I offer the class, so if you find mistakes, typos or big ones, please let me know. As Brad Clement said once, they are "asymptotically approaching perfection".

The course web site has more. It is:

http://magician.ucsd.edu/sio247/

[snip]

Finally, I encourage anyone with a similar set of lecture notes to join me in the electronic publishing world. You'd be amazed at how many people find them, read them and seem to enjoy them.

Sincerely,

Lisa Tauxe
Lisa is teaching her class next year and it can be taken through UC Extension if you are not at UCSD.

Posted by Kurt | Permalink

02.13.2006 01:46

Adobe versus latex

I really wish that Adobe worked harder to deal with output from LaTeX. I have the pro tools, but can't reasonably edit anything in Illustrator or Acrobat. I am in the process of dumping my entire thesis as a series of png images and I will just be fudging it in Photoshop. It is going to be mix and match fonts.

Posted by Kurt | Permalink

02.05.2006 08:21

Rock-solid C++ development

An article over on slashdot (Ultra-Stable Software Design in C++?) made me think about they ways that I use to develop better C++ code.
  • Use STL, but only lightly. Do not go crazy with templates.

  • Use asserts to document all calling conditions for each method or function. If a variable can only be 0 to 10, then say so with assert(0<=i && 10>=i);

  • Read Peter van der Linden's Expert C Programming. Then start writing "if (10 == i) rather than "if (i=10)"... Kaboom.

  • Develop on multiple platforms... say Linux, Mac OSX and a BSD. Testing in a different architecture may force bugs to come to the surface (you also get to hit more OS bugs and learn how to cope).

  • Document each function, method, class. Why does it have to exist? If the code is not necessary, then it should not be in your program!

  • Make the compiler work for you... "gcc -g3 -Wall -Werror -pedantic" and there must be others that I am forgetting.

  • Test with both debugging enabled and with full optimization enabled. You may see some errors only in one side of the house.

  • purify, valgrind, electric fense. Use them all regularly. These checkers exist for a reason. I just wish SGI developers had used purify on the IRIX libraries. Life would have been better in the 90's for me.

  • Test cases are critical. If you can capture input data and know how the code should behave with it, setup test cases. If you have, for example, a GPS input stream. Capture a number of conditions with the GPS and build a test harness. You know the answer, so make sure your GPS subsystem concurs.

  • Automate testing. Have machines that do a full checkout and build of your entire system daily (or less frequently if the code takes longer to build).

  • Throw bad data at your system. Consider sending explicitly corrupt data at your program. Add different amounts of noise (BER... bit error rates) at your code. For a GPS subsystem, throw one bit error per message in, then slowly crank up the BER.

  • Be careful what libraries you depend on. Just because something is commercial+closed source or open source (depending on your political leaning) does not mean that it is good. Beware the closed source package. Tracking down errors into their code may be a nightmare. Beware the stale, crumbling, abandoned open source project. Don't just pick something because it sounds cool, has a flashy ad, or whatever.

  • Watch out for programs that use the stack to much. Running out of space on the stack can be hard to trace. Try turning down the stack size on your program and see how it really behaves. This is crucial for multi-threaded applications.

  • Use a logging package. Write out log files! Make sure the log files do not grow out of control and crash the system!

  • Use revision control. If code is not under revision control, either put it under control or throw it out.

  • Don't use Fortran 90 libraries. You will be doomed to failure/compiler ugliness.

  • Read the Scott Meyers books about C++!

  • Make it easy to get info about deployed software, but do not violate someones privacy. If someone calls with a problem, make it easy for them to get you information about what happened. However, it is unwise to automate sending data back from someones machine unless they know and agree that it is okay. See also, log files above.

  • Keep file formats simple. Complicated data structures are nightmares for years to come.

  • Each developer should keep a log that is public to the other developers of notes and thoughts. This is the place for things like... we won't support Mac OSX 10.3 because Apple introduced new code that breaks the SDL library for good. This should be searchable! I use a big flat text file, but wikis can be good too.

  • Build your libraries as both shared and static libs. Test with both combinations. Some errors will crop up with only one of these methods.

  • Some people advocate never using shared libraries or stuffing all shared libs into a directory with the application. I don't know what I think of this yet.

  • Learn to use the debugger well. Use the debugger.

  • Instrument your program. Too bad there is not an open/free version of what Scope/Probe (now owned by WindRiver) does. Being able to graph the state of your program is powerful.

  • Read the man page of a call before you use it.

That's all I can think of right now, which seems to be quite a lot.

Posted by Kurt | Permalink

02.05.2006 07:10

Digital Ship magazine

I have never seen a more difficult to read format for a magazine as that of Digital Ship. However, the articles look really interesting!!

http://thedigitalship.com

Posted by Kurt | Permalink

02.04.2006 13:41

Writing tips

I am having trouble with \bibliographystyle{plainnat}. It is converting things like proper names to lower case. I went looking and stumbled into a very nice document. Here a professor lays out his rules for writing and solves solves my problem. Nice!

http://www.csc.ncsu.edu/faculty/mpsingh/local/advice/editing.html by Munindar P. Singh.
  BibTeX has a bad habit of putting all article and chapter titles in
  sentence case; this can mess up the capitalization of
  words. However, if you put the words in braces, their capitalization
  is safe, e.g.,


title = {Life on the {Internet}}
I like many of his suggestions (but not all). What a great resource!

Posted by Kurt | Permalink

02.03.2006 20:38

AIS live data

I have been looking into AIS again. Here is an very simple web page:

http://emit.demon.co.uk/webcam/map.php


Posted by Kurt | Permalink

02.01.2006 13:26

SDL troubles on 10.3.9

I was unable to build SDL from Fink on Mac OSX. I got a nice reply from Max Horn on the topic. I will try to see if I can fix this after I defend.
  Well, /usr/lib/libstdc++.6.dylib in this case is conflicting with
  libstdc++.a, the former is normally found on 10.4, but with
  QuickTime 7 they backported it to 10.3.9 or something like that. 


So what happens is that SDL tries to link against both libstdc++.a, and QuickTime, which in turn pulls in libstdc++.6.dylib, resulting in a conflict.

I am sorry but at this point I have no good idea how to work around this. Maybe, if you feel brave enough, the SDL 1.2.9 package will help you, because (IIRC) the few bits of C++ were removed again back then (basically, I added an Audio CD driver some time ago for OS X to SDL, which was written in C++, and somebody else then later was so kind as to rewrite it to C, to avoid exactly problems like this).

I.e. you could try to copy the SDL 1.2.9 info file from the 10.4 tree to your 10.3 tree and try to compile that!

Posted by Kurt | Permalink