Hacky Friday Stuff #14.08.2020
Tags: ruby, rails, javascript, hackyfriday
Published: 2020-08-14 13:21:41

*Web development, product engineering, tools and services from all over the internet.*

[Changing World, Changing Mozilla](https://blog.mozilla.org/blog/2020/08/11/changing-world-changing-mozilla/)
Recently, Mozilla announced a significant restructuring of their corporation for strengthen their ability to build and invest in products and services that will give people alternatives to conventional Big Tech. Sadly, the changes also include a significant reduction in their workforce by approximately 250 people.

[Remote First](https://greylock.com/quora-remote-first/)
How Quora is Thinking Outside the Office. Prior to the Covid-19 pandemic, Quora had a strong office culture and discouraged employees from working remotely most of the time. But once the company had no choice, Quora CEO and co-founder Adam D’Angelo says they discovered the benefits of working from anywhere far outweigh the drawbacks. Just a few weeks ago, Quora announced it would become a remote-first company.

[Announcing the YC Startup Library](https://blog.ycombinator.com/startup-library/)
Over the last 15 years, YC has invested in and worked with more than 2,000 companies, and they’ve seen and learned from their successes and failures. The library consolidates the knowledge and advice they’ve previously published and provides a central location for new content. YC strives to make entrepreneurship more accessible, and hope that by sharing their knowledge publicly, they can support the founder community more broadly.

### Articles, tutorials

[“The Grand Unified Theory of Documentation”](https://documentation.divio.com/)
There is a secret that needs to be understood in order to write good software documentation: there isn’t one thing called documentation, there are four.
They are: tutorials, how-to guides, technical reference and explanation. They represent four different purposes or functions, and require four different approaches to their creation. Understanding the implications of this will help improve most documentation - often immensely.

[Types in Ruby 3, RBS, and Sorbet](https://sorbet.org/blog/2020/07/30/ruby-3-rbs-sorbet)
Sorbet will happily incorporate [RBS](https://github.com/ruby/rbs) (a type syntax format for Ruby 3 [announced recently](https://developer.squareup.com/blog/the-state-of-ruby-3-typing/)) as a way to specify type annotations, in addition to the existing syntax Sorbet supports. Stripe still has a very strong commitment to Sorbet’s continued progress and success. While the Ruby core team has been working on syntax, they’ve been working on features that build on top of that syntax.

[How to Improve ActiveRecord Query Performance with Subquery Caching](https://pawelurbanek.com/rails-query-caching)
Slow database queries are a common performance bottleneck for Ruby on Rails apps. Simplifying a complex query is often not possible due to the underlying business logic. Instead, you can extract parts of a query, cache and reuse them to improve performance. This tutorial will describe a range of techniques on how to do it.

[Creating unlogged (PostgreSQL) tables in Rails](https://prathamesh.tech/2020/08/10/creating-unlogged-tables-in-rails/)
One of the most important aspects of a relational database is durability. The database has to make certain guarantees which add overhead to the database system. But what if you want to give up on the durability aspect and increase the speed instead?

### Gems, libraries

[GPU.JS](https://gpu.rocks/)
GPU accelerated JavaScript. Perform massively parallel GPGPU computations using GPU.

[Strings](https://github.com/piotrmurach/strings)
A set of useful methods for working with strings such as align, truncate, wrap, and many more.

[Chartkick](https://github.com/ankane/chartkick)
Create beautiful JavaScript charts with one line of Ruby. No more fighting with charting libraries!

[The Ruby One Time Password Library](https://github.com/mdp/rotp)
A ruby library for generating and validating one time passwords (HOTP & TOTP) according to [RFC 4226](http://tools.ietf.org/html/rfc4226) and [RFC 6238](http://tools.ietf.org/html/rfc6238).
ROTP is compatible with Google Authenticator available for Android and iPhone and any other TOTP based implementations.
Many websites use this for multi-factor authentication, such as GMail, Facebook, Amazon EC2, WordPress, and Salesforce.

[Open Source. New Relic](https://opensource.newrelic.com/)
Open Source projects supported by New Relic.

### Videos

[How to translate and localize apps with Rails Internationalization (18n)](https://gorails.com/episodes/how-to-use-rails-i18n)
Translating and localizing your app is important to make it accessible to users around the world. Rails provides internationalization (I18n) tools to make this easier and it's got a lot of cool tricks available.

### Podcasts

[learnwhy | #23. Bootstrapped to booming with Tuple’s Ben Orenstein](https://www.learnwhy.co/customer-conversations/bootstrapped-to-booming-with-tuples-ben-orenstein)
Ben is the CEO and co-founder of Tuple (the best pair programming app for remote teams). He is also the host of the Art of Product podcast, a former Thoughtbotter and the creator of several educational products for Rails developers. This episode is about:
* Ben's journey building and growing Tuple
* Keeping your finger on the pulse of your customers needs
* Building a product for developers and the importance of understanding your audience
* Soliciting feedback from customers from different channels

[Ruby Rogues | RR 467: Rails at Super Scale with Kyle d’Oliveira](https://devchat.tv/ruby-rogues/rr-467-rails-at-super-scale-with-kyle-doliveira/)
Kyle d'Oliveira (Clio) shares his survival tips for dealing with tens of thousands of commits, massive migrations and the very limits of databases. We discuss the lessons learned from Rails megaprojects and how to use these tips in your own projects to reduce technical debt and tools to keep your monolith majestic when the code won't stop coming.

[Rails with Jason | 056 - Rails Deployment using Docker and Kubernetes with Cameron Dutro](https://railswithjason.simplecast.fm/cameron-dutro)
In this episode I talk with Cameron Dutro, software engineer at quip, about deploying Rails applications using Docker and Kubernetes. Cameron has built a tool called Kuby which helps with Rails/Kubernetes deployment.

Photo by [Lum3n](https://www.pexels.com/@lum3n-44775?utm_content=attributionCopyText&utm_medium=referral&utm_source=pexels) from [Pexels](https://www.pexels.com/photo/close-up-of-hand-over-white-background-316465/?utm_content=attributionCopyText&utm_medium=referral&utm_source=pexels)