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

Is active Yes

Hi. I'm a Gentoo developer and Gentoo Foundation Treasurer for the 2017-2018 term. My 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 since August 2017 I have taken on additional Trustee duties. My goals as trustee are in my manifesto.


The following is relevant whether you're a fellow Gentoo developer or a user looking for some guidance.

I prefer leveraging existing modes of communication and collaboration instead of requiring me or the other person to open a new account somewhere. For me, this means e-mail, IRC, Mumble, Tox, or wiki collaboration. Paste sites are a workable alternative as long as they have line numbers in their output. Even a drive-by "you missed something in foo.ebuild on line X" is plenty helpful. In short, if it doesn't require registration then it's probably something we can collaborate with. People have enough accounts for sites as it is. :)

GitHub's Terms of Service and their prior behavior regarding censorship rules them out as a serious or worthwhile collaboration platform for me. Their job is to host code, not to curate it. I also consider relying on proprietary third-party software a violation of Gentoo's Social Contract. This also rules out other code/project hosting websites such as SourceForge, BitBucket, and GitLab. Gentoo independence is critical.

If long-term collaboration is desired, I'm sure we can figure something out that won't require new accounts anywhere.

Current Wiki Drafts

Pages listed here are larger edits of mine that need review before moving to the main wiki namespace. Anyone familiar with the Wiki's guidelines is invited to provide feedback for these pages.

List last updated 2017-05-12.

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. I also dabble in a fun little Lua-powered platform called PICO-8. It'd be awesome to collaborate on a PICO-8 game some time.

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. :)