the blog of bvargo
Tuesday, 01 May 2012
Fixing Old Themes for Enlightenment 17

My window manager of choice is Enlightenment 17, which has been in development for at least the past seven years, when I started using it. While generally awesome, e17 has never had a stable release, which means that features sometimes break. Last November, my theme of choice, Milky’s, stopped displaying the titlebar properly. Since the last release of the theme was from early 2010, I finally decided to learn about the e17 theming system and fix the problem.

Continue reading "Fixing Old Themes for Enlightenment 17"
Wednesday, 25 April 2012
Finding and Eliminating Duplicated Files

Fancy file systems are all the rage. ZFS, btrfs, and even Microsoft’s new ReFS include data deduplication features. However, these techniques can use a lot of memory, and new file systems are often not nearly as stable as tried and true file systems, such as ext3/ext4 or XFS. Experimenting with file systems is fun; however, in this case, I am not about to trust all of my data to a new file system just to remove duplicate files. Instead, I decided to deduplicate my files using a few scripts. The end result: over 12GB of saved space after just a few minutes of scanning my hard drive. With hard drive prices sky high (but slowly coming down), this will help me last another 6 months before I have to upgrade my hard drives again.

Continue reading "Finding and Eliminating Duplicated Files"
Sunday, 01 January 2012
Hello World

Hello world! Again. Keeping with the tradition of writing more blog engines than blog posts, I now have two new blog engines. I began writing a static blog site generated from source markup using shell scripts, but then I discovered jekyl and hyde. I decided to go with jekyll. All of my old blog links should still work, but now it is easier for me to write new blog posts (go vim!).

Continue reading "Hello World"
Saturday, 24 September 2011
Lenovo T420 Internal Microphone and Linux

I recently — by which I mean probably 6 months ago — bought a Lenovo T420. The machine is amazing, except on one point: the microphone and headphone jacks are combined. For work, I need to be able to use Skype; it’s not my favorite program in the world, but hey, it sort of works when the weather is right and the stars are aligned. However, with the integrated microphone/headphone port, I had a problem: I could not connect a microphone while still using my laptop’s speakers. The T420 also includes a built-in stereo microphone, but this did not work correctly under Linux. I needed to make the internal microphone work.

Continue reading "Lenovo T420 Internal Microphone and Linux"
Sunday, 29 May 2011
Copying Chromium/Google Chrome Search Engines

Chromium (the open source version of Google Chrome) has a great search engine feature that allows the user to search different websites directly from the omnibox (the address bar). I use this feature heavily; for example, “wp Linux” means search Wikipedia for the Linux article for my browser, “bgo chromium” means search for all bugs containing the term chromium, etc. All of these search engine features are configured from the “Manage Search Engines” screen under Preferences. Chromium will even add search engines as it finds them, through metadata embedded in some pages. For example, Amazon has this feature embedded in its page, so searching “ Arduino” will search for the Arduino on Amazon.

Continue reading "Copying Chromium/Google Chrome Search Engines"
Sunday, 29 May 2011
Arduino Installation Notes

I recently bought an Arduino Uno (thanks in part to SparkFun’s free day, thanks SparkFun!), and I have finally gotten around to hooking it up to my main Linux box, which runs Gentoo. Some notes on problems I encountered getting everything working:

Continue reading "Arduino Installation Notes"
Sunday, 07 November 2010
Introduction to awk

awk is a pattern scanning and processing language that is commonly used to process tabular data by either transforming the data in some way or producing a report about the data. The language is turing complete, and at least the GNU version has file and network I/O capabilities. However, this introduction guide will not discuss the advanced features for the sake of brevity.

Continue reading "Introduction to awk"
Sunday, 17 October 2010
The Bluetooth Blues: Getting a Linux PC to use a GPS on an Android Device

Bluetooth is one of the modern wonders of modern wireless technology. Whether you want to talk on the phone through your car or play a game on your Wii with a wiimote, you’re using bluetooth. It is wonderful, when it works. When it doesn’t, however, then it can be a royal pain.

Continue reading "The Bluetooth Blues: Getting a Linux PC to use a GPS on an Android Device"
Monday, 13 September 2010
Dynamic Ticks for Operating Systems

Last week, I asked in my OS class how tickless operating systems use interrupts or other mechanisms to achieve lower power usage. I did not get my question answered, and have since read into the topic some more. Here is what I found.

Continue reading "Dynamic Ticks for Operating Systems"
Monday, 13 September 2010

If you hadn’t noticed, the background on this site changes every time you load the page. While I’ve had the background collection for some time — since high school actually — I had forgotten that some of the backgrounds actually came from one of my friends, and I did not attribute this fact. I would like to fix this, especially since he made the cool images himself in gimp and has graciously let me continue using them. Take a look at his high school site, where he has some more cool artwork in a changing background. You’ll also notice that his loading mechanism is more efficient than mine.

Continue reading "Backgrounds"
Thursday, 19 August 2010
New Blog Engine

I haven’t updated this blog in awhile, and this is partly due to the fact that I disliked the blog engine I was using, Serendipity. It’s not that Serendipity is bad, but rather that it simply tries to do too much. It is too flexible, at least for what I needed it for, but yet some things that I consider core features did not work properly. The biggest issue I had was combining markup and code syntax highlighting (geshi). In addition, once I had written a post and it looked good in the preview interface, the published version always differed in some way.

Continue reading "New Blog Engine"
Saturday, 12 June 2010
Functional Programming with PHP

Wait, what? You can do functional programming in PHP? Doesn’t that make PHP even more messy? Why would you do such a thing? In this case, no, it makes my code cleaner.

Continue reading "Functional Programming with PHP"
Saturday, 22 May 2010
BitlBee - Changing the Way I IM

It is not very often that a piece of software dramatically changes my workflow. A few years ago, I largely stopped switching OSes, browsers, email clients, window managers, IM clients, etc. I settled with what I had, as it was largely good enough. While I have switched browsers since then (Firefox → Chromium; more in another post), the workflow isn’t dramatically different. Most of the keyboard shortcuts are even the same. So after a friend pointed me to Bitlbee, an IM client, and I started to use it, I was hooked. BitlBee is an IM client, but it is unlike any other IM client that I have seen. I did not only change applications, but I fundamentally changed how I access IM services.

Continue reading "BitlBee - Changing the Way I IM"
Monday, 17 May 2010
Motorola Droid

My first cell phone was the Motorola e815, one of the first 3G-enabled phones on the market. It was a great little phone that could get a signal in a canyon in the middle of nowhere, far from where Verizon said it should. Before Verizon killed the program, it also gave me 3G Internet access at the expense of my minutes via a bluetooth connection to my laptop.

Continue reading "Motorola Droid"
Thursday, 13 May 2010
Testing Whether an Integer is a Power of 2

By using the & (logical and) operator, we can easily (and quickly!) test whether an integer is a power of 2.

Continue reading "Testing Whether an Integer is a Power of 2"
Wednesday, 12 May 2010
Hello World

Hello and welcome to my blog.

Continue reading "Hello World"