Island94.org
A Lost and Found
- Posts
- 736 from 1 Nov 2005 to 28 Oct 2026
- Posting
- monthly (14 in the last year)
- Kind
- personal blog
- Feed
- https://island94.org/feed.xml
2026 13
- Bad requests and the dream of a quiet Rails app
- Adding custom Thor commands to your Rails app
- Converting a Ruby block interface to start/stop methods with a Fiber
- Two interviews and Information Technology thoughts
- How to programmatically upload attachments to GitHub Issues, Pull Requests, and Comments, finally, for now
- Running code when the Ruby on Rails webserver boots
- Planning badly, more and less
- One year of Ruby on Rails configuration
- A bulletproof `wait_for_turbo` test helper
- War
- Post your Prompts
- Frontier novelty
- GoodJob, Solid Queue, Sidekiq, Active Job, in 2026
2025 33
- Tricks to work around nested form elements, for Rails
- Conflicted and commingled
- Rails 103 Early Hints could be better, maybe doesn’t matter
- Hanami and loading code, faster
- Notes from building a “who is doing what right now on our website?” presence feature with Action Cable
- Serializing ViewComponent for Active Job and Turbo Broadcast Later
- Serializing ViewComponent for Active Job and Turbo broadcast later
- Newer posts
- Building deterministic, reproducible assets with Sprockets
- Everything I know about AI, I learned by reading the AWS Bedrock Client Ruby SDK code
- Consider Thruster with Puma on Heroku
- How to customize Rails I18n key suffixes like `_md` for Markdown
- Is everyone ok at the gemba
- Recently, June 29, 2025
- Recently, June 8, 2025
- The difference between Rails Plugins, Extensions, Gems, Railties, and Engines
- A nice email for subscribers
- Recently, May 4, 2025
- Recently, April 20, 2025
- Recently, April 14, 2025
- Recently, April 7, 2025
- Older posts
- Recently, April 2, 2025
- Newer posts
- Wide Models and Active Record custom validation contexts
- GitHub Action and Apple Shortcut powered integrations
- Recently, March 26, 2025
- Recently, March 16, 2025
- Addressing it directly
- Flattening the curve for the safety net, five years later
- Ruby "Thread Contention" is simply GVL Queuing
- Living Parklife with Rails, coming from Jekyll
- How I'm thinking about AI (LLMs)
2024 22
- Including Rails View Helpers is a concern
- Keep your secrets.yml in Rails 7.2+
- A mostly technical reflection on Disaster Relief Assistance for Immigrants
- Spectator Sport, a brief introduction to an upcoming Rails plugin
- Seeing like a Rails and Ruby platform team
- The secret to perfectly calculate Rails database connection pool size
- The Novice Problem
- Notes from Carrierwave to Active Storage
- On the importance of Rails code reloading and autoloading
- Introducing GoodJob v4
- Rails Strict Locals, undefined `local_assigns`, and reserved keywords
- Recently, June, 2024
- A comment on Second Systems
- A Ruby Meetup about Rails autoloading and 3 Podcasts
- Rails Active Record: Will it bind?
- Low-effort prototyping
- Farewell Brompt
- 13 years
- Replacing Devise with Rails `has_secure_password` and friends
- Two stories about technical debt, I guess
- The answer is in your heap: debugging a big memory increase in Ruby on Rails
- Trigger GitHub Actions workflows with inputs from Apple Shortcuts
2023 27
- Recently, December 10, 2023
- Solid Queue first impressions: Nice!
- The Rails Executor: increasingly everywhere
- Reflections on GoodJob for Solid Queue
- Writing Object Shape friendly code in Ruby
- In defense of consensus
- Appropriately using Ruby’s Thread.handle_interrupt
- Fake the algorithm til you make it
- How to isolate I18n configuration in a Rails Engine
- Recoding America, a book review
- Systems of utopia
- 19 sales & marketing strategies in 19 weeks
- Rebuilding Concurrent Ruby: ScheduledTask, Event, and TimerSet
- Whatever you do, don't autoload Rails `lib/`
- The Constant Rabbit
- The Dawn of Everything
- Recently, March 12, 2023
- How GoodJob's mountable Rails Engine delivers Javascript importmaps and frontend assets
- Service Object Objects in Ruby
- Slop and call
- Prevent CDN poisoning from Fat GET/HEAD Requests in Ruby on Rails
- Introducing GoodJob Bulk and Batch
- Recently, January 3, 2023
- Framing open source contributions at work
- How GoodJob's Cron does distributed locks
- Conflict, at work
- 2022 in review
2022 37
- Liberatory accountability
- Worknotes: November 13, 2022
- Environment, at work
- Synectics: The Development of Creative Capacity
- Worknotes - October 23, 2022
- Productive Struggle
- Impenetrable legal language
- Weeknotes: September 19, 2022
- Persian Tahchin-inspired crispy chicken rice
- Reflections on Brompt, 2022
- Object Thinking
- Weeknotes: Aug 29, 2022
- Still only myself
- Hate and sarcasm
- Four dumb-cringe tech interview stories
- "What the fuck are you talking about?": The story of NodeTiles
- We're all just people here, even platforms
- Worknotes: Week 9
- Programmed Inequality: How Britain Discarded Women Technologists and Lost Its Edge in Computing
- Laws of Spacecraft and Software
- Hench
- Worknotes: Week 5
- Weeknotes: Week 0
- Recoding Gender
- Science in the Capital
- Working the problem
- Sense-making list-making
- Let the Record Show: A Political History of ACT UP New York, 1987-1993
- Five years on food stamps
- Bullshit Jobs
- Over-rapported
- OOP the easy way
- Software models
- It asks you to be interactive
- Even if the answers are messy and provisional
- TIL: ActiveRecord transactions roll back on Ruby Thread abort
- Javascript is a management problem
2021 12
- I'm burning dude... where do we go from here?
- Types of Corruption
- Conflict in the matrix
- Behaving like the character in a story
- TIL: Detecting block returns in Ruby
- Home buyer letter
- GoodJob, what's new: Cron, concurrency controls, and a dashboard demo (v1.12.0)
- Paranoid and Reparative readings
- GoodJob Updates v1.5 - v1.9: Dashboard, daemonize, async_server, and graceful shutdowns
- Is SecureRandom.choose the wrong name for generating randomized strings with Ruby?
- Generic advice for managers
- GoodJob 1.4: JRuby compatibility and more
2020 18
- Maimonides' levels of charity
- If you can hook them for a day, you can hook them for two
- Dying on management mountain
- Triangular eating
- Better by our own standards
- The five ideals explained
- The furthest to go in efforts to reach their full humanity
- The sublime
- Centering Civic Tech
- GoodJob v1.3: Web dashboard and full documentation
- Performance facilitators not supervisors
- Respect our vendors
- GoodJob v1.2: Multithreaded queue isolation and LISTEN/NOTIFY
- GoodJob v1.1: async and improved documentation
- Introducing GoodJob 1.0, a new Postgres-based, multithreaded, ActiveJob backend for Ruby on Rails
- Retail politics
- Engineering Operations is not the same as Development
- Decade in Review 2010-2019
2019 21
- The water never goes away
- To care about AI
- Deterministic test data with Faker, FactoryBot, and RSpec
- Because it helps them to release software
- The Concrete Sumo - Ethics in Software Engineering Discussion Guide
- Public comments on Sunset housing
- Trust and safety
- Attention
- Truths about the interpretation of falsehood articles
- Wiggle your toes
- Team Number One
- Core promotion challenges
- Weeknotes for April 7, 2019
- Quantitative usability, assistive technology, and the right to privacy
- Weeknotes February 24, 2019
- Weeknotes February 17, 2019
- Having a creator's profile
- Just the fact there doesn't seem to be a reason doesn't mean there isn't a reason
- The work of product management
- Advocacy, inquiry, and very large teams
- What are the rewards?
2018 15
- Difficult workshops and vulnerability
- Market perils and political exclusion
- Asymmetry of happiness and misery
- Notes from Priceonomics Information Marketing Workshop
- Disfunctional workplaces
- Goal Evaluation Practices
- Lighthouse Labs retrospective note
- Best Practice Practices
- The concrete sumo
- There is often a crisis
- 2017 Professional Goals Reviewed
- Japanese processes
- If you replaced “accessibility” with “responsive design” in 2018, this is what you’d get
- Weeknotes - February 10, 2018
- To test god
2017 9
2016 6
2015 1
2014 2
2013 6
2012 9
2011 58
- Speedgeeking on Wordpress Filters
- Literacy is more than reading
- The point where creativity and invention occur
- The work itself isn’t inhumane
- Fundraising Tool Memo Boilerplate
- The prevailing worldview of the present
- That Californian Ideology
- Community mapping class interview & outcomes
- Project fecundity
- Meet AmeriCorps no more
- Crime and Data Leadership
- Ambiguous URL
- Shifting beliefs, remaking the pie
- Where rhetoric is substance
- 7 years in Boston
- Similar message, wider audience
- DonorsChoose Contest Update: Consolation Prize Edition
- A modest web-app proposal
- Competitive Collaboration or Collaborative Competition
- The event is a tyrant
- Planning is timeless
- Print & Share: not everyone is a social media ninja (nor need they be)
- Developing intent
- Irrefutable gerunds
- App contest submission boilerplate
- Data divides and umbrellafication
- Wisdom and discernment
- Minimal Mass
- Uncrime Mapping
- Data-driven, content-first design
- "Describe the basis for your approach to this project. How did you determine the need for this project now and who was included in its design?"
- Nailed that response
- Capturing well-being, not simply access and speed
- Failure on balance
- A reminder that it's still about power
- Philanthropy's progressive legacy
- Reductionist function and practice
- Apps off the approved vendor list
- Lovingly reimagined, progressively remade
- Belief-based design
- Shirt sales, scraped daily
- Social Media Community Architect and Manager
- Apparently I'm nonprofitly conservative
- That national interest thing
- ...it was sexist when I got here
- A form from my favorites
- Towards advocacy-based media
- Advocacy in print - Survival News for 2011
- How to decorate your office without really trying
- The 48 hour mobile web app: Drunken Stumble
- A form from my favorites
- Notes from the City of Boston's Open311 / Citizens Connect API Developer Meeting
- Adding class to Wordpress linked images
- Authenticity and such
- The benefits of age
- Mediation Journal, Version 0
- Assessment of needs-assessment needs
- Adding hyperlinks to print publications
2010 102
- De nada, Una Pequeña Casa
- T Shirt
- Mediation journal pieces
- Boston Bike Crash Map in the News
- Blue Ribbon Commissions in Print
- Proposals to change the tax-deductibility of donations
- Public data vs. Self-reporting
- This is me not being cynical about nonprofit innovation
- Undermining nonprofit significance
- Accessible leisure through technology
- Boston Bike Crash Map
- A difference of a map
- Goofus & Gallant, MBA
- Metaphors and diversity
- Learning styles and chemistry
- Life before the chart
- Stop being a weenie and just go make something
- A deucedly outrag* wordlist
- Professional writing sample
- The mission of the symphony
- Fairly fool-proof whole-wheat popovers
- No wonder you weren't good at it
- When all you have is a hammer
- Don't confuse "online" with "Twitter"
- This image will save us
- Scientific disunity
- The Analog Divide
- Mystics, poets and best practices
- Kitchen Consensus Conjecture
- "...be manically participatory..."
- This is not a website
- Commodity work
- Making language of meaning
- Nonprofit Social Media Literacy
- Find fresh perspectives at NonprofitMillennials.org
- Fondly remembered experiments in minimal webdesign
- P, NP and Panlexicon
- Social Media Strategy and the Dodo Bird Effect
- Art, I hardly knew ye
- Wealth Parade
- What does your computer symbolize?
- Zilch for a nonprofit
- The medium is the method
- The move towards empowerment
- Task identification and completion
- Typology versus taxonomy
- Fierce editing
- Management Theories and Interventions
- Straightforward Project Satisfaction and Fulfillment
- Typology of Social Giving Transactions
- Forces of Organizational Entry
- Zen and Postmodern Art
- iPhone apps allow giving, just not charity
- Get your own
- Goodbye Producers' Forum
- Stages of team development
- Write first, outline later
- Try it again
- A definition that is good enough
- JFK accuses media of sensationalism, triviality
- History is an art form rooted in scholarship
- Corporate social distractibility
- Ethical omissions
- I am now a Technology of Participation facilitator
- Principles of Organizational Development Practice
- The Economy: it's made of people
- Leaders and privileged voices
- Mendacity in order
- Do what I say
- Internships and the media
- Quotes on self
- "If you don't know how to notice, you can't do anything well"
- A rhetoric for writing in the post-digital era
- The author function and the internet
- Two of charts
- Frequency of occurrence of letters in English
- Numerical Indifference
- Laying out latest layout
- Good enough data
- Models, feedback and crows
- Cleaving the visual experience
- Mount Vernon, Port Huron and Sharon Statements in Comparison
- Quality of life, mind and language
- Motivated design
- A temperance of words
- Criticism for everyone
- Washing of dishes requires great peace of mind
- Ethical flexibility for export
- Amperlamb
- Hippostrophe
- He thinks I'm working on parts. I'm working on concepts.
- Still Ferrari-less
- Insufficient funds
- Social media is women's work
- American Press Subsidies
- The poor, the dead, and God are easily forgotten
- Two tales of Island 94
- Notes of the first water
- Radical volunteerism, or not
- Criticism of Actor-Network Theory
- Modern and post-modern science
- Umberto Eco on Modernism
2009 103
- Critical Thinking contextualized
- Transactions vs. Relationships
- Academia on the experience of poverty
- Easier drawn than said
- Axemaker conclusions
- Gatekeeper Code
- Like Wikipedia, but before
- Social Assistance Cynicism
- Invoking the first amendment
- Three Story Intellect Model
- Going crazy over social impact
- Ace Advertising
- Gifts of Magnificence
- Poverty mythology
- Unions and the media
- The journalism landscape in a nutshell
- Ethics made easy
- Outside of my jurisdiction
- My nonprofit Facebook strategy and tactics
- Metaphor death
- Starvation begets starvation
- Charity, Mercy and Sin
- Quotidian insights
- Frames for Copyright
- The motion of gifts
- We participate, they profit
- Why framing matters
- Not another Rogue's nest
- Twenty-four dollars
- Kick in the baud
- An ample account
- Leverage your nonprofit status
- Chasing Best Practices
- God didn't do Best Practices
- It's complicated
- Obviously not to scale
- Social work is women's work, so we don't care
- Speak up for democracy
- Teaching through breakage
- Catastophizing and other thought distortions
- In the beginning, God separated Heaven and Earth
- Welcome Grassroots Users of Technology
- Perspectives on Building Power
- Millenial Nonprofity Exposition
- Janets Spiral Periodic Table
- But licensed in how many dimensions?
- Nonprofit Budgeting Scenario
- Intellectual activity
- My use of the comma
- Technology 2.0: Mapping Presentation
- My featured dead cockroach
- [REMOVED] Boston Subway in Vector Format (SVG)
- Anxiety Reading
- Drupal: Adding a geocoding failure message to Location Module
- Good advice to live by
- Religion and individualism
- From Self-Actualization to Neo-Liberalism
- Marketing in Wealth Bondage
- Different Strokes
- Media and Radical Technology
- Moving Day
- Slow Down
- Clarity of hindsight: law vs. policy
- Three Americas
- Judging reality and experience
- Attributes of Respected Chairs
- A quote for the rain
- Charting work success
- Political Rhetoric
- Business rhetoric
- The essence of Capacity Building
- Current Consumption of Currants
- Example of the (false) metaphor of the tube
- Lying in subtext and by omission
- 3 Fortunes
- Harnessing inequality
- Pratfalls to writing authentically
- Satyagraha versus Duragraha
- Cold-Start car advice
- Cell phones and "personal" computing
- Double Loop Learning
- Quotes on Thought and Process
- Excerpt: Sectors of the US Right---Active in the Year 2001
- 18-25: moving from Becoming to Being
- Meandering thoughts on creativity, change and consciousness
- Press Release Rhythm
- Thoughts on Nonprofit growth, management and culture
- Existential Charters
- The Purpose of Copyright
- The (false) metaphor of the tube for communication
- Mission and Promise: there is a difference
- Online Fundraising: please do it right
- Self, Language and Consciousness
- The Ethics of Awareness
- Tips for researching and applying to nonprofit jobs
- Notes on silence
- Know your organic PLU by number
- Two videos for February 1st
- Types of Facilitator Interventions
- American Commissar: my family archive project
- Using distinctions to create meaning
- 2008 in Review
- Weingarten Rights
2008 80
- Human Measurements
- From "Web 2.0" to "Produsage"
- The Nonprofit between Scylla and Charydbis
- How to write a cover letter for a job application
- Lessons from the 1960s
- Interview Questions
- Strengthening Organizations through Community Engagement
- Equally good alternatives to collaboration
- How to create cross-sector nonprofit value
- Being Wrong is Right, but not in the education system
- When "good" is better than "best"
- Birthday Wishlist
- Buyer's Remorse Hacking
- Community Organizer = Community Outreach Minister
- Small Government / Small Paper
- Blog Action Day: Poverty
- Graphical Organization of the Talmud
- Making ReCAPTCHA not suck
- Nonprofits and the Economy of Free
- Questions for external brand interviews
- PopCo Cake Recipe
- Nonprofits and Political Activities
- Search is not Serendipitous
- Exploring Poverty: Participation, Practice, Imagination and Exploration
- Why are nonprofits tax-exempt?
- Pod of Whales
- What is a nonprofit? A structural definition
- Get a Government Job
- Radio Ga Ga 2: The role of nonprofits in constructing a better world
- Failure of confidence
- How to make do with what you got
- Makes You Crazy
- How to write a grant the way I want to be taught grant writing
- Lessons for Nonprofitteers from Majora Carter
- Nonprofit Board Management, Governance and Advice
- Caring on the Internet
- Are you Ahw or Arr?
- Cleaving Running Reds from Jaybiking
- What to ask before building a website
- Drupal: theme override for Upload.module's attachments list
- Digital Media Forensics
- Individual Challenges for Nonprofit Leaders
- Poverty as the singular moral challenge
- Job qualification: Not a jerk
- Political News Coverage
- How to use a fridge crisper
- Vegan Baking Tips: Egg Replacement and Oil
- Tragic Food
- Facebook to Phone Trees: Nonprofit Technology for Everyone
- Fluoride, teeth and brushing advice
- Lumifi Search Widget
- 7 Nonprofit Challenges
- Line up in order of your SSN
- Other words for "Lie"
- Conference notes: managing nonprofit technology projects
- Contextonomy
- NTC08: The Seven Things Everyone Wants: What Freud and Buddha Understood (and We're Forgetting) about Online Outreach
- JP Cafe Brownies
- Binaries and Teaching
- Boston Vegetable Planting Chart
- Enchilada Sauce
- Brompt is a blog reminder
- Cat, New
- Progressive Terminology for Discussing Poverty
- Nonprofit Job Misconceptions
- Transitivity Fallacy
- Brompt is a blog reminder
- Free society
- A millenial idea
- Why I like Apple Computers
- Breakfast Cereals, oh my
- Writing my Congress Critter
- Capitalism and Morality (Thai Beer and Monks)
- Reject or Denounce
- Excel Escape Characters
- NY Times on Public Television
- Perspective
- ORS amounts for a Nalgene bottle
- To "decimate"
- 2007 in Review
2007 78
- Lolart
- Medicalization
- Understanding Beliefs (and how to change them)
- Detective Nonsense
- Bees and Biology
- Remember Paul
- Hold the salt
- Reading List
- Design Analogies
- Destructive rhetoric
- Apple and Green Papaya
- Cribbed Apple Salsa
- King Corn
- Struck by Cain
- Consumption and deregulation
- Fat facts
- vis-a-vis viz. vis-a-vis, viz.
- Creating meaning through interaction
- Happy Birthday to me
- Volunteer logic
- Biology cliche
- Close to the Machine
- Knorking
- Cold Reading
- Creating Models
- Criticism of Civic Literacy
- Donations and Volunteering
- Chill Units
- Nightmares
- The John Hancock Building
- Understanding Academia and Legitimacy Exchange
- Alternatives to a Nonprofit Job
- San Diego is Burning
- Opportunities in Disguise
- Google Relevance
- Puddingstone
- Woody Allen Assignment
- Pancake Recipe
- Who is using Drupal?
- Latin Transit
- An important distinction
- Opinion on Nonprofits
- Politics of Fear
- Drupal WYSIWYG Editors
- Plagiarism
- Setting up Octave and Gnuplot on Apple Mac OSX
- Toe straighteners
- Fears of death
- Hemp milk
- Pasta dough recipe
- Tee
- Thesaurus computations
- Thesuarus computations
- Trustworthiness
- Verb to do
- Unintuitive: check
- More thoughts on an interesting thesaurus
- Two stories on a theme
- DESC Scripting and Conflict Resolution
- Geekout: Video on Maps for Cable Access TV
- Walkabout Trail, RI
- "Should I get a nonprofit job?"
- Planning Strategic Planning
- Small things of Spring
- Spring arrives
- New England Construction
- Introducing Panlexicon.com
- Nonprofit Communications 2.0
- Copyright and the Nineteenth Century
- MeetAmeriCorps still a success
- Arguments I've heard against Open Source
- Ways and Water
- Airport Vehicles
- But it's just a logo
- Self-photography
- The Future of Cable Access
- Valentines Day 2007
- Boston's Best Tacos
2006 68
- Happy Holidays 2006
- Love
- Happy Birthday Rebecca
- MeetAmeriCorps is "social networking"!
- Nonprofit Technology Sandwich
- The Drink
- Denim flashback
- Boston Obscura: A halloween story
- Office faceoff
- Spooky baking
- Nonprofit Competition & Concept Map
- Travel: Amherst
- Germania St. #3
- Meta photography in Powder House Square
- Germania St. #2
- Germania St. #1
- Radio Ga Ga: Discussing AmeriCorp*VISTA on WUML
- Rhode Island Turf and Grapes
- Evening cruise on Boston Harbor
- Views of Santa Barbara
- Deeper than Porter
- Education + Urinal = ...?
- Planes galore
- Rubbed away in DC
- About in Dorchester
- Solar Powered Art
- Node101 Weekend in New York City
- Youth Channel Blockparty
- Central Park Pictures
- Web 2.0 will save us
- Night and Day
- Night scenes
- Meta photography in Boston
- Piecing together Cambrige
- Gone bicycling
- Vote Ben
- First Monday Night Write
- Making smoothies
- No chirps for Lowell
- A response for Net Neutrality
- Canoes on the Mystic River
- Run
- Sails on the Charles
- Breakfast smoothie
- Two, two, two yolks in one
- Harbor Island info
- Zuchini harvest
- Zandvoort
- Charles on the 4th
- A new look
- Fiction Post Disclaimer
- Chase Palm Park
- San Francisco nights
- Santa Barbara Summer Solstice 2006
- Two minutes for Paul and Liz
- Views of Isla Vista
- Hot Slow Sunday in JP
- On San Francisco Bay
- Now that's a lot of mustard
- X Salad Sandwich
- Emo lyrics for Jason
- Great Minds Dress Alike
- Dave Alpert at the Abbey
- On the bookshelf
- My First T-Shirt
- Making Art with Inkscape
- Ghost train
- NY nightlife
2005 16
- Trash piano
- A hole in the ice
- Walking in Circles
- Word of the Day: Cankle
- Somerville Community Mapping
- Boston Fallout Shelters
- My pigeons in a row
- Thanksgiving reloaded
- Content Map
- 23rd Birthday/Thanksgiving Spectacular, Part 1
- Scooped!
- I, defender of democracy-ocracy-cracy
- Rubbed away
- First Light in Coolidge Corner
- Autumn Pollution
- Pool Soup