Thursday, November 25, 2010

Blame WorldWind

Happy Thanksgiving!

As I've written about before, I have basically given up on being a contributor to the World Wind .NET OpenSource project. I haven't really touched any WorldWind related code in months. But on my laptop where I kept all of my development files I left everything there for now, in case I do want to resume and make some contributions.

For the longest time I have had very odd behavior from this machine. Essentially on start up my system would grind to a halt, with my hard disk at near 100% utilization, for 10 minutes or more. This also happened when resuming Windows from sleep. All in all, very annoying. For a while I thought the problem might be antivirus related, maybe too much scanning on start up. So I switched from one anti-virus program to another, but the problem more or less continued. My computer is relatively new, it is Vista (64-bit) version, with sufficient memory and processor, the hard disk like most laptops isn't particularly fast, but my work laptop and my wife's laptop don't even experience behavior like mine.

Anyway, I was trying to solve this problem, a bit worried my system was compromised by malware. So I was performing some scans. I noticed that the scanners seemed to get hung up on a particular set of WorldWind debug log files created under my user folder. I knew WorldWind did generate a lot of debug logs when built and run in debug mode, and it didn't do a very good job of cleaning it up. I went and and took a look.

In C:\Users\[user]\AppData\Roaming\NASA\WorldWind\1.4.0.1\ there were 72,000 + log files seemingly created by DEBUG log messages. It also seemed that whatever was logging those, was rolling over that log after 1 or 2KB, meaning it would generate tons of very small individual files. I didn't realize the massive amount of these files, also the main WorldWind.log file was around 90MB, a known issue, we planned to do something about eventually.

After deleting these log files (I am never going to go back now to look at any of them), my computer feels reborn. It now starts up normally and doesn't crazily start disk I/O for the first 20 minutes after starting up. I mainly use the laptop now for watching Netflix movies as I've shifted development more to my Linux machine.

I can't seem to reproduce creating all those log files when I try restarting WorldWind executable in Debug mode now. If I have time this weekend maybe I'll try to make a fix for this and the other logging issue as a last World Wind hurrah.

Bath, England

I recently took a business trip to Bath in Somerset, England, famous for the Roman Baths and infamous (in my mind) for Chaucer's Wife of Bath.

Wandering around the center of Bath, it was hard to miss the Roman bath tourist attraction, right near Bath Abbey.
Roman Baths Facade

I went to the William Herschel museum. I had recently read the Age of Wonder by Richard Holmes, which featured an extensive biography of Herschel and his discoveries. He was famous in the 19th century for his telescopes, discovering Uranus and numerous comets as well as for outlandish theories of cosmology. I was lucky to happen to be in the city where he did his early work. They turned his former home into a very modest museum.
Herschel museum exterior



The Abbey Church of Saint Peter and Saint Paul, Bath
Bath Abbey

Monday, November 8, 2010

GNU/Linux Application Programming book review

I completed the sections of GNU/Linux Application Programming (Programming Series) by M. Tim Jones which I have been learning from for the past three months or so.


I focused on Part I - Introduction, Part II - GNU Tools and Part III - Application Development Topics. I just skimmed through Part IV - GNU/Linux Shells and Scripting and Part V - Debugging, which I have a feeling I'll come back to.

I posted my review to Amazon which I'll reprint here:

I am an experienced software engineer but have not had much experience programming for Unix/Linux environment. I was also interested in a basic book to go into low-level C system APIs. This book provided a good introduction for me at a reasonable pace over a wide range of subjects. I focused on the C programming chapters, but there are additional chapters for things like source control, shell commands, awk, sed, Ruby, Python and debugging.

Book expects some familiarity or background with C programming language. While basic functions of the Standard C library are described, the language constructs and syntax of C are not referred to at all but are assumed familiar to the reader.

Other reviewers have mentioned that source code was available for free online so CD was not valuable. I have not found this to be the case, so in that respect the CD is useful.

Some negatives, in general code samples were often incomplete, with errors. Several of the chapters of the book contain content with mistakes or do not list all necessary prerequisites. For example, I tried to perform almost every code/script sample provided and ran into numerous issues or additional packages and tools to install that were never mentioned. Some code would execute on a 32-bit Linux system but not on a 64-bit system. Also I found the code samples provided on the CD to be lacking in completeness, for example a sample code for a Makefile example from chapter 6 did not include the source files the Make script was supposed to build. In the end it did encourage me to create my own "Hello World" type source files just to go through the same steps being described in the book. Other chapters included source but not Makefiles to compile the code, source files with no relation to the examples in the book and source files that did not compile. Generally such errors could be resolved with a few minutes of Internet research on the errors/warnings.


For my next act I'll start on Real-Time Systems and Programming Languages by Alan Burns and Andy Wellings.

Sunday, November 7, 2010

New blog template and design

As you may have noticed, I have been experimenting with the design of the blog.

For now I have settled on the "Awesome Inc." blogger template, I liked how it . For the background I am using one of the Nature backgrounds. Under Layout > Adjust Width in the designer, I expanded the width of the entire blog from 880px to 1000px (max). I reduced the total width of the right sidebar as well. This gives more space for the longer code samples in the main body of my posts.

Not totally sold on the new looks. I notice that the Awesome Inc. template incorrectly floats some of the widgets in the side bar, so I've adjusted those to the bottom of the page layout, and the code samples extend beyond the main body now and into the space of the sidebar.

It is all still a work in progress. The backgrounds can be a distraction. It is cool I can make all these changes and the content is unaffected.

Thursday, November 4, 2010

Deep Impact makes closest approach to comet Hartley 2

The NASA probe, Deep Impact, is currently making its closest approach to comet Hartley 2. It will eventually fly within 700km of the comet. During the fly-by the antenna will be not be oriented towards Earth so it will be some time before photos come out. They didn't want to fly any closer due to the risk that the comets debris 'tail' would damage the spacecraft.

http://www.space.com/scienceastronomy/comet-hartley2-poison-gas-jets-101103.html

The comet Hartley 2 is now visible from Earth as well.

http://www.skyandtelescope.com/observing/home/102632669.html


11/7/2010 - Edit Pictures came out:


http://www.jpl.nasa.gov/news/news.cfm?release=2010-371