<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alexey Zhaboyedov</title>
    <description>The latest articles on DEV Community by Alexey Zhaboyedov (@sunnymagadan).</description>
    <link>https://dev.to/sunnymagadan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F224810%2F764ac7ba-157c-4ca1-8d99-0ddff235ec47.jpeg</url>
      <title>DEV Community: Alexey Zhaboyedov</title>
      <link>https://dev.to/sunnymagadan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sunnymagadan"/>
    <language>en</language>
    <item>
      <title>Hacky Friday Stuff #14.08.2020</title>
      <dc:creator>Alexey Zhaboyedov</dc:creator>
      <pubDate>Fri, 14 Aug 2020 13:21:41 +0000</pubDate>
      <link>https://dev.to/sunnymagadan/hacky-friday-stuff-14-08-2020-41ed</link>
      <guid>https://dev.to/sunnymagadan/hacky-friday-stuff-14-08-2020-41ed</guid>
      <description>&lt;p&gt;&lt;em&gt;Web development, product engineering, tools and services from all over the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.mozilla.org/blog/2020/08/11/changing-world-changing-mozilla/"&gt;Changing World, Changing Mozilla&lt;/a&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://greylock.com/quora-remote-first/"&gt;Remote First&lt;/a&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.ycombinator.com/startup-library/"&gt;Announcing the YC Startup Library&lt;/a&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;h3&gt;
  
  
  Articles, tutorials
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://documentation.divio.com/"&gt;“The Grand Unified Theory of Documentation”&lt;/a&gt;&lt;br&gt;
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.&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://sorbet.org/blog/2020/07/30/ruby-3-rbs-sorbet"&gt;Types in Ruby 3, RBS, and Sorbet&lt;/a&gt;&lt;br&gt;
Sorbet will happily incorporate &lt;a href="https://github.com/ruby/rbs"&gt;RBS&lt;/a&gt; (a type syntax format for Ruby 3 &lt;a href="https://developer.squareup.com/blog/the-state-of-ruby-3-typing/"&gt;announced recently&lt;/a&gt;) 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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pawelurbanek.com/rails-query-caching"&gt;How to Improve ActiveRecord Query Performance with Subquery Caching&lt;/a&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://prathamesh.tech/2020/08/10/creating-unlogged-tables-in-rails/"&gt;Creating unlogged (PostgreSQL) tables in Rails&lt;/a&gt;&lt;br&gt;
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?&lt;/p&gt;

&lt;h3&gt;
  
  
  Gems, libraries
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://gpu.rocks/"&gt;GPU.JS&lt;/a&gt;&lt;br&gt;
GPU accelerated JavaScript. Perform massively parallel GPGPU computations using GPU.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/piotrmurach/strings"&gt;Strings&lt;/a&gt;&lt;br&gt;
A set of useful methods for working with strings such as align, truncate, wrap, and many more.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ankane/chartkick"&gt;Chartkick&lt;/a&gt;&lt;br&gt;
Create beautiful JavaScript charts with one line of Ruby. No more fighting with charting libraries!&lt;/p&gt;

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

&lt;p&gt;&lt;a href="https://opensource.newrelic.com/"&gt;Open Source. New Relic&lt;/a&gt;&lt;br&gt;
Open Source projects supported by New Relic.&lt;/p&gt;

&lt;h3&gt;
  
  
  Videos
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://gorails.com/episodes/how-to-use-rails-i18n"&gt;How to translate and localize apps with Rails Internationalization (18n)&lt;/a&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;h3&gt;
  
  
  Podcasts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.learnwhy.co/customer-conversations/bootstrapped-to-booming-with-tuples-ben-orenstein"&gt;learnwhy | #23. Bootstrapped to booming with Tuple’s Ben Orenstein&lt;/a&gt;&lt;br&gt;
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:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ben's journey building and growing Tuple&lt;/li&gt;
&lt;li&gt;Keeping your finger on the pulse of your customers needs&lt;/li&gt;
&lt;li&gt;Building a product for developers and the importance of understanding your audience&lt;/li&gt;
&lt;li&gt;Soliciting feedback from customers from different channels&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://devchat.tv/ruby-rogues/rr-467-rails-at-super-scale-with-kyle-doliveira/"&gt;Ruby Rogues | RR 467: Rails at Super Scale with Kyle d’Oliveira&lt;/a&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://railswithjason.simplecast.fm/cameron-dutro"&gt;Rails with Jason | 056 - Rails Deployment using Docker and Kubernetes with Cameron Dutro&lt;/a&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://www.pexels.com/@lum3n-44775?utm_content=attributionCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=pexels"&gt;Lum3n&lt;/a&gt; from &lt;a href="https://www.pexels.com/photo/close-up-of-hand-over-white-background-316465/?utm_content=attributionCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=pexels"&gt;Pexels&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>javascript</category>
      <category>hackyfriday</category>
    </item>
    <item>
      <title>Hacky Friday Stuff #7.08.2020</title>
      <dc:creator>Alexey Zhaboyedov</dc:creator>
      <pubDate>Fri, 07 Aug 2020 16:11:33 +0000</pubDate>
      <link>https://dev.to/sunnymagadan/hacky-friday-stuff-7-08-2020-390d</link>
      <guid>https://dev.to/sunnymagadan/hacky-friday-stuff-7-08-2020-390d</guid>
      <description>&lt;p&gt;&lt;em&gt;Links about web development, product engineering, tools and services from all over the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://adamwathan.me/tailwindcss-from-side-project-byproduct-to-multi-mullion-dollar-business/"&gt;Tailwind CSS: From Side-Project Byproduct to Multi-Million Dollar Business&lt;/a&gt;&lt;br&gt;
So about a month or so ago, Tailwind cracked 10 million total installs. They are also about to cross $2 million in revenue from Tailwind UI, the first commercial Tailwind CSS product which was released about 5 months ago — a bit under two years after the very first Tailwind CSS release. Here’s the story from the beginning, while it’s still fresh enough to remember…&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/github/10-standout-github-profile-readmes-h2o"&gt;10 Standout GitHub Profile READMEs&lt;/a&gt;&lt;br&gt;
If you're looking for some inspiration, or information on how to actually enable this on your profile, here are a few great READMEs. Everything from purely cosmetic and informational, to truly hacktacular, computationally impressive, and entertaining works of art.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.heroku.com/debug-node-applications"&gt;Let's Debug a Node.js Application&lt;/a&gt;&lt;br&gt;
There are always challenges when it comes to debugging applications. Node.js' asynchronous workflows add an extra layer of complexity to this arduous process. Although there have been some updates made to the V8 engine in order to easily access asynchronous stack traces, most of the time, we just get errors on the main thread of our applications, which makes debugging a little bit difficult. As well, when our Node.js applications crash, we usually need to rely on some complicated CLI tooling to analyze the core dumps.&lt;br&gt;
In this article, you'll take a look at some easier ways to debug your Node.js applications.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/toptal/active-job-style-guide"&gt;Active Job Style Guide&lt;/a&gt;&lt;br&gt;
This style guide is a list of best practices working with Ruby background jobs using Active Job with Sidekiq backend.&lt;br&gt;
Despite the common belief, they work quite well together if you follow the guidelines.&lt;br&gt;
Sidekiq may be used without Active Job, but the latter adds transparency and a useful serialization layer.&lt;br&gt;
This style guide didn’t appear out of thin air - it is based on the professional experience of the editors, official documentation, and suggestions from members of the Ruby community.&lt;br&gt;
Those guidelines help to avoid numerous pitfalls. Depending on the usage of background jobs, some guidelines might apply, and some not.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rossta.net/blog/visual-guide-to-webpacker.html"&gt;A visual guide to Webpacker&lt;/a&gt;&lt;br&gt;
How webpack and Rails work together in boxes and arrows. Confused about how Webpacker works in Rails? Let's unpack it with some diagrams. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.honeybadger.io/blog/ruby-external-api-test/"&gt;How to Test Ruby Code That Depends on External APIs&lt;/a&gt;&lt;br&gt;
Few things are more frustrating than slow, flaky test suites. You're ready to deploy, wait 20 minutes for CI to run, only to find that a test failure in code you've never touched is blocking you. You dig into the source and find the problem: an external API call. It works (slowly) most of the time. But sometimes the network glitches and it fails. What do you do? In this article, José Manuel shows us several techniques for removing external API dependencies from our tests.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gems, libraries, services
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/excid3/noticed"&gt;Noticed&lt;/a&gt;&lt;br&gt;
Notifications for your Ruby on Rails app.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tailscale.com/"&gt;tailscale&lt;/a&gt;&lt;br&gt;
Private networks made easy. Connect all your devices using WireGuard, without the hassle. Tailscale makes it as easy as installing an app and signing in.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://diagrams.menduz.com/"&gt;Collaborative diagrams tool&lt;/a&gt;&lt;br&gt;
A simple live collaboration editor for sequence diagrams.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.executeprogram.com/courses/typescript"&gt;TypeScript interactive course&lt;/a&gt;&lt;br&gt;
Execute Program lessons mix short written explanations with many interactive code examples. The TypeScript course contains the 43 lessons shown below, with a total of 383 interactive code examples.&lt;/p&gt;

