DEV Community

Cover image for Hacky Friday Stuff #25.10.2019
Alexey Zhaboyedov
Alexey Zhaboyedov

Posted on

Hacky Friday Stuff #25.10.2019

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

Ruby 2.7.0-preview2 Released
A preview version is released to gather feedback for the final release planned to release on December. It introduces a number of new features and performance improvements, most notably: Compaction GC, Pattern Matching, REPL improvement, Separation of positional and keyword arguments.

Rails 6 Adds delete_by and destroy_by methods
Rails has provided methods like find_by, find_or_initialize_by, and find_or_create_by to fetch, initialize, and create record respectivley, based on the passed conditions.

Please Don't Write Clever Code
Please don’t write “clever” code because the “dumb” code is usually better in every way.

Remote Mob Programming
Remote Mob Programming combines two ways of working: Mob Programming and working as a distributed team. Woody Zuill describes Mob Programming as creating the “same thing, at the same time, in the same space, and on the same computer”. Working in the same space clashes with working as a distributed team at first glance, but actually, it goes together really well. With Remote Mob Programming, we collaborate closely in the same virtual space. But Remote Mob Programming is more than that.

Tutorials & Articles

JAMStack for Indie Hackers
JAMstack is a modern web architecture emphasizing JavaScript, APIs, and pre-rendered Markup, served without web servers.

How to Write Fast Code in Ruby on Rails
Part of Shopify’s success with Ruby on Rails is an emphasis on writing fast code. But, how do you really write fast code? Largely, that’s context sensitive to the problem you’re trying to solve. Let’s talk about a few ways to start writing faster code in Active Record, Rails, and Ruby.

Keeping OSS documentation in check with docsify, Lefthook, and friends
See how Evil Martians generate documentation for their OSS projects automatically and keep it up to date with no hassle.

A basic decision tree in Ruby
Recently, we did a rework of the user’s profile completion flow in our Drivy web and mobile applications. We went from a basic single-screen form to a multi-steps one. The idea was to simplify the flow and ask only for the information needed depending on the user’s answers. As we had to deal with multiple possible paths, we decided to work on a little decision tree algorithm.

PDF Comparison in Pure Ruby

How MJIT Generates C from Ruby. Deep Dive
You probably already know the basics of JIT in Ruby. CRuby’s JIT implementation, called MJIT, is a really interesting beast.
But what does the C code actually look like? How is it generated? What are all the specifics?

Javascript

Announcing TypeScript 3.7 Beta
We’re pleased to announce TypeScript 3.7 Beta, a feature-complete version of TypeScript 3.7.

Persistent Layout Patterns in Next.js
In many modern single-page application frameworks like Next.js and Gatsby, the default experience is re-rendering the entire UI every time you click a link — throwing away that nice feeling of a persistent UI we worked so hard to achieve a decade ago!

Console.group()
One neat but lesser-known feature of a web console.

Tools

Tabnine | Smart Compose for code
TabNine uses deep learning to help you write code faster.

textile | Write, deploy, and scale apps on IPFS
Textile is a set of open source tools that provide a decentralized database, remote storage, user management, and more over the IPFS network.

Design & Accessibility

Data Visualization Principles
Data visualization is a form of communication that portrays dense and complex information in graphical form. The resulting visuals are designed to make it easy to compare data and use it to tell a story – both of which can help users in decision making.

Designing for Accessibility: Contrast Ratio
This is the second post in a two-part series about accessibility.
Color is a key aspect of design but it's clearly not perceived the same way by everyone (color even signifies different things to different cultures). That's why it's important to offer a minimum contrast and not rely exclusively on colors for relaying information or functions.

Designing Accessible Color Systems
Color contrast is an important aspect of accessibility. Good contrast makes it easier for people with visual impairments to use products, and helps in imperfect conditions like low-light environments or older screens.

Gems

Shrine 3.0 Released
Just released version 3.0 of Shrine, a gem for handling file attachments in Ruby applications.

Dry Logger
A new gem from the Dry ecosystem.

Videos

Creating a GraphQL Server, Part 1: Building a GraphQL Server with Apollo GraphQL
You’ll learn the basics of GraphQL, how to interact with an existing GraphQL endpoint, how to create your first GraphQL Server, and how to deploy your GraphQL Server to the cloud using Azure!

RubyC 2019
A list of videos from Kyiv Ruby Conference from 14-15 of September this year.

Podcasts

Full Stack Radio | 126: James Long - Building Distributed Local-First JavaScript Applications
In this episode, Adam talks to James Long (creator of Prettier) about building Actual, a local-first Electron application with no central database that syncs data peer-to-peer.

Laravel Snippet #15 | Choosing Product Ideas
Topics: After selling $10,000,000 worth of software, Taylor Otwell begins a mini-series on launching successful software products.

Top comments (0)