Shopify Engineering Icon Shopify Engineering

React Native is the future of mobile at Shopify

Facebook’s ‘learn once, write anywhere’ mobile framework gets a huge vote of confidence:

After years of native mobile development, we’ve decided to go full steam ahead building all of our new mobile apps using React Native. As I’ll explain, that decision doesn’t come lightly.

So why the switch to React Native? And why now? How does this fit in with our native mobile development? It’s a complicated answer that’s best served with a little background.

The biggest reason seems to be exactly what React Native promises: knowledge transfer between web and mobile with React at the heart of it all. But there’s a lot more to the story, so definitely click through and read for yourself.

Michael Lynch mtlynch.io

My second year as a solo developer

Michael Lynch:

Two years ago, I quit my developer job at Google to build my own software business. A year later, I posted an update about my finances, happiness, and lessons learned. Today marks the end of my second year, so it’s time for another update.

This is a deep dive into all that Michael is doing to make more money then he spends (not quite there yet, but looking like soon). I’m impressed by how he frugally he lives and how hard he works in an effort to live the kind of life he wants to live.

My second year as a solo developer

Linode Icon Linode – Sponsored

Linode Kubernetes Engine is here!

Linode Kubernetes Engine (LKE) is a fully-managed container orchestration engine for deploying and managing containerized applications and workloads. LKE combines Linode’s ease of use and simple pricing with the infrastructure efficiency of Kubernetes. You can now get your infrastructure and workloads up and running in minutes instead of days. If you’ve been following along with the Changelog infrastructure, you’ll be pleased to know we’re rolling out LKE as we speak. We love what we’ve seen so far! Oh and be sure to use the code changelog2019 or changelog2020 (whichever works) to get our special pricing.

read more

logged by @logbot permalink

Linux fedoramagazine.org

Announcing Fedora CoreOS general availability

Fedora CoreOS is a container-focused (mostly) immutable Linux distribution designed to be lightweight and secure. It features Ignition as an early-boot-provisioning systems that alleviates all post-boot configuration, OSTree as an atomic-update mechanism, and podman as a secure and daemon-less container runtime.

If you’ve ever asked yourself WHY you need to SSH in to configure a system, why your cloud server OS comes with inkjet printer packages, or how you can get out of the burden of critical but uninspired kernel updates… then check out Fedora CoreOS!

Crystal mint-lang.com

Mint – a programming language for writing single page apps

Mint has all the tools you need to write error free, easily readable and maintainable applications in record time.

Built-in styling, data management, language-level routing, and JavaScript interop make this a very interesting project, indeed. It’s still in heavy development, so the only real-world example you’re going to see is their implementation of realworld.io.

The New Stack Icon The New Stack

Why Bruce Perens is proposing "coherent open source"

This is a solid (text) interview with Bruce Perens, former member of the OSI:

… a recognized pioneer of the Open Source movement, 62-year-old Bruce Perens is still thinking about ways to protect the freedoms of software users. “Most people who develop open source don’t have access to lawyers” Perens told the Register last month. “One of the goals for open source was you could use it without having to hire a lawyer. You could put [open source software] on your computer and run it and if you don’t redistribute or modify it, you don’t really have to read the license.”

Bruce suggests we all limit ourselves to just three licenses: AGPL 3, LGPL 3, and Apache 2. He’s a fascinating guy with lots to say on the matter. It’s an exciting time in software licensing, which is a sentence I never expected to write in my life.

Go Time Go Time #116

Unusual uses for Go: GUIs

Johnny and Jon are joined by Andy Williams to talk about some of the unusual ways developers are using Go. In this particular episode they deep dive into building GUIs and discuss all of the challenges imposed by trying to build a UI that is both cross platform and functional. How do you create buttons that work on both mobile and a desktop app? Should you even be designing both apps at the same time? Tune in to find out!

Heroku Icon Heroku – Sponsored

🎧 GraphQL's benefits and costs

This week’s episode from Heroku’s Code[ish] podcast covers the costs and benefits of GraphQL. GraphQL is a querying language with the aim of increasing the productivity of frontend and backend developers. It can make working with React easier, be used as an API for third-party clients, and allow for feature-rich applications to request precisely the data they need. Like any part of your stack, GraphQL isn’t a panacea. The language is still being developed, and has some limitations. Tanmai Gopal, the CEO of Hasura, guides us through the pros and cons of using GraphQL in your application.

read more

logged by @logbot permalink

The Changelog The Changelog #379

Good tech debt

Jon Thornton (Engineering Manager at Squarespace) joined the show to talk about tech debt by way of his post to the Squarespace engineering blog titled “3 Kinds of Good Tech Debt”. We talked through the concept of “good tech debt,” how to leverage it, how to manage it, who’s in charge of it, how it’s similar to ways we leverage financial debt, and how Squarespace uses tech debt to drive product development.