&lt;h3&gt;
  
  
  Podcasts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.heroku.com/podcasts/codeish/special-episode-creativity-and-connection-in-a-remote-workplace"&gt;Code[&lt;em&gt;ish&lt;/em&gt;] | Special Episode: Creativity and Connection in a Remote Workplace&lt;/a&gt;&lt;br&gt;
The current pandemic has thrust many workplaces into adopting a remote-first attitude which they may not have been prepared for. Serendipitous events, like chance encounters at the water cooler or camaraderie built during lunches, not only help strengthen but also lead to improved productivity. Jamm is a startup seeking to rebuild these crucial social experiences for remotely distributed teams. Its founder, Badri Rajasekar, explains his motivations for the app, and why solving remote communication is about more than just video chats.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://devchat.tv/ruby-rogues/rr-466-beating-impostor-syndrome-with-dylan-andrews/"&gt;Ruby Rogues | RR 466: Beating Impostor Syndrome with Dylan Andrews&lt;/a&gt;&lt;br&gt;
In this episode of Ruby Rogues guest, Dylan Andrews (GoNoodle) shares his journey from pro-drummer to junior developer to successful senior software engineer. Dylan and the rogues talk about on-boarding junior developers and building up confidence.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fullstackradio.com/episodes/144"&gt;Full Stack Radio | 144: Gary Bernhardt - TypeScript and Testing&lt;/a&gt;&lt;br&gt;
In this episode, Adam talks to Gary Bernhardt about building Execute Program, why he chose to build it as a full-stack TypeScript application, and the implications using TypeScript has on what you need to test.&lt;/p&gt;

&lt;p&gt;Photo by Carl &lt;a href="https://unsplash.com/@carlheyerdahl"&gt;Heyerdahl&lt;/a&gt; on &lt;a href="https://unsplash.com/"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>javascript</category>
      <category>hackyfriday</category>
    </item>
    <item>
      <title>Hacky Friday Stuff #31.07.2020</title>
      <dc:creator>Alexey Zhaboyedov</dc:creator>
      <pubDate>Fri, 31 Jul 2020 12:03:06 +0000</pubDate>
      <link>https://dev.to/sunnymagadan/hacky-friday-stuff-31-07-2020-4njh</link>
      <guid>https://dev.to/sunnymagadan/hacky-friday-stuff-31-07-2020-4njh</guid>
      <description>&lt;p&gt;&lt;em&gt;Links about web development, product engineering, tools and services from all over the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.squareup.com/blog/the-state-of-ruby-3-typing/"&gt;The State of Ruby 3 Typing&lt;/a&gt;&lt;br&gt;
One of the long-stated goals for Ruby 3 has been to add type checking tooling. After much discussion between Matz and the Ruby committer team, they decided to take the incremental step of adding a foundational type signature language called “RBS,” which will ship with Ruby 3 along with signatures for the stdlib. RBS command line tooling will also ship with Ruby 3, so you can generate signatures for your own Ruby code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/"&gt;GitHub Actions: Manual triggers with workflow_dispatch&lt;/a&gt;&lt;br&gt;
You can now create workflows that are manually triggered with the new workflow_dispatch event. You will then see a ‘Run workflow’ button on the Actions tab, enabling you to easily trigger a run. You can choose which branch the workflow is run on.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ishadeed.com/article/pixel-perfection/"&gt;The State Of Pixel Perfection&lt;/a&gt;&lt;br&gt;
When was the last time you heard the term “Pixel Perfection”? Depending on who you work with, the last time could range from today or years ago. Pixel perfection is a term coined by designers and clients as they request that their design mockups must reflect the design and be an exact copy of it. In this article, the author compares the old scene of the web, and the new one. This comparison will give you an idea about what has changed over the years, and why we need to think far away from the pixel perfection thing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Articles, tutorials
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://medium.com/tanker-blog/the-quest-for-a-better-hiring-process-d237b36f682f"&gt;The quest for a better hiring process&lt;/a&gt;&lt;br&gt;
In this article, you'll see a list of the various engineering hiring techniques and described the one used at &lt;a href="https://tanker.io/"&gt;Tanker&lt;/a&gt;, and why it works best for them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/layzee/angular-struggles-in-2020-1po4"&gt;Angular struggles in 2020&lt;/a&gt;&lt;br&gt;
An opinionated deep look on a current state of the Angular community that points out issues that might be indicators of the soon sunset era for this framework.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.smashingmagazine.com/2020/07/introduction-stimulusjs/"&gt;An Introduction To Stimulus.js&lt;/a&gt;&lt;br&gt;
In this article, Mike Rogers will introduce you to Stimulus, a modest JavaScript framework that compliments your existing HTML. By the end, you’ll have an understanding of the premise of Stimulus and why it’s a useful tool to have in your backpack.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.heroku.com/streaming-data-connectors-beta"&gt;Introducing the Streaming Data Connectors Beta: Capture Heroku Postgres Changes in Apache Kafka on Heroku&lt;/a&gt;&lt;br&gt;
Heroku announcing a beta release of their new streaming data connector between Heroku Postgres and Apache Kafka on Heroku. Heroku runs millions of Postgres services and tens of thousands of Apache Kafka services, and they increasingly see developers choosing to start with Apache Kafka as the foundation of their data architecture. But for those who are Postgres-first, it is challenging to adopt without a full app rewrite. Developers want a seamless integration between the two services, and they delivered it recently, at no additional charge, for Heroku Private Spaces and Shield Spaces customers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://solnic.codes/2020/07/29/be-cautious-with-ruby-coercion-methods"&gt;Be cautious with Ruby coercion methods&lt;/a&gt;&lt;br&gt;
In this article, you’ll take a look at the built-in coercion methods, various caveats that come with their usage, and ways how you can handle coercion in a more predictable and strict way.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fiachetti.gitlab.io/mastering-roda/"&gt;Mastering Roda&lt;/a&gt;&lt;br&gt;
A free e-book by Federico M. Iachetti written in collaboration with Avdi Grimm. This book is completely driven by examples using a minimalistic routing tree framework Roda created by Jeremy Evans. Every concept introduced is described by providing a problem or situation to solve.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gems, services
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/toptal/crystalball"&gt;Crystalball&lt;/a&gt;&lt;br&gt;
Crystalball is a Ruby library that implements the Regression Test Selection mechanism originally published by Aaron Patterson. Its main purpose is to select a minimal subset of your test suite which should be run to ensure your changes didn't break anything.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/piotrmurach/tty-prompt"&gt;TTY::Prompt&lt;/a&gt;&lt;br&gt;
&lt;code&gt;TTY::Prompt&lt;/code&gt; provides independent prompt component for &lt;a href="https://github.com/piotrmurach/tty"&gt;TTY&lt;/a&gt; toolkit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://visly.app/"&gt;Visly. Build React components visually&lt;/a&gt;&lt;br&gt;
Rapidly design and build production-ready components with Visly, the design tool built for developers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Videos
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=H1eKIO39ob8&amp;amp;feature=youtu.be"&gt;Hanami 2.0 application template - pt. 2&lt;/a&gt;&lt;br&gt;
Piotr Solnica explores Tim Rilies Hanami 2.0 application template - part 2, how component loading works and writing a simple spec.&lt;/p&gt;

