Platter

Announcing platter, a file server for direct file transfers. See the project page for details.

Screenshot

Overkill Initial Release

I have been working on a project I call overkill for the past few months or so. It's is a publish-subscribe framework (or a functional-reactive programming framework if you want to use the latest buzz word) for collecting and distributing information on a local machine. Personally, I use it to generate my status bar (hence the name, overkill). See the project page for more information.

New GPG Key

It's been a while but I figured I should probably make a new GPG key with increase security (1024 to 4096 bits) and expiring subkeys.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

As of 'Tue, 07 May 2013 00:50:01 -0400', I have transitioned from my old key
to a new one in order to increase the security and sign with expiering
subkeys instead of my secure master key.

My old key fingerprint was:

    8F12 8D02 2B69 004E 8CF3  1890 D854 9F57 252B A385

My new key fingerprint is:

    327B 20CE 21EA 68CF A774  8675 7C92 3221 5899 410C

And the full new key:

    -----BEGIN PGP PUBLIC KEY BLOCK-----
    Version: GnuPG v2.0.19 (GNU/Linux)

    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
    MXJjnYZCKLva+UJATvt09dQ=
    =hRIT
    -----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iQIcBAEBAgAGBQJRiI01AAoJEHySMiFYmUEMZzIP/Asu/YJ6QloHkLso3rT4ihFP
suVLXWouks6IyiCLr96Erf/+50D36KXd07/aMD54rNrvIPiq7RNhcQasyH7zAQtq
bGJIQqZATLfp3EjVvHx3H4szHyA+pW+HU1uzh6HigAfQMGTpOsZsvf8SLmB8sohj
HzMyJdQCzDKXQLotGaSQ4n79Xr2K7lQATz10aOc0qGZBENHkFvYJ7MNEFv+LuWio
vVwduuStvBOYRts6z8pHv7M3ZgzOiqSx7vtRCXRwuRLAzisc09ogNRp9CXKWkO9F
bkiMKOhHvRWMpthPcgVxbA9151n8LNDL02hdSJ2LhJm10I6XKX1dhzqVtaVLXkbd
pLRvkyNg4PbFD5bd5TPmsDoVI3mW/CsNgDlCHDeMf8aS1fGxhBQVO6+X/YmiUc9o
lqSdOnt2Kf1gTWSFFjJ32GgpLD6ajAkvxqcDZTCXbdaqr83jBbAaZ4EiHIKruOqT
slIEI8KbY9LItMVZk55435H2MzDvazPOPrW0uRrWExnE5A4n6szcLrkEIaG99AS3
YVC+ycEHWNtaDyvyXb2mbJICtIs8y/Nhrz2WT52fDYFJLakVp04Zgvdbn732ISpg
AW+sJ6Sg/sHpX4V2SV290W4wDCJ6LBqxPzb0zs/2JvGR+J/ByIQpoD5W6XdaHJn5
tTcsGtiQ0e7BNC/poqLViEYEARECAAYFAlGIjTUACgkQ2FSfVyUro4W2wwCcCEEf
kUu9EqFYq0Vdrhqsd5bOIp0An237odqQt2MFZVNM7YtsH6cPwk2z
=/NJg
-----END PGP SIGNATURE-----

Turn the Zim Desktop Wiki into a calendar

Why

I recently switched to Arch Linux and decided to ditch evolution (a good but bloated program). Claws Mail works perfectly as an email manager but I couldn't get its calendar plugin to work properly. I have been using Zim for a while and noticed that it had a very basic calendar plugin; this was exactly what I needed. The plugin allows users to create pages in their wikis for individual days: no complex forms to fill out, just a simple page to keep track of what you are doing on a given day.

What

As Zim lacks desktop integration so I wrote two python scripts for conky integration:

  1. zim-conky_cal.py

    Prints a calendar (like the cal command) with the current date and appointments highlighted.

  2. zim-conky_events.py

    Lists the next 5 events or all of the events in the current month and the next, whichever comes first.

I also wrote a program for adding events to the calendar (zim-cal.py and zim-cal.ui). Select some text, run the program and double click the date to add your text to calendar. You can also input your own text by clicking the edit button (the big button on the right).

How

First: Enable the calendar plugin (Edit->Preferences->Plugins->Calendar).

Download: zimcal.tar.bz2

Conky scripts

  • Edit CAL_PATH to point to the folder that stores your Zim calendar.
  • Add ${execpi 300 /path/to/zim-conky_cal.py} and ${execpi 300 /path/to/zim-conky_events.py} to your conkyrc

Zim-Cal program

  • Edit CAL_PATH to point to the folder that stores your Zim calendar.
  • Make PROG_PATH point to the directory where you put "zim-cal.ui"
  • If you intend to use this program regularly, you should probably assign a global hotkey to it in your window manager.

Make Gksu and Policykit red

I was bored one day and decided to make my gksu(do) and policykit dialogs red. The results are actually quite nice.

Add this to the bottom of your gtkrc file:

style "gksu" {
    bg[NORMAL] = "#770000"
    bg[ACTIVE] = "#550000"
    bg[PRELIGHT] = "#990000"
    bg[SELECTED] = "#550000"
    bg[INSENSITIVE] = "#220000"
}

widget "GksuuiDialog*" style "gksu"widget "PolkitGnomeAuthenticationDialog*" style "gksu"

Packagekit with apturl

Although I no longer use packagekit, I still have my apturl script so I thought I would post it. This script will allow you to open apt:// scripts with packagekit. (Just save this to a file, mark it executable, and tell your browser to open apt scripts with it).

#!/bin/bash
/usr/bin/gpk-install-package-name $(echo $* | sed -e 's/apt:\/\?\/\?//')

Useful Bash functions

cdd: cd and list the files.

function cdd(){ cd $*  ls --color}

changelog: get the change log for a program

changelog() {
    log=/usr/share/doc/"$*"/changelog*
    if [ -r $log ]; then
        less $log
        unset log
    else
        log=/usr/share/doc/"$*"/CHANGELOG*
        if [ -r $log ]; then
            less $log
        fi
    fi
}

mkdircd: make a directory and move in.

function mkdircd() {
  mkdir $* cd ${!#}
}

Screenshot of Arch

I have been trying Arch Linux in VirtualBox and will probably switch when I get around to it (or at least duel boot along with Ubuntu).

Here is what it looks like so far; if you have any questions about tools, configs, etc., ask and I will post.