Ops github.com

Quickly spin up local development environments with Lando

This tool is surrounded by mountains of marketing speak, but it does seem like it offers a quick way to spin up different dev environments, which is cool. It has built-in recipes for WordPress, Drupal, LAMP, MEAN, and more. Here’s how you get started on Drupal 7, for example:

lando init \
  --source remote \
  --remote-url https://ftp.drupal.org/files/projects/drupal-7.59.tar.gz \
  --remote-options="--strip-components 1" \
  --recipe drupal7 --webroot . \
  --name hello-drupal7

You can use these out of the box or start with a base language and mix in the things you need from there. Kinda like Docker Compose? Yeah, kinda like Docker Compose:

You can think of Lando as both an abstraction layer and superset of Docker Compose as well as a Docker Compose utility.

Brain Science Brain Science #10

Shame on you

Mireille and Adam discuss shame as an emotional and experiential construct. We dive into the neural structures involved in processing this emotion as well as the factors and implications of our experience of shame. Shame is a natural response to the threat of vulnerability and perception of oneself as defective or inherently “not enough.”

Marco Otte-Witte simplabs.com

How to over-engineer a static page

Marco Otte-Witte:

When we set out to rebuild our own website simplabs.com in 2019, we wanted to use that project as an opportunity to ignore all economic considerations (and reason you could say) and dive deep into what was technically possible. Doing so would allow us to build something that was super customized for our specific needs and highly optimized for performance. We ended up spending a lot of time and effort but are quite pleased with the result.

While we cannot recommend anyone following our example as your time is most likely better spent elsewhere, this post explains the approach we took. I will be covering topics like static pre-rendering and client-side rehydration, advanced bundling and caching strategies as well as service workers.

Highlights added by me because this is a fun read (and no doubt a fun experiment for them), but I also cannot recommend you follow their example. 😉

Rust evrone.com

Why Rust is meant to replace C

The Rust programming language is an ambitious project of the Mozilla Foundation – a language that claims to be the next step in evolution of C and C++. Over the years of existence of these languages some of their basic flaws still haven’t been fixed, like segmentation errors, manual memory control, risks of memory leaks and unpredictable compiler behavior. Rust was created to solve these problems while improving security and performance along the way.

Why Rust is meant to replace C

GitHub github.com

The official GitHub CLI is now in beta

gh brings many of GitHub’s concepts to the terminal. You know, things like pull requests and issues. The tool is still under heavy development and they’re looking for feedback. If you’re an early adopter, this is the perfect time to get involved and let your voice be heard. Oh, and if you’ve been using hub for years already, here’s how the new shiny compares:

gh is a new project for us to explore what an official GitHub CLI tool can look like with a fundamentally different design. While both tools bring GitHub to the terminal, hub behaves as a proxy to git and gh is a standalone tool.

The official GitHub CLI is now in beta

Amazon Web Services github.com

The missing cron CLI for AWS Cloudwatch and Lambda

Do you have an AWS account? Great. Do you want to run cron jobs in the cloud?

Cronyo provides A simple CLI to manage your cron jobs on AWS.

In addition, Cronyo can instantly deploy a couple of super-simple, helpful and secure lambda functions to perform HTTP GET/POST requests for you. So if you need to trigger any webhooks on schedule, an AWS account and Cronyo is all you need :)

Smashing Magazine Icon Smashing Magazine

The mythical mythical man-month

Mailchimp CPO John Foreman drops some contra-conventional wisdom in this Smashing Magazine piece:

When I as CPO say, “we’re going to do this thing!” the reply then is often, “OK, so then what are we going to kill?” The Mythical Man-Month turns product development into a zero-sum game. If we want one thing, we must stop another. Now, that’s an actual myth, and I call hogwash.

The New Stack Icon The New Stack

WireGuard VPN protocol coming the Linux kernel soon

Dan Guido mentioned this might be a thing on our Algo VPN episode. Turns out he was right (once version 5.6 of the Linux kernel hits package mirrors for download).

Linus had this to say about WireGuard:

“Can I just once again state my love for it and hope it gets merged soon? Maybe the code isn’t perfect, but I’ve skimmed it, and compared to the horrors that are OpenVPN and IPSec, it’s a work of art,”

Marja Hölttä v8.dev

Understanding the ECMAScript spec (part 1)

When’s the last time you read the ECMAScript spec? Marja Hölttä on the V8 dev blog:

In this article, we take a simple function in the spec and try to understand the notation. … Even if you know JavaScript, reading its language specification, ECMAScript Language specification, or the ECMAScript spec for short, can be pretty daunting. At least that’s how I felt when I started reading it for the first time.

Also check out How to read the ECMAScript specification which covers most of the material from this post, but from a different angle.

0:00 / 0:00