Alan Kay says there are only 2 Object Oriented languages that he knows of: Smalltalk and Lisp. The deeper I go into the history of Smalltalk, the more functional Smalltalk looks. | Continue reading
People complain a lot about difficulties with deeply nested maps in Clojure. I’ve never had that problem. I looked at other people’s code to see what they were doing to get into trouble. In this talk you’ll get a good idea of the wrong turns people take and you’ll leave with some … | Continue reading
We start with a Haskell type that models a feature very well. As the feature changes, the data model eventually evolves into something like Clojure's hash maps. Discussion follows. | Continue reading
We read one of the great articles by Alan Kay, inventor of Smalltalk. | Continue reading
In this first episode of season 3, we analyze a great paper called Lisp: A language for stratified design. | Continue reading
Idempotence means duplicates don't matter. It means you can safely retry an operation with no issues. The classic example is the elevator button: you press it twice and it does not call two elevators. We explore why we would want that property in an email server. | Continue reading
We explore some of the background behind the meaning of the word abstraction and why we do it. | Continue reading
Rich Hickey explained the design choices behind Clojure and made many statements about static typing along the way. I share an interesting perspective and some stories from my time as a Haskell programmer. I conclude with a design challenge for the statically typed world. | Continue reading
Use the OWASP Top Ten Project to minimize security vulnerabilities in your Clojure web application. | Continue reading
Can you do Functional Programming in any language? More importantly, can you learn FP in any language? What does it mean to call a language "functional"? | Continue reading
In my opinion, the #2 most important idea is something that came directly out of computing. But I’m not so sure. Do you know? Let me know, too! | Continue reading
Well, this one is probably the most controversial. But I think the #3 most important idea has something to do with the problem of exponential growth of the number of possible states we can represent as we add bits to our system. | Continue reading
I've recently shifted my thinking about Clojure error messages. It is more useful to think of them as non-existent than to think of them as bad. We end with the role Spec can play in improving error messages. | Continue reading
Using LESS, we can almost achieve the expressive power of the Lambda Calculus as applied to styling. The expressive power is enough to create reusable styles applied to reusable HTML components. | Continue reading
Null pointers are still a problem in Clojure, but several design decisions have made them less problematic than other languages. | Continue reading