🏰 Newsletter WoR #56: Turbo 8, Silicon Valley is accelerating, a little Rust...
A monthly newsletter about Ruby on Rails and the web
In this issue, we review htmx, we are concerned for PWAs following Apple’s move, we look at how to manage our jobs, we relax in front of the camera, we improve our requests…
😚 French version (version française) | 🤌 Italian version (versione italiana) | 🤝 Spanish version (versión española)
We welcome Jade (hi 👋) who is taking care of the translation for the English version of the newsletter! 🥳 And Aurélie continues to help us writing the original French version! 🥳 🥳
Web News 🗞️
⏳ Waiting for the Framework Wars
In the French version of the January newsletter, we talked about htmx in the context of “a new stack”. However, like Rose Bertin (fashion merchant of the 18th century) said: “There is nothing new except what has been forgotten”. Indeed since then, we came across this article shedding some light on a 2010 conference talk from Makinde Adeagbo: Primer: facebook's HTMX from 2010.
🤏 News in Brief
nginx has been forked by one of its core team members: “The goal is to keep nginx development free from arbitrary corporate actions”. Welcome, freenginx.
Speaking of “arbitrary corporate actions”, Apple recently announced they will suspend support for Progressive Web Apps in the European Union. In other words: “you will have to use the App Store and give us our 30%”.
Google open-sourced magika. It detects file content types using
machine learning, AI (sorry, it sounds better).Microsoft released an introduction to cyber security course: Security 101.
The Hono framework is staying up to date with its version 4, thanks to a Static Site Generation helper. When will Ruby frameworks follow suit?! Right, Jekyll has been around since 2008.
A new language for configuration was released: Pkl (pronounced “Pickle”), if you’re sick of YAML.
Wxt (no pronunciation guide here): a new framework to build Chrome extensions.
Some turmoil in the React community following the release of the article Kind of annoyed at React from Cassidy Williams, who is frustrated by React’s complexity and its entanglement with Next.js.
Ruby and Rails News 🛤️
🗃️ Another job on the list ?!
In December, 37signals open-sourced Solid Queue, their job manager at Hey. Rosa Gutiérrez explained why they were progressively migrating all their Resque and Redis jobs to an internal solution, from NoSQL databases to relational databases. At the end of January, 37signals open-sourced Mission Control — Job, their dashboard to manage background jobs.
✨ Introducing Solid Queue and Mission Control — Jobs - Rosa Gutiérrez
🤏 News in Brief
Turbo 8 has been released with loads of improvements: the new morphing technique to refresh some HTML elements of the page, the View Transition API to have pretty transitions between pages, InstantClick to preload links on the page and have a blazing fast experience, and no TypeScript at all. In her latest newsletter, Bhumi shares how Morphing works. If you haven’t dived deep into Turbo yet, here is a series of tutorials by Hotrails to get started.
A little publicity for Rails from the personal finance tracking app Maybe that switched from React/Next.js/Express to Rails. As quoted: “Rails is a mature, stable and well-documented framework that’s been around for over 20 years, built on a language that’s been around for over 30 years” + another migration from React to Rails by the website Pixel Peer + another by the Caley app.
We didn’t have the chance to mention it before, but if you like React (it’s okay, we won’t tell) and want to continue working with it, Thoughtbot released the brand new framework Superglue, a sort of Romeo and Juliet of Rails and React / Redux.
We are learning more about exceptions in Ruby thanks to the Bestiary of exception monsters, along with guides to face them.
The CFP for Rails World in Toronto is open until March 21st.
Ruby Tip 💎
Skip model validations
By adding validate: false
when saving, you have the option to ignore all validations for a model if required.
@user.save(validate: false)
You can also ignore a single validation by creating a property
on the model and adding a condition on this validation. Then set the value of property
to true
when you want to skip the validation.
validates :name, presence: true, uniqueness: true, unless: :skip_name_validation
attr_accessor :skip_name_validation, :skip_price_validation
✨ ActiveRecord persistence#save and Skip validations in Rails
On the Web 🕸️
🚀 Accelerationism?
E/acc. It sounds like bash command, but alas no. It’s the contraction of effective accelerationism, a new school of thought that’s taking Silicon Valley by storm. Unlike the prevailing pessimist mood, E/acc aims to be geared towards the future, and advocates for an optimist outlook on future technological progress. But who will believe it?
✨ Tech Strikes Back - Nadia Asparouhova
👩💻 Are You Seeing My Screen?
The video call is starting. You gaze immediately drifts towards the thumbnail where your face appears: you’re suddenly aware of your every expression, of your slightly messy hair… and you panic. Being confident in front of the camera is an acquired skill, and Anne-Laure Le Cunff has some tips for you.
✨ The Psychology of Camera Confidence - Anne-Laure Le Cunff
🎮 Not Really Game Over
There’s been a lot of talk lately about waves of layoffs in tech. The video game industry is particularly affected, with nearly 20,000 layoffs since 2022. But new organizational models are emerging to fight short term-oriented strategies from big studios.
✨ What’s going on with all these video game industry layoffs? - Nicole Carpenter
Some Code 💻
🛎️ Making Notifications Accessible
Sara Soueidan is sharing for free a long excerpt of her accessibility course. It’s fascinating and informative. In the course you’ll learn about ARIA live regions - they allow people using screen readers to be notified from a change on the page - and how to implement them correctly.
✨ Accessible notifications with ARIA Live Regions - Sara Soueidan
🏰 Toto, I Have a Feeling We’re Not in Kansas Anymore
Rust is not only used to re-write dev tools. Mary Knize is updating a project that maps wait times at Disney World park rides. To do so, she started by obtaining element coordinates with the OpenStreeMap API and mapping this data on a <canvas> by compiling Rust into Wasm.
✨ Translating OpenStreetMap data to HTML5 Canvas with Rust and WebAssembly - Mary Knize
🚶♀️ In Search of Lost Time
Each second matters when it comes to loading a page. In her article, Nishu Goel tells us how she used the Server-Timing API to identify the cause of the delay for a long loading time and eventually redesign the back-end to gain that precious second back.
✨ How using Server-Timing API helped bring > 70% perf improvement - Nishu Goel
Fun 🎉
☔ Raindrops Keep Falling on My Head
While stuck indoors waiting for spring we might as well learn how to draw raindrops in CSS…
✨ Drawing Raindrops with CSS Gradients and Masks - Michelle Barker
Events 🎡
🍪 CSS for your break time - today
Once a month GirlCode hosts a casual meetup to discuss tech topics that are more rarely discussed. This week, Carmen Ansio and Thomas Sweet will discuss the topic of CSS interactivity.
✨ GirlCode break time - Diving into CSS interactivity
🤖 Fair and Equitable AI ? - March 6th
Samira Shaikh, Ph.D. and Director Lead, will discuss the potential of AI to enhance customer experiences. She will touch on topics such on the need for human oversight for these new technologies, so that you can say no problemo.
✨ Fair and Equitable AI with Ally Financial
🐝 Decoding API Testing - March 19th
Is it time to learn more about Postman to improve your API testing skills? Jency Stella will share her knowledge for you to improve your workflow-based scenario checks, mock servers, monitoring strategies, and API documentation.
👩💻Git & GitHub MOOC and Intro to Cloud & Deployment - March
Code First Girls has MOOCs all year around if you want to discover or improve your knowledge of a topic by following along. Registration for March is still open (and it’s free!)
☕ Buy us a coffee to support the newsletter 🍰
✨ Join us: meet-up | twitter | website
Editors: Aurelie, Camille, Lucille and Juliette
English version: Jade
Italian version: Paola
Spanish version: Kattya