Tuesday, March 30, 2004

Jackalope disease

According to this page there's a real disease that causes horn like cranial tumors on rabbits. The disease is called papillomatosis and is caused by a virus similiar to the one that causes warts in humans. Supposedly the disease is common in cottontails.

Taxidermy Supply Company

The Van Dyke's supply company looks like it has just about everything for your taxidermy needs. If you need a nose, some eyes or some
reproduction elephant tusks this is the place for you.


I recognize the artistic talent required to do good taxidermy and appreciate the carrying on of an old craft but for your average non-hunter just stumbling on this site it's quite surrealistic. Take the Noonkester Boar Jaw Set for example:


Mike Noonkester is in the heart of hog country, and no one knows hogs better than Mike. The detail, quality, and exactitude of the boar jawsets is unmatched. Tusks are included with every premium boar jawset

I'm sure Mr. Noonkester is a real expert on hog mouths and his product adds a beautiful touch to a stuffed hogs head. I'm just struggling trying to imagine how someone gets into this business. It seems like a tough way to make a living.

Don't pet the tiger

Reading the Captive Feline Incidents reports at the Animal Protection Institute really makes me wonder about the sanity of some people. If for some reason you have a dangerous pet please follow these simple rules



1. Keep the animal in a good cage.




Dec 2000, Morgan County, MO

Simba, 80-100 lb African lion, escapes his enclosure. He kills family dog and 6 puppies and then traps small child in room. Boy is rescued through window. Possessor is charged with child endangerment



2. Don't let children near it




June 6 1999, Yorktown, TX

Male tiger (1 of 2 owned by her stepfather) jumps on 10-year-old girl and drags her through cage. She dies of head and neck injuries. (Associated Press)


3. Don't drive with the animal in your car




Jan 31 2004 Fort Wayne, IN

While driving his 4-year-old 140-pound lion home from veterinarian appointment, man crashes his car into ditch. Lion is not secured in cage within car, so escapes from car and is found 4 hours later hiding in bushes. Animal Control attempts to dart animal to no avail; as lion runs he is shot and killed.


I know how distracting it is to have my 79 pound Rottweiler/Lab mix lapping my ear when I drive. If it was a lion instead I would be afraid I was being tasted instead of kissed. Unless you're Daktari I don't think this is a good idea.


Note to work associates: The Westford 'cougar' sightings made the list too.


June 11 2003 Westford, MA

Big cat, likely cougar, is spotted roaming neighborhood. No one reports missing exotic cat to authorities, but it is illegal to possess "big cat" in Massachusetts. (www.capitalnews9.com)

Eclipse3m8 Rocks

I'm really enjoying m8. I've only used it for an hour or so now but really like how it looks and feels.

Monday, March 29, 2004

Backyard astronomer

Between March 22 and early April a backyard astronomer can see five planets in the evening sky says this article from Space Daily. I have a small 5 inch reflector I've used to view a comet or two, the rings of Saturn, Jupiter and it's moon and Mars. I've never attempted Mercury or Venus so this may be a good chance.


Personally my favorite backyard objects have always been the Horse head Nebula and Orion Nebula in the constellation of Orion. What looks likes just stars to the naked eye is revealed in its gossamer glory with a simple telescope. Albiet without the cools colors.

10 tips for the organizational insurgent

These seem like some decent tips for a person struggling in a huge bureaucracy. I especially appreciated the Dilbert 'apathy cream' reference. From Dilbert April 1 2001.

Boss talking to Catbert


Boss: Would you like to join me for a hardening?

Catbert: What's that?

Boss: A hardening is when an employee is given more work than his central nervous system can handle. His whole body suddenly goes stiff.

Catbert: I'm in.

Boss: I've been ripening Asok all month.



Asok sitting in cube, Boss and Catbert arrive


Asok (thinking): So much work... No Time.

Boss: Asok, I have another assignment for you.

Asok (becoming hardened): GAAA!!!



Wally and Dilbert arrive at Asok's cube, Boss and Catbert are gone


Wally: I heard a hardening. Get the apathy cream.



Apathy cream has been applied over Asok's face


Wally: He'll be okay when the apathy sinks in.

Dilbert: We forgot the air hole.








Saturday, March 27, 2004

