My name is Andrew Stine. I'm a soft­ware devel­oper and free­lance philoso­pher cur­rently based out of North­ern Vir­ginia and this is my web­site. It's partly a blog, and partly a show­case for dif­fer­ent projects on which I may be work­ing.

You can get in touch with me through

My pub­lic key: Public Key

You can peruse more of my projects on Github.

I also have a Twitter Feed that you can fol­low and I'm on LinkedIn.

Nota bene: If you wish to con­tact me direct­ly, I strongly pre­fer email to phone calls, espe­cially dur­ing work­ing hours. Thanks.


Latest Blog Posts

Web Applications

September 05, 2014

Web appli­ca­tions have come a long way in the past decade or so. Back in the 90s a ‘web appli­ca­tion’ was basi­cally a group of web forms and web pages hid­den behind some CGI scripts. In 2004, the same thing was basi­cally still true though peo­ple were maybe using servlets rather than CGI. Nowa­days how­ev­er, web appli­ca­tions can be very sim­i­lar to native appli­ca­tions in terms of func­tion­al­ity and usage. Over the years, the web has trans­formed from a doc­u­ment deliv­ery sys­tem to an appli­ca­tion deliv­ery sys­tem and we’ve suc­ceeded in repli­cat­ing just about every native appli­ca­tion in web form to some degree or anoth­er. This is kind of wild.

Yet, to a large degree, web appli­ca­tions still suck… Read More

What constitutes cheating?

July 22, 2014

I just fin­ished read­ing Michael Lewis’s book Flash Boys. Its the first Michael Lewis book I’ve read and I’m not yet cer­tain what I think of him as an author or a jour­nal­ist. I’ll prob­a­bly read a few more before I’m cer­tain.

What I am cer­tain of is that Flash Boys is a very inter­est­ing book. It’s about high fre­quency trad­ing and its effects on the stock mar­ket. It mainly details the less eth­i­cal tac­tics of high fre­quency traders as well as the cre­ation of IEX, a stock exchange designed to counter those tac­tics. It raises some very inter­est­ing ques­tions about the effects of tech­nol­ogy not just on the stock mar­ket but in gen­er­al, and for me, also raises ques­tions about what con­sti­tutes fair-­play in a free mar­ket… Read More

More fun with Clojure lazy sequences

July 13, 2014

Recently I was writ­ing some code to ingest new entries for my church search web­site. The appli­ca­tion is writ­ten in Clo­jure, but the down­load­ing is done with an exter­nal script that down­loads new entries and saves them as files in a direc­to­ry, but at a slow rate. I wanted to be able to spec­ify a range of entries to down­load, and have the script run and then have my appli­ca­tion ingest the files that the script gen­er­ates. I wanted this to work con­cur­rent­ly, with mul­ti­ple down­load­ers and mul­ti­ple ingesters run­ning at the same time. And I wanted all of this to be trig­gered from Clo­jure.

This is basi­cally a con­cur­rency prob­lem so it’s a good thing I was try­ing to do it in using Clo­jure. The most obvi­ous solu­tion would be to launch mul­ti­ple down­load­ers, and then have a thread which watches the direc­to­ry, feed­ing filepaths to ingester threads using chan­nels and core.a­sync. Unfor­tu­nate­ly, I’m stuck using an older ver­sion of Clo­jure for this project for the moment and core.a­sync is not avail­able. Thank­ful­ly, lazy sequences can be used as a sub­sti­tute for chan­nels in a pinch… Read More

Some of my work:
Nighttime Alert

An evening alarm clock for undis­­­­­ci­­­plined insom­ni­acs


A triv­ial Face­­­book bot which wishes a users friends happy birth­­­day on their birth­­days.

Unix Options

A Com­­­mon Lisp com­­­mand line parser.

source download
Mass On Time

An tool for find­­­ing nearby Catholic masses and sacra­­ments.


Some exten­­­sions to eh cl-­­­fad path­­­name library.

Swank Client

A sim­­­ple com­­­mand line client for swank. This client is writ­ten in Clo­jure and tar­gets Clo­jure Swank specif­i­­cal­­ly.