The perfect IDE in pictures: Part 1, *it* works for *you*

I don't think the perfect IDE exists. But all the right ingredients are out there. Allan MacGregor wrote a post about VIM as the "perfect IDE" that started an interesting discussion on dev.to. But I'm skeptical about the pages-long config file, the dozens of independent plugins, and whether the result is really an "IDE". This reminded … Continue reading The perfect IDE in pictures: Part 1, *it* works for *you*

Testing the multi-subdomain Rails app

Writing tests for a multi-tenant, multi-subdomain app turns out to be very tricky to figure out, e.g.: I saw that, and understood the frustration. Integration tests ("request specs" or "feature specs") are built on a stack of frequently changing libraries and shifting API's. And the recipe for subdomain-aware testing isn't documented in any particular tool's notes. … Continue reading Testing the multi-subdomain Rails app

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 … Continue reading Setting up a Docker dev environment for Elixir+Phoenix

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 … Continue reading What my top students had in common: they asked questions.

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 … Continue reading The Economics of Programming: Externalized vs. Internalized Costs

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 … Continue reading Python vs. Haskell round 2: Making Me a Better Programmer