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 '

Learning is cool.

Learning how to learn is a super power.

Lets look at the lense of learning a new language:

At the most tactical level, we would be studying the language itself. Reading a children's book in the target language, or making and studying flashcards.

At a higher level, we would be considering how we can best study the language. Flash cards? Reading children's books in the foreign language? Passive or active learning? etc.