Honeycomb Icon Honeycomb – Sponsored

Observability 5-year retrospective

logged by @logbot permalink

O’Reilly said it best this year when they summarized learning trends in 2021:

Observability saw the greatest growth in the past year (128%), while monitoring is only up 9%. While observability is a richer, more powerful capability than monitoring — observability is the ability to find the information you need to analyze or debug software, while monitoring requires predicting in advance what data will be useful — we suspect that this shift is largely cosmetic. “Observability” risks becoming the new name for monitoring. And that’s unfortunate. If you think observability is merely a more fashionable term for monitoring, you’re missing its value.

We can’t lose sight of that value. We can’t afford to. This isn’t just a tale of vendors arguing to define marketing terms for their own benefit. The pain and suffering that people endure every day because they can’t understand their own damn systems is too real. The long hours, the toil, the greasy hacks moldering away into technical debt, the late nights, the missed sleep, the burnout. The pain is real, and the solutions are specific. We need specific, meaningful technical terms to help users navigate the future and find their way to those solutions.

Dimitri Fontaine tapoueh.org

Database modeling anti-patterns 🙅‍♀️

Dimitri Fontaine shares 3 classic data-modeling anti-patterns. The UUID section lacks strong argumentation, but the real gem in this article is his advice at the end. A snippet:

My advice is to always normalize your database model first, and then only fix the problems you have with that when you actually have them. Well except in those 3% of cases where really, really, it should be done in the design phase of the project. It’s quite hard to recognize those 3% though, and that ability is hard gained with experience.

Experience is the ultimate teacher.

Liran Tal DEV.to

How to securely build Docker images for Node.js

Liran Tal:

Developers, often lacking insights into the intricacies of Docker, may set out to build their Node.js-based docker images by following naive tutorials which lack good security approaches in how an image is built. One of these nuances is the use of proper permissions when building Docker images.

To minimize exposure, opt-in to create a dedicated user and a dedicated group in the Docker image for the application; use the USER directive in the Dockerfile to ensure the container runs the application with the least privileged access possible.

Docker launchyourapp.meezeeworkouts.com

Why we don’t use Docker (we don’t need it)

In other jobs, we’ve used docker and it’s worked out just fine (for the most part… there was that time the RedHat filesystem on our prod server got mysteriously hosed – maybe it wasn’t docker’s fault.) But no, the reason we don’t use docker is because we don’t need it. Literally. Writing golang web services and static html embedded with with golang 1.16’s new //embed directive, we end up with a single deployable binary.

As a self-sustaining startup, we have limited resources to devote to tasks. We chose golang exactly for this reason. It sure would be nice if we could spend a couple weeks building the perfect CI/CD pipeline, an elegant deployment process, along with pretty dashboards. But we have software we need to ship in order to get users in order to drive subscriptions. Anything that doesn’t directly serve that goal is a complication. So at best, docker is a complication. A 9 million LoC complication that brings its own bugs and its own idiosyncrasies.

I’m not here to tell you whether or not you should use Docker. I don’t know what you should do. What I do know, is that you (all) need to make your own decisions based on your needs.

That’s why I like this piece by the team behind MeeZee Workout‪s. They share their decision and why they made it. Add this to your knowledge base for your next big decision.

Sentry Icon Sentry – Sponsored

How DiviPay improved performance by 20x

logged by @logbot permalink

This customer story shares how DiviPay used Sentry to go from reactive/manual debugging to a more proactive approach and improved performance up to 20x for mobile and web.

Matthew Egan, Engineering Team Lead at Divipay, recalls: “Once our code was deployed, it was in the abyss. We would have to find it by dogfooding or just hearing from customers when something wasn’t working.”

While the team worked around-the-clock to resolve bugs, the onus often fell on the customer to help first find the issue. Egan notes: It was hard to replicate issues. I would have to tease it out of the customer, asking them what steps they took— and most of the time, I couldn’t replicate it because they’d missed something. Then, I would have to go crawling through the logs. It was a process that took a lot of time.

Nathan Sobo github.com

Xray – the Atom team's experimental new text editor

An exciting new project from Nathan Sobo and team:

an experimental Electron-based text editor informed by what we’ve learned in the four years since the launch of Atom … this project is a testbed for rapidly iterating on several radical ideas without risking the stability of Atom

Xray’s priorities are high performance, collaboration, extensibility, and web compatibility. Needless to say, we’ll be keeping our 👀 on this project over the coming months.

Zack Whittaker zdnet.com

I asked Apple for all my data. Here's what was sent back.

