E-coin faucets have been around for a while, and I’ve never had a problem with them. So I clicked the link, and saw the dwindling amount left to give away.
I switched from iPhone to the Pixel 2: One-week report
...the bottom line is, the experience is simultaneously high-end luxury yet while staying informed and in control of the device.
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 … Continue reading A Docker dev config for Ruby on Rails
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
Python vs. Haskell round 1: Test Output
The point goes to Haskell On the surface, it may sound silly to compare these two languages because they're about opposite as you could get: Python is interpreted, dynamically typed, and slightly weakly typed as well. Haskell on the other hand, is compiled, statically and strongly typed. But they're both open source, and they both … Continue reading Python vs. Haskell round 1: Test Output
Engineering with Empathy: how do we decide when to fix?
It's a sappy title, but bear with me. I'm wondering if the best lessons of diversity and inclusion can be applied to software development? For example, if something is offensive to others, then it's worth looking for an alternative — even if I'm not personally offended. I witnessed an interesting disagreement on a software project: … Continue reading Engineering with Empathy: how do we decide when to fix?
Why I don’t use let/let! in my RSpec
At work, we're deciding on our test-writing style: let/let! blocks like let(:arg) { 5 } vs. instance variables defined in a setup method like @arg = 5. I've found no advantage to let; but I have experienced disadvantages. I've found no disadvantages to instance variables. And so, 👍 for instance variables. I've written many specs … Continue reading Why I don’t use let/let! in my RSpec