Blog / All
Every post we’ve ever written.
We’ve been writing down what we learn since 2008.
614 posts on Ruby on Rails, performance, scaling, monitoring and the engineering problems we encounter while building and running software. Some are deep dives. Some document tricky problems we spent hours debugging. Others simply capture something we learned and didn’t want to forget.Use your browser’s find (⌘F or Ctrl+F) to search them.
614 posts
Newest first, all the way back to 2008.
2026
2025
- Debugging a Stack Overflow in Rails 7.2.1.1
- Active Record adds support for deprecating associations
- Active Job Continuations
- Understanding Queueing Theory
- Understanding Active Record Connection Pooling
- Finding the ideal threads per process with GVL tooling
- Amdahl's Law: the relationship of speedup and concurrency
- The GVL in Ruby and its impact on scaling Rails
- Understanding how Puma handles requests
- Scaling Rails Series
- Migrating to TanStack Query v5
- Benchmarking caching in Rails with Redis vs the alternatives
2024
- Remotely EV code-signing a Windows app with ssl.com
- Using native modules in Electron
- Requesting camera and microphone access in Electron
- Building deep-links in Electron application
- Code-signing and notarizing an Electron app for macOS
- Configuring webpack for multiple Electron windows
- Blurred and virtual video backgrounds in React apps
- Improving search experience using Elasticsearch
- Building and publishing Electron apps with electron-builder
- Benchmarking Crunchy Data for latency
- Evaluating JavaScript code in the browser
- Syncing state between Electron main and renderer
- Standardizing frontend routes and URLs in Neeto products
- Why we switched from Cypress to Playwright
- Safely dropping tables and renaming columns in Rails
- Introduction to custom Babel plugins
- Upgrade Ruby using dual boot
- Standardizing pagination, sorting and search in code
- Rails 7.2 adds SQL query counts to rendering logs
- Improving NeetoRecord reach with Twitter player cards
- Rails 8 introduces a basic authentication generator
- Building custom extensions in Tiptap
- Managing templates across Neeto with neeto-templates-nano
- Scaling Kubernetes HPA on custom Prometheus metrics
- Rails 7.2 makes counter_cache integration safer and easier
- How we fixed app downtime issue in NeetoDeploy
- Widget state synchronisation across tabs
- How we build, release and maintain frontend packages
- Automating error pages based on API responses
- Fixing the Cypress out of memory error in Chromium
- dependencies vs devDependencies vs peerDependencies
- Grafana Loki and Kubernetes Event exporter
- Automatically sentence-case i18next translations
- Implementation of a universal timer
- Universal video playback with MP4 and Range headers
- Uploading and storing NeetoRecord videos on AWS S3
- Building a web-based screen recorder
- Automating case conversion in Axios requests
- How we migrated from Sidekiq to Solid Queue
- Loading React translations with babel-plugin-preval
- Introducing neetoUI v6
- Debugging memory issues in ReactJS applications
- Rails 8 introduces a built-in rate limiting API
- Embracing Type Definitions and JSDoc Comments in JS packages
- Sharing data across React apps with globalProps
- Fixing flaky Cypress and Playwright tests with network sync
- Bundle Splitting
- Setting up Prometheus and Grafana on Kubernetes using Helm
- Solid Queue & understanding UPDATE SKIP LOCKED
- Adding sleep when idle to NeetoDeploy to cut costs
- Rails 7.1 allows subscribing to transaction events
- Building the NeetoDeploy metrics dashboard with Prometheus
- Upgrading React state management with zustand
2023
- Building NeetoDeploy CLI
- Using Cloudflare as CDN for Rails applications
- Honeybadger frontend integration in Neeto apps
- Using TableWrapper to avoid dynamic height calculations
- Serving Next.js assets from a CDN without Vercel
- Perfecting mobile responsiveness on NeetoSite using RFS
- Deep Dive into Redis Data Types
- Rails 7.1 adds path_params option to url_for
- Rails 7.1 optimizes the default SQLite3 configuration
- Profiling your zsh setup with zprof
- Optimizing NeetoDeploy's Cluster Autoscaler
- Rails 7.1 adds multi-column ordering to batch processing
- Rails 7.1 adds *_deliver callbacks to Action Mailer
- Domain redirects with different crawl rules via Cloudflare
- Scaling NeetoDeploy with the Cluster Autoscaler
- Audit of Your React Application & Safeguarding Your Web App
- Why did we build a custom ESLint plugin?
- Understanding the automatic minimum size of flex items
- Debugging high GitHub action usage
- Upgrading to TLS 1.2 using Cloudflare
- Continuous backup of PostgreSQL in NeetoDeploy
- React localization with i18next and react-i18next libraries
- Enhance code quality and performance with ESLint
- Deleting all staging apps and building automatic backups
- Challenges faced while building Neeto commons frontend
- Rails 7.1 adds options to ActiveRecord::Relation#explain
- How We standardized keyboard shortcuts in neeto
- Using enable-load-relative flag in building Ruby binaries
- React performance optimization - memoization demystified
- NeetoDeploy: Zero to One
- Extending pure utility functions of Ramda.js
- Improving application performance with the ancestry gem
- Shape snapping with React Konva in NeetoWireframe
- Rails 7.1 adds ActiveRecord::Base::normalizes
- How SPF protects domain reputation and email delivery
- Rails 7.1 logs the caller that enqueued a job
- React Query to simplify data fetching in Neeto
- Redirecting URL using cloudflare redirect rules
- Running React Native animations on the UI thread
- How to use JWT to secure your GitHub OAuth callback endpoint
- Rails 7.1 adds ActiveJob.perform_all_later
- Rails 7.1 adds adapter option to disallow foreign keys
- Rails 7.1 allows aliased attributes in insert_all
2022
- Detecting component visibility changes while scrolling
- Setting up Heroku DNS using cloudflare
- How we upgraded from Rails 6 to Rails 7
- Three case studies of debugging redis running out of memory
- How my server got crypto mining malware and how I fixed it
- Rails 7.1 allows infinite ranges in length validators
- Rails 7.1 raises if Active Storage service is missing
- Rails 7.1 adds Action Cable connection-level callbacks
- Removing the white screen before the Android splash screen
- Rails 7.1 audio_tag and video_tag accept Active Storage
- Rails 7.1 returns Active Storage attachments after save
- Handling SIGHUP error from Heroku
- Configure cypress to run tests in multiple environments
- Rails 7 adds only_numeric option to numericality validator
2021
- Ruby 3.1 adds Class#subclasses
- Copying an element to the clipboard as an image in JS
- Rails 7 adds Pathname#existence
- Fixing slow Rails page loads by finding n+1 queries
- Rails 7 adds nested attributes support to delegated_type
- Rails 7 adds from option to assert_no_changes
- Ruby 3.1 adds MatchData#match & MatchData#match_length
- Rails 7 replaced byebug with ruby/debug
- Rails 7 adds weekday_options_for_select and weekday_select
- Rails 7 adds ActiveRecord::Base#previously_persisted?
- Rails 7 adds ActiveRecord::QueryMethods#in_order_of
- Rails 7 adds disable_joins for associations
- Rails 7 adds the ability to use pre-defined variants
- Rails 7 adds a setting to enumerate columns in select
- Reducing memory bloat of a Ruby on Rails application
- Rails 7 adds ComparisonValidator to ActiveRecord
- Rails 7 adds ActiveRecord::Relation#structurally_compatible?
- Playing videos in React Native
- React 18 introduces Automatic Batching
- Rails 7 deprecates Enumerable#sum and Array#sum
- Rails 7 adds method calls for nested secrets
- Using Cookies with Postgraphile
- Debug Node.js app running in a Docker container
- Helping Babel move to ES Modules
- Failing Gracefully: Error Boundaries in React
- Ruby 3.1 adds Array#intersect?
- Rails 7.0 adds encryption to Active Record models
- Rails 6.1 adds invert_where method
- Rails 7 adds Enumerable#sole
- Handling environment specific configurations in React Native
- Ruby 3.1 accumulates Enumerable#tally results
- Rails 6.1 adds in: option to validate numeric ranges
- Ruby 3.1 adds Enumerable#compact and Lazy#compact
- Rails 7 adds build/create constructors to has_one :through
- Rails 6.1 adds delegated_type to ActiveRecord
- Handling authentication state in React Native
- Rails 7 adds Enumerable#in_order_of
- Rails 7 adds ActiveRecord::Relation#excluding
- Rails 6.1 adds nulls_first and nulls_last to Arel
- Rails 7 adds sole and find_sole_by finder methods
- Rails 7 adds Enumerable#maximum
- Prettier's Prose Wrap and eslint maximum-line-length error
- Rails 6.1 adds support for PostgreSQL interval data type
- Rails 6.1 allows per environment Active Storage config
- Authorization in REST vs Postgraphile
- Sort query data on associated table in PostGraphile
- Rails 6.1 adds support for belongs_to to has_many inversing
- Database-specific rake tasks for multi-database apps
- Rails 6.1 adds strict_loading to catch lazy loading
2020
- Rails 6.1 allows default_scope to be run on all queries
- Ruby 3 is released - The list of Ruby 3 features
- Catch 404 urls in Next.js and write them to firebase
- Rails 6.1 adds where.associated for association presence
- Ruby 3 supports transforming hash keys using a hash argument
- Rails 6.1 raises on impossible camelcase inflections
- Rails 6.1 allows associations to be destroyed asynchronously
- Setting up wild card SSL on heroku
- Reduce asset delivery time from 30 to 3 seconds with CDN
- Rails 6.1 adds values_at attribute method for Active Record
- Ruby 3 adds new method Hash#except
- Skipping the test database with SKIP_TEST_DATABASE
- Rails 6.1 supports ORDER BY in batch processing
- Ruby 3 adds Symbol#name
- React 17 delegates events to root instead of document
- Rails 6.1 deprecates structure:dump/load rake tasks
- Ruby 3 adds endless method definition
- Rails 6.1 adds --minimal option support
- Rails 6 adds support to persist timezones of Active Job
- Ruby 2.7 adds Beginless Range
- Rails 6 adds including & excluding method on Enumerables
- Rails 6.1 raises on rollback with multiple databases
- Rendering a Liquid template inside a Liquid template
- Rails 6.1 deprecates exit statements in transactions
- Rails 6.1 creates abstract classes in multiple database mode
- Rails 6.1 adds annotate_rendered_view_with_filenames
- Rails 6.1 allows a default value for enum attributes
- Rails 6.1 adds support for where with a comparison operator
- Rails 6.1 tracks Active Storage variant in the database
- Ruby 2.7 adds Enumerable#filter_map
- Ruby 2.7 deprecates conversion of keyword arguments
- Ruby 2.7 adds Enumerator::Lazy#eager
- Ruby 2.7 adds numbered parameters for blocks
- Rails 6 fixes after_commit callback invocation bug
- Ruby 2.7 adds Enumerable#tally
- Rails 6.1 introduces class_names helper
- Rails Multiple Polymorphic Joins
2019
- Rails 6 adds rails db:prepare to migrate or setup a database
- Rails 6.1 adds *_previously_was attribute methods
- Rails 6 adds guard against DNS Rebinding attacks
- Rails 6 adds ActiveStorage::Blob#open
- Rails 6 adds ActionMailer#email_address_with_name
- Rails 6 raises ArgumentError if param contains colon
- Rails 6 introduces new code loader called Zeitwerk
- Rails 6 adds ActiveSupport::ActionableError
- This is how our workspace looks like
- Rails 6 add_foreign_key & remove_foreign_key SQLite3
- Rails 6 adds ActionDispatch::Request::Session#dig
- Marking arrays of translations safe using html suffix
- Rails 6 adds filter_attributes on ActiveRecord::Base
- ArgumentError for invalid :limit & :precision Rails 6
- Rails 6 Pass custom config to ActionCable::Server::Base
- Rails 6 adds support of symbol keys
- Rails 6 preserves status of #html_safe?
- Recyclable cache keys in Rails
- Rails 6 deprecates where.not as NOR & Rails 6.1 as NAND
- Rails 6 adds support for Optimizer Hints
- Rails 6 reports object allocations while rendering
- Rails 6 adds ActiveRecord::Relation#annotate
- Rails 6 adds hook to Active Job for retry & discard
- Rails 6 adds support for Multi Environment credentials
- Rails 6 adds before? and after? to Date and Time
- Rails 6 adds Array#extract!
- Rails 6 adds Enumerable#index_with
- Rails 6 adds private option to delegate method
- Rails 6 allows spaces in postgres table names
- Rails 6 adds if_not_exists option to create_table
- Rails 6 has added a way to change the database of the app
- Rails 6 adds parallel testing
- Rails 6 improves ActiveSupport::Notifications::Event
- Rails 6 allows configuring has_secure_password attribute
- Rails 6 allows overriding ActiveModel::Errors#full_message
- Rails 6 adds ActiveRecord::Relation#extract_associated
- Rails 6 adds implicit_order_column
- Bulk insert support in Rails 6
- Rails 6 drops support for PostgreSQL version less than 9.3
- Rails 6 requires Ruby 2.5 or newer
- Rails 6 database seed uses inline Active Job adapter
- Rails 6 adds ActiveRecord::Relation#reselect
- Rails 6 adds ActiveModel::Errors#of_kind?
- Rails 6 shows routes in expanded format
- Rails 6 adds ActiveModel::Errors#slice!
- Rails 6 adds create_or_find_by and create_or_find_by!
- Rails 6 raises ActiveModel::MissingAttributeError
- Rails 6 ActiveRecord::Base.configurations
- Rails 6 shows unpermitted params in logs in color
- Marketing strategy at BigBinary
- Rails 6 delete_by, destroy_by ActiveRecord::Relation
- Rails 6 adds ActiveRecord::Relation#touch_all
- Rails 6 adds negative scopes on enum
- MJIT Support in Ruby 2.6
- Resolve foreign key constraint conflict
- Cache all files with Cloudflare worker and HMAC auth
- Replacing PhantomJS with headless Chrome
- Rails 6 adds ActiveRecord::Relation#pick
- Target Tracking Policy for Auto Scaling
2018
- Migrating Gumroad from RequireJS to webpack
- Rails 5 Active Record attributes API
- Passing current_user by default in Sidekiq
- Optimize Google map multi-route loading with B-spline
- Deploying feature branches to have a review app
- Skipping devise trackable module for API calls
- Ruby 2.6 Range#cover? accepts Range object as argument
- Rails 5.2 DSL for configuring Content Security Policy
- Rails 5.2 stops some raw SQL, prevents SQL injections
- Ruby 2.6 adds RubyVM::AST module
- Inline Installation of Firefox Extension
- Use parametrized containers to deploy Rails microservices
- Configuring memory allocation in ImageMagick
- Upload direct to S3 with Pre-signed POST request
- Reducing infrastructure cost by 10% for ECommerce app
- Ruby 2.6 adds Enumerable#filter as alias for #select
- Ruby 2.6 adds support for non-ASCII capital letter
- Setting up a high performance Geocoder
- Debug failing puppeteer tests due to background tab
- Kubernetes ingress controller for authenticating apps
- Ruby 2.6 adds write_timeout to Net::HTTP
- Ruby 2.6 adds Dir#each_child & Dir#children instance
- Ruby 2.6 adds exception parameter to Integer and Float
- Speed up Docker image build process of a Rails app
- Ruby 2.6 adds Binding#source_location
- Ruby 2.6 adds String#split with block
- How to upload source maps to Honeybadger
- Ruby 2.6 raises exception for else without rescue
- Auto-format Elm code with elm-format before commit
- Ruby 2.6 adds endless range
- Rails 5.2 added method write_multi to cache store
- Continuous release of a chrome extension using CircleCI
- Rails 5.2 uses AES-256-GCM authenticated encryption
- Our Thoughts on iOS 12
- Using Concurrent Ruby in a Ruby on Rails Application
- Modelling state in Elm to reflect business logic
- Tailing logs with Logtrail, Kibana and Kubernetes
- RubyKaigi 2018 Day two
- RubyKaigi 2018 Day one
- Rails 5.2 adds allow_other_host to redirect_back method
- Faster JSON generation using PostgreSQL JSON function
- APISnapshot built on Elm & Rails is open source
- Generating filmstrip using puppeteer for better debugging
- Ruby 2.5 added lazy proc allocation for block parameters
- Rails 5.2 fixes query caching in MySQL & PostgreSQL adapters
- How to mitigate DDoS using Rack::Attack
- Increase reliability using super_fetch of Sidekiq Pro
- Rails 5.2 sets version in Gemfile & adds .ruby-version
- Deploying Docker Registry on Kubernetes using S3 Storage
- Ruby 2.6 added option to raise exception in Kernel#system
- Ruby 2.5 adds Thread.report_on_exception by default
- Rails 5.2 Date#prev_occurring & Date#next_occurring
- Ruby 2.5 supports measuring branch and method coverages
- Gpg decryption without pin entry pop up using GPGME
- Practical usage of identity function
- Ruby 2.5 adds Exception#full_message method
- Ruby 2.5 prints backtrace & error message in reverse
- Path based routing for Rails with HAProxy Ingress
- Rails 5.2 adds default option to attribute accessors
- Rails 5.2 specifying default value for class_attribute
- Ruby 2.5 added Hash#slice method
- Ruby 2.5 allows creating structs with keyword arguments
- Rails 5.2 allows mailers to use custom Active Job class
- Rails 5.2 supports descending indexes for MySQL
- Ruby 2.5 adds Hash#transform_keys method
- Rails 5.2 pass request params to Action Mailer previews
- Ruby 2.5 enumerable predicates accept pattern argument
- Rails 5.2 adds bootsnap to the app to speed up boot time
2017
- Ruby 2.5 requires pp by default
- Array#prepend and Array#append in Ruby 2.5
- Ruby 2.5 added yield_self
- Rails 5.2 fetch_values for HashWithIndifferentAccess
- Ruby 2.5 added delete_prefix and delete_suffix methods
- Ruby 2.5 introduces Dir.children and Dir.each_child
- Higher Order Component to render spinner React Native
- Rails 5.1 stops loading all records on Model.all#inspect
- Fixing CORS issue with AWS services
- Ruby 2.5 allows rescue/else/ensure inside do/end blocks
- Rails adds accurate numerical validation
- Ruby 2.5 has removed top level constant lookup
- Scheduling pods on nodes in Kubernetes using labels
- Integrate SAML with many IDPs with Devise & OmniAuth
- Rails 5.2 expiry option for signed & encrypted cookies
- Optimize JavaScript code for composability with Ramda.js
- Elm Conf 2017 Summary
- Ruby 2.4 has optimized enumerable min max methods
- CSV::Row#each etc. return enumerator when no block given
- Ruby 2.4 DateTime#to_time & Time#to_time keeps info
- Using Recompose to build higher-order components
- Uploading file in an isomorphic ReactJS app
- Graceful shutdown of Sidekiq processes on Kubernetes
- New Syntax for HTML Tag helpers in Rails 5.1
- Avoid exception for dup on Integer
- Deploy Rails apps on Kubernetes cluster & no downtime
- Rails 5.1 enhances ActiveSupport::TimeZone.country_zones
- Difference between type and type alias in Elm
- Arrows in Elm's method signature
- Ruby 2.4 no exception for objects converted to IPAddr
- Rails 5.1 dropped jQuery dependency in default stack
- Ruby 2.4 deprecated constants TRUE, FALSE & NIL
- Rails using db:migrate & db:seed on Kubernetes
- Ruby 2.4 allows custom suffix of rotated log files
- Ruby 2.4 Hash#transform_values & destructive version
- Prettier & rubocop in Rails to format JS, CSS & Ruby
- Rails 5.1 adds delegate_missing_to
- Kubernetes Configmap with files to deploy Rails apps
- Rails 5.1 adds support for limit in batch processing
- Rails 5.1 doesn't share thread_mattr_accessor variable
- Rails 5.1 introduced assert_changes and assert_no_changes
- Forward ActiveRecord::Relation#count to Enumerable#count
- Rails 5.1 has introduced Date#all_day helper
- Binding irb - Runtime Invocation for IRB
- Kubernetes Persistent volume to store persistent data
- Ruby 2.4 has added additional parameters for Logger#new
- Ruby 2.4 has default basename for Tempfile#create
- New arguments support for float & integer modifiers
- Ruby 2.4 adds Enumerable#uniq & Enumerable::Lazy#uniq
- Ruby 2.4 optimized lstrip & strip for ASCII strings
- IO#readlines now accepts chomp flag as an argument
- open-uri in Ruby 2.4 allows http to https redirection
- Ruby 2.4 now has Dir.empty? and File.empty? methods
- Ruby 2.4 Integer#digits extract digits in place-value
2016
- Ruby 2.4 adds compare by identity functionality
- Ruby 2.4 MatchData#values_at
- Ruby 2.4 adds infinite? and finite? methods to Numeric
- Ruby 2.4 adds Comparable#clamp method
- New liberal_parsing option for parsing bad CSV data
- Enumerable#chunk not mandatory in Ruby 2.4
- Ruby 2.4 unifies Fixnum and Bignum into Integer
- Ruby 2.4 implements Array#min and Array#max
- Hunting down a memory leak in shoryuken
- Ruby 2.4 Extracting captured data from Regexp results
- Ruby 2.4 Regexp#match? not polluting global variables
- Ruby 2.4 implements Enumerable#sum
- String#concat, Array#concat & String#prepend Ruby 2.4
- Hash#compact and Hash#compact! now part of Ruby 2.4
- Rails 5 blogs and the art of story telling
- Rails 5 Create module and class level variables
- Rails 5 silences assets logs in dev mode by default
- Rails 5 disables autoloading while app in production
- Rails 5 adds more control to fine tuning SSL usage
- Rails 5 Discard some flash messages to trim storage
- Rails 5 deprecates alias_method_chain
- New framework defaults in Rails 5 to make upgrade easier
- Rails 5 Wildcard for specifying template dependencies
- Rails 5 Passing records to fresh_when and stale?
- Set model name in fixtures as metadata
- Introduction to ES6 generators
- Configuring CircleCI for JRuby
- Opening non HTTPS sites in WebView in React Native
- HTTP request headers on each WebView request
- ActionController::Parameters in Rails 5
- Rails 5 solves ambiguous column issue
- Rails 5 Expression Indexes & Operator Classes support
- Attach arbitrary metadata to an Active Job in Rails 5
- Partial template name without Ruby identifier Rails 5
- Rails 5 Passing current record for custom error
- Platform specific styles in stylesheet, React Native
- User agent or custom header in React Native WebView
- Skip mailers while generating Rails 5 app
- Errors can be indexed with nested attributes in Rails 5
- Rails 5 Conversion when deep munging params
- Specific mime types in controller tests in Rails 5
- Default response with 204 No Content in Rails 5
- Rails 5 ensures compatibility with Rack frameworks
- Rails 5 supports logging errors with tagged logging
- Rails 5 makes sql statements even more colorful
- Rails 5 adds helpers method in controllers for ease
- Rails 5 supports adding comments in migrations
- Rails 5 allows UUID as column type in create_join_table
- Rails 5 adds another base class Application Job for jobs
- Rails 5 Updating records in AR Relation
- Rails 5 prevents destructive action on production database
- Rails 5 adds finish option in find_in_batches
- Rails 5 introduces country_zones helper method
- Rails 5 provides fragment caching in Action Mailer views
- Rails 5 adds OR support in Active Record
- Rails 5 ArrayInquirer and checking array contents
- Rails 5 Renaming transactional fixtures to tests
- Data exchange between React Native app and WebView
- Rails 5 adds ignored_columns for Active Record
- Rails 5 adds a hidden field on collection radio buttons
- Rails 5 Attributes from Active Record to Active Model
- Rails 5 Configure Active Job backend adapter for jobs
- Rails 5 accepts 1 or true for acceptance validation
- Rails 5 supports bi-directional destroy dependency
- Rails 5 adds after_commit callbacks aliases
- Rails 5 Updating a record without updating timestamps
- Rails 5 Retrieving info of failed validations
- Using Image as a Container in React Native
- Rails 5 - What's in it for me?
- Rails 5 officially supports MariaDB
- Changes to test controllers in Rails 5
- accessed_fields to find active fields in application
- Rails 5 Warning when fetching with Active Record
- Rails 5 Sending STDOUT via environment variable
- Validate multiple contexts together in Rails 5
- Rails 5 changes protect_from_forgery execution order
- Rails 5 provides config to use UUID as primary key
- Rails 5 changed Active Job default adapter to Async
- Support for left outer join in Rails 5
- has_secure_token for unique random token in Rails 5
- Suppress save events in Rails 5
- Rails 5 improves rendering partial from cache
- Rails 5 switches from strong etags to weak etags
- Parameter filtering enhancement in Rails 5
- Rails 5 adds http_cache_forever
- Better exception responses in Rails 5 API apps
- Use file_fixture to access test files in Rails 5
- Migrations are versioned in Rails 5
- Rails 5 improves redirect_to :back method
- Rails 5 allows configuring queue name for mailers
- Rails 5 handles DateTime with better precision
- Active Support Improvements in Rails 5
- Rails 5 improves route search with advanced options
- Rails 5 makes belongs_to association required by default
- Rails 5 doesn't halt callback chain if false is returned
- Configuring bundler using bundle config
- Using D3 JS with React JS
- Caching result sets and collection in Rails 5
- Caching in development environment in Rails 5
- Configure PostgreSQL to allow remote connection
- Rails 5 wraps all rake commands using rails
- Each form gets its own CSRF token in Rails 5
- Rendering views outside of controllers in Rails 5
- Not using https might be breaking file uploads
- Year in review 2015
- Test runner in Rails 5
2015
- ApplicationRecord in Rails 5
- Explicitly ssh into vagrant machine
- How constant lookup and resolution works in Ruby on Rails
- Using Stripe API in React Native with fetch
- Rails 5 allows setting custom HTTP Headers for assets
- Migrating Rails app from postgresql to sql server
- Configuring Pycharm IDE to run a Robot Framework test
- Optimize JavaScript code using BabelJS
- How to test React Native App on a real iPhone
- Using ReactJS with Rails Action Cable
- Verifying PubSub Services from Rails using Redis
- Voice based phone verification using twilio
- Gotcha with after_commit callback in Rails
- Blue border around JWPLAYER video
- Phone verification using SMS via Twilio
- Author information in jekyll blog
- Obtain current timezone in Selenium IDE using JS
- 2014 - Year in Community Engagement
2014
- Migrating existing session cookies while upgrading
- Rails Girls Pune 2014
- DRYing up Rails Views with View Carriers and Services
- Make Outbound calls to a phone using Twilio and Rails
- Tricks and Tips for using Fixtures effectively in Rails
- Selenium IDE - Reducing time from 58 min to 15 min
- DeccanRubyConf 2014. Hou De!
- Flash access changes in Rails 4.1
- Issue with Delayed Job lifecycle and Postgres Errors
- RedDotRubyConf 2014
- Six Year Old Optional / Keyword Arguments bug
- How to deploy jekyll site to heroku
- How to add additional directories to test
- Configuring Log Formatting in Rails
2013
- Displaying non repeating random records
- Active Record is still magical
- Getting arguments passed to command
- What is ppid
- Do not allow force push to master
- How to keep your fork up-to-date
- How to setup Pinch to Zoom for an image in RubyMotion
- Fix image orientation issue in RubyMotion
- Visitor pattern and double dispatch in ruby
- Preload, Eagerload, Includes and Joins
- Background/header for Formotion forms in RubyMotion
- Cookies on Rails
- Understanding instance exec in ruby
- Rex, Rexical and Rails routing
- Rails Routing -- a comprehensive look at routing
- Life of save in ActiveRecord
- Handling money in ruby
2012
- Executing shell commands in ruby
- Redirect to www for heroku with SSL
- Solr, Sunspot, Websolr and Delayed job
- Test factories first
- Data-behavior is for JavaScript developers
- emberjs mixin
- extend self in ruby
- to_str in ruby
- jquery-ujs and jquery trigger
- XSS and Rails
- CSRF and Rails
- tsort in ruby and rails initializers
- alias vs alias_method
2011
2010
- Infinite hash and default_proc
- Mime type resolution in Rails
- Variable declaration at the top is not just pretty thing
- An inline confirmation utility powered by jQuery
- Return false has changed in jquery 1.4.3
- instance_exec , changing self and params
- $LOADED_FEATURES and require, load, require_dependency
- I am not seeing hoptoad messages. Now I know why.
- List of only the elements that contains
- Singleton function in JavaScript
- Regular expression in JavaScript
- Get started with nodejs in steps
- Two ways of declaring functions
- Lessons learned from JavaScript quizzes
- Practical example of need for prototypal inheritance
- Prototypal inheritance in JavaScript
- return false considered harmful in live
- Simplest jQuery slideshow code explanation
- How jQuery selects elements using Sizzle
- Understanding jQuery effects queue
- jQuery edge delegate method has arrived
- jQuery show method edge case
- jQuery fadeTo method fades even the hidden elements
- Order of format matters in respond_to block
- How animate really works in jQuery
- JSON parsing natively in jQuery 1.4 and updates
- How jQuery 1.4 fixed rest of live methods
- Calling a method on a jQuery collection
2009
- Use end more often in jQuery while building DOM elements
- JavaScript Basics Quiz
- livequery in jQuery
- Encapsulation in JavaScript
- Integrating JavaScriptLint with mvim
- Wrapping functions with self invoking jQuery
- Understanding this in Javascript object literal
- jQuery custom events
- jQuery base code to create a jQuery plugin
- Inspecting jQuery internals and storing information
- Event propagation and peventDefault
- What is JSONP?
- $stdout.sync = true to flush output immediately
- Functional scope in Javascript
- JS tip - Avoiding polluting the global namespace
- Usage of Closure in Javascript
- jQuery Plugin Pattern & self-invoking javascript function
- Determining if commits are executed in a transaction
- Restful architecture does not mean one to one mapping
- Configure local_request
- Override automatic updated_at in ActiveRecord/Rails