Evil Martians work on dozens of Ruby on Rails projects every year. Naturally, this involves a lot of Ruby gems. So what would it look like if they were somehow able to converge into one Gemfile—the ideal Martian Gemfile? Our development philosophies, programming habits, and soul are within this universe of Martian gems.
In CSS, we’ve been encoding colors with
rgb() or hex (mostly for historical reasons). However, the new CSS Color 4 specification adds many better ways of declaring colors in CSS. Of these,
oklch() is the most interesting one—this article explains why.
Pretty much any developer or engineer uses professional tools at work: code editors, graphic designers, word processors, and so on. But designing UIs for these kinds of tools is quite a different beast from the UI design involved with software and applications intended for “everyday” audiences.
In this article, we undertake a high-level analysis on some of those differences, and examine some do’s and don’t’s for designing developer tool interfaces.
The Evil Martians have been hard at work de-stressifying their Ruby on Rails deployments with a new tool: Kuby. In this post they share their journey getting there. It’s a lot. But in the end they seem happy with the results.
Kuby lowers the bar of adopting Kubernetes for Rails apps, leveraging the power of the convention-over-configuration principle. Just as Rails conquered the world with its “build a blog in 15 minutes” idea, so too could Kuby reign supreme in the context of deployment—”deploy Rails on Kubernetes in 15 minutes”.
Svyatoslav Kryukov on the Evil Martian blog:
Ruby is awesome. We love its readability, flexibility, and developer-centric nature. Still, here at Mars, we also love Go because it has its own sense of simplicity and magic, too. Simply put, Go holds advantages over Ruby in some aspects: it’s faster, statically typed, and comes with cool concurrency primitives out of the box. This being said, some intrepid readers might find themselves grappling with a seemingly reasonable question: if Go is so darn good, why don’t we just write everything with it?
Read this tale and learn to write Go in Ruby, gaining the ability to modify Ruby exactly as you desire.
Vladimir Dementyev shares a deep dive into some necessary profiling he did on one of the Go services and how he finally figured out what was going wrong:
Here’s a question: how can we see what’s happening inside an arbitrary Go process? Or, more precisely, how can we see what all the goroutines are doing at any given moment? If we could crack that, it could help us figure out why they’re not processing our requests.
Accessibility when designing for a screen is not an exception to the Pareto principle. We believe that just about 20% of designer effort can solve up to 80% of accessibility challenges for digital interfaces. Read on for an extensive collection of practical tips that can help you build a great foundation for a11y—right at the mockup stage.
I only installed Git, Docker, and Dip on my new computer to see how productive I can be with a barebones system setup.
I hadn’t heard of Dip prior to reading this. It definitely looks like it’ll clean up your setup. 👌
Get started with WebAssembly through this simple hands-on tutorial that assumes only general knowledge in web development. The only tools you’ll need to get a taste of Wasm through runnable code examples are a code editor, any modern browser, and a Docker container with toolchains for C and Rust that comes with the article.
This looks promising for the future of Ruby.
Meet Ruby Next, the first transpiler for Ruby that allows you to use the latest language features, including the experimental ones, today—without the stress of a project-wide version upgrade. Read the story behind the gem, discover its inner workings, and see how it can help in pushing Ruby into the future.
Support the project on Open Collective and click through to read what’s in store for the first major release in over two years.
A failed docking attempt, a dramatic reentry, and a first genuine fender-bender in orbit—what does it all have to do with modern web development? Andrey Sitnik is about to tell you…
Start taking graphics on the web seriously and boost your applications’ performance by learning the essentials about image formats, both modern and old-school. Dig into SVGs and adopt the latest and greatest tools to optimize your graphical content: both vector and raster. Study the theory behind digital images and how humans perceive them—to improve the experience for your users.
Discover the lesser-known parts of the next major framework upgrade, appealing to mature applications that have been around for a while. Instead of focusing on “greatest hits,” we will walk you through B-sides and rarities that make this new release enjoyable in subtler ways.
What B-sides and rarities are Vladimir speaking of?
While the most-advertised Rails 6 features like Action Mailbox and Action Text steal all the spotlight, it is unlikely that a real-life Rails application that has been around for a while will benefit from the ease of building WYSIWYG text editors right after the upgrade.
At the same time, less flashy features like multiple databases support or parallel testing can bring immediate gains to your productivity—and Rails 6 has enough of those to offer if you know where to look.
The bets are placed. Both YouTube and Netflix have named AV1 a video codec for the future: Google’s video service is already using it on TestTube (new, experimental features for YouTube). Netflix has been calling AV1 “our primary next-gen codec” for a while now.
AV1 is a new codec that produces videos 30-50% smaller than H.264 and 30% smaller than H.265. It’s already supported by Chrome and Firefox (with Edge support in beta), so it’s not too early to start encoding your videos with it.
This article helps you get started encoding with AV1 and has a great tip at the end to convert existing GIFs to it (reducing their size by 20 to 40 times)!
Looking for inspiration to improve the look and feel of your product? Take clues from popular video games to create engaging user experiences for web and mobile.
Wow, I was a bit skeptical of this article from the headline alone, but it has some superb insights in to game-inspired design interactions we can build in to our apps.