My Extra Life Donation Tracker gets a GUI Part 1

Three years ago I created ELDonationTracker to use the Extra Life API to provide donation alerts on my screen while I’m streaming or recording games. About a year and a half ago, I actually had to start using it because the previous donation tracker I’d been using stopped being maintained. Since then I’ve been steadily […]

Exploring btrfs for backups Part 6: Backup Drives and changing RAID levels VM

Hard drives are relatively cheap, especially nowadays. But I still want to stay within my budget as I setup my backups and system redundancies. So, ideally, for my backup RAID I’d take advantage of btrs’ ability to change RAID types on the fly and start off with one drive. Then I’d add another and go […]

Exploring btrfs for backups Part 5: RAID1 on the Main Disks in the VM

So, back when I started this project, I laid out that one of the reasons I wanted to use btrfs on my home directory (don’t think it’s ready for / just yet) is that with RAID1, btrfs is self-healing. Obviously, magic can’t be done, but a checksum is stored as part of the data’s metadata […]

Exploring btrfs for backups Part 4: Weekly Culls and Unit Testing

Back in August I finally had some time to do some things I’d been wanting to do with my Snap-in-Time btrfs program for a while now. First of all, I finally added the weekly code. So now my snapshots are cleaned up every three days and then every other week. Next on the docket is […]

Exploring btrfs for backups Part 3: The Script in Practice

Night of the second day: # btrfs sub list /home ID 275 gen 3201 top level 5 path home ID 1021 gen 3193 top level 275 path .snapshots ID 1023 gen 1653 top level 275 path .snapshots/2014-03-13-2146 ID 1024 gen 1697 top level 275 path .snapshots/2014-03-13-2210 ID 1025 gen 1775 top level 275 path .snapshots/2014-03-13-2300 […]

Exploring btrfs for backups Part 2: Installing on My /Home Directory and using my new Python Script

I got my new hard drive that would replace my old, aging /home hard drive. As you read in part 1, I wanted to put btrfs on it. This is my journey to get it up and running. Plugged it into my hard drive toaster and ran gparted. Because of the peculiarities of btrfs and […]

My Second Ever Useful GUI Program

A while ago I wrote about my first ever useful GUI program.  And in one of the series of posts that followed I explained that the reason I hadn’t made a useful GUI program before now is because all the typical stuff has already been made over and over.  We don’t need any more tetris […]

Developing my first plasmoid: The Data Engine (in python)

I figured it’d be neat to show you how my plasmoid works so you could use it when developing your own plasmoids.  Here’s the main.py of my data engine.  The indentation is off, in case you try to copy and past this in. Here are the imports: from PyQt4.QtCore import * from PyKDE4.kdecore import * […]

Automatically Posting your Top 3 Artists from Last.fm onto Twitter (with Python!)

I wrote this code a while back because a website that does the same thing seemed to miss my posts every other week.  So I figured I’d write my own in python to do the same thing to me.  Then I just put it into a cron job to automatically run it every Sunday.  I’m […]

Programming to the Rescue: Amortization Automation

What I love about programming is the instant feedback.  In most programming languages, after you set up a framework for the barest bones of a program you can then run it at every step of the way to confirm that you are moving towards your goal.  What I love second-most about programming is the fact […]