Calva integrated REPL (Clojure)

Its seems like we already have many TLAs (abbreviation of three-letter acronyms — which by itself is a TLA…) for describing different development processes: The most famous one is probably TDD (test driven development), but we also have BDD (behavior drive development) and FDD (feature driven development) and EDD (events driven development) and DDD (data driven development) and probably few more… I even heard the term HDD which stands for human-driven-development, since at the end of the day (at least for now) only human can actual develop new software.

With all those process already in line, do we really need…

Image from Wikipedia

The Sea of Galilee is the lowest freshwater lake on earth, located in the northeast part of Israel. Up until few years ago the lake supplied around 25% of the country’s freshwater, but now days nearly half of the water supply actually comes from desalinated water and the country no longer depends on the lake. Nevertheless, maybe as a reminder from the past, many people are still following the lake water level measurements published daily by the lake authorities and frequently quoted by the mainstream media channels.

But so far with history\geography lesson… In this blog post I will show…

Image by Gerd Altmann from Pixabay

Writing REST API in Clojure can easily lead to an inconsistency naming convention between the API schema and the underline code data structures.

Clojure is a data-oriented language, and while other programing languages use structs or objects for domain modeling, in Clojure those are basically just immutable key-value maps.

It is a common convention to used kebab-case for declaring map keys in Clojure. The API clients, however, are more likely to use other conventions such as camelCase (popular in JavaScript) or snake_case (Python, Ruby and more). Many programming languages do not support using kebab-case for variables and object properties.


I wanted to play around with GitHub Actions for some time but didn’t find the “proper” opportunity to do so. Lately I had the chance to create a new GitHub Action that executes a babashka script, and since I couldn’t found a similar one in GitHub marketplace, I’ve decided to publish it to the marketplace.

Image from GitHub Actions page

Please note that the purpose of this post is not to “teach” you how to create GitHub Actions and workflows (you can read more about it in the GitHub documentation) nor do I pretend to be expert of it. …

Image by onnikontiokorpi from Pixabay

I’ve recently came across a job post in LinkedIn looking for a developer with just a single requirement:

A programmer who wrote more than a 100,000 lines of code.

This post caught my attention (which I assume was its purpose) - most of the job posts I’ve seen so far have a pretty standard format: the requirements list usually includes some professional hard skills like technology background, programming languages, years of experience and so forth, and some soft skills like being a team player, good communication skills etc.

The post made me wonder how many lines of code (LOC) I’ve…

“There are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns — the ones we don’t know we don’t know… it is the latter category that tend to be the difficult ones.”

Donald Rumsfeld

Redis Wikipedia Page Logo

I’ve been working with Redis for several years now, and never really had any issues with it. I’ve planned and deployed high scale web services using Redis extensively with billions of daily read\write commands (using master-slave replications that scale…

I’ve recently watched this great talk by Scott Wlaschin on YouTube. One of the insights I took from the talk was a quote from Alan Perlis:

A language that doesn’t affect the way you think about programming, is not worth knowing”.

But it didn’t occur to me that writing a simple “Hello World” program will actually make me think about programing…

Whether you’re an experienced developer or just taking your first steps in the programing world, you are probably familiar with the iconic “Hello World” programs. …

Tzafrir Ben Ami

Twitter @tzafrirben

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store