November 22, 2015

IaaS and PaaS Explained: A Food Analogy

8 minute read

The other night, I was meditating about my various options for deploying applications at work, including “Infrastructure as a Service” (IaaS) and “Platform as a Service” (PaaS). Amidst my musing, I came up with an analogy for explaining the difference between these various ways of deploying programming solutions, in addition to the much more conventional approaches which were used formerly (and are often still necessary). The Analogy Suppose you want to get into the food services industry. ...

November 17, 2015

The Clojure “Reductions” Function

2 minute read

Tonight, while attempting a problem at 4 Clojure (problem number omitted so as not to give too many hints), I was struck by the following problem: What if I need a Clojure function which can take a sequence of functions and can sequentially call them on some seed value? I’m specifically looking at something like: (defn some-fun [seed-val & funs] ; Keep passing the calculated value through, while also appending to sequence (list ((first funs) seed-val) ((second funs) ((first funs) seed-val)) . ...

November 6, 2015

Teaching Binary Using the Socratic Method

2 minute read

Yesterday, I saw this article shared on Reddit’s programming subreddit. I can’t due justice to the article, so I won’t even try to summarize it. (Definitely read it before reading on here.) However, I think it’s worth sharing because it highlights one of the most fundamental things that we take for granted when trying to teach friends or family something (not all of us are trained teachers). Not every new concept is actually so complex and layered that it can’t be easily intuited by someone with basic knowledge. ...

November 5, 2015

Clojure Zippers Emulate Object-Oriented Programming?

3 minute read

Yesterday, I posted about using Clojure zippers to solve the problem of automatically generating a Table of Contents. During my work with Clojure’s implementation of zippers, I noticed something interesting. The zipper function creates (and returns) a new zipper object. Its parameters are the following (lifted straight from the documentation): branch? – a function that takes a node of the zipper and returns a true/false if it is capable of having children (even if it currently does not). ...

November 5, 2015

Coding: Debugging the Gender Gap

2 minute read

On Monday, I had the chance to view a private screening of the newish documentary “Code: Debugging the Gender Gap”. The premise of the documentary, lifted straight from IMDB: CODE documentary exposes the dearth of female and minority software engineers and explores the reasons for this gender gap and digital divide. The film highlights breakthrough efforts that are producing more diverse programmers and shows how this critical gap can be closed. ...

© Jeff Rabinowitz, 2023