Friends and Family

Check out my father's sculptures on the little piece of the web he's carved out for himself. My wife is also an artist. Greg Shonle has a web-site up too; he's not heavy, he's my brother! Some of my friends, old and new: Shannon McNamara, Dustin Mitchell, David Ty Lightner, Jake Beal, Mind Poison, Taybin Rutkin, Matt Pearson, Not Steve, Dana Dahlstrom, Gabriel Ganberg, Saturnino Garcia, Aidan Reynolds, Ceilidh "Cayley" Yurenka, Daniel Sternberg, Mark Feuer, Jack Sampson, Ben Birney, Matt Tong, Cassie Mere Johnson, Lucas Lee, Jennifer Carlisle, Krista Davis, Nadya Baryshnikova, Pat Rondon.

Vegan Recipes

The answer to the question "what do you eat?" can be found at Carrot and Potato Time.

Computer Science Wikibooks

I am periodically involved in open-source book projects on Algorithms and Data Structures: if you would like to join the team visit the pages and check out what still needs to be written (we're only about 20% of the way there, and it will probably be a year or more before we reach 80%).

The Syzygy Cult

Back in high school my friends and I were learning C and making terrible games on our own. So, we decided to work together and make decent games. The result of that was The Syzygy Cult, with our most known brand being Mantra, a Legend of Zelda type adventure. It's still playable on new MacOS X, because we so pedantically followed all of Apple's guidelines. If the animation is jumpy or chunky try unplugging your iPod and rebooting. (We have no idea why that makes the gameplay jumpy, but that's how it goes.)

Burning Annie

Burning Annie is an independent film about how the movie Annie Hall can ruin your love life.

Cool MacsBug Tricks

Here's the fourth edition of my Cool MacsBug Tricks guide I wrote primarily in 1995 and put to rest in 2000. It's a list of tricks and techniques for using MacsBug to solve problems. Based on the searches from Google, it looks like it's still popular. Some of the tips were printed in MacTech magazine's June 95, and August 95 Tips & Tidbits columns. (Note: if you rearrange the letters in Macintosh you get "No sh-t, Mac.")

Programming Languages

The best Java book available to date is Thinking in Java, by Bruce Eckel. It's nice to see that Eckel has retracted, in his upcoming Thinking in Patterns with Java book, his previous comment that Java's checked exceptions were a good thing: Required handling or required throws declarations for exceptions are bad because they encourage you to either ignore the exception, or break layering, which is why everyone uses RuntimeException instead (and why AspectJ allows for soft exception declarations).

It's interesting that Bjarne Stroustrup correctly predicted that Java would grow implementation-dependent libraries (like SWT). C/C++ buffs should checkout Lysator's interesting but dated C site.

The Dylan language arrived too late but does many things the "right" way. I would love to program in AspectDylan, but it doesn't exist (and it probably wouldn't work with the systems or libraries I'd want it to anyway). For now, the best language design I've seen is Fortress.

My Java Quine

One day I was interested in writing a Java program that didn't use semicolons. To make it interesting, I decided that the program should print itself out. Check it out and also see the Java 5 version (which is easier to understand, because it doesn't need to use reflection to work).

If I were to hire someone to write compilers for Java-like languages, I might give him or her this task as an interview question, though perhaps I'd ask for a simple "echo" program instead of a full Quine. I've seen experienced compiler writers come up with a solution in less than 20 minutes.

Part of Macneil Shonle's Home Page. Copyright © 1998-2009. All rights reserved.