&lt;h3&gt;
  
  
  Podcasts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://devchat.tv/ruby-rogues/rr-465-webauthn-in-ruby-with-gonzalo-rodriguez-and-braulio-martinez/"&gt;Ruby Rogues | RR 465: WebAuthn in Ruby with Gonzalo Rodriguez and Braulio Martinez&lt;/a&gt;&lt;br&gt;
As the world becomes more security conscious, we need to think about the ways we allow people to authenticate to our applications. WebAuthn is a standard that allows you to accept biometric, device based, and other types of authentication as a second or first factor. Gonzalo and Braulio have published a gem that allows you to add webauthn to your Ruby applications and have joined the Rogues to talk through the implications of using it in your applications.&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@nitram509"&gt;Martin W. Kirst&lt;/a&gt; on &lt;a href="https://unsplash.com"&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>javascript</category>
      <category>hackyfriday</category>
    </item>
    <item>
      <title>Hacky Friday Stuff #24.07.2020</title>
      <dc:creator>Alexey Zhaboyedov</dc:creator>
      <pubDate>Fri, 24 Jul 2020 12:32:32 +0000</pubDate>
      <link>https://dev.to/sunnymagadan/hacky-friday-stuff-24-07-2020-1nnf</link>
      <guid>https://dev.to/sunnymagadan/hacky-friday-stuff-24-07-2020-1nnf</guid>
      <description>&lt;p&gt;&lt;em&gt;Links about web development, product engineering, tools and services from all over the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://lucaguidi.com/2020/07/22/ruby-method-overloading/"&gt;Ruby Method Overloading&lt;/a&gt;&lt;br&gt;
Method Overloading is a programming language feature that allows you to define multiple signatures (and implementations) of the same method. Ruby doesn’t have such a feature, but there is a hack to make this possible based on method arity.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.rubygems.org/2020/07/16/removing-sha1-passwords-in-rubygems-org.html"&gt;Removing SHA1 passwords from RubyGems.org&lt;/a&gt;&lt;br&gt;
Yet another reminder to stop using SHA1 hashing algorithm for passwords as it's widely considered insecure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Articles, tutorials
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.honeybadger.io/blog/building-lexer-ruby/"&gt;Building a Toy Lexer in Ruby&lt;/a&gt;&lt;br&gt;
Lexers are magical. They take your messy, hand-typed, human text, and convert it into a clean data structure that the computer can process. Every time you run a ruby program, use structured search or type in a date by hand, you'll find a lexer hard at work. In this article, Alex Braha Stoll pulls back the curtain to show us how lexers work and how to implement one for a simple programming language.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/better-programming/22-miraculous-tools-for-react-developers-in-2019-7d72054e2306"&gt;22 Miraculous Tools for React Developers in 2019&lt;/a&gt;&lt;br&gt;
It's almost a one-year-old article but it covers a comprehensive list of tools that still could be useful to anyone working with React nowadays.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://jakeyesbeck.com/2020/07/19/making-rspec-tests-more-robust/"&gt;Making RSpec Tests More Robust&lt;/a&gt;&lt;br&gt;
Mocks and stubs in RSpec allow developers to make important assertions about their code. Unfortunately, mocking can also cause false positives when modifying real code. In this article, you'll find how to overcome some of those issues.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gems, libraries
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/diasks2/pragmatic_tokenizer"&gt;Pragmatic Tokenizer&lt;/a&gt;&lt;br&gt;
Pragmatic Tokenizer is a multilingual tokenizer to split a string into tokens.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://recoiljs.org/"&gt;Recoil&lt;/a&gt;&lt;br&gt;
A state management library for React.&lt;/p&gt;

&lt;h3&gt;
  
  
  Podcasts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://fullstackradio.com/episodes/143"&gt;Full Stack Radio | 143: Rich Harris - Svelte and Defending the Modern Web&lt;/a&gt;&lt;br&gt;
In this episode, Adam talks to Rich Harris about Svelte, and why we should keep pushing forward with the modern web even if it's not perfect yet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://devchat.tv/ruby-rogues/rr-464-pwas-on-rails-with-john-beatty/"&gt;Ruby Rogues | RR 464: PWAs on Rails with John Beatty&lt;/a&gt;&lt;br&gt;
John Beatty joins the Rogues to talk about building Progressive Web Applications on Ruby on Rails. He walks the Rogues through the ins and outs of building a PWA and what it’s like adding the features you need to get a PWA set up on Rails. It turns out to be surprisingly straightforward and yet has a ton of potential.&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@swimstaralex"&gt;Alexander Sinn&lt;/a&gt; on &lt;a href="https://unsplash.co"&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>javascript</category>
      <category>hackyfriday</category>
    </item>
    <item>
      <title>Hacky Friday Stuff #17.07.2020</title>
      <dc:creator>Alexey Zhaboyedov</dc:creator>
      <pubDate>Fri, 17 Jul 2020 12:50:02 +0000</pubDate>
      <link>https://dev.to/sunnymagadan/hacky-friday-stuff-17-07-2020-4mkp</link>
      <guid>https://dev.to/sunnymagadan/hacky-friday-stuff-17-07-2020-4mkp</guid>
      <description>&lt;p&gt;&lt;em&gt;Links about web development, product engineering, tools and services from all over the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.reaktor.com/blog/forecasting-method/"&gt;Don’t (guess)timate your projects, forecast with confidence&lt;/a&gt;&lt;br&gt;
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. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://evilmartians.com/chronicles/system-of-a-test-setting-up-end-to-end-rails-testing"&gt;System of a test: Proper browser testing in Ruby on Rails&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;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!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://m.signalvnoise.com/running-spot-instances-effectively-with-amazon-eks/"&gt;Running spot instances effectively with Amazon EKS&lt;/a&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;h3&gt;
  
  
  Articles, tutorials
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://medium.com/javascript-in-plain-english/what-is-react-fast-refresh-f3d1e8401333"&gt;What is React Fast Refresh?&lt;/a&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.tailwindcss.com/tailwindcss-typography"&gt;Introducing Tailwind CSS Typography&lt;/a&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.arkency.com/painless-rails-upgrades/"&gt;Painless Rails upgrades&lt;/a&gt;&lt;br&gt;
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?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://towardsdatascience.com/build-the-worlds-simplest-etl-extract-transform-load-pipeline-in-ruby-with-kiba-e7093a29d35"&gt;Build The World’s Simplest ETL (Extract, Transform, Load) Pipeline in Ruby With Kiba&lt;/a&gt;&lt;br&gt;
How often do you iterate through all the records in a database table, modify each, and re-save?&lt;br&gt;
This pattern is called ETL (extract, transform, load).&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://buildingvts.com/first-class-experimentation-in-ruby-with-scientist-8ff1a3474ebc"&gt;First Class Experimentation in Ruby with Scientist&lt;/a&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codewithjason.com/validation-matchers-shoulda-matchers-use/"&gt;Why validation matchers are the only Shoulda matchers I use&lt;/a&gt;&lt;br&gt;
Jason Swett explains why he is using only validation matchers from a popular gem &lt;a href="https://github.com/thoughtbot/shoulda-matchers#matchers"&gt;Shoulda matchers&lt;/a&gt; that gives some handy helpers for testing common Rails functionality.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gems, libraries, services
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/unabridged/motion"&gt;Motion&lt;/a&gt;&lt;br&gt;
Motion allows you to build reactive, real-time frontend UI components in your Rails application using pure Ruby.&lt;/p&gt;

&lt;h3&gt;
  
  
  Podcasts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://devchat.tv/ruby-rogues/rr-463-can-we-fix-what-we-cant-see-with-james-thompson/"&gt;Ruby Rogues | RR 463: Can We Fix What We Can’t See? with James Thompson&lt;/a&gt;&lt;br&gt;
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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://stackoverflow.blog/2020/07/07/podcast-250-how-we-hire-developers-at-stack/"&gt;The Stack Overflow Podcast | EP250: How we hire developers at Stack&lt;/a&gt;&lt;br&gt;
Hard lessons learned from flunking your first few code screenings.&lt;/p&gt;

