Attention K-Mart Shoppers

This is not my typical music post. Yesterday I had the pleasure of visiting the Internet Archive (more on that in a future post), and they mentioned a collection called "Attention K-Mart Shoppers", which is just tapes they played over and over at K-Mart. And for some reason, people enjoy listening to it!

I spent my morning today listening to it. It was really soothing and relaxing. The ads for random TV shows and store announcements were amusing, but didn't really interrupt what I was doing.

Definitely worth listening to.



Self-hosted git

As part of using only free software, I also started thinking about the various non-free services I am dependent upon. One of those I had already started working on replacing was Github. Github is currently the canonical source location for a lot of my various projects, including some that aren't even on my laptops.

So, alternatives. First I considered a hosted service that runs free software, but those don't really exist any more. Gitorious has shut down, and it turns out that GitLab has gone open core.

Alright then, self-hosted git it is. I tried out and evaluated two projects: cgit and gogs.

cgit is a web viewer for git repositories written in C. I like the UI, having used it while browsing Fedora and Linux kernel repositories. The basic set up of it was pretty simple, I downloaded and unzipped it, set up some Apache CGI rules, and bam, it was running. I imported 2 git repositories, and they showed up right away. I started trying to enable some other features like syntax highlighting, and that's where it stopped being easy to work with. I tried both Pygments and a Perl highlighter, neither worked. Around this point I got bored and gave up.

gogs is a full blown clone of Github's features written in Go. The UI is extremely similar to Github, so it was very easy to figure out. Set up was a little tricky, I had to create a "git" user for it to run as, and then fiddle with setting up an Apache proxy rule so /git proxies to localhost:3000 (I originally started out in a sub-path instead of a full sub-domain). After that, I was able to import a few Github repos directly, and clone them. Yay! It also has a mirror feature that can synchronize with an external repository every hour. I found a gogs-migrate tool that claimed to set up mirrors of all your Github repos in a gogs installation, but I couldn't get it to work. I ended up writing my own Python version called gogs-mirror. And for bonus points, I submitted an upstream pull request to improve an interface message.

Currently I have gogs running at git.legoktm.com. All of my non-forked Github repos are mirrored there, and it also is the canonical source of gogs-mirror. The next step will be to switch the mirroring, so that the canonical source lives on git.legoktm.com, and Github is a mirror. I'll also want to update links to those repositories on places like PyPI, various wikis, etc. More to come!


I joined the FSF today

Wow, two blog posts in one day. Okay, I was close and just didn't finish in time.

As the title alludes, I became an FSF member today yesterday. Aaand then I proceeded to buy their Super Sticker Mega Multi Pack. ^.^

I thought this would also be a good time to audit my usage of non-free software...at least what's installed on my computer:

  • Dropbox - mainly used to automatically back up photos from my phone to 3 different computers. I can probably replace it with Syncthing.
  • Google Hangouts - I had to install some plugin rpm for it to work. Since I need it for work, I don't really have an option here.
  • PHPStorm - I kept hoping that JetBrains would release an open source version like they did for PyCharm...but they haven't. Our MediaWiki open source license was also never renewed so I've been using the free EAPs, which I'm definitely not comfortable with. I tried out GNOME builder for a Go project, and didn't really like it. I might try out Atom at some point.

I also have my old MacBook, which at this point is mostly used for playing music or watching videos (all using free software!). I'm getting tired of Apple's updates and all the "OMG log into iCloud" nagging, so I'll probably replace it with some flavor of GNU/Linux at some point (see what I did there! ;)).