Safe Saws

Luckily most of the tools I use at work won't remove a limb. If I did I sure would want SawStop technology for them. Their cool technology is featured in a bunch of videos showing band saws, table saws and a chop saw all detecting they've hit a hotdog and stopping instantly doing minor damage to the skin of the wiener.


via boing boing

Wednesday, March 24, 2004

Ozzie on Middleware

...have we now transitioned to a world in which there is a sustainable advantage for redistributable commodity middleware versions of "good enough" solutions? Although "Windows bundling" used to represent a surefire way to create a de facto systems-level standard e.g. MAPI, might new Windows innovations be ultimately less utilized/leveraged than commodity middleware, given the increasing fragmentation of the market?

This seems to highlight the benefit of the VM based approach were the technology can straddle the various OS levels it's being deployed on. Interesting food for thought.

Atlantic Monthy Writing Contest

The Atlantic Monthly has recently published the winners to it's Rewrite Shakespeare contest. The essays are judged under the same standard used by the SATs. Therefore entrants were given this questionable advice.
To receive a high score a student should write a long essay of three or more paragraphs, with each paragraph containing topic and concluding sentences and at least one sentence that includes the words "for example." Whenever possible the student should use polysyllabic words where shorter, clearer words would suffice. The SAT essay will not be a place to take rhetorical chances. Flair will win no points; the highest-scoring essays will be earnest, long-winded, and predictable.

To highlight the dubious nature of this advice, pieces from Hemingway, Shakespeare, Gertrude Stein and Ted Kacynski are also graded. I cannot drown this article in a plethora of superlatives nor describe my ensuing reaction as a cacophony of cackles but it was a fun read .

Monday, March 22, 2004

Gory, gory, hallelujah.

I just stumbled across the Four Word Film Review. Some reviews are very clever. The title of this post was one of the reviews of The Passion of the Christ I thought was particularily good.



For fun, guess the movie from the four word review:

Restless pair Orient themselves.

Powerful pumps protect protagonist.

Jack-O-Lantern carver runs amuck.

Young farmer saves galaxy.

Thursday, March 18, 2004

Rubber Walls and False Door Labyrinths

Reading Steffano Mazzocchhi's post on Rubber walls got me thinking about similar impediments to progress. While I like the metaphor of the rubber wall and can see the sort of people he's talking about its not something that rings true with my current experiences. Rather, I see what I call a labyrinth of false doors.



The labyrinth of false doors is an organization with many managers/leaders without the power to do anything. Each manager is a person you need to go through in order to make something happen but without the individual power to make any real changes. Some doors may initially appear to lead someplace but inevitably lead nowhere. The true labyrinth nature becomes more apparent once you've pass through a few door and think your making progress but find out you're just as lost as before.

Wednesday, March 17, 2004

BIC-TCP

Another link from Don. This one from NC State University. NC State Scientists Develop Breakthrough Internet Protocol

Tuesday, March 16, 2004

Guinness bubbles

From Space Daily comes this Guinness inspired report on bubbles sinking in liquid.

Smallest hard drive.

My friend Don sent me this link from CNN. Guinness record for world's smallest disk drive

Friday, March 12, 2004

Thank God for Java, just not the article

I feel used. TechWorld is currently offering an article called Thanks God for Java. As a rabid Java fan it piqued my curiosity so I started to read it. 'Sorry, you need to be a registered user' I was then informed. I dutifully filled out the info and verified my mail address etc. Now back to the article. 'Sorry please fill out this one time survey first' it says. I fill out the survey and finally get to read the article. What a waste of time. According to the article, Java's object oriented, easy for C and C++ users to learn, runs in a virtual machine and is slow because its interpreted.

I'm in a time warp - my head is spinning - is this 1998 or 2004? Skip this at all costs.

Wednesday, March 10, 2004

Transferring scripting idioms to Java - Part 3 - General Philosophy Continued



Part 1 - Introduction

Part 2 - General Philosophy



I ended my previous discussion of functors, you might say, perfunctorily. Before diving on the next part of this essay let me add the following example of the fore mentioned functor in action.
The idea of the following example is to mimic a scripting idiom for processing text files.


