After our layoffs in 2015, the team at @BigBinary stepped in and helped Gumroad stay in business. We continue to work with them today. If you’re looking for a ruby/rails-focused dev shop, they have my full endorsement!
Debugging a bug that developers can't reproduce is a special type of fun. Recently, a few Neeto customers started reporting painfully slow page loads and sometimes pages wouldn’t load at all.
The flow is simple. Browser -> Cloudflare -> Cloudfront -> origin. Finding the root cause was anything but simple.
Watch the video to see what the issue was and how it was resolved. You will also see our beloved Cloudflare acting a bit mischievously.
https://t.co/jWcyHaJ4vI
Playwright traces are like flight recorders for your tests - they capture every action, network request, DOM snapshot, and console log during test execution. When a test fails, especially in CI environments, traces become the most powerful debugging tool, providing a complete timeline of what happened and why.
We wrote a very detailed blog on how to analyze Playwright traces. @NeetoPlaydash can analyze Playwright traces.
This blog covers the trace viewer, the trace viewer interface, the execution timeline, the environment context, advanced debugging techniques, and some best practices.
As AI-assisted tools make it easier to ship code, the importance of having solid tests has increased. Over the years, we looked at Selenium, Cypress, and Playwright. We strongly believe Playwright is the best tool available today.
If anyone is interested in learning Playwright then you can checkout this tutorial that we maintain. https://t.co/Lk4a6sWHjM
https://t.co/NhxScld1or
We wanted to write a blog on how DNS works in Neeto. That we did. But we also ended up writing a lot about how DNS works in general.
In this post, we walk through DNS fundamentals, how DNS resolution really works, why propagation takes time and what's so special about www subdomain.
We discuss how Neeto simplified custom domain registration, DNS validation, traefik routing and how we automate provisioning of SSL in Neeto.
https://t.co/WsdSIWqtex
We upgraded our Rails application from 7.1.5.2 to Rails 7.2.1.1, and we started getting StackOverflow issues.
To identify the issue we had to take a deep look into ActiveRecord to understand how Rails handles 233 "OR" conditions and what exactly changed in between the two versions.
https://t.co/DsPbAt4rvn
Interesting discussion on Structured Event Reporting PR by shopify folks.
https://t.co/AeveZHx4wc
Why no log level part was particularly interesting . It has a link to https://t.co/ZYkztAX0cZ
Active Record adds support for deprecating associations
Rails 8 lets you deprecate Active Record associations, making it easier to phase them out gradually while keeping them around to safely track and remove their usage.
Read more: https://t.co/AR7E00TODj
#Rails #RubyOnRails #ActiveRecord
Active Job Continuations is now part of Rails!
This new feature lets background jobs resume from where they left off, making long running jobs more efficient and fault tolerant.
📖 Read the blog to learn more: https://t.co/iOInMkbaSA
#RubyOnRails#Rails7#RailsDev #WebDevelopment #OpenSource
Continuing our “Scaling Rails” series, our next article is about understanding Queueing Theory.
Rails makes handling background jobs a breeze. We have many sensible choices. We don't have to understand queuing theory to get the job done, and that's a good thing.
However, for the folks who want to take a look under the hood, this is a great blog that discusses Little's Law, Knee curve, why high utilization could be a bad thing, and more read this blog.
https://t.co/Xc39HbB4Xq
Continuing our “Scaling Rails” series, our next article is about how Active Record handles Connection Pooling. As the applications scale, there is an increased load on database operations and connections often become the bottleneck.
https://t.co/D9rwipllVv
I came across this excellent “Scaling Rails” series by @BigBinary covering lots of great insights on Puma, GVL, performance tuning & more. Worth checking out!
https://t.co/l2kKVRb3sE
#Rails#RubyOnRails
Continuing our “Scaling Rails” series, our next article explores finding the correct number of threads in your Rails application.
https://t.co/QE6rGNWh4x
Continuing our “Scaling Rails” series, our next article dives into Amdahl’s Law. How many threads should you use within a process? Well, it depends. Read on to learn about the relationship between threads and the amount of work that can be parallelized.
https://t.co/83pwpQwfMn
Today, we are kicking off a series of blogs on scaling Rails applications.
https://t.co/WBiuTssUmh
First blog on understanding puma, concurrency and the effect of GVL on performance is out.
Our latest blog is on Benchmarking caching in Rails with Redis vs the alternatives.
We compared Redis with alternatives like Valkey, DragonflyDB, DiceDB, SolidCache, and LiteCache, focusing on #performance. Check out the results!
https://t.co/yrhQeabB4t
#redis#rails
Our latest blog is on Requesting camera and microphone permission in an Electron app.
Learn how to handle platform-specific permission requests for macOS and Windows.
Read here: https://t.co/SpHD6R779P
#WebDevelopment#ElectronApp#TechBlog
Building Deep-Links in Electron Applications
When developing a desktop app, you don’t need to include every feature inside. Learn how to offload tasks like login/signup to a web app and use deep-links to open specific content in your Electron app.
https://t.co/70Hj8tRDWD
#blog
We are looking for a few Ruby on Rails engineers. The position is 100% remote, and 2+ years of experience are required. More details are at https://t.co/G3czYk7tOh .