View hamming_test.rb
#!/usr/bin/env ruby
gem 'minitest', '>= 5.0.0'
require 'minitest/autorun'
require_relative 'hamming'
# Test data version:
# deb225e Implement canonical dataset for scrabble-score problem (#255)

Accessibility lesson: 07/18/17

Warmup questions (turn and talk):

  • what do we know about accessible web apps?
  • What have we done to make our projects accessible? (Mark and I: nothing. It’s not accessible for anyone, be they developers or people w/perfect vision. We just build ugly projects.)
  • What are we most curious about re: accessibility
    • Mark: When in the project do you start making it accessible? From day one, or can you “fix it up” at the end
    • Josh: How do you make the case to your manager to spend 5-10% of the project time on making it accessible?
    • Josh: Are there online “watering holes” where people with disabilities go to make use of accessible websites? (Like Reddit?)

I needed a URL validator - it needed to check that URL's had HTTP or HTTPS at the beginning. I initially wrote a "before save" action, but didn't like it cluttering up my model. I found a reference to basically "monkey patching" Rail's default Validator class, so that's what I did!

# concerns/url_validator.rb
require 'uri'

class UrlValidator < ActiveModel::Validator

  def validate(record)
    if record.url?

On Learning

topics: {
      DEEP WORK:
        protect and cultivate (limited) attention,
        ear plugs,
        skeptical of music,
        examine your own process,

Better workflow (leads to) better questions (leads to) better jobs

We'll cover two things:

  1. Have a great workflow
  2. Ask great questions


From Regis, who will cover the "workflow" portion of the spike


On cleaner controllers

A few days ago, I worked on a project that was mostly about serving up basic store data (modeled after Etsy) to an API.

We had a few dozen end-points, and all responses were in JSON.

Most of the action happened inside of our controllers, and as you might imagine, our routes.rb file was bananas.

One of the instructors made an exceptionally simple suggestion, I was embarrassed to not have seen it.


in .psqlrc, I've got:

\set PROMPT1 '\n%[%033[1;31;40m%] ➤ %[%033[32m%]psql%033[36m%]%/ %[%033[K%]%[%033[0m%]\n\n%[%033[1;33m%]%#%[%033[0m%] '
\set PROMPT2 '%[%033[1;33m%]%##%[%033[0m%] '
\set HISTSIZE 2000

\set alldata 'SELECT * FROM '