&lt;h3&gt;
  
  
  Videos
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=Ba0fnSkT37E&amp;amp;feature=youtu.be"&gt;The Rule of Least Power&lt;/a&gt;&lt;br&gt;
Sam Selikoff explains how to get more flexibility in your programs by applying The Rule of Least Power.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://timriley.info/writing/2020/07/14/philly-rb-talk-on-hanami-view-2-0/"&gt;Philly.rb talk on hanami-view 2.0&lt;/a&gt;&lt;br&gt;
Tim Riley's talk about dry-view in the context of current plans for hanami-view 2.0.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.driftingruby.com/episodes/soft-delete-with-discard"&gt;Drifting Ruby | #249 Soft Delete with Discard&lt;/a&gt;&lt;br&gt;
Soft deletes for ActiveRecord done right.&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@martinshreder"&gt;Martin Shreder&lt;/a&gt; on &lt;a href="https://unsplash.com/@martinshreder"&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>javascript</category>
      <category>hackyfriday</category>
    </item>
    <item>
      <title>Hacky Friday Stuff #10.07.2020</title>
      <dc:creator>Alexey Zhaboyedov</dc:creator>
      <pubDate>Fri, 10 Jul 2020 12:33:37 +0000</pubDate>
      <link>https://dev.to/sunnymagadan/hacky-friday-stuff-10-07-2020-g4e</link>
      <guid>https://dev.to/sunnymagadan/hacky-friday-stuff-10-07-2020-g4e</guid>
      <description>&lt;p&gt;&lt;em&gt;Links about web development, product engineering, tools and services from all over the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/rails/rails/pull/39282"&gt;&lt;code&gt;rails new --minimal&lt;/code&gt; gives you a minimal rails stack&lt;/a&gt;&lt;br&gt;
A recently-merged feature for generating minimal Rails app.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://solnic.codes/2020/07/09/open-source-status-update-april-june-2020/"&gt;Open Source Status Update – April – June 2020 by Piotr Solnica&lt;/a&gt;&lt;br&gt;
A write-up about the last three month of activities in Piotr's Open Source projects from dry-rb and ROM ecosystems.&lt;/p&gt;

&lt;h3&gt;
  
  
  Articles &amp;amp; tutorials
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://medium.com/javascript-in-plain-english/micro-frontends-made-easy-e49acceea536"&gt;Micro Frontends Made Easy&lt;/a&gt;&lt;br&gt;
An explanation of a simple way how to use Micro Frontends with an example.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.heroku.com/rate-throttle-api-client"&gt;A Fast Car Needs Good Brakes: How We Added Client Rate Throttling to the Platform API Gem&lt;/a&gt;&lt;br&gt;
How Heroku handled a rate-limiting issue in their &lt;code&gt;platform-api&lt;/code&gt; gem that Heroku maintains for talking to its API in Ruby.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gems, libraries, and services
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/huginn/huginn"&gt;Huginn&lt;/a&gt;&lt;br&gt;
Huginn is a system for building agents that perform automated tasks for you online. They can read the web, watch for events, and take actions on your behalf. Huginn's Agents create and consume events, propagating them along a directed graph. Think of it as a hackable version of IFTTT or Zapier on your own server. You always know who has your data. You do.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/FredrikNoren/ungit"&gt;ungit&lt;/a&gt;&lt;br&gt;
Ungit brings user-friendliness to git without sacrificing the versatility of git by providing clean and intuitive UI that makes it easy to understand git.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://withfig.com/"&gt;Fig&lt;/a&gt;&lt;br&gt;
Apps &amp;amp; Shortcuts for Your Terminal.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://digital-fabric.github.io/polyphony/"&gt;Polyphony&lt;/a&gt;&lt;br&gt;
Polyphony is a library for building concurrent applications in Ruby. Polyphony implements a comprehensive fiber-based concurrency model, using libev as a high-performance event reactor for I/O, timers, and other asynchronous events.&lt;/p&gt;

&lt;h3&gt;
  
  
  Podcasts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.heroku.com/podcasts/codeish/75-grpc"&gt;Cide[&lt;em&gt;ish&lt;/em&gt;] | 75. gRPC&lt;/a&gt;&lt;br&gt;
Learn more about gRPC from Doug Fawley, who is the tech lead for the Golang implementation. He'll talk about the different ways in which clients and servers exchange information, as well as why gRPC is a necessary step forward.&lt;/p&gt;

&lt;h3&gt;
  
  
  Videos
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=qkJJ9v4eryM&amp;amp;feature=youtu.be"&gt;Shape Up Q&amp;amp;A with Ryan Singer and guest Adam Wathan&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=MYxwlmeyu9w"&gt;Remix Preview #1&lt;/a&gt;&lt;br&gt;
The first preview of Remix, a new framework for building dynamic React websites. You'll get a preview on routing, layouts, data loading, meta tags, data caching, and scroll restoration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=zQUg9Ct6S8g&amp;amp;feature=youtu.be"&gt;Your clients don't know what they want but they want it NOW&lt;/a&gt;&lt;br&gt;
Andrzej Krzywda talks about the programmer's perspective on communication with client/business people.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=MWzX8Augn1A&amp;amp;feature=youtu.be"&gt;Rails Architects Conference | Your Ruby code is pretty but often has low cohesion and high coupling - live code review&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@clarktibbs"&gt;Clark Tibbs&lt;/a&gt; on &lt;a href="https://unsplash.com"&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>fullstack</category>
      <category>hackyfriday</category>
    </item>
    <item>
      <title>Hacky Friday Stuff #03.07.2020</title>
      <dc:creator>Alexey Zhaboyedov</dc:creator>
      <pubDate>Fri, 03 Jul 2020 13:29:12 +0000</pubDate>
      <link>https://dev.to/sunnymagadan/hacky-friday-stuff-03-07-2020-4h1e</link>
      <guid>https://dev.to/sunnymagadan/hacky-friday-stuff-03-07-2020-4h1e</guid>
      <description>&lt;p&gt;&lt;em&gt;Links about web development, product engineering, tools and services from all over the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://josebrowne.com/on-coding-ego-and-attention/"&gt;On Coding, Ego and Attention&lt;/a&gt;&lt;br&gt;
Some interesting thoughts on finding to get out of your own way by learning the link between ego and attention.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://pganalyze.com/blog/active-record-subqueries-rails"&gt;Advanced Active Record: Using Subqueries in Rails&lt;/a&gt;&lt;br&gt;
Active Record gives us the ability to perform simple queries simply but also lets us access the raw SQL which is sometimes required to get our jobs done. Subqueries are a perfect example of that, and we'll see how to create subqueries in Rails and Active Record in the SELECT, FROM, WHERE, and HAVING clauses of an SQL statement. With the expressiveness of Active Record, one doesn’t have to resort to writing completely in SQL to use a subquery.&lt;/p&gt;

&lt;h3&gt;
  
  
  Articles &amp;amp; tutorials
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://evilmartians.com/chronicles/anycable-1-0-four-years-of-real-time-web-with-ruby-and-go"&gt;AnyCable 1.0: Four years of the real-time web with Ruby and Go&lt;/a&gt;&lt;br&gt;
Vladimir Dementyev proudly announced the 1.0 release of AnyCable—a drop-in turbo-extension for Action Cable that relies on the same API and also works outside of Rails. It took four years to turn his idea into a robust backbone for real-time Ruby applications. Discover new features, learn from wins and fails, peek into the AnyCable’s future, and see how using Ruby and Go together gives you the best of both worlds!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://overreacted.io/writing-resilient-components/"&gt;Writing Resilient Components&lt;/a&gt;&lt;br&gt;
Old good article about React components and useful principles that can help writing them better.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.logrocket.com/a-deep-dive-into-react-context-api/"&gt;A deep dive into React Context API&lt;/a&gt;&lt;br&gt;
A great, detailed overview of React Context API that will save your components from unwanted prop-drilling.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.tailwindcss.com/building-the-tailwind-blog"&gt;Building the Tailwind Blog with Next.js&lt;/a&gt;&lt;br&gt;
A writeup from Adam Wathan on how they built a blog for Tailwind CSS using Next.js and MDX documents.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gems, libraries, services
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.honeycode.aws/"&gt;Amazon Honeycode&lt;/a&gt;&lt;br&gt;
You need to manage your tasks, your projects, and your team. Now you can build an app to achieve your goals with Amazon Honeycode. No programming required.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://trailblazer.to/2.1/blog.html"&gt;Trailblazer 2.1&lt;/a&gt;&lt;br&gt;
The release notes of the recently updated Trailblzer framework.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/pubkey/rxdb"&gt;RxDB&lt;/a&gt;&lt;br&gt;
RxDB (short for Reactive Database) is a NoSQL-database for JavaScript Applications like Websites, hybrid Apps, Electron-Apps, Progressive Web Apps and NodeJs. Reactive means that you can not only query the current state, but subscribe to all state changes like the result of a query or even a single field of a document.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.expensivemeeting.com/"&gt;Expensive Meeting&lt;/a&gt;&lt;br&gt;
A fun site to calculate the average cost of a meeting. It makes you think twice before spawning a long meeting with many people involved.&lt;/p&gt;

