From Gentoo Wiki
Jump to: navigation, search
Name Daniel Campbell
Nickname zlg
Is active Yes

Hi. I'm a Gentoo developer whose interests lie in programming (C, Python, bash, passing interest in Lua and Tcl), video games, electronic music, encryption, and security practices. My primary responsibility in Gentoo is package maintenance, though I hope to be more useful as I gain experience. :)

Programming Background

My first exposure to programming was VisualBasic, in the late '90s. I had seen some "c-coms" used by people on AOL and decided I wanted to make one, too. That led me to Len's Hell, a site that hosts programs and libraries for use with AOL and other networks. I downloaded one of the .bas files suggested by the site back then, and consulted VB's built-in help system. I knew basically nothing about functions or programming, so what little information I gathered came from amateur tutorials.

With some effort and luck, I got a few programs under my belt. I made a chat bot, a text adventure, a Pokédex, and an attempt at a chat battler. None of them really went anywhere, but the experience was really formative and inspirational. They led me to learning how to build websites.

I spent a few years learning HTML and CSS, and later started learning PHP around 2003-2005. I eventually made my own blogging system, but later scrapped it in favor of app-text/pelican. Before that, however, I messed around with Python libraries like dev-python/bottle, dev-python/webpy, dev-python/cherrypy, and a little dev-python/pygame. By the time I decided on Pelican for building blogs, I had left PHP behind.

In the late 2000s I played around with Tcl/Tk. The concept of the GUI and core language being so tied together was neat to me, but I never built anything with them. It'd be nice to learn more of it in the future.

A Minecraft mod called ComputerCraft exposed me to Lua, as well as x11-wm/awesome. It's another curious language that I wouldn't mind learning more of.

These days, I'm learning C. Whenever I get the urge to build something, it's usually in Python or bash.

GNU/Linux Background

I got started with Ubuntu in 2005, moving to Arch in 2007 and Gentoo in 2012.

I've always valued control and choice most in my computing. The GNU Manifesto resonated with me ever since I first read it back in 2005. My first exposure to GNU and the libre software movement was with Knoppix and Mandrake. Neither of them worked correctly with my hardware at the time, and I eventually found Ubuntu. That was when I learned about what GNU and the FSF are, and why libre software is important.

Over the next two years, I became a pseudo power-user of GNU/Linux. I configured a Debian minimal system on an old Pentium 2 machine after my primary machine faltered. It was there that I learned about using the command line efficiently and found Fluxbox. Today, I do the majority of my computing in a terminal emulator and x11-wm/fluxbox is still my primary window manager. In fact, I maintain the Gentoo package for it now. :)

I later moved onto Arch in 2007 and continued learning more about building lightweight systems. My stint there went swimmingly until five years later, when systemd became the only supported init system. I felt that my choice and control was infringed upon -- being someone who ran runit at the time -- and began looking for distributions that gave me a choice of init. This was when I learned that software projects have technical merit and social merit; both should be examined by a prospective user.

After scrutinizing the landscape, I took the plunge into Gentoo in 2012. The experience with Gentoo was superb and got me interested in the meta-distribution idea. I started learning about Portage and ebuilds, and picked up a few packages to proxy-maintain. The rest is pretty much history…

These days, I maintain some packages and help out with documentation or support users in #gentoo whenever I can. I may eventually gain enough programming experience to contribute more upstream, both here at Gentoo and in other projects. I guess we'll find out together. :)