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 [...]
 •  0 comments  •  flag
Share on Twitter
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 [...]
 •  0 comments  •  flag
Share on Twitter
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 [...]
 •  0 comments  •  flag
Share on Twitter
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 [...]
 •  0 comments  •  flag
Share on Twitter
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 [...]
 •  0 comments  •  flag
Share on Twitter
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 [...]
 •  0 comments  •  flag
Share on Twitter
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.
 •  0 comments  •  flag
Share on Twitter
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.
 •  0 comments  •  flag
Share on Twitter
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.
 •  0 comments  •  flag
Share on Twitter
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 [...]
 •  0 comments  •  flag
Share on Twitter
Published on December 20, 2010 08:19