&lt;h3&gt;
  
  
  Podcasts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.parallelpassion.com/40"&gt;Parallel Passion | 40. Tobias Pfeiffer&lt;/a&gt;&lt;br&gt;
Tobi is a developer, leader, benchmarker, Rubyist, Elixir fan, learner, teacher and agile crafter by passion. He loves collaboratively creating just about anything people enjoy - be it the Ruby User Group Berlin, SimpleCov, benchee, or other projects while thinking about new ideas to push boundaries. Currently he's helping companies onboard onto Elixir and creating wonderful web applications in his journey as a freelancer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fullstackradio.com/episodes/142"&gt;Full Stack Radio | 142: Jason Cohen - Learning to Hire and Manage a Team&lt;/a&gt;&lt;br&gt;
In this episode, Adam talks to Jason Cohen of WP Engine about hiring people to join the Tailwind team, figuring out what to focus on, and learning how to manage.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://devchat.tv/ruby-rogues/rr-462-graphiti-rest-and-graphql-with-lee-richmond/"&gt;Ruby Rogues | RR 462: Graphiti, REST, and GraphQL with Lee Richmond&lt;/a&gt;&lt;br&gt;
Lee Richmond is one of the primary developers behind the Graphiti library for Ruby. Lee describes Graphiti as the spiritual successor to ActiveResource. It provides a convenient way to provide an API that understands the object graph in your application without needing to resort to GraphQL.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.heroku.com/podcasts/codeish/74-how-devto-built-a-community"&gt;Code[&lt;em&gt;ish&lt;/em&gt;] | 74. How Dev.to Built a Community&lt;/a&gt;&lt;br&gt;
With six million unique users a month and 350,000 registered users, Dev.to has become the place for developers to engage with a broader community. The team behind the site has focused a lot of its energy on making sure the site is reliable, regardless of network speeds, and safe, with plenty of guidance and moderation tooling in place. Ben Halpern, its CEO, and Jess Lee, its COO, answer questions from Julián Duque on how they were able to build this fast-growing social network for tech.&lt;/p&gt;

&lt;h3&gt;
  
  
  Videos
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Rails Architects Conference Series by Arkency
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=kURp3CE-FvM"&gt;This time it will be different - how to properly start your next Rails app&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=s0bG7G_PNcI"&gt;Multitenancy in Rails: PostgreSQL schemas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=LwFkVGKITSM&amp;amp;feature=youtu.be"&gt;Painless Rails Upgrades&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=p3pcfDdgnsM"&gt;Simplify and speed up your Rails views&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Photo by Carl &lt;a href="https://unsplash.com/@carlheyerdahl"&gt;Heyerdahl&lt;/a&gt; on &lt;a href="https://unsplash.com/"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>javascript</category>
      <category>hackyfriday</category>
    </item>
    <item>
      <title>Hacky Friday Stuff #26.06.2020</title>
      <dc:creator>Alexey Zhaboyedov</dc:creator>
      <pubDate>Fri, 26 Jun 2020 10:33:17 +0000</pubDate>
      <link>https://dev.to/sunnymagadan/hacky-friday-stuff-26-06-2020-3658</link>
      <guid>https://dev.to/sunnymagadan/hacky-friday-stuff-26-06-2020-3658</guid>
      <description>&lt;p&gt;&lt;em&gt;Links about web development, product engineering, tools and services from all over the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.bigbinary.com/2020/05/08/ruby-2-7-adds-enumerable-filter-map.html"&gt;Ruby 2.7 adds Enumerable#filter_map&lt;/a&gt;&lt;br&gt;
Ruby 2.7 adds Enumerable#filter_map which is a combination of filter + map as the name indicates. The ‘filter_map’ method filters and map the enumerable elements within a single iteration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/expedia-group-tech/using-webpack-module-federation-to-share-an-app-shell-7d23633510e"&gt;Using Webpack Module Federation to Create an App Shell&lt;/a&gt;&lt;br&gt;
Webpack 5.0 will ship a powerful new feature for javascript application architecture: module federation (committed in v5.0.0-beta.16). This article explores the implementation of a federated app shell micro front-end (MFE) working with an example travel shopping experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  Articles and tutorials
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://pawelurbanek.com/rails-postgres-join-indexes"&gt;Postgres Indexes for ActiveRecord Join Tables in Rails Apps&lt;/a&gt;&lt;br&gt;
Join tables are a common citizen in Ruby on Rails apps. Their use case is to provide many to many relation between database models. Adding correct Postgres indexes on join tables is not obvious. In this tutorial, we’ll look into how compound PostgreSQL indexes work and how to correctly use them with join tables.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://lipanski.com/posts/activestorage-cdn-rails-direct-route"&gt;Serving ActiveStorage uploads through a CDN with Rails direct routes&lt;/a&gt;&lt;br&gt;
ActiveStorage makes it really easy to upload files from Rails to an S3 bucket or an S3-compatible service, like DigitalOcean Spaces. If your uploads are meant to be public and you were thinking of serving them directly through the CDN sitting in front of your S3 bucket, you’ll soon notice a problem: ActiveStorage URLs are built to always go through your Rails app, mainly through &lt;code&gt;ActiveStorage::BlobsController&lt;/code&gt;. In this article, you'll get to know an easy way to go around this problem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/@adevnadia/webpack-and-yarn-magic-against-duplicates-in-bundles-52b5e1a5e2e2"&gt;Webpack and yarn magic against duplicates in bundles&lt;/a&gt;&lt;br&gt;
This page describes the theory and some technical details behind the &lt;a href="https://github.com/atlassian-labs/webpack-deduplication-plugin"&gt;webpack-deduplication-plugin&lt;/a&gt; plugin, which helped to reduce javascript size in Jira by ~10%.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.bitsrc.io/react-hook-form-vs-formik-form-builder-library-for-react-23ed559fdae"&gt;React Hook Form VS Formik&lt;/a&gt;&lt;br&gt;
Through this article, you’ll learn about the pain of building forms with React and how form-building libraries like Formik and React Hook Form can help you to have fewer tears.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gems, libraries, services
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/github/github-ds"&gt;GitHub::DS&lt;/a&gt;&lt;br&gt;
GitHub::DS is a collection of Ruby libraries for working with SQL on top of ActiveRecord's connection.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/atlassian-labs/webpack-deduplication-plugin"&gt;Webpack Deduplication Plugin&lt;/a&gt;&lt;br&gt;
Plugin for webpack that de-duplicates transitive dependencies in yarn and webpack-based projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  Podcasts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.heroku.com/podcasts/codeish/73-the-blockchain-beyond-cryptocurrency"&gt;Code[&lt;strong&gt;ish&lt;/strong&gt;] | 73. The Blockchain, Beyond Cryptocurrency&lt;/a&gt;&lt;br&gt;
Cryptocurrencies like Bitcoin have gained popularity as people seek to reclaim more privacy in their online activities. But the underlying concept is built on a technology called blockchain, and while it's often associated with cryptocurrencies, its potential can be applied in many more places. Host Owen Ou interviews Adam Hanna and Melanie Plaza at AE Studio to talk about what the blockchain is (and isn't), building on top of blockchain platforms like Ethereum, and the future implications for blockchain networks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/devdiscuss/s1-e6-little-known-productivity-tools-big-productivity-gains"&gt;DevDiscuss | S1:E6 - Little-Known Productivity Tools; Big Productivity Gains&lt;/a&gt;&lt;br&gt;
In this episode, we go through our favorite hardware and software that allows us to be the best developers and designers we can be. We invite DEV Principal Software Engineer, Josh Puetz, and DEV Lead Product Designer, Lisa Sy, to talk about their favorite desk setup, organizational, and efficiency tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  Videos
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=FH_EIlN89cQ&amp;amp;feature=youtu.be"&gt;Hanami 2.0 application template - pt. 1&lt;/a&gt;&lt;br&gt;
Piotr Solnica explores Tim's Hanami 2.0 application template - part 1, settings and rom-rb.&lt;br&gt;
The template on GitHub: &lt;a href="https://github.com/timriley/hanami-2-application-template"&gt;https://github.com/timriley/hanami-2-application-template&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@swimstaralex"&gt;Alexander Sinn&lt;/a&gt; on &lt;a href="https://unsplash.co"&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>javascript</category>
      <category>hackyfriday</category>
    </item>
    <item>
      <title>Hacky Friday Stuff #19.06.2020</title>
      <dc:creator>Alexey Zhaboyedov</dc:creator>
      <pubDate>Fri, 19 Jun 2020 11:48:41 +0000</pubDate>
      <link>https://dev.to/sunnymagadan/hacky-friday-stuff-19-06-2020-10j0</link>
      <guid>https://dev.to/sunnymagadan/hacky-friday-stuff-19-06-2020-10j0</guid>
      <description>&lt;p&gt;&lt;em&gt;Links about web development, product engineering, tools and services from all over the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@carlheyerdahl"&gt;Carl Heyerdahl&lt;/a&gt; on &lt;a href="https://unsplash.com/"&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://thenewstack.io/microsoft-rust-is-the-industrys-best-chance-at-safe-systems-programming/"&gt;Microsoft: Rust Is the Industry’s ‘Best Chance’ at Safe Systems Programming&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;No matter how much investment software companies may put into tooling and training their developers, “C++, at its core, is not a safe language&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;said Ryan Levick, Microsoft cloud developer advocate, during the AllThingsOpen virtual conference last month, explaining, in a virtual talk, why Microsoft is gradually switching to Rust to build its infrastructure software, away from C/C++. And it is encouraging other software industry giants to consider the same.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://weblog.rubyonrails.org/2020/6/17/Rails-6-0-3-2-has-been-released/"&gt;Rails 6.0.3.2 has been released!&lt;/a&gt;&lt;br&gt;
