January 19, 2016
FACES OF FREEBSD
Back by popular demand we’re again sharing a story from someone involved in FreeBSD with our Faces of FreeBSD series. It may be a story from someone who’s received funding from us to work on development projects, run conferences, travel to conferences, or advocate for FreeBSD. Or, it may be from someone who gives back to FreeBSD financially or in another way. But, it is always from someone who is making a positive difference in the FreeBSD world.
Here’s a chance to get to know your fellow FreeBSD enthusiasts. Sit back and enjoy the next 2016 Faces of FreeBSD story.
Tell us a little about yourself.
I’m a born and raised Californian who left for a six year enlistment in the US Army. I served overseas as a communications technician and learned all about the beginning of the Internet as it really started becoming widely available in the early 1990s. I met my wife Cindy on leave and we have a daughter, Gracie, who will be attending college in the Fall of 2016 (Woo! SF STATE!).
I spent my post-Army time working for a Telecommunications Company in Portland, Oregon where I was first introduced to Solaris and Linux. Some of my first work in programming was porting C applications from Solaris x86 to Red Hat Linux.
After moving to Seattle, Washington and learning that I had zero interest in working as a Windows Systems Administrator, I resumed my UNIX work by becoming a full-time developer for a small appliance vendor in Portland. This lead me down the FreeBSD road as it introduced me to a different way of doing things that really made more sense.
During the economic collapse of 2009/2010, I used my GI Bill to complete a Bachelor’s Degree and accepted a position with Yahoo! on their FreeBSD kernel team. Little did I know that the position would introduce me to every conceivable angle in the industry. I was exposed to things as varied as BGP, PHP, Perforce, compatibility libraries, run time linkers, chroots and the original code that ran http://geocities.com
Currently, I’m working as an engineer for Limelight Networks to optimize and enhance their FreeBSD CDN, spanning 10,000+ nodes across the world (All running FreeBSD 10).
How did you learn about FreeBSD and/or when were you first exposed to it?
My first exposure was at a startup where they were attempting to maintain a custom code base on FreeBSD 4.X. I was brought on to update and implement a Net-SNMP plugin for their appliance and went on to work on their update to FreeBSD 7. I was very confused at first as the FreeBSD ports system is very different than say a Red Hat Linux distro’s RPM style package management. However, once I got over the hurdle of use cases, I learned how powerful the ports framework can be to trim, optimize and manage software.
What is your involvement in FreeBSD?
I’ve been a FreeBSD src contributor for the last 8 years. I’ve bounced around from Firewire, to RAID controllers. I’m currently the liaison from the FreeBSD project to Intel during the bi-monthly Intel Networking Device planning meeting. I function as a systems administrator for the FreeBSD Cluster, maintaining svn, email, user accounts, backups and the pkg/ftp CDN. I’m a port committer taking care of a shoutcast streaming application for those burgeoning DJs out there. I handle the architectural changes required to cross build ARM and MIPS packages for FreeBSD via QEMU new BSD-USER mode of operation.
Why do you like FreeBSD?
Good grief, this is a great question. I started my UNIX journey on Solaris, an Ultra-5 to be exact. In those days, I spent a lot of time getting the enlightenment window manager and evolution for email setup via the Ximian ports. This gave way to my first linux box, running RH 6.2. I spent a few years running the Fedora distribution on my home machines, never really understanding what was really happening and what was really going on underneath the hood.
My first FreeBSD installation, my home NAS, really turned my head. It wasn’t difficult to get installed and the installation was quick and I was ready to start configurations within 10 minutes. The turn off for me, for desktop use, was the pkg_add(8) system. It didn’t really have self-hosting capabilities and the defaults for FreeBSD ports never really matched my use cases on a day to day basis.
The turn around for me, has to be the introduction of poudriere(8) for hosting my own package repositories and pkg(8). These two tools mean that I can configure the systems how I want, I can upgrade when I deem necessary and I can participate in ports maintenance as I am building my own package sets in a similar fashion as to the official package repository.
The final nail in the “I will run FreeBSD on everything” coffin, has to be ZFS and its native inclusion in FreeBSD. The first time I upgraded my laptop hardware by doing a ZFS send/recv between two laptops, bringing the new laptop online in 2 to 3 minutes, was amazing. I can’t imagine doing system administration without it.
I even get to have my remote mail, blog and jumphost server running on FreeBSD in the Xen served cloud hosted by RootBSD/Tranquil Hosting. The offer FreeBSD developers a substantial discount for hosting and provide superb service. I can’t imagine a better host for my remote services.
Have you been helped by the Foundation?
More than once, the Foundation paid my travel costs to multiple FreeBSD Conferences. If you want to work in FreeBSD or learn how FreeBSD can work for your organization, conference attendance is mandatory. I cannot emphasize how important the user groups and conferences are to an open source project. Interacting, in person, with the committers and developers who produce the FreeBSD operating system and FreeBSD ports system is so beneficial to someone in our industry.
How did our funding you help FreeBSD?
The Foundation is a primary sponsor of the FreeBSD Cluster Administrator’s ability to spread the custom CDN across the world and provide services to all of our project’s developers. This has consisted of shipping, parts and full servers for x86 and PowerPC. All of this hardware comes directly from donation to the project. We couldn’t maintain the scale of the project without these donations.
Final thoughts about the Project, Foundation and community?
If readers of this article are interested in adding resources to the FreeBSD pkg/ftp CDN, there are two ways to do that.
— Contact the FreeBSD Cluster Administration Team and begin the setup of a server in accordance with our Tiny Mirror or Mirror site wiki how to:
https://wiki.freebsd.org/Teams/clusteradm/tiny-mirror
https://wiki.freebsd.org/Teams/clusteradm/generic-mirror-layout
— Donate $10k USD annually to the FreeBSD foundation so that we can purchase hosting and servers across the world to bring up new mirror sites in underserved areas.
The Foundation’s ability to support the FreeBSD Cluster Administration team directly affects user’s ability to access update for security and bugs. The more resources we have in the project the better our geographic coverage can be.
We’d love to see donations increase in 2016 so that we can add mirrors in South America, India and Japan to augment our Russian and UK mirrors. These areas are underserved by our current CDN and mean that the user experience is impacted.