EDOOFUS

my commit log as a blog

On SOPA and PIPA

Imagine you are the owner of a small restaurant. The neighbourhood is of mixed quality, but this is where you live so you try to make do anyways. One day, new laws are passed such that if anyone in your restaurant conducts any sort of illegal activity (like a drug deal), the police blockade your restaurant and force everyone out. Furthermore, this new law isn’t clear about how to get your restaurant back. The politicans who made this law have absolutely no experience in the restaurant industry, but still expect you to continually monitor all your patrons and do the work of the police and law enforcement for them. At any time, one of your patrons can call the police and claim something happened in your restaurant and you get shutdown. On top of all this, there are people actively looking for anything untoward happening so as to shut you down. What do you do? You can’t really afford to hire more waiters and waitresses or security personnel to monitor (and don’t really want to establish that kind of atmosphere in your business anyhow); CCTV and other technical measures have too long of a delay (or require you to suspect something happened so you can check the tapes). Really, the only thing you can do is to move out of town.

Back to Lisp

1
2
3
4
5
commit e358120dd3760e64436f5652895c751b39148ebd
   Author: Kyle Isom <coder@kyleisom.net>
   Date:   Wed Dec 28 19:22:59 2011 +0300
   
    initial commit

A brief stint playing with clojure made me miss common lisp, so I’m working through Paul Graham’s ANSI Common Lisp with a copy of On Lisp. My last foray, I learned from David Touretzky’s A Gentle Introduction to Symbolic Computation, so this time I’m trying PG’s book. So far I’ve done more useful things, mostly by actually reading a bit more of the sbcl user manual (from which I learned some useful things such as sb-ext:*posix-argv* and sb-ext:save-lisp-and-die) and by the immensely useful site Rosetta Code, from which I learned about the DRAKMA HTTP client library. I’ve also been aided quite a bit by Zach Beane’s quicklisp; in fact, one of the things I’ve done is to write a short script to build an sbcl image with quicklisp and my most commonly used libraries built-in.

Suddenly Enlightenment

It’s been almost 28 hours since I last slept, so I apologise if this post contains a few spelling or grammatical errors. As soon as I become aware of them, rest assured I will quickly put them to right.

Today’s git commit occurred while I was working on getting a web development test VM / environment working. The goal was to update a CGI script when I pushed to the dev vm. The commit log:

1
2
3
4
5
commit 2de6f8444c68b0dd5ad31dd815d71a5590c5120e
   Author: Kyle Isom <coder@kyleisom.net>
   Date:   Sat Dec 3 00:24:34 2011 +0300
   
       suddenly enlightenment

Add .emacs.d/init.el

In the spirit of many of my online profiles which proudly declare “my commit log is my blog,” I’ve decided to start using that in my posts. Here is the first such attempt.

 commit 40bbc533313a43192506b682fe546304d8603d11 
 Author: Kyle Isom <coder@kyleisom.net>
 Date:   Mon Nov 28 17:34:30 2011 +0300

    add .emacs.d/init.el

I’ve started using emacs, which is an act of such great blasphemy for a red-blooded stalwart vim-wielding hacker such as myself that I find it difficult to come to grips with sometimes. But there is a method to my madness, and it isn’t just that my morals are so comprised right now in this nadir of my life that I’ve even started learning javascript (a running joke).

On the Police Response to the Occupy Movement

(Originally written on 2011-10-29 and an unusual departure from the usual technical content.)

TL;DR One more combat veteran is disgusted and appalled by the actions of a few police officers during the course of the Occupy movement.

Generating Patchfiles With Git and Hg

UPDATE: originally this post was only about doing this in git. Since I use mercurial almost as much as I use git, I decided to look into how to do it with mercurial too.

I recently was explaining to someone that as a coder, I do (or should do) a lot more than just code. I figured since I hadn’t written anything here in a while, I’d put my thoughts down here.

i found myself needing to generate a patchfile today from a git repo. it turns out to be a very easy task.

Coders (Should) Do Much More Than Code

I recently was explaining to someone that as a coder, I do (or should do) a lot more than just code. I figured since I hadn’t written anything here in a while, I’d put my thoughts down here.

the tl;dr

Coders code. That much is obvious from the title, but there is much more that can and should be involved for anyone writing real code, at least for UNIX coders.

intro

So you’ve spent the last couple weeks / months / years writing some really brilliant bit of software that you think would benefit a lot of people. Or maybe, just a few, but you still are of the mindset that since you did the work to solve this problem, other people might have the same problem and if they had the solution, they could concentrate on other problems. Regardless of the quality of code and the development process you followed, which endless books have been written on the subject, there is still a lot more work to be done if you intend to make your software both useful and accessible to other people. You still need to make sure you have a reasonable portable (for the scope of the usefulness of your code) build system, good documentation, an easily accessible online place for people to get your code, and proper follow-through. Let’s talk through these bits.

RGTDD

One of the most important parts of becoming a useful developer is to find a workflow that maximises productivty. There are plenty of methodologies and tools people have come up with just for this - Agile, XP, BDD, TDD, RDD, and many others. Of course, most everyone has their own unique flavour, and of course I’m going to talk about mine. I’ve spent a lot of time trying different things (and too much time going back to just grinding out code). This is the first post of a milti-part series on how I’ve increased my productivity and what I do to get things done. Unfortunately, my personal projects are sort of haphazard still, but I have enjoyed success with this at work.

RGTDD has made a difference in how I develop code and stay productive; furthermore, above just using a specific development methodology, I’ve found certain tools to assist me in being productive.

Woofs Released

web one-time offer file securely

in the past, i found simon budig’s woof script but i wanted an SSL-secured version. i finally got around to writing an SSL-secured version. i’d started one in december, but i was still fairly new to python, but i finally pulled it off. the repo can be found here.

interestingly enough, if you look at the git commit logs there are three activity clusters: when i started the project in december, a brief period in may when i started the major rewrite to include my own http server, and a flurry of activity today when i added in ssl support.

so what does it do? as the name implies, it serves a file via https and by default serves it only once. it’s designed to allow quick filesharing between two systems; the transfer is protected by SSL. i won’t rewrite the documentation here, so be sure to check the documentation to take a look at usage. perhaps it will be useful to you as well.