A Docker dev config for Ruby on Rails

I use Docker for all my client work, and most of my personal projects too. I love it. It’s saved me a ton of money because it uses so much less RAM than Vagrant — what I had been using. Benefits of this config Just docker-compose up to set up and launch the dev environment…More

Setting up a Docker dev environment for Elixir+Phoenix

Benefits One-line setup and bootup: docker-compose up. It creates the database, does the Dialyzer pre-work (if the project has Dialyxer installed), etc. A true development-oriented config: Source code is mounted so that changes in the container appear on the host, and vice-versa. Fast re-builds because the DOCKERFILE is written to help Docker cache the images. Syncing with the…More

What my top students had in common: they asked questions.

When I say, “they ask questions”, I mean literally, truly, a string of words followed by a question mark. Not implied questions like, “I don’t know what to do here!” I realized this after mentoring dozens of students, online and in person, at many code schools and online platforms. Scientifically speaking, this is an imperfect…More

The Economics of Programming: Externalized vs. Internalized Costs

Many days I feel like my work as an agile consultant is simply internalizing (externalized) costs. First example that comes to mind: software development done too quickly which creates technical debt as it goes. In the short term, a project like that can seem very successful, exceeding expectations for delivery time and customer satisfaction. And then…More

Python vs. Haskell round 2: Making Me a Better Programmer

Another point for Haskell In Round 1 I described the task: find the number of “Titles” in an HTML file. I started with the Python implementation, and wrote this test: Very simple: I had already downloaded the  web page  and so this function had to do just two things: (1) read in the file, and then (2) parse…More