Rails 6.0.3.2 has been released! This version of Rails contains an important security patch, and you should upgrade!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.blog/2020-06-18-introducing-github-super-linter-one-linter-to-rule-them-all/"&gt;Introducing GitHub Super Linter: one linter to rule them all&lt;/a&gt;&lt;br&gt;
The GitHub Super Linter was built out of necessity by the GitHub Services DevOps Engineering team to maintain consistency in their documentation and code while making communication and collaboration across the company a more productive experience. Now it's open-sourced, so everyone can use and improve it!&lt;/p&gt;

&lt;h3&gt;
  
  
  Articles &amp;amp; tutorials
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://prathamesh.tech/2020/06/15/allowing-dots-in-rails-routes/"&gt;Allowing dots in Rails routes&lt;/a&gt;&lt;br&gt;
Rails routing is very powerful and it allows to define different types of routes. Though resourceful routes is recommended, it also gives us ability to define routes for specific cases using dynamic segments with parameters. It's easy to do, but what if parameter could have a value with a dot &lt;code&gt;.&lt;/code&gt; symbol? &lt;/p&gt;

&lt;p&gt;&lt;a href="https://opensource.com/article/20/6/python-passwords"&gt;Never forget your password with this Python encryption algorithm&lt;/a&gt;&lt;br&gt;
This unique algorithm using Python and Shamir's Secret Sharing protects your master password from hackers and your own forgetfulness.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.scrapingbee.com/blog/web-scraping-ruby/"&gt;Web Scraping with Ruby&lt;/a&gt;&lt;br&gt;
This post will cover the main tools and techniques for web scraping in Ruby. It starts with an introduction to building a web scraper using common Ruby HTTP clients and parsing the response. This approach to web scraping has, however, its limitations and can come with a fair dose of frustration. Not to mention, as manageable as it is to scrape static pages, these tools fail when it comes to dealing with Single Page Applications, the content of which is built with JavaScript. As an answer to that, you'll see how to use a complete web scraping framework.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools &amp;amp; libraries
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.11ty.dev/"&gt;11ty&lt;/a&gt;&lt;br&gt;
Eleventy is a simpler static site generator.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.quickdatabasediagrams.com/"&gt;Quick DBD&lt;/a&gt;&lt;br&gt;
A neat tool for drawing pretty database diagrams by typing the schema.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/excid3/simple_discussion"&gt;SimpleDiscussion&lt;/a&gt;&lt;br&gt;
SimpleDiscussion is a Rails forum gem extracting the forum from GoRails. It includes categories, simple moderation, the ability to mark threads as solved, and more.&lt;br&gt;
Out of the box, SimpleDiscussion comes with styling for Boostrap v4 but you're free to customize the UI as much as you like by installing the views and tweaking the HTML.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/amazing-print/amazing_print"&gt;Amazing Print&lt;/a&gt;&lt;br&gt;
Pretty print your Ruby objects with style -- in full color and with proper indentation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ammar/regexp_parser"&gt;Regexp::Parser&lt;/a&gt;&lt;br&gt;
A Ruby gem for tokenizing, parsing, and transforming regular expressions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/facebook/jscodeshift"&gt;jscodeshift&lt;/a&gt;&lt;br&gt;
jscodeshift is a toolkit for running code modifications over multiple JavaScript or TypeScript files.&lt;/p&gt;

&lt;h3&gt;
  
  
  Podcasts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://uibreakfast.com/144-product-integrations-with-rob-walling/"&gt;UI Breakfast Podcast. Episode 144: Product Integrations with Rob Walling&lt;/a&gt;&lt;br&gt;
Integrations are a fantastic way of growing your product while providing value to your customers. However, you need to approach them carefully and strategically. Rob Walling, co-founder of MicroConf, TinySeed, and Drip will show you how to use integrations as a customer acquisition channel, and what goes into a successful integration — from making the initial decision to creating support docs and co-marketing opportunities.&lt;/p&gt;

&lt;h3&gt;
  
  
  Videos
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://thoughtbot.com/events/product-launch-workshop"&gt;How to launch a product in 8 weeks&lt;/a&gt;&lt;br&gt;
Thoughtbot co-founder, developer, and CEO, Chad Pytel recorded a workshop for the ones interested in launching a new web or mobile product in 2020.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=-4Yp3j_jk8Q"&gt;Leslie Lamport: Thinking Above the Code&lt;/a&gt;&lt;br&gt;
Architects draw detailed blueprints before a brick is laid or a nail is hammered. Programmers and software engineers seldom do. A blueprint for software is called a specification. The need for extremely rigorous specifications before coding complex or critical systems should be obvious—especially for concurrent and distributed systems. This talk explains why some sort of specification should be written for any software.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>fullstack</category>
      <category>hackyfriday</category>
    </item>
    <item>
      <title>Hacky Friday Stuff #12.06.2020</title>
      <dc:creator>Alexey Zhaboyedov</dc:creator>
      <pubDate>Fri, 12 Jun 2020 14:03:16 +0000</pubDate>
      <link>https://dev.to/sunnymagadan/hacky-friday-stuff-12-06-2020-2bc2</link>
      <guid>https://dev.to/sunnymagadan/hacky-friday-stuff-12-06-2020-2bc2</guid>
      <description>&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@nitram509"&gt;Martin W. Kirst&lt;/a&gt; on &lt;a href="https://unsplash.com"&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Links about web development, product engineering, tools and services from all over the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://timriley.info/writing/2020/06/08/rubyists-we-must-do-better/"&gt;Rubyists, we must do better&lt;/a&gt;&lt;br&gt;
