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.
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.
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!).
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.
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 bugs.gentoo.org 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 “amazon.com Arduino” will search for the Arduino on Amazon.
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:
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.
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.
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.
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.
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.
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.
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.
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.
By using the & (logical and) operator, we can easily (and quickly!) test whether an integer is a power of 2.