Zack Whittaker writes for Zero Day:

Apple gave me all the data it collected on me since I bought my first iPhone — in 2010.

This is what has largely stood out to me in the ongoing discussion about what data the four have on me and how they use it…

As insightful as it was, Apple’s treasure trove of my personal data is a drop in the ocean to what social networks or search giants have on me, because Apple is primarily a hardware maker and not ad-driven, like Facebook and Google, which use your data to pitch you ads.

Want to request your data? It takes just a few seconds…

Matthias Endler matthias-endler.de

Ten years of Vim

Matthias Endler shares his Vim experience by looking back after using the venerable text editor for 10 years. Would he go back and learn it all over again?

On one side, I would say no. There’s a steep learning curve in Vim and seeing all those modern IDEs become better at understanding the user’s intent, editing text became way easier and faster in general.

On the other side, Vim is the fastest way for me to write down my thoughts and code. As a bonus, it runs on every machine and might well be around in decades to come. In contrast, I don’t know if the IntelliJ shortcuts will be relevant in ten years (note: if you read this in the future and ask yourself “What is IntelliJ?”, the answer might be no).

Definitely click through to read his takeways, too. Oh, and it’s worth mentioning that the JS Party panel went deep on Vim (by accident?) for the next episode.

Sarah Drasner CSS-Tricks

Mistakes I've made as an engineering manager

Sarah Drasner:

I’ve been a manager for many years at companies of different scale. Through these experiences, I’ve done my share of learning, and made some mistakes along that way that were important lessons for me. I want to share those with you.

The four mistakes that Sarah details, which we can all learn from:

  1. Thinking people give feedback the way they want to receive it
  2. Trying to do everything yourself as a manager is the best way to help
  3. Communicating something one time is enough
  4. You have to have everything together all the time

Node.js hackernoon.com

A crash course on Serverless with Node.js

If you’ve heard of serverless’ virtues, but have never taken that first step toward trying it out, this crash course is for you. Here’s how you might feel by the end:

What a journey. You have now witnessed the transition from traditional web development into the serverless revolution. With these simple tools we now have everything we need to create awesome, scalable, and reliable applications.

In my humble opinion, this is all still too much work for most of us to go through. AWS needs some serious competition in this space. Said competition is undoubtedly on the way.

Anil Dash Medium

What if JavaScript wins?

Very insightful post from Anil Dash about the impact of network effects on JavaScript and coding culture.

Anil writes on his Medium:

What this suggests is that JavaScript may be reaching escape velocity as a network, and as an ecosystem of related technologies. To be clear, there’s no winner-takes-all here — domain-specific languages will always have their uniquely valuable areas of focus. But for general-purpose coding? Everything from spreadsheet macros to Internet of Things hardware seems to default to having JavaScript be one of the primary ways to make things programmable.

GitHub github.com

Run your GitHub actions locally

Why might you want to do this? Two reasons:

  1. Fast Feedback - Rather than having to commit/push every time you want test out the changes you are making to your main.workflow file (or for any changes to embedded GitHub actions), you can use act to run the actions locally.
  2. Local Task Runner - I love make. However, I also hate repeating myself. With act, you can use the GitHub Actions defined in your main.workflow file to replace your Makefile!
Run your GitHub actions locally

Kyle Mathews gatsbyjs.org

GatsbyJS raised a $3.8M seed round and is now a startup

Well, Gatsby is officially a startup! They just announced the formation of Gatsby Inc. and have raised a $3.8M seed round to fund the effort. Wow, congrats Kyle and team.

Kyle Matthews writes on the Gatsby blog:

I’m thrilled to announce the formation of Gatsby Inc. Based on the open source project Gatsby I founded, Gatsby the company will make feature-rich and blazing-fast websites easier to build and run.

What is Gatsby?

Gatsby is…

  • a blazing fast static site generator for React.js
  • a powerful and flexible modern website framework that simplifies every step of starting, developing and running websites
  • helps you leverage open source innovations in the React, NPM, and Gatsby communities for your web projects
  • lets you pull data into pages from WordPress, Drupal, Contentful, markdown—and any other data source you can imagine
  • compiles and optimizes your site’s code to make your sites lightning fast—even on mobile

JavaScript serviceworke.rs

The Service Worker Cookbook

a collection of working, practical examples of using service workers in modern web sites.

From caching strategies, to web push, to going offline and optimizing performance; this cookbook is chocked full of great recipes. There’s also a comments section at the bottom of each recipe where people are answer the question, “Has it been useful?” Now that’s useful!

0:00 / 0:00