The story about an issue with changing the name of RuboCop in the light of the race-related police brutality issues (and more) being tackled in the USA right now.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://evrone.com/dhh-interview"&gt;David Heinemeier Hansson Interview&lt;/a&gt;&lt;br&gt;
In 2020, Evrone invited David to speak at RubyRussia, 11th annual Moscow programming conference. Prior to the event, they've got a chance to talk to David about the world of software development and his approach to writing phenomenal code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nodesign.dev/"&gt;No Design Development&lt;/a&gt;&lt;br&gt;
A collection of tools for developers who have little to no artistic talent. Join the movement #nodesigndev.&lt;/p&gt;

&lt;h3&gt;
  
  
  Articles &amp;amp; tutorials
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://medium.com/javascript-scene/transducers-efficient-data-processing-pipelines-in-javascript-7985330fe73d"&gt;Transducers: Efficient Data Processing Pipelines in JavaScript&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A transducer is a composable higher-order reducer. It takes a reducer as input, and returns another reducer. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Sounds intriguing, isn't it. ;)&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools &amp;amp; libraries
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.prisma.io/"&gt;Prisma&lt;/a&gt;&lt;br&gt;
Prisma is an open-source database toolkit. It replaces traditional ORMs and makes database access easy with an auto-generated query builder for TypeScript &amp;amp; Node.js.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://memgraph.com/blog/announcing-memgraph-1-0-enterprise-ready-real-time-graph-database"&gt;Memgraph&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Already used by everyone from solo developers to Fortune 500 enterprises, Memgraph 1.0 is now publicly available and production-ready. We’ve come a long way since writing the first line of code in summer 2016 and we’re proud to bring you what we believe to be a graph database that will make it easy for developers and data scientists to build and productionize high-performance graph applications.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="http://test-bench.software/"&gt;TestBench&lt;/a&gt;&lt;br&gt;
Principled Test Framework for Ruby. TestBench encourages clean test design that reflects fundamental principles. It has no superfluous syntax that leads to cumbersome tests. It has no opinions, but makes no apologies.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://railsdiff.org/"&gt;RailsDiff&lt;/a&gt;&lt;br&gt;
RailsDiff is about what you'd have to change about your app's configuration when upgrading Rails versions, not about what Rails has changed internally.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/bibendi/activerecord-postgres_enum"&gt;ActiveRecord::PostgresEnum&lt;/a&gt;&lt;br&gt;
Adds migration and schema.rb support to PostgreSQL enum data types.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/cfndsl/cfndsl"&gt;cfndsl&lt;/a&gt;&lt;br&gt;
AWS Cloudformation templates are an incredibly powerful way to build sets of resources in Amazon's AWS environment. Unfortunately, because they are specified in JSON, they are also difficult to write and maintain.&lt;br&gt;
The cnfdsl gem provides a simple DSL that allows you to write equivalent templates in a more friendly language and generate the correct json templates by running ruby.&lt;/p&gt;

&lt;h3&gt;
  
  
  Podcasts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://devchat.tv/ruby-rogues/rr-461-rethinking-the-view-layer-with-components-with-joel-hawksley/"&gt;Ruby Rogues | 461: Rethinking the View Layer with Components with Joel Hawksley&lt;/a&gt;&lt;br&gt;
Joel Hawksley is an engineer at Github who works on some of their Rails architecture. He is one of the authors of the view_component gem. He walks the Rogues through the genesis of the project and the pros and cons of using a library like view_component and how it adds testability and easy management to Rails views.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://fullstackradio.com/episodes/141"&gt;Full Stack Radio | 141: Jason Fried - Running the Tailwind Business on Basecamp&lt;/a&gt;&lt;br&gt;
In this episode, Adam talks to Jason Fried about growing the Tailwind team and how to best use Basecamp to keep his particular company organized. He also walks through tons of real examples from their recent work on HEY, sharing lots of behind-the-scenes stuff about how Basecamp use Basecamp themselves.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://railswithjason.simplecast.fm/nate-berkopec-2"&gt;Rails with Jason | 047 - Discussing Rails Deployment and Hosting Options with Nate Berkopec&lt;/a&gt;&lt;br&gt;
In this episode Jason talks with Ruby performance consultant Nate Berkopec. But this time they chat not about Rails performance but about hosting options for Rails including Heroku, Convox and bare AWS. They also touch on infrastructure management tools like Kubernetes, Terraform and Ansible.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>javascript</category>
      <category>hackyfriday</category>
    </item>
    <item>
      <title>Hacky Friday Stuff #05.06.2020</title>
      <dc:creator>Alexey Zhaboyedov</dc:creator>
      <pubDate>Fri, 05 Jun 2020 15:03:02 +0000</pubDate>
      <link>https://dev.to/sunnymagadan/hacky-friday-stuff-05-06-2020-mp7</link>
      <guid>https://dev.to/sunnymagadan/hacky-friday-stuff-05-06-2020-mp7</guid>
      <description>&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@martinshreder"&gt;Martin Shreder&lt;/a&gt; on &lt;a href="https://unsplash.com/@martinshreder"&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Links about web development, product engineering, tools and services from all over the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://stackoverflow.blog/2020/05/27/2020-stack-overflow-developer-survey-results/"&gt;The 2020 Developer Survey results&lt;/a&gt;&lt;br&gt;
