🤔 What's next for José Valim and Elixir?

Focusing on PostgreSQL, GraphQL makes everything better, open source for AI, terminal inspired by TRON, Safari team conversation highlights, centralized logging solution, systemd timers instead of cronjobs, hooked on hooks, Go’s error handling is awesome

The Changelog
Go Time
JS Party
Practical AI

Terminal github.com

A futuristic terminal emulator inspired by TRON Legacy

the eDEX-UI project was originally meant to be DEX-UI with less « art » and more « distributable software »”. While keeping a futuristic look and feel, it strives to maintain a certain level of functionality and to be usable in real-life scenarios, with the larger goal of bringing science-fiction UXs to the mainstream.

It might or might not be a joke taken too seriously.

Confession: I’ve shared this before. Sorry not sorry. It’s too cool!

logged by jerodsanto Discuss #terminal

Jerod Santo changelog.com/posts

Highlights from our conversation with the Safari team

We had an excellent interview with Beth Dakin and Ronak Shah from the Safari team about what’s new and interesting for developers in Safari 14. There were so many good moments that I figured a round-up post was warranted. ICYMI (or don’t have time for the full convo), here’s the highlights from my POV.

Smashing Magazine Icon Smashing Magazine

Creating tiny desktop apps with Tauri and Vue.js

This Smashing article is a nice introduction to Tauri, which was news to me as well. It tells you why you might want to use Tauri instead of Electron, how to get set up for Tauri development, and how to build a Vue-based desktop app with the framework.

Linode Icon Linode – Sponsored

How to use Linode Object Storage (for free)

For the next three months Linode is giving away their S3-compatible object storage service. Linode Object Storage is a globally-available, S3-compatible method for sharing and storing unstructured data like images, documents, archives, streaming media assets, and file backup. Additionally, Object Storage does not require the use of a Linode.

This guide will help you to learn more and get started.

logged by @logbot

Iurii dev.sweatco.in

Why we ended up with a centralized logging solution

In the process of moving to our ideal logging system, we constantly discussed the pros and cons of different solutions, and each of us defended the requirement close to them or changed the configuration parameters they needed, asked intriguing questions or sent us back to the original set of requirements.

I love write-ups like this one from the trenches where people share their journey to deciding on a particular solution. Every decision has a context and many blog posts gloss over that, resulting in silver bullet-y hand waving. That’s not super useful when trying to make your own decisions. What is super-useful is being able to understand the circumstances in which others made a choice. That way you can decide if your situation is close enough to theirs to make a similar decision… or not.

Opensource.com Icon Opensource.com

Use systemd timers instead of cronjobs

Is it time to migrate away from cron?

Like cron jobs, systemd timers can trigger events—shell scripts and programs—at specified time intervals, such as once a day, on a specific day of the month (perhaps only if it is a Monday), or every 15 minutes during business hours from 8am to 6pm. Timers can also do some things that cron jobs cannot. For example, a timer can trigger a script or program to run a specific amount of time after an event such as boot, startup, completion of a previous task, or even the previous completion of the service unit called by the timer.

Chrome github.com

Turn any website into a live wireframe

Use it in your site by importing the CSS from unpkg and adding the placeholdify class somewhere. Also comes as a Chrome extension.

logged by jerodsanto Discuss #chrome#design

DigitalOcean Icon DigitalOcean – Sponsored

Kubernetes for full-stack developers

Whether you’re curious to know more about Kubernetes, just getting started, or have experience with it, this curriculum on DigitalOcean’s Community will help you learn more about Kubernetes and running containerized applications.

You’ll learn about core Kubernetes concepts and use them to deploy and scale applications in practical tutorials. By the end of this curriculum you’ll be able to create your own Kubernetes cluster from scratch and run your own applications on it. You will also learn how to set up monitoring, alerting, and automation for your applications on Kubernetes.

Oh, and if you’re creating a new DigitalOcean account head to do.co/changelog get $100 in credit to your account.

logged by @logbot

DEV.to Icon DEV.to

Hooked on Hooks! A late introduction to my favorite thing in React

Cezar Augusto:

It took me just 3 minutes to fully understand the concepts of React Hooks thanks to this great post.

That’s a ringing endorsement, if I’ve ever seen one. If React Hooks are new (or confusing) to you, give this 3 minutes of your time. 😀

Raul Jordan rauljordan.com

This is why Go’s error handling is awesome

// In controllers/user.go
if err := database.CreateUser(); err != nil {
    log.Errorf("Could not create user: %v", err)
}
// In database/user.go
func CreateUser() error {
    if err := db.SQLQuery(userExistsQuery); err != nil {
        return fmt.Errorf("could not check if user already exists in db: %v", err)
    }
    ...
}
// In database/sql.go
func SQLQuery() error {
    if err := sql.Connected(); err != nil {
        return fmt.Errorf("could not establish db connection: %v", err)
    }
    ...
}
// in sql/sql.go
func Connected() error {
    if noInternet {
        return errors.New("no internet connection")
    }
    ...
}

The beauty of the code above is that each of these errors are completely namespaced by their respective function, are informative, and only handle responsibility for what they are aware of. This sort of error chaining using fmt.Errorf("something went wrong: %v", err) makes it trivial to build awesome error messages that can tell you exactly what went wrong based on how you defined it.

Marko Saric markosaric.com

Only 9% of visitors give GDPR consent to be tracked

Marko Saric, who you may remember as the only content marketer we’ve met who runs Linux:

Most GDPR consent banner implementations are deliberately engineered to be difficult to use and are full of dark patterns that are illegal according to the law.

