ferret.png

Ferret

Ferret is an evented, objective hobby programming language.

By evented, I mean that all functions are implemented as events, each of which can have any number of responders and return values. By objective, I mean that all values in Ferret are objects. By hobby, I mean that I know it will never be used by any project to be taken seriously.

I don't think it's uncommon for a programmer to visualize an idealist language with all of their favorite features from each existing one glued together and a few original ideas mixed in. But it's probably not all that common to take the time to fabricate such a thing. Ferret is my actualization of exactly that.

A very-high-level language, both its compiler and runtime are written in Perl, but I'm in the process of porting the runtime to Go. Eventually the Perl compiler will generate Go interpreter bytecode.

juno.png

juno-ircd

Yes. It really is an IRC daemon. It's written in Perl.

juno is a seriously modern chat server. It is designed to be ridiculously extensible, painlessly reloadable, and excessively configurable.

Perl is one of my favorite languages, and this is my showcase project gluing together many of my open source libraries written in it. One of the features I am most proud of is the ability to upgrade the entire application without dropping any network connections.

I have been developing juno since late 2009, making it the most mature of my hobby projects still under active development. It started as a fork of pIRCd and was my first project in Perl, but it has since been rewritten from the ground up a couple times.

screenmgr.png

screenmgr

screenmgr is a tool for monitoring and managing a collection of computer screens. It communicates with devices on a local network via a number of protocols for monitoring uptime/reachability, viewing the screen, and remote control.

Supported protocols include ICMP ping (monitor reachability), WOL (boot via network), SSH (remote commands, shutdown, restart), and VNC (screen streaming). Devices are monitored and controlled via a web user interface.

My diverse collection of old computers was the motivation for this project. It originally was written in node.js and Perl, only supporting Mac OS 8/9/X for my Power Mac collection. But I later rewrote it in Go and added support for Windows and UNIX-like operating systems.

galleries/turtlehead-peak/12.jpeg

Hiking / Exploring

You thought this was only about coding! No, this page is called "hobbies" after all...

What drew me to the Las Vegas area was not the gambling or nightlife. It is so much more than that. Many visit without ever knowing it is among the most sublime natural areas in the country. And with sunny days all through the year, I take full advantage of every opportunity to hike up mountains, hop rock to rock in canyon creeks, and enjoy wildflowers and wildlife. I am drawn to all natural beauty.

My favorite local spots are Red Rock Canyon, Lake Mead, Mt. Charleston, and the Valley of Fire. Very seldom does a week pass that I don't go to at least one. Because there are so many amazing national parks within drivable distance, I love to venture out of town as well.

I've shared many of my adventures here for all to enjoy.

My adventures
garden.jpg

Gardening

Back in Indiana, I loved working outside in my garden. I've shed more sweat there than anywhere else. In practice, I was never the world's best gardener; yet, I was always in planning mode long before the last frost. I didn't do it to be healthy or due to fear of GMOs... and certainly not to save money (ha)! I just found it enjoyable, and food tastes better when grown at home. I liked how it politely boasted my hard work for anyone who strolled by, too.

Growing up, my dad always had an immaculate vegetable garden, and my mom surrounded our house with carefully nurtured flower beds. I miss it, but the weather is too harsh here in the Mojave. Luckily, my love of plants is still fulfilled by my now extensive collection of cacti and succulents!

Garden gallery