Michael Fogus's Blog, page 12
April 29, 2013
The Devil’s Programming Glossary: Yak sweater
Yak sweat·er Noun /yak swet·er/ A framework that you created before a better framework came out but that you still use because you know it intimately. as in the line from Shakespeare’s play Much Ado About nil “Indeed thou did invent the wheel, alas t’is an oblong wheel thou hast creat’d. Avast and no longer [...]
Published on April 29, 2013 08:55
April 25, 2013
Announcing underscore-contrib
Although I hoped to wait another day or two to talk about this on my blog, circumstances have force my hand. Therefore, I would like to take a few of your spare moments to talk about a new project that I’m working on called underscore-contrib — an extensions library / proving ground for Underscore.js.1 TLDR; [...]
Published on April 25, 2013 11:52
April 23, 2013
Using unification to write readable Clojure macros?
In my core.contracts code I’ve experimented with using unification to aide read- and re-readability in my macros. Often I’ve found that I’ll hit a wall when returning to a macro that I wrote long ago. A mass of documentation often helps, but I wanted something more. I think I’ve found it… or at least the [...]
Published on April 23, 2013 11:13
April 18, 2013
5-3-1-0.5-year projects
Recently there was a wonderful post call “The joys of having a forever project” that was very motivational and got a lot of people excited. Due to that post I went searching around and found a whole under-culture of forever projects on the Internet including a SubReddit devoted to the topic. While I can understand [...]
Published on April 18, 2013 05:06
April 10, 2013
Computerists
How can you tell that someone is not a scientist? They’ll have the word “scientist” in their title. This seems harsh right? The truth is that if you look at most of the fields defining science you’ll see that the practitioners rarely call themselves scientists: Biologist Chemist Physicist Geologist Astronomer Botanist So why not call [...]
Published on April 10, 2013 08:38
Pointless programming in JavaScript
Using Underscore and Lemonad, how could you write a run-length encoder/decoder without ever referencing a function parameter? One way: var S = ['a', 'a', 'a', 'a', 'b', 'c', 'c', 'a', 'a', 'd', 'e', 'e', 'e', 'e']; var pack = L.partial1(L.partitionBy, _.identity); pack(S); //=> [['a', 'a', 'a', 'a'], ['b'] ...] var rle = _.compose( L.partial1(L.flip(_.map), L.juxt(L.plucker('length'), [...]
Published on April 10, 2013 05:40
April 9, 2013
Announcing: lein-simpleton
At various times I’ve needed something very similar to python -m SimpleHTTPServer readily accessible in my Clojure projects. Most of the time I just used Python but recently I’ve wanted to rework some examples from The Joy of Clojure and thought a simple Lein plugin would make a nice addition. The result: lein-simpleton — [...]
Published on April 09, 2013 06:21
March 20, 2013
fun.js
A few years ago I got the idea that it would be fun to implement a variant of Scheme targeting the JVM. During my search for different ways to implement numerics I looked deeply at the implementation of two languages: JScheme and a little-known language Clojure. During my explorations with these two languages and the [...]
Published on March 20, 2013 06:53
March 1, 2013
The Conet Project
I discovered The Conet Project many years ago through an old friend from college (thanks P373), and listened to it for many years. However, I recently (today) found out that the complete audio of The Conet project is available at Archive.org. Numbers stations are an infinitely fascinating topic and well worth the exploration. In celebration [...]
Published on March 01, 2013 06:01
February 20, 2013
Confo
A little less than a month from today the Clojure/West conference takes place in Portland, OR. I attended the first Clojure/West and actually gave a talk entitled ClojureScript Anatomy. This year however I’m not presenting, but I’ll still be there. tl;dr The Conf° collocated with Clojure/West is happening on the evening of Tues Mar. 19th [...]
Published on February 20, 2013 10:04