I wanted to find out how many visitors would engage with a GDPR banner if it were implemented properly (not obtrusive, easy way to say “no” etc) and how many would grant consent to their information being collected and shared.

Sheshbabu Chinnakonda sheshbabu.com

Rust for JavaScript developers (functions and control flow)

This is part 3 of a three part series from Sheshbabu Chinnakonda introducing the Rust language to JavaScript developers — this one is focused on functions and control flow.

When Shesh kicked off this series he said, “I find it easier to understand something new if it was explained in terms of something I already know. I thought there might be others like me.”

BTW, here are links to the others from this series:

Maxime Vaillancourt turven.xyz

See how many other people are currently on the same page as you

A neat idea:

turven is a tiny widget that shows how many people are currently on the same page as you, for “warm fuzzy feelings” purposes. There’s something cool about seeing that there’s another soul out there, somewhere on our little blue planet, who’s reading the same thing at the same moment ✨

In practice, I’m not sure if it’ll make us feel less lonely or more lonely:

You’re the only person in the whole world on this web page right now. Why not invite a friend?

I guess it depends on which web pages you frequent…

logged by jerodsanto via maximevaillancourt Discuss(1) #javascript

Patrick DeVivo github.com

Using SQL to query git repos

gitqlite is a tool for running SQL queries on git repositories. It implements SQLite virtual tables and uses go-git. It’s meant for ad-hoc querying of git repositories on disk through a common interface (SQL), as an alternative to patching together various shell commands.

Mine your repo’s history for goodies. Here’s how to get commit count by author email:

SELECT author_email, count(*) FROM commits GROUP BY author_email ORDER BY count(*) DESC

logged by jerodsanto via patrickdevivo Discuss #go#sqlite#git

Rust github.com

A terminal interface for StackOverflow written in Rust

While I like the acronym so, this tool would actually be better described as se: an interface to the StackExchange network. In particular one thing that differentiates it from similar tools is that you can simultaneously search any number of sites in the StackExchange network

logged by jerodsanto Discuss #rust#stack-overflow

Older messages

We're looking for a clips producer

Monday, July 6, 2020

What up nerds! We're opening up a contract position that works directly with me to help us produce and publish promotional clips for our podcasts. BUT...we really want to work with someone who is

Big updates in Safari 14

Sunday, July 5, 2020

Coding and fonts, Go at Pace.dev, React on Rails, Cognitive distortions, ML/AI with MemSQL, Guy Podjarny/Snyk on Founders Talk, Vim so popular?, make simple GUIs simple, Speedlify, Welcome to the 21st

🚢 Shipping work that matters

Sunday, June 28, 2020

We have regrets, Feross takes us to security school, JS Danger at OpenJS World, Microsoft switching to Rust, Roles in AI dev workflow, upgrade your monitor, ARM Mac and virtualization, HEY's

🚨 The ONE thing every dev should know

Sunday, June 21, 2020

Beginnings, Evolving alongside JS, long road to AGI, brain changes and Neuroplasticity, async in Python, run fewer tests, Don't follow JavaScript trends, open source ngrok alternative, GitHub isn

Creating GitLab’s remote playbook

Sunday, June 14, 2020

Meta programming, Leading GitLab to $100M ARR, Betting on Svelte, AI explainability, Neuroscience of touch, dark mode science, Docker templates for most programming languages, write good Git commit

You Might Also Like

Issue 315 - Look ma, tight parallel park, no radar!

Thursday, May 2, 2024

View this email in your browser If you are just now finding out about Tesletter, you can subscribe here! If you already know Tesletter and want to support us, check out our Patreon page Issue 315 -

Full-Stack .NET Development, Creating Reactive Applications in .NET, More

Thursday, May 2, 2024

Home | News | How To | Webcasts | Whitepapers | Advertise .NET Insight May 2, 2024 THIS ISSUE SPONSORED BY: ■ How to Build Interactive Blazor Apps with WebAssembly ■ VSLive! Hands-On Virtual Training

Daily Coding Problem: Problem #1429 [Easy]

Thursday, May 2, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Sumo Logic. Given a array that's sorted but rotated at some unknown pivot, in which

Ranked | Which Country Has the Most Billionaires in 2024? 💰

Thursday, May 2, 2024

According to the annual Hurun Global Rich List, the US and China are home to nearly half of the world's 3279 billionaires in 2024. View Online | Subscribe Presented by: The economy is changing. Is

⚙️ Rovo

Thursday, May 2, 2024

Plus: Microsoft are (were?) terrified of Google's AI ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Have VPN connection issues? This might be why

Thursday, May 2, 2024

DJI Power station; Studying with AI; Best gaming PCs -- ZDNET ZDNET Tech Today - US May 2, 2024 placeholder Having VPN connection issues? Microsoft warns the April 2024 Windows update is to blame If

Programmer Weekly - Issue 203

Thursday, May 2, 2024

View this email in your browser Programmer Weekly Welcome to issue 203 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "The hardest part of design is keeping

Python Weekly - Issue 648

Thursday, May 2, 2024

View this email in your browser Python Weekly Welcome to issue 648 of Python Weekly. Let's get straight to the links this week. News Fake job interviews target developers with new Python backdoor A

A new approach to access management for the way we work today

Thursday, May 2, 2024

Announcing 1Password® Extended Access Management ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Web Tools #563 - Frameworks, JSON/DB Tools, Vue, Nuxt.js

Thursday, May 2, 2024

WEB VERSION Issue #563 • May 2, 2024 Advertisement The Complete JavaScript Course 2024: From Zero to Expert This is an up-to-date JavaScript course covering modern techniques and features that will