LineProcessor lp = new LineProcessor(new File("foo.foo"));
lp.lookEachLine(new IStringFunctor() {
public Object call(String s) {
System.out.println(s);
}
});


In this example we create a LineProcessor class for reading a file called foo.foo. We then call its’ lookEachLine method passing in a simple functor that prints out each line.
.


Compare this to some Ruby code that does the same thing:


aFile = File.new(“foo.foo”)
aFile.each_line( ) do |line|
puts line.dump
end

Now compare this to some standard Java code.

BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("foo.foo"));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}

} catch (IOException e) {
// do something with the exception?
}
finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
// do something with the exception?
}
}
}

Both the Ruby and the Java with the scripting library are a lot more concise than the straight Java. It’s this sort of reduction in template code this library is aiming to achieve.


HomestarRunner

When Ned mentioned HomestarRunner in his blog the other day I had no idea what he was talking about. If you're like me you might find this article on Wired informative.

The HomestarRunner web site is great. Not only are the animations funny the website store's t-shirt selector is great fun to play with. If you like little flash games this little kick the cheat game is fun too. The head-tilts my dog Cori made when I successfully kicked the Cheat were very cute.

Tuesday, March 09, 2004

Software enabler

Communicating is hard for me. One reason I blog is to exercise that underdeveloped part of my mind. My strategy is simple, if I can't get the words out of my mouth try writing them down. Because I find this hard I'm always amazed by technical folks who communicate so well. My hero's in this category in chronological order include: Charles Petzolds, Scott Meyers, Steve McConnell, All the folks in the GoF, Andy Hunt, Dave Thomas and finally Martin Fowler.


In fact it's a recent post on Martin Fowler bliki that sparked this post. Whether or not his observation on the bifurcated nature of software culture makes a dent in the developer zeitgeist isn't an issue for me. I just find it amazing that he was able to snatch that observation from the ether and write it down.



OS X Expose

I've been using the Expose feature of the OS X desktop for a few months now without even knowing what it was called. It's a great little feature that's makes working on a crowded desktop easy. Expose is the OS X equivalent to the Windows ALT-TAB feature but done with a mouse gesture and some cool graphics (I've since learned you can use the F9 key too). The feature is activated by moving the mouse pointer to the upper left corner of the desktop This gesture causes all the overlapped windows on the desktop to temporarily shrink and zoom to an open space so you can easily see each open application. From this point you can just click on any of the small windows and the windows zoom back to full size with the windows you clicked on on top. All this happens very quickly and smoothly.


Its a small feature but it works so well I hope it gets ported in some way to Windows. Even if there's some patent on the specific gestures the ALT-TAB feature could be improved by using larger window snapshots instead of icons. If you're like me you tend to have multiple copies of the same application open so ALT-TAB presents you with a list of identical icons. To make matters worse the icons change position as you select them so it becomes a mental puzzle keeping track of their movements in order to cycle through all identical icons.

Monday, March 08, 2004

Transferring scripting idioms to Java - General Philosophy

Previously



I’ve used the words simple and concise to describe the goals of this library. It’s worth spending a few sentences on what I really mean by this. In my mind a class library is simple and concise if it allows you to do what needs to be done in a minimal set of understandable steps without a lot of support code. That may not be a very deep explanation but its all I mean.



One of the simplest ways this library keeps support code to a minimum is to generally throw unchecked exceptions instead of checked exceptions. Unchecked exceptions can still be caught and processed if required but handling them is optional. I don’t recommend this approach for all class libraries but for the domain of simple utilities I think it’s a good fit.



Another way this library reduces code is to rely in heavily on functors. Functors are as close as approximation I know of in Java to true scripting language blocks and closure. By relying on functors to represent the inside of an IO processing loop the library can wrap and package all the standard setup and teardown code needed to do IO. The following is a example of functors interface.


/**
* This interface describes a function that takes a single String object as a parameter.
* Its intended to be used in a manner similiar to a c or c++ function pointer.
*/
public interface IStringFunctor {
/**
* The main entry point of the functor
*
* @param s - the string to be operated on
*/
Object call(String s);
}



Transferring scripting idioms to Java - introduction

I like the idea of using Ruby or Groovy for scripting utility programs. My main impediment to doing so is the fear that no one else on my development team would be able to work with the code. This means I tend to write utilities I plan to share in Java.
These utilities are not as clean or concise as those written in a more scripting oriented language but they get the job done.


