Michael Fogus's Blog, page 23
March 7, 2011
The Joy of The Joy of Clojure Closure
The Joy of Clojure has gone to print.1 The tentative timeline is as follows: Chapters 1, Clojure Philosophy (the "why" of Clojure) and 9, Combining Data and Code (namespaces, multimethods, prototypes, reify, etc.), will be available as free content from Manning's Joy page. The final EBook version will be released by early March. At the [...]
Published on March 07, 2011 07:41
February 28, 2011
The Keepers of Answers
The basic currency of the Internet is human ignorance –Christian Rudder Last year, John D. Cook posted a short, yet poignant post that rings true with some ideas that I've had lately. That is, although I have used "answers sites" like StackOverflow and Quora from time to time, my feelings about these sites have over [...]
Published on February 28, 2011 06:08
February 25, 2011
Tramp.oline
For various reasons I've taken it upon myself to learn Ruby and I thought I would share a humdinger. Implementing functions checking for odd-ness and even-ness is often held as an example for illustrating mutual function recursion, and the same can be illustrated with Ruby: def e?(n) if n.zero? true else o?(n.abs - 1) end [...]
Published on February 25, 2011 10:31
February 9, 2011
evalive a go go
I've mentioned my spunky little library evalive numerous times, but never got around to announcing it officially. Well here you go. evalive: a tiny clojure library providing another eval… and destro. source marginalia docs Examples (use '[evalive.core :only (evil destro)]) evil (evil '{message "Hello", place "Cleveland"} '(println message place)) ; Hello Cleveland destro (destro [message [...]
Published on February 09, 2011 16:25
January 14, 2011
Pattern Matching vs. Destructuring… Electric Boogaloo
After my previous post comparing pattern matching and destructuring in Clojure a fine gentleman was kind enough to point out an incredibly concise summary: Pattern matching is a conditional construct and destructuring isn't. – a fine gentleman This is absolutely correct, and I missed making that distinction in a clear way. Consider the following, from [...]
Published on January 14, 2011 06:21
January 12, 2011
Pattern Matching vs. Destructuring… to the death!
In my post about unification vs. pattern matching I included a little footnote about how the creator of Matchure is probably often asked how pattern matching differs from Clojure's destructuring. This footnote was an attempt to draw the elusive author out and comment on the subject. Since my attempt was a failure, I decided to [...]
Published on January 12, 2011 12:43
January 10, 2011
Dancing monkey gibbers on about Scala and Clojure
The video for my CUFP 2010 talk Naïveté vs. Experience on Scala (more-so) and Clojure (less-so) has been posted on the CUFP site.
Published on January 10, 2011 07:15
January 5, 2011
The Marginalia Manifesto
I have a very strong opinion regarding the importance of clear and complete documentation. My reaction to poorly documented code, products, and services is visceral to the point where I often refuse to release even the most humble library without code comments, examples, tests, invariant definitions, a logo, and an "official website". However, time is not always on my side for my personal projects, so I am constantly looking for ways to minimize the amount of work required to generate well-documented software without sacrificing quality. Marginalia is a step in that direction.
Published on January 05, 2011 06:44
December 30, 2010
The best things in 2010
Great things and people that I discovered, learned, read, met, etc. in 2010. No particular ordering is implied. Not everything is new.
Published on December 30, 2010 09:34
December 20, 2010
Self
I've been an object-oriented practitioner for years and like many others I've come to find it wanting. To be fair, while I think there are valid complaints against OOP in general, the more egregious failings tend to be matters of implementation. For example, in any discussion involving Java's OOP, the faults of Java's implementation tends [...]
Published on December 20, 2010 08:19