Go github.com

Simple web statistics. No tracking of personal data

GoatCounter is a web analytics platform, roughly similar to Google Analytics or Matomo. It aims to give meaningful privacy-friendly web analytics for business purposes, while still staying usable for non-technical users to use on personal websites. The choices that currently exist are between freely hosted but with problematic privacy (e.g. Google Analytics), hosting your own complex software or paying $19/month (e.g. Matomo), or extremely simplistic “vanity statistics”.

There’s a free hosted offering for non-commercial use. For those running businesses, self-host the thing. Live demo here.

The Changelog The Changelog #376

State of the “log” 2019

Welcome to 2020 — on this year’s “State of the ‘log’” episode Jerod and I look back at our favorite moments from 2019 and forward to 2020 and beyond. We talk through our most popular episodes, our personal favorites, our 10-year anniversary, the excitement we have for Brain Science our newest podcast, it’s for the curious! And we also look forward to plans we have for 2020 and the decade to come…

Daniel Stenberg daniel.haxx.se

Curl lands its biggest single-shot donation following accidental license breach

Here’s a heartwarming tale of how Backblaze broke libcurl’s copyright, then fixed it, then donated a hefty $15,600 to the project. Why that particular amount?

Backblaze was started in my living room on Jan 15, 2007 (13 years ago tomorrow) and that represents $100/month for every month Backblaze has depended on libcurl back to the beginning. / Brian Wilson, CTO of Backblaze

More like this!

Stream Icon Stream – Sponsored

Building a Svelte chat app with Stream

Building a chat app from scratch is a pretty daunting task. But you don’t need to start from scratch when you can get a working concept up and running in just a few minutes using Stream’s Chat API and Svelte 3. This post on the Stream blog will help to get you started. In this article, you’ll learn how to build a chat app with Stream Chat API and Svelte 3. I’ll demonstrate how to add users to the app, how to retrieve the message history and how to send and receive messages between users.

read more

logged by @logbot permalink

Go Time Go Time #113

Go at Cloudflare

Jaana, Jon, and Mat are joined by John Graham-Cumming, the CTO of Cloudflare, to discuss Go at Cloudflare along with John’s unique involvement in Gordon Brown’s apology to Alan Turing. How did Cloudflare get started with Go? What problems do they use Go for and when to they turn to other languages? And how exactly did John’s petition for an apology to Turing get so popular?

Brain Science Brain Science #8

The mechanics of goal setting

Mireille and Adam discuss goal setting and the different types of goals we set. We reflect on how can you set goals that work for you and measure them. We also talk about how you go about building the behaviors that align with your identity and resistance we face when we do this. We also share our 2020 goal for Brain Science. This is a must-listen episode to get a grounded perspective in planning your goals for this year and decade.

InfoQ Icon InfoQ

The status of HTTP/3

HTTP/3 is the next protocol for network communication across the Web, which is meant to partially replace HTTP/1 and HTTP/2. One month before the next QUIC Working Group meeting, to be held in Zurich next February, it may be useful to recap what HTTP/3 promises and what its current client/server support looks like.

It’s been awhile since we discussed QUIC and HTTP/3 with curl’s Daniel Stenberg. A lot has happened since then, and this InfoQ article will do a good job of catching you up. Browser support is still limited, but things are coming along nicely.

Learn github.com

A compiler writing journey

In this GitHub repository, I’m documenting my journey to write a self-compiling compiler for a subset of the C language. I’m also writing out the details so that, if you want to follow along, there will be an explanation of what I did, why, and with some references back to the theory of compilers.

But not too much theory, I want this to be a practical journey.

Join Warren on his journey and learn a lot along the way.

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

Practical AI Practical AI #72

How the U.S. military thinks about AI

Chris and Daniel talk with Greg Allen, Chief of Strategy and Communications at the U.S. Department of Defense (DoD) Joint Artificial Intelligence Center (JAIC). The mission of the JAIC is “to seize upon the transformative potential of artificial intelligence technology for the benefit of America’s national security… The JAIC is the official focal point of the DoD AI Strategy.” So if you want to understand how the U.S. military thinks about artificial intelligence, then this is the episode for you!

CSS sscaffold-css.com

Sscaffold – lightweight css for people who build things

sscaffold combines css rules from normalize.css, skeleton.css, and milligram into a single, reorganized, easy-to-use css file, with bugfixes and a few other updates and additions. It emphasizes sensible defaults and semantic HTML.

This library (not framework) looks like a good starter for many projects.

The single file is human-readable, commented, includes credits to original authors, and is designed to be easily customized.

JavaScript snowpack.dev

With Snowpack you can build modern web apps without a bundler

No more waiting for your bundler to rebuild your site every time you hit save. Instead, every change is reflected in the browser instantly.

This relies on ESM (Mikeal gave a great rundown on the current state of things on a recent JS Party), so it’s not for everyone. The homepage has rundowns on who should use this, who should avoid it, and how to get started.

Brought to you by the fine folks at Pika.

The New Stack Icon The New Stack

The 3 myths of observability

Arijit Mukherji on The New Stack:

We all have our favorite urban legends. From cow tipping to chupacabras, these myths persist despite a lack of definitive proof (and often evidence to the contrary). Technology isn’t immune to this phenomenon. It has its own set of urban legends and myths that emerge alongside new technologies and continue well into mass adoption. As organizations consider the shift from monitoring to Observability, I hear three common misperceptions. It’s time to debunk the myths.

Callback: Observability is for your unknown unknowns

Gaming github.com

The NES you left outside in the rain but let dry and still kind of works

This is an NES emulator and a work in progress. The CPU, PPU, and APU mostly work, though there are still at least a couple bugs. I’ve mostly tested on Donkey Kong and Super Mario Bros. so far. There are plenty of full-featured emulators out there; this is primarily an educational project but I do want it to run well.

If you’re interested in learning about Rust and/or emulators, this is for you.

The NES you left outside in the rain but let dry and still kind of works

Go Time Go Time #112

defer GoTime()

Mat, Carmen, and Jon are joined by Dan Scales to talk about Mat’s favorite keyword in Go - defer. Where did the defer statement come from? What problems can it solve? How has it shaped how we write Go code? How are other languages solving similar problems? And what exactly was changed in Go 1.14 to improve the performance of defer?

0:00 / 0:00