Next week, I'm starting work as the only DevOps Engineer on the Mozilla Research team. While I've held a variety of superficially similar jobs in the past few years, this one offers a special opportunity to apply the values I appreciate as a software developer to the infrastructure design and maintenance which represents my work as an ops guy.
When discussing my experience (or lack thereof) with the Rust programming language during a recent interview, I learned that experienced developers might be interested in a stream-of-consciousness, "let's-play" type narration of my learning curve through the language.
Although lines of code are the most convenient metric of success in open source, I'm proud of those of my own contributions that have taken the form of documentation, teaching, and outreach.
Long ago, I set up an email filter to make GitHub notifications skip my inbox. This made it easy to ignore the volume of irrelevant notifications that I was getting, and I only noticed them when they got in the way of a search for the one or two useful emails that GitHub sends.
Today, someone asked the #osu-lug channel how to mount their public_html directory on OSU's shell server to a location on their local Linux machine using sshfs.
As I've mentioned before, I use LaTeX to typeset my resume. I recently found a convenient workaround to handle formatting which differs based on whether or not a macro's argument is present.
When trying to fix some errors related to installing BlackArch last week, I made a poorly thought out decision and deleted some kernel modules that I didn't think were necessary. This rendered my system impossible to boot or chroot into for a bit.
I've played with getting Sphinx to generate PDFs before, and while rst2pdf generates a PDF with all the notes and pictures present, the results aren't as beautifully typeset as I've come to expect from LaTeX.
Last night, I was just falling asleep when my roommate knocked on my door with a Linux problem. Our CS480 assignment was due at midnight and she'd finished the work, then accidentally overwritten the most important file in her program with a malformed tar command.
My schoolwork is particularly bad this weekend, so I'm procrastinating by learning to analyze the test coverage of a moderately complex Python codebase. Specifically, the reference implementation of the Monte programming language. This effort is hampered only slightly by the fact that I've never done much with code coverage tools before.
At around 1pm on 2/26/2015, my ThinkPad X230's screen died without warning. I put the laptop away to take a quiz in class, walked home, tried to boot, an it remained black. The LEDs and CPU fan went through their familiar boot process, but the screen remained stubbornly blank.
I've been having intermittent problems with Firefox freezing up, pegging a CPU, eating all my memory, and freezing my desktop environment over the past few weeks. The only apparent trend in their occurrence was that they happened while I was active on HabitRPG and other ridiculously Javascript-heavy sites.
I build slides for my presentations with Hieroglyph, which makes beautiful HTML presentations out of raw ReStructuredText. However, HTML slides with my speaker notes in a JavaScript console are not ideal for redistribution.
This year I had the pleasure of attending and speaking at the Southern California Linux Expo. Here's what I observed about the location, the conference's organization, and my own talk.
I use Irssi as my IRC client because I don't need to write my own plugins for it, and its documentation is excellent even when you're not sure what questions to ask. If I needed plugins that haven't already been written by others, and didn't mind either reading the entire manual or constantly asking for help to solve simple problems, I would switch to Weechat.
Installing security updates isn't always enough to apply them; you have to reboot from time to time if you want the benefit of any kernel upgrades that don't use live patching.
There are many things to hate about Javascript. I'm not a fan of the language, and I've been known to laugh at people when they make unqualified claims that it's "good".
Avra, the AVR assembler that I have been using for my ECE375 assignments, started throwing cryptic error messages such as "PRAGMA directives currently ignored" from an include file which had previously been working fine.
I'm currently on my second clean install of Arch Linux. On the whole I've been glad that I ditched most of my old configuration when I installed Arch to the new SSD I got for my laptop at the beginning of the school year. However, I'd been procrastinating on re-implementing a few things which worked last install without me really knowing which of my many attempts had fixed them. This time, I know what I'm doing and what questions to ask.
After creating an account and abandoning it some time before December 2013 (since I have never yet subscribed and yet had a Trapper Santa scroll in my inventory), I have returned to HabitRPG. Here's a quick examination of why I think I left and then came back.
It's a couple weeks and nearly a dozen posts into this Tinkerer experiment, I'm mostly delighted with it. It's fulfilling its original promise of "write RST, push button, get pretty blog"... Mostly. There's one problem, though. Iconstantlyforget to add master.rst when committing.
A question in the #osu-lug channel about running python 2.7 on a school server (which only has python 2.6.6) made me realize I should know how to do that but have never tried it. Stackoverflow provides instructions for solving a similar problem, so I'm testing them out to make sure they work for Python 2.7.7 and Python 3.
As part of a recent quest to automate everything and learn more Vim tricks, I've been identifying patterns in my use of the editor and attempting to get them done with fewer keystrokes.
As part of my student club officer duties, I send a lot of emails. One game that makes this chore less onerous is to try to optimize each email's quality. I do this by observing my own reaction to others' postings, and others' reaction to my posts. Here are a few trends I've noticed.
I'm curious about whether anyone has tried to build a predictive analytics plugin for Heka before. To find out, I'm going to stalk the project's entire recorded history. Since it's a relatively young project (only in its third year of having a public mailing list), the history is small enough for basic Linux command-line utilities to handle in a timely manner.
I have an atmega128 development board for the ECE375 class at Oregon State University. I believe the board is good, because it runs the test program that it came with when I picked it up from TekBots. I also have an Olimex AVR-ISP-MK2 programmer inherited from an ECE major friend, which I have come to conclude is bad, because despite testing and rebuilding all of the connections between it and my atmega128 board, despite passing avrdude all of the force and override-warnings flags at my disposal, it consistently refuses to program.
The first assignment for CS480 (Translators) requests that we use Forth as a pocket calculator, rather than teaching the immensely powerful composition strategies for which it's valued in the real world.
I had a wok site here for a while, but I rarely (okay, never) updated it. My experience with blogging platforms has been limited to Wordpress (both self-hosted and on wordpress.com), Wok, Pelican, and an abomination of a Trac plugin that I'd prefer to forget.