I recently had a mini epiphany when I realized it’s not Java the language’s fault that the utilities are so verbose, rather it’s the base class libraries. Java’s heritage is as a system language not a scripting language and as such the standard classes are geared toward performance and fine grain control instead of productivity and conciseness.


So I asked myself what would a concise library for Java look like? I’ve been playing around with some ideas and so far I like what I’ve found. The results are not as concise or cool as Ruby or Groovy code but I think they are a lot nicer than what someone using standard Java class libraries would produce.


The core areas I’ve been focusing on are

  • 1.) File system processing,
  • 2.) Simplified file IO,
  • 3.) Simplified child process management.
  • 4.) Command line processing.
  • 5.) Console based UI..


    Over the next week I’ll try and use this topic as food for the blog and describe my ideas in more detail. I can’t post code just yet but I’m working on that too.

  • Friday, March 05, 2004

    Software Salesman

    One thing I was not prepared for when I started working for a big company was the extent that salesmanship plays in day to day technical decisions. In all my previous experiences a group of people would come together and reach a consensus on what needed to be done. Ideas went back and forth until everyone understood the scope of the problem and developed a plan to deal with it. It wasn’t a democracy mind you, someone has always had the power to make a final decision; the difference was that the decision was formed in the context of a group discussion.


    In a large organization with a hierarchical structure that’s not how things are done. Most developers are a level or two below any decision maker so they are generally out of the decision making loop. The ideas that get presented to the decision makers come from an ‘elite’ rank of ex-developers, called architects, who exist in a psuedo-development world between the decision makers and the development staff.


    The architect ranks tend to be made up of two main categories of people: developers who are just so damn good that they rise to the top on the power of their skills or intellect and developers who are great at convincing decision makers that they have a clue. It’s this later class of architect I label salesman.


    Not all architect salesmen are bad; some are good leaders who know their own limitations and actively engage their development peers to come up with workable plans that benefit the project. Unfortunately there is a dark side as well and it’s populated with egotistical sycophants whose only goals are self aggrandizement


    The funny thing is that everyone at the development ranks knows who at the architect level fits into which category. It’s only the decision makers who have been hoodwinked.

    Thursday, March 04, 2004

    Steve Burns

    While I don't have kids of my own, I do my share of baby sitting. During these baby sitting sessions I admit I've become a closet fan of the show Blues Clues. Recently I noticed they changed actors. Turns out Steve formed a band. Someone's made a little indie promotional film about his fame too.

    Wednesday, March 03, 2004

    Gematriculator ranking


    This site is certified 20% EVIL by the Gematriculator


    My little front page ranked 1% evil and 99% good. I don't get it. If this floats your boat they have another disturbing site called killeveryone. Kids these days.


    via notestips.com

    Tuesday, March 02, 2004

    Karen Carr

    I referenced one of Karen Carr's paintings in my last post. I've had a chance to look at more of her work and was so impressed I thought it was worthy of a full post. Because of my background in marine biology and my fascination with paleo biology I likes these pictures best. As a bonus Karen explains how she does her painting and offers tips on how you can become a digital artiist too.

    Biologist humor

    There's a long tradition of biologist creating fun names for the odd little creatures they discover. I was just reading this article in Scientific American and noticed this great name: Godzilliognomus frondosus. I did some research and found this fun (for an old biology major at least) site that list many humorous names.

    Favorites include:

    Eubetia boop

    Darthvaderum

    Polemistus chewbacc

    Ichabodcraniosaurus Novacek

    Macrostyphlus frodo

    Macrostyphlus gandalf


    My long time favorite example of this sort of playfulness has been Hallucigenia; a very weird little Cambrian marine invertebrate. Hallucigenia is a favorite subject of engineers and artists around the world. Here are a few examples.

    Monday, March 01, 2004

    Creative Commons

    I've seen the (cc) logo around but never knew exactly what it meant. I just watched this little Flash movie and learned a whole lot. If that doesn't explain enough, Creative Commons recently held a contest for the best moving image short that explains the Creative Commons mission. You can watch the winners here.
     
    The Out Campaign: Scarlet Letter of Atheism