Hacky Friday Stuff #17.07.2020
Tags: ruby, rails, javascript, hackyfriday
Published: 2020-07-17 12:50:02

*Links about web development, product engineering, tools and services from all over the internet.*

[Don’t (guess)timate your projects, forecast with confidence](https://www.reaktor.com/blog/forecasting-method/)
How many projects have you worked on where a major frustration was coming up with a prediction for how long it would actually take to build a feature? You can actually get much more accurate forecasts using some fairly simple statistics over the historical data of your team. This blog post explains the basics of how you can achieve just that. 

[System of a test: Proper browser testing in Ruby on Rails](https://evilmartians.com/chronicles/system-of-a-test-setting-up-end-to-end-rails-testing)
> Discover the collection of best practices for end-to-end browser testing of Ruby on Rails applications and adopt them in your projects. See how to ditch Java-based Selenium in favor of leaner, meaner Ferrum-Cuprite combo that uses Chrome DevTools Protocol directly through pure Ruby. And if you use Docker for development—we’ve got you covered too!

[Running spot instances effectively with Amazon EKS](https://m.signalvnoise.com/running-spot-instances-effectively-with-amazon-eks/)
Spot instances can be a great tool for reducing infrastructure costs while getting the computing resources you need, but they come with additional challenges that you must remain aware of. In this article, Basecamp shares its approach on how to utilize this power effectively and spend the optimal amount of resources.

### Articles, tutorials

[What is React Fast Refresh?](https://medium.com/javascript-in-plain-english/what-is-react-fast-refresh-f3d1e8401333)
React Fast Refresh is a replacement for React Hot Loader. Fast refresh makes your React app reloads slick and painless on code changes, providing a great developer experience.

[Introducing Tailwind CSS Typography](https://blog.tailwindcss.com/tailwindcss-typography)
Until now, trying to style an article, document, or blog post with Tailwind has been a tedious task that required a keen eye for typography and a lot of complex custom CSS.

[Painless Rails upgrades](https://blog.arkency.com/painless-rails-upgrades/)
An approach of Arkency for dealing with one of the most common problems in legacy Rails applications. How to keep the framework up to date?

[Build The World’s Simplest ETL (Extract, Transform, Load) Pipeline in Ruby With Kiba](https://towardsdatascience.com/build-the-worlds-simplest-etl-extract-transform-load-pipeline-in-ruby-with-kiba-e7093a29d35)
How often do you iterate through all the records in a database table, modify each, and re-save?
This pattern is called ETL (extract, transform, load).
You could see it in web apps, analytics platforms, and machine learning pipelines. You can always roll your own, but a number of packages exist to make writing ETL’s clean, modular and testable. This article walks through an example in Ruby using Kiba.

[First Class Experimentation in Ruby with Scientist](https://buildingvts.com/first-class-experimentation-in-ruby-with-scientist-8ff1a3474ebc)
A Ruby library for carefully refactoring critical paths. It enables experimentation and comparison even on a production server that could help you to choose a better solution to the problem, but without making harm to the users.

[Why validation matchers are the only Shoulda matchers I use](https://www.codewithjason.com/validation-matchers-shoulda-matchers-use/)
Jason Swett explains why he is using only validation matchers from a popular gem [Shoulda matchers](https://github.com/thoughtbot/shoulda-matchers#matchers) that gives some handy helpers for testing common Rails functionality.

### Gems, libraries, services

[Motion](https://github.com/unabridged/motion)
Motion allows you to build reactive, real-time frontend UI components in your Rails application using pure Ruby.

### Podcasts

[Ruby Rogues | RR 463: Can We Fix What We Can’t See? with James Thompson](https://devchat.tv/ruby-rogues/rr-463-can-we-fix-what-we-cant-see-with-james-thompson/)
In this episode of Ruby Rogues, James Thompson, a Software Architect at Mavenlink, delves into how to address errors in a service-based system and how to prioritize what errors to fix. He goes into how to recognize the errors when they are creeping in and so much more.

[The Stack Overflow Podcast | EP250: How we hire developers at Stack](https://stackoverflow.blog/2020/07/07/podcast-250-how-we-hire-developers-at-stack/)
Hard lessons learned from flunking your first few code screenings.

### Videos

[The Rule of Least Power](https://www.youtube.com/watch?v=Ba0fnSkT37E&feature=youtu.be)
Sam Selikoff explains how to get more flexibility in your programs by applying The Rule of Least Power.

[Philly.rb talk on hanami-view 2.0](https://timriley.info/writing/2020/07/14/philly-rb-talk-on-hanami-view-2-0/)
Tim Riley's talk about dry-view in the context of current plans for hanami-view 2.0.

[Drifting Ruby | #249 Soft Delete with Discard](https://www.driftingruby.com/episodes/soft-delete-with-discard)
Soft deletes for ActiveRecord done right.

Photo by [Martin Shreder](https://unsplash.com/@martinshreder) on [Unsplash](https://unsplash.com/@martinshreder).