65,000 developers shared their thoughts on the state of software today in the 10th annual developer survey conducted by Stack Overflow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://classroom.github.com/"&gt;GitHub Classroom&lt;/a&gt;&lt;br&gt;
Managing and organizing your class is easy with GitHub Classroom. Track and manage assignments in your dashboard, grade work automatically, and help students when they get stuck— all while using GitHub, the industry-standard tool developers use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/LisaDziuba/Marketing-for-Engineers"&gt;Marketing for Engineers&lt;/a&gt;&lt;br&gt;
A curated collection of marketing articles &amp;amp; tools to grow your product.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tutorials &amp;amp; articles
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://dev.to/fayazara/top-open-source-alternatives-to-popular-products-stop-paying-16jn"&gt;List of top Open Source alternatives to popular products&lt;/a&gt;&lt;br&gt;
Great alternatives to some very popular products.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.fastruby.io/blog/rails/upgrades/rails-upgrade-strategies.html"&gt;Two Commonly Used Rails Upgrade Strategies&lt;/a&gt;&lt;br&gt;
Rails upgrades can be done in many different ways. Depending on the application that you want to upgrade, some ways make more sense than others. There are factors that determine which Rails upgrade strategy is the best for your case, like how big your application is, or how frequently changes are pushed to the master branch. This article will be covering two common Rails Upgrade strategies so you can decide which one is the best for your application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://boringrails.com/articles/better-stimulus-controllers/"&gt;Writing better Stimulus controllers&lt;/a&gt;&lt;br&gt;
In early 2018, Basecamp released StimulusJS into the world. Stimulus closed the loop on the “Basecamp-style” of building Rails applications. This article is explicitly not an introduction to Stimulus. It explores common failure paths when people are getting started with Stimulus and how to fix that by writing better controllers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.saeloun.com/2020/05/20/rails-6-1-adds-support-for-signed-ids-to-active-record.html"&gt;Rails 6.1 adds support for signed ids to Active Record&lt;/a&gt;&lt;br&gt;
There are many ways of generating a signed link for implementing things like invitation email, unsubscribe link or password reset feature. You could add a token field on the model, use JWT tokens. But in the upcoming Rails versions, the functionality to generate tamper-proof and verifiable ids will be built into rails.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://timriley.info/writing/2020/06/01/open-source-status-update-may-2020/"&gt;Open source status update, May 2020&lt;/a&gt;&lt;br&gt;
May was a breakthrough month in terms of the integration of the standalone components into Hanami 2 for Tim Riley. Let’s dig right in.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools &amp;amp; libraries
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/ryansolid/solid"&gt;Solid&lt;/a&gt;&lt;br&gt;
Solid is a declarative Javascript library for creating user interfaces. It does not use a Virtual DOM. Instead it opts to compile its templates down to real DOM nodes and wrap updates in fine grained reactions. This way when your state updates only the code that depends on it runs. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://htmx.org/"&gt;htmx&lt;/a&gt;&lt;br&gt;
htmx allows you to access AJAX, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext.&lt;br&gt;
htmx is small (~7k min.gz'd), dependency-free, extendable &amp;amp; IE11 compatible.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://garris.github.io/BackstopJS/"&gt;BackstopJS&lt;/a&gt;&lt;br&gt;
Visual regression testing for web apps.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/basecamp/geared_pagination"&gt;Geared Pagination&lt;/a&gt;&lt;br&gt;
Most pagination schemes use a fixed page size. Page 1 returns as many elements as page 2. But that's frequently not the most sensible way to page through a large recordset when you care about serving the initial request as quickly as possible. This is particularly the case when using the pagination scheme in combination with an infinite scrolling UI.&lt;br&gt;
Geared Pagination allows you to define different ratios. By default, we will return 15 elements on page 1, 30 on page 2, 50 on page 3, and 100 from page 4 and forward. This has proven to be a very sensible set of ratios for much of the Basecamp UIs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/josacar/triki"&gt;triki&lt;/a&gt;&lt;br&gt;
You want to develop against real production data, but you don't want to violate your users' privacy. Enter Triki: standalone Crystal code for the selective rewriting of SQL dumps in order to protect user privacy. It supports MySQL, Postgres, and SQL Server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ankane/pghero"&gt;pghero&lt;/a&gt;&lt;br&gt;
A performance dashboard for Postgres. &lt;a href="https://pghero.dokkuapp.com/"&gt;See it in action.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/adelsz/pgtyped"&gt;PgTyped&lt;/a&gt;&lt;br&gt;
PgTyped makes it possible to use raw SQL in TypeScript with guaranteed type-safety.&lt;/p&gt;

&lt;h3&gt;
  
  
  Videos
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=tbyT-zhYMd4&amp;amp;feature=youtu.be"&gt;Hanami :: API by Luca Guidi&lt;/a&gt;&lt;br&gt;
Hanami is a full-stack web framework for Ruby. With Luca we will learn what will be the major changes for 2.0 release.&lt;br&gt;
Luca is the creator of Hanami and author of redis-store. Also a dry_rb core team member.&lt;/p&gt;

&lt;h3&gt;
  
  
  Podcasts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://remoteruby.transistor.fm/80"&gt;Remote Ruby | 80. RailsBytes.com, AppLocale and more with Andrew Fomera&lt;/a&gt;&lt;br&gt;
Today, our special guest is Andrew Fomera, from Podia, co-worker of Jason, and friend of Jason, Chris, and Andrew Mason. He’s got a course on “Learn Rails by Building Instagram,” he’s launched AppLocale, and launched a tool called RailsBytes with Chris. Chris and Andrew Fomera talk about what RailsBytes is and how they got into building it. Also, Andrew Fomera tells us more about AppLocale, how he got started on it, what it does, and why it will change the world. What is “Thor” and why doesn’t Andrew like it? And why has Jason hit some major “Stonks” as a developer?&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>javascript</category>
      <category>hackyfriday</category>
    </item>
    <item>
      <title>Hacky Friday Stuff #29.05.2020</title>
      <dc:creator>Alexey Zhaboyedov</dc:creator>
      <pubDate>Fri, 29 May 2020 10:37:30 +0000</pubDate>
      <link>https://dev.to/sunnymagadan/hacky-friday-stuff-28-05-2020-4ke8</link>
      <guid>https://dev.to/sunnymagadan/hacky-friday-stuff-28-05-2020-4ke8</guid>
      <description>&lt;p&gt;Photo by Clark Tibbs on &lt;a href="https://unsplash.com/s/photos/programming?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Links about web development, product engineering, tools and services from all over the internet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://macwright.org/2020/05/10/spa-fatigue.html"&gt;Second-guessing the modern web&lt;/a&gt;&lt;br&gt;
Tom MacWright explains his opinion on why he is increasingly skeptical of the emerging norm for web development to build a React single-page application, with server rendering. The two key elements of this architecture are something like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The main UI is built &amp;amp; updated in JavaScript using React or something similar.&lt;/li&gt;
&lt;li&gt;The backend is an API that that application makes requests against.
This idea has really swept the internet. It started with a few major popular websites and has crept into corners like marketing sites and blogs. But has its downsides though. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.to/richharris/in-defense-of-the-modern-web-2nia"&gt;In defense of the modern web&lt;/a&gt;&lt;br&gt;
Rich Harris's followup post on Tom MacWright's "Second-guessing the modern web" publication.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://bugs.ruby-lang.org/issues/16786"&gt;Ruby. Light-weight scheduler for improved concurrency.&lt;/a&gt;&lt;br&gt;
A proposal to introduce a lightweight fiber scheduler, to improve the concurrency of Ruby code with minimal changes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/brendanrc2/how-we-use-tailwind-in-components-f77"&gt;How We Use Tailwind in Components&lt;/a&gt;&lt;br&gt;
An example of usage Tailwind inside React components.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools &amp;amp; libraries
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://thibautbarrere.com/2020/05/25/announcing-kiba-pro-v2"&gt;Announcing Kiba Pro v2 (Commercial extensions to Kiba ETL)&lt;/a&gt;&lt;br&gt;
Kiba Pro provides vendor-supported extensions for Kiba ETL, a popular Ruby-based Open-Source solution to author and maintain data pipelines (learn more about Kiba ETL and why businesses are using Kiba ETL).&lt;br&gt;
Kiba Pro v1 was soft-launched with a few select clients, so consider v2 to be the first public official release!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ConradIrwin/pry-rescue"&gt;pry-rescue&lt;/a&gt;&lt;br&gt;
pry-rescue is an implementation of "break on unhandled exception" for Ruby. Whenever an exception is raised, but not rescued, pry-rescue will automatically open Pry for you.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/vitejs/vite"&gt;Vite&lt;/a&gt;&lt;br&gt;
Vite is an opinionated web dev build tool that serves your code via native ES Module imports during dev and bundles it with &lt;a href="https://rollupjs.org/guide/en/"&gt;Rollup&lt;/a&gt; for production.&lt;/p&gt;

&lt;h3&gt;
  
  
  Podcasts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.fullstackradio.com/episodes/140"&gt;Full Stack Radio | 140: Evan You - Reimagining the Modern Dev Server with Vite&lt;/a&gt;&lt;br&gt;
In this episode, Adam is talking to Evan You about &lt;a href="https://github.com/vitejs/vite"&gt;Vite&lt;/a&gt;, a new dev server, and a build tool for modern JavaScript projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://frontendfirst.fm/episodes/read-and-discuss-second-guessing-the-modern-web"&gt;Frontend First | Read and Discuss: "Second-guessing the modern web"&lt;/a&gt;&lt;br&gt;
Sam and Ryan read and discuss Tom MacWright's recent article "Second-guessing the modern web," as well as Rich Harris's response "In defense of the modern web." The articles respectively argue against and for the JavaScript-centric approach to building websites that has taken root over the past ten years and debate issues of performance, architectural complexity, and user experience.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.heroku.com/podcasts/codeish/71-linking-data-with-mulesoft"&gt;Code[&lt;em&gt;ish&lt;/em&gt;] | 71. Linking Data with Mulesoft&lt;/a&gt;&lt;br&gt;
Data drives every software application, from individual projects to massive enterprise workflows. Whether that information is kept in your database, or someone else's, chances are you'll likely need to unite disparate sources to provide a useful user experience. Mulesoft can help. By providing over 150 connections to databases, third-party APIs, and other services, Mulesoft acts as a single integration point between your code and data. Becky Jaimes, a product manager at Salesforce, chats with Dejim Juang, a Master Principal Solutions Engineer at Mulesoft, to talk about the various ways to incorporate Mulesoft in your projects.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>rails</category>
      <category>javascript</category>
      <category>hackyfriday</category>
    </item>
  </channel>
</rss>
