Wednesday, October 31, 2007

Eclipse and network drives

Ok, I've found that Eclipse works fine if the workspace files are stored locally. But if the workspace is on a network volume, I get long pauses where Eclipse freezes up while I type. This is frustrating to myself and the students.

A simple editor that didn't need the disk while you were typing would not have this issue. I wonder how BlueJ and NetBeans work with network volumes.

Monday, October 29, 2007

I'm not such an Eclipse fan anymore...

Eclipse is driving me nuts. I have yet to get a semester where I've been happy with Simpson's development setup in our lab:
  • Fall 2006 - The computers had very little memory, making development in Eclipse near-impossible.
  • Spring 2007 - An eclipse bug caused the compiler to default to 1.4 compatibility. This required every project using 1.5 functionality to need the default options changed. Not fun with a group of first-time programmers.
  • Fall 2007 - When Eclipse needs to do any kind of intelli-sense type of thing, I can get long pauses of up to 20 seconds. It really breaks the 'flow' of development. The machines have a couple gig of ram, I don't know what Eclipse thinks it needs to chew on for that long.
  • Spring 2008 - Maybe I should teach my class vi instead?

Thursday, October 18, 2007

Live from Moscow

Moscow, Idaho that is. I'm presenting some of my research at the University of Idaho. I love coming out here. Moscow has a very nice coffee shop called One World Cafe. I can work on my research presentation while listening to live music. In fact, most of the people in here right now are working on their laptops.



Fall in Idaho is very pretty. The rolling hills and rural nature of this area made the drive here a lot of fun.


Creating presentations with Beamer


This is my first presentation using “Beamer”. Beamer is a package available for LaTeX that makes nice PDF-based presentations. My graphs are in postscript format and they do not display well in PowerPoint at all. They look great in LaTeX, and of course the equations I have look really good.


Continuing this no-Microsoft run, my laptop is running Ubuntu 7.10 beta. So far it is working well. In fact, my desktop running Ubuntu 7.06 won't compile the presentation, so running beta actually allowed me to avoid a bug.

Don't pull that wireless card!


On another Idaho trip I gave a presentation where my Windows laptop slowed down so much that it took about 10 seconds to change slides. I had to hit the next button before I actually needed the slide changed. My problem was that I pulled the wireless card out before the presentation. I did this so my presentation would not be interrupted by network-based messages like “windows needs to be updated”. That backfired. Not properly dismounting the card caused the driver to chew up CPU time looking for the card.

PowerPoint makes you stupid.

A long time ago, a study was released that the press picked up with a catchy line that PowerPoint makes you stupid. I posted about that in my blog, and the blog was rated #1 in Google when people searched on that term. I never used to use PowerPoint in class, so it was fun to get a minor bit of fame that way.

Later, I was interviewing for my job at Simpson. We were expected to give a presentation as part of the interview. I presented my research using PowerPoint, even though I didn't use it for teaching classes. I learned the hard way that people think you are very strange if you present a research paper at a conference and don't use any slides.

So I'm just about to give my PowerPoint presentation, and I see one of the instructors on the hiring committee has a sign in his office that says “Thank you for not using PowerPoint”, and another with a red circle-cross over PowerPoint. Oh the irony.

Where did that blog go anyway?

That blog went away after a minor fiasco where someone at work discovered it. Blogs and corporations don't mix. The only thing I could safely blog about was hot air ballooning, and I didn't do enough of that to carry a blog.

The offending article that caused me to drop the blog was on the importance of being able to effectively communicate and influence people. I should have taken my own advice. I spent the next two years after that post leading a project that delivered 1.6 million lines of code which handled 2+ million page views per day. A wonderful and very successful experience.

Another person on my team did nothing but study Dale Carnegie for two years. I don't know what else he did during that time. When we applied for the same job, my list of successes couldn't match his ability to “win friends and influence people”. Specifically, the hiring manager. I hate to say it, but I have to respect that.

Thursday, September 13, 2007

Alerts vs. Time of Day

A long time ago I worked at a company called DTN. We had several systems that worked 24/7 processing news, weather, and market feeds. One of my early jobs was to create a system to alert us when something went wrong.

All our data-gathering systems could send text messages to a pager via an API I created. And the central paging system itself would poll data-gathering systems to confirm they were up. Anyone could write plug-in modules for the paging system and expand it. You could telnet into the paging system to administrate it. Today, people use programs like Nagios, but back then we didn't have all those cool open-source tools.

In the spirit of eating your own dog food, I first tried this paging system I created myself. Everytime something went wrong with the system, I got a text page on what the error was. Then I could log into the system and control the alerts. That system was cool.

Soon after, I got paged 100 times in just a few minutes. So the paging program got updated to have the additional ability to limit pages to 1 per 15 minutes. It was 'cool' again.

Later, the system woke me up multiple nights in a row for errors that were minor, and corrected themselves. After another round of development, the paging system learned that between 10 pm and 7 am, something had to be really, really, wrong before it would page.

(One day, all our data feeds stopped. It turns the satellite that they used failed. So did our pages go off? No. The satellite those data feeds used was also used by our paging system.)

This was an evolution in knowing how to send alerts 'smart' depending on type of alert, time of day, and quantity. I wish many other devices would go through it. My cell phone will beep merrily at 3 am letting me know it has a low battery. Come on, do you really think I care at that time of night? Worse yet is the smoke alarm that tells me it has a low battery in the middle of the night. Many of our smoke detectors require a ladder to access. Just what I want to be doing.

So the moral of the story: If you are working on a system that makes causes an audible alert to be made, allow for different 'priorites' to be made depending on the hour of the day. It will improve the quality of life of your customers.

Wednesday, September 12, 2007

Creating your own operating system

I located a good tutorial on creating your own operating system. I first tried it under Linux with no success. It does work under Windows with DJGPP.

Under Linux I'm having issues with compiling 32-bit under a 64-bit OS, and the symbols between C and assembly don't match up. I should be able have a C function called main and then call it with _main from assembly. But the extra underscore isn't getting added on.

I figure creating my own OS should be easier under Linux, not harder.

Saturday, August 11, 2007

New Sewing Machine

I built my last balloon nine years ago using a borrowed Adler sewing machine. I've wanted a sewing machine myself, but have found it difficult to find one on the used market at a decent price. I've seen a few on the coast, but they are hard to ship.

Today my search was over. I picked up a Singer 112W116. It is an industrial-grade sewing machine that can sew two rows of lock-stitch at the same time, 3,000 stitches per minute. I'm not sure how old the machine is, but I'd guess us is older than I am.


I need to see if I can get it to working soon. When I built the balloon I was pretty good at setting the timing on a sewing machine and having it run smooth. But I've forgotten those skills and will have to learn again.

Friday, August 3, 2007

A balloon skims the top of a pond:

A couple balloons near where I landed:
I'm on approach for landing. I just brushed the tops of the trees to help slow down: