The Curious Engineer

All blogs / Ruby / Rails

Hashrocket

hashrocket.com/blog

Articles by Hashrocket about Ruby on Rails, Elixir, React and mobile development.

Ruby / RailsElixir / ErlangMobile / iOS / AndroidDatabasesTesting / QAEngineering blogs

Posts
420 from 11 Mar 2011 to 17 Mar 2026
Posting
monthly (13 in the last year)
Kind
company blog
Feed
https://hashrocket.com/blog/posts.rss

2026 2

  1. Testing Readonly Models
  2. Crafting Code: Building a Ruby Pattern Generator for a Crochet Circle

2025 14

  1. Building a (Very) Simple Responsive Search with Rails & Stimulus
  2. Creating a Custom Mobile Integration for a Board Game Using Ruby on Rails
  3. Why Ruby is the Best Language for Advent of Code
  4. How To Rev Up Your Rails Development with MCP
  5. Building a MCP Server in Elixir
  6. Speed Up Your Rails App by Squashing N+1 Queries
  7. Some Thoughts About Claude Code
  8. Nativewind: Speeding up Styling in React Native
  9. Expo for React Native in 2025: A Perspective
  10. PostgreSQL 18 - Temporal Constraints
  11. PostgreSQL 18 - VIRTUAL Generated Columns
  12. PostgreSQL 18 - Track What Changed By Your UPSERTs
  13. PostgreSQL 18's UUIDv7: Faster and Secure Time-Ordered IDs
  14. Spec-Driven Estimation: How Devs Can Estimate Features Quickly and More Accurately with AI

2019 2

  1. Revisiting a Video Chat Application with Phoenix and WebRTC
  2. 2000 Today I Learned posts

2018 1

  1. Avoiding Code Catastrophes

2017 15

  1. Document Your Confusion
  2. Why Vim?
  3. Swap Two Column Values in SQL: Part 2
  4. Hashrocket and Code Platoon
  5. Swap Two Column Values in SQL: Part 1
  6. Observing Change: A Gold Master Test in Practice
  7. Ruby on the Command Line
  8. MySQL Has Transactions, Sorta
  9. Get Started with redux-form
  10. Writing Prettier JavaScript in Vim
  11. Do The Shuffle
  12. Embrace the Database with Ecto
  13. Running Out Of IDs
  14. Encryption with gpg, a story (really, a tutorial)
  15. Top Tweets of 2016 with Elixir and Ecto

2016 20

  1. The Story of Hashrocket's Pairing Setup
  2. Introducing bdubs.vim
  3. Pairing in Practice
  4. Hashrocket Stands Up
  5. Pairing Increases Code Quality
  6. Up, Down, Up with Ecto Migrations
  7. Gold Master Testing
  8. Create and Publish Your Own Elixir Mix Archives
  9. Looking Back At ACR 2016
  10. How Can We Help You?
  11. All in with Ember and Phoenix: A (mostly) Daily Code Journal
  12. Entry Level? This will help!
  13. Understanding the Buffer List in Vim: Part 1
  14. Stop Tinkering and Prioritize!
  15. Using Ruby's Method Class for Fun and Profit
  16. Breaking Down Barriers Between Design and Development
  17. Vim Magic with Abolish.vim
  18. How to get help with Vim
  19. Avoiding Common Traps of Product Building
  20. Introducing Metabot

2015 24

  1. Switch vs. Map: Which is the Better Way to Branch in Go?
  2. A Peek Into The Clojure Community
  3. Implementing a Macro in Ruby for Memoization
  4. Solving Ara Howard's Metakoans
  5. Case Studies in Apprenticeship Vol. 5 - Matt Polito
  6. Better Icon Fonts with Sass
  7. Represent Your Work
  8. Lets Write Some Bad Ruby
  9. Test Driving a Stubbed API in Ember with Ember-CLI-Mirage
  10. Reviewing Code
  11. Hey Everyone, I found a use for a Singleton
  12. Integrating React Components with a Phoenix Application
  13. Bulk Imports with Datomic
  14. Implementing Video Chat in a Phoenix Application with WebRTC
  15. CSS Bar Charts with Flex and attr()
  16. Boot + Middleman: The ClojureScript development environment of my dreams
  17. Rails Quick Tips: Easy ActiveRecord Optimizations
  18. Ember Weekend Recap: Episode 3 & 4
  19. Design That's Not a Pain in the Neck
  20. Creative South 2015
  21. Responsifying with Viewport Units
  22. The Tale of the Color-Shifting Dress
  23. Behind the Curtain: a Design Workshop Recap
  24. Easy Star Ratings in CSS

2014 29

  1. 16 Tips from the 2014 Winter Miniconf
  2. Introducing Komments
  3. Classical mixin inheritance in Sass
  4. Ruby5 Roundup - Episode 505
  5. Ruby5 Roundup - Episode 500
  6. Mocaroni
  7. 10 Tips to Fine-Tune Your Photoshop Workflow
  8. Ruby5 Roundup - Episode 493
  9. Drop-in Responsive Styles With Sass
  10. Ruby5 Roundup - Episode 479
  11. Building Ember CLI Addons Simply
  12. Edge of Tomorrow, Explained in Git
  13. Screencast: Clojure + vim basics
  14. X-Men: Days of Future Past, Explained in Git
  15. DES+DEV: ASSEMBLE!
  16. Module.prepend: a super story
  17. Ruby5 Roundup - Episode 459
  18. Sass Button Mixins for Fun & Profit
  19. Using Datomic as a Graph Database
  20. Refactoring Minical: a cup of Coffeescript
  21. Ruby5 Roundup - Episode 446
  22. Setting up your Mac for Android Development
  23. Rails Quick Tips - ActiveRecord Ordering
  24. Setting up Kiwi as your iOS unit testing framework
  25. Ruby5 Roundup - Episode 436
  26. Anonymous Functions & Lambdas: Elixir = Ruby
  27. Rich UI Prototyping with Stagehand
  28. Introducing ConstraintFormatter
  29. Ruby5 Roundup - Episode 429

2013 18

  1. Finding Failure: Git Bisect
  2. Phil 'er Up: Better Markup Through Content Generation
  3. Ruby5 Roundup - Episode 426
  4. You can build SOAP requests with HAML
  5. Ruby5 Roundup - Episode 419
  6. Using SimpleDelegator for your Decorators
  7. Ruby5 Roundup - Episode 414
  8. Ruby5 Roundup - Episode 408
  9. A Case of Cucumbers
  10. How to Switch from TextMate to Vim
  11. Ruby5 Roundup - Episode 391
  12. A Journey to gSchool
  13. Ruby5 Roundup - Episode 385
  14. Book Club with Russ Olsen
  15. In Conversation: Sandi Metz
  16. Using SASS To Be Responsive and Retina-Ready
  17. Two Coffeescript Oddities
  18. Andrew Dennis is a Rocketeer!

2012 19

  1. Hashrocket's 12 Gems of Christmas
  2. Using Tiled and Canvas to Render Game Screens
  3. Setting budgetary expectations, this is how we do it
  4. Survival Tips For Live Wireframing
  5. Developing with small tools
  6. Setting up SSL with Dnsimple and Heroku's Endpoint SSL
  7. Three jQuery Plugins We Wrote (And One We Love)
  8. S3 Asset Hosting Walkthrough
  9. Joseph Wilk - Scottish Ruby 2012
  10. The UI Controller, part 2: Faking It
  11. The Elusive MVP
  12. Conference Wrap-Up: jQuery San Francisco
  13. Nordic Ruby Wrap-Up
  14. Managing Design Handoffs with the UI Controller
  15. Dropping IE7 Support? Here's What to Look Forward to
  16. What's with the mustaches?
  17. Easier Atomic Commits
  18. Nuggets of wisdom from Future Insights Live
  19. How to win developers and influence features as a designer.

2011 3

  1. RailsConf 2011: Q&A
  2. SXSW Interactive 2011: Q&A
  3. Trip Report: Magic Ruby 2011

Undated 273

  1. Tony Yunker
  2. Mary Lee
  3. Jack Rosa
  4. Craig Hafer
  5. Vinicius Negrisolo
  6. Gabriel Reis
  7. Hashrocket: Ruby on Rails, iOS, Android, and JavaScript consulting
  8. Hashrocket: Ruby on Rails, iOS, Android, and JavaScript consulting
  9. Hashrocket: Ruby on Rails, iOS, Android, and JavaScript consulting
  10. Hashrocket: Ruby on Rails, iOS, Android, and JavaScript consulting
  11. Hashrocket: Ruby on Rails, iOS, Android, and JavaScript consulting
  12. Hashrocket: Ruby on Rails, iOS, Android, and JavaScript consulting
  13. Hashrocket: Ruby on Rails, iOS, Android, and JavaScript consulting
  14. When to use redux
  15. Ruby5 roundup episode 463
  16. Ruby5 roundup episode 434
  17. Ruby5 roundup episode 468
  18. Hashrocket code audits
  19. Ember js on rails tutorial
  20. Cool looking tabs in vim
  21. Ruby5 roundup episode 474
  22. Ember routing the when and why of nesting
  23. Vimscript and you
  24. Using auto layout for ios
  25. How we pair
  26. Look good naked
  27. 8 great vim mappings
  28. Modules and aliases in elixir
  29. Create quick json data dumps from postgresql
  30. Let me finish
  31. Using github repos in your gemfile
  32. Pair programming questions
  33. Ruby5 roundup episode 485
  34. Programming robot sub systems with elixir
  35. Ben orenstein scottish ruby 2012
  36. Katrina owen scottish ruby 2012
  37. Generate dates in postgresql
  38. Format your elixir code now
  39. Ruby developer meetups chicago
  40. We re hosting a hackfest
  41. Selleck a jquery handlebars like templating system
  42. Functional eye ruby guy
  43. Ecto migrations simple to complex
  44. Hashrocket university 2011 is coming up
  45. The ui controller part 3 the ui helper
  46. Go performance observations
  47. Ruby5 roundup episode 491
  48. Book club recap javascript patterns
  49. Jquery tips adding filter expressions
  50. Ruby5 roundup episode 376
  51. Heroku deploy scripts
  52. When pushing just isn t getting the job done
  53. Fabrication gem walk through with paul elliott
  54. Fabrication 2 0 upgrade guide
  55. Bridging activerecord and mongoid
  56. Recursive sql in activerecord
  57. Test with a sign in backdoor
  58. Feature development with git branching
  59. Time sensitive cucumber testing
  60. Rubyists an encounter
  61. Writing the story of an application
  62. Silencing your staging environment
  63. Dotmatrix the hashrocket dot file repo
  64. Sass iteration using each
  65. Using a matrix to generate sprite map sass
  66. Keeping the magic alive
  67. Writing the story of an api
  68. Front loaded estimation is selling your stakeholder a lie
  69. Start contributing to open source
  70. Ruby5 roundup episode 397
  71. Titled url slugs in phoenix
  72. Best of til year one ruby
  73. Activerecord to json api part 6 mimicking ar
  74. How to make rails 5 api only
  75. The synchronized project
  76. Where my rocketeers at summer 2012
  77. Announcing in the spotlight
  78. Hashrocket university 2011 recap
  79. Sandi metz
  80. Stop collaborate and listen
  81. Book club with sandi metz
  82. Anatomy of the new hashrocket frontend design
  83. Oh give me a home
  84. Taking advantage of the polyglot lifestyle
  85. Congrats to our client satellite on adobe acquisition
  86. Journey to elixirdaze 2018
  87. Rails quick tips random records
  88. Put your programming tools in a toolbox
  89. Jr rocketeer
  90. Using slugworth to your benefit
  91. Custom aggregates in postgresql
  92. Upsert records with postgresql 9 5
  93. Understanding common table expressions with fizzbuzz
  94. Writable common table expressions
  95. Advisory locks in postgres
  96. Exploring postgres gin index
  97. Materialized view strategies using postgresql
  98. Faster json generation with postgresql
  99. Working with email addresses in postgresql
  100. Commit lint for danger
  101. Elixir streams for lazy evaluation
  102. Living it up in the mountains
  103. Mocking api s with elixir
  104. Elixir with love
  105. Integration testing phoenix with wallaby
  106. Mocking requests in elixir tests
  107. How to upgrade to rails 5
  108. Best of til year one vim
  109. Dabbling with backbone js
  110. Best of til year one command line
  111. Hashrocket loves code and coffee
  112. Summer conference 2013
  113. Managing react router pathnames
  114. Websocket shootout
  115. Modeling polymorphic associations in a relational database
  116. 5 javascript object destructuring tricks
  117. Session zero for software teams
  118. A postgresql user s introduction to neo4j
  119. Best of til year one sql
  120. Technical debt part 1 understanding debt
  121. Mentoring at jacksonville startup weekend
  122. A simple list of ruby conferences
  123. Wrap parameters without changing markup
  124. Wedclock a mobile app
  125. Friday lunch at hashrocket chicago
  126. Development of a simple command line websocket client
  127. Fun with views and ctes
  128. Sql inner join vs outer join
  129. Where am i url assertions with cypress
  130. The adventures of generating random numbers in erlang and elixir
  131. Simple postgresql upgrades in development
  132. Keep anaconda from constricting your homebrew installs
  133. How i built my own heroku for phoenix apps part 2
  134. Exploring the default postgres template databases
  135. Generate images for instagram
  136. How to quit vim
  137. Today i learned 2018 year in review
  138. Activerecord to json api part 5 polymorphism
  139. Activerecord to json api part 3 handling filtering
  140. Activerecord to json api part 2 solving pagination
  141. Activerecord to json api part 1 reasoning and structure
  142. Binary searching and ruby s bsearch method
  143. Introducing pgcasts
  144. Exploring hashrockets vimbundle vim hashrocket
  145. Write a reduce function from scratch
  146. A friendly introduction to convolutional neural networks
  147. Use yarn like a pro
  148. The nature of software and fixed bid contracts
  149. Cast iphone screen to mac
  150. 6 tips for better communication with a client
  151. Technical debt part 2 management strategies
  152. Evaluating javascript dependencies with codesandbox
  153. Big reasons to write small user stories
  154. The hashrocket chicago apprenticeship
  155. Pick a good name
  156. Like attack postmortem
  157. Full stack
  158. Open source time at hashrocket
  159. How we manage bugs
  160. Adventures in mentorship
  161. Managing tmux sessions
  162. True parallel processing for ruby tests with flatware
  163. Extracting programmer employment data from bls
  164. Hashrocket guide to story carding
  165. Automate your elixir deployments part 2 distillery edeliver
  166. A handful of useful features in postgresql sql
  167. Automate your elixir deployments part 1 ansible
  168. Automate your infrastructure with pulumi
  169. South dakota v wayfair technology and your business
  170. Build the ultimate elixir ci with github actions
  171. Graphql way limited edition
  172. How i built my own heroku for phoenix apps part 3
  173. Interview jeremy huffman dialyxir
  174. Silence logger messages in exunit
  175. React has been teaching you invalid html
  176. Today i learned in phoenix
  177. Juxtaposing earthdistance and postgis
  178. A typical day at hashrocket
  179. Webassembly the next language of the web
  180. Open sourcing today i learned
  181. Introducing today i learned
  182. Planning poker speed mode
  183. 10 vim commands for a better workflow
  184. Graphql way
  185. Graphql way rails edition
  186. Ecto upsert for different primary keys in elixir
  187. How i built my own heroku for phoenix apps part 1
  188. Elixir for loops go beyond comprehension
  189. How to prepare for a technical interview
  190. Github pull request and issue templates
  191. Introducing hashshake
  192. React performance with hooks
  193. Generated columns in postgresql
  194. Greedy gobbling regex capture
  195. Learning ruby on rails in 2021
  196. Rails 7 says bye bye to byebug
  197. Return results using a specific order in rails
  198. Scoped custom configuration in rails
  199. Range include vs range cover
  200. Building less than query in activerecord
  201. Manipulating data in production
  202. Building greater than query in activerecord
  203. Optimizing a database query with functional indexes in postgres
  204. Using match vs equals tilde in ruby
  205. Daily update in the terminal
  206. Svg phoenix applications
  207. Navigating efficiently with cdpath
  208. Migrate from heroku free plans
  209. The impact of the exclamation point in typescript
  210. Using target blank properly
  211. Dealing with nested json objects in postgresql
  212. An alternative for tricky nodejs installations
  213. Rails ain t just for trains why ruby on rails is the real deal for your next startup
  214. Using tailwind to style child and sibling elements
  215. Basics of shadow dom
  216. Leveling up rails controllers organizing logic with plain ruby objects
  217. Authorization in phoenix liveview
  218. Using a hash of data for string replacement in ruby
  219. Embracing accessibility and consistency with css system colors
  220. Talking tech with non technical clients
  221. Optimizing ux and efficiency with visibilitystate
  222. Enhancing web accessibility with html s forced color mode
  223. Postgresql daterange and efficient time management
  224. Canonical form of postgresql daterange columns
  225. Error page on phoenix liveview
  226. The rails renaissance
  227. Querying for json arrays in postgres
  228. My rails world 2024 experience
  229. Broadcasting user specific turbo content
  230. Validating json file contents with your text editor
  231. Running my first kamal deploy
  232. Railsconf nostalgia remembering activeresource
  233. Let s build a generator
  234. Achieving multitenancy in a rails app using currentattributes
  235. Supercharging ai assisted development in phoenix applications
  236. Lessons learned using dblink in production
  237. Go 0 to 60 with create react app
  238. Elm by example soup to nuts part 1
  239. Playing with react vr
  240. Tips and tricks from integrating react native with existing native apps
  241. Ember weekend recap episode 1 2
  242. Broccoli the build tool not the vegetable
  243. Rubyjax recap ember cli rails with jonathan jackson march 12 2015
  244. A compendium of hooks in embercli
  245. Rubyjax recap openhax february 20 2015
  246. An ancient recap
  247. Datetime select in cucumber
  248. Rails quick tips pluck multiple columns
  249. Rails quick tips activerecord calculations pluck
  250. Debugging action callbacks aka filters in rails
  251. Query for null or empty string in activerecord
  252. Sql window functions
  253. Better date and time formatting for ruby
  254. In conversation noel rappin
  255. In conversation russ olsen
  256. Activerecord to json api part 7 testing
  257. Activerecord to json api part 4 custom sorting
  258. Sql views and activerecord
  259. Deferring database constraints
  260. Customize activeadmin index filters
  261. Advanced queries with activerecord s from method
  262. Javascript rails google maps
  263. Integrating with google calendar as a service app
  264. Best of til year one rails
  265. Setting up an ember app with a rails backend
  266. Caching activemodel serializers on heroku
  267. Little decorator gem rails model decoration in 42 lines
  268. Ember on s3 with cloudfront bash the hash
  269. Ignore specific file changes only on current machine in git
  270. Creating a paper wallet for your cryptocurrency with myetherwallet
  271. Openspec vs spec kit choosing the right ai driven development workflow for your team
  272. From spec to shipping how developers implement features with ai driven workflows
  273. Spec driven development how product owners can ship features faster with ai