~/devreads

13 Aug 2024

23 min read

Other posts in the series: Reckoning: Part 1 — The Landscape Reckoning: Part 3 — Caprock Reckoning: Part 4 — The Way Out --> Contents The Golden Wait The Truth Is In The Trace Zip It Near Peers Blimey JavaScript Masshattery Maryland Enters The Chat Chattanooga Chug Chug SNAP? In Jersey? Fuhgeddaboudit Hoosier Hospitality Deep Breaths The Golden Wait BenefitsCal…

12 Aug 2024

Sérgio Jesus 9 min read

By Sérgio Jesus, Inês Silva, Pedro Saleiro, Hugo Ferreira, Pedro Bizarro In this blog post we will visit Aequitas Flow , an Open-Source framework designed to run complete and standardized experiments of Fair ML algorithms. We encourage you to try Aequitas Flow with the Google Colab Notebooks, which are available in the project’s GitHub repository . This blog post is…

responsible-aifairnessopen-sourceresearchmachine-learning

12 min read

Instead of an omnibus mega-post, this investigation into JavaScript-first frontend culture and how it broke US public services has been released in four parts. Other posts in the series: Reckoning: Part 2 — Object Lesson Reckoning: Part 3 — Caprock Reckoning: Part 4 — The Way Out When you live in the shadow of a slow-moving crisis, it's natural to…

11 Aug 2024

24 min read

About eight years ago, I was playing a game of Codenames where the game state was such that our team would almost certainly lose if we didn't correctly guess all of our remaining words on our turn. From the given clue, we were unable to do this. Although the game is meant to be a word guessing game based on…

9 Aug 2024

Ruslan Spivak 2 min read

Hi everyone, Growth as a software engineer is an ongoing journey. Looking back, a few key principles helped me progress during the early days of my career. These lessons shaped my path, and many of them continue to guide me today, even though I’m no longer an individual contributor: Drive Ambition isn’t a skill — it’s a will. You either…

8 Aug 2024

Marco Figueroa 3 min read

As AI continues to evolve, so do the threats against it. As these GenAI systems become more sophisticated and widely adopted, ensuring their security and ethical use becomes paramount. 0Din is a groundbreaking GenAI bug bounty program dedicated specifically to help secure GenAI systems and beyond. In this blog, you'll learn about 0Din, how it works, and how you can…

artificial intelligencefeatured articleaibountybug bounty

7 Aug 2024

1 min read

This blog now accepts webmentions. I used webmention.io and webmention.js for live rendering. You can see an example at the end of my old Bezier Curves post. After my initial experiments with POSSE, I’ve made a few improvements to the system. Now shortform posts are syndicated to Mastodon, Bluesky, and Twitter, and the links to the syndicated posts are automatically…

Sam Shen 7 min read

At Clever we move a lot of data, both from school districts into Clever and from Clever into all the external places that school districts want that data shared. Broadly, we call this behavior “syncing”, and various sync flavors show up across Clever. Let’s talk about two ways to perform data syncs by using an […] The post Everything but…

dataresiliencyinteroperabilitysyncs

James Graham 8 min read

We’re pleased to announce that, as of version 23, the Puppeteer browser automation library now has first-class support for Firefox. This means that it’s now easy to write automation and perform end-to-end testing using Puppeteer, and run against both Chrome and Firefox. The post Announcing Official Puppeteer Support for Firefox appeared first on Mozilla Hacks - the Web developer blog.

featured articlefirefoxweb developersbrowserchrome

6 Aug 2024

vladmihalcea 1 min read

Introduction Welcome to a new issue of the High-Performance Java Persistence Newsletter in which we share articles, videos, workshops, and StackOverflow answers that are very relevant to any developer who interacts with a database system using Java. Articles The pick of this week is this article about various online schema migration options that are available in MySQL. Another great read…

newsletterhibernatejavajpamysql

Rob 1 min read

I've been doing a few updates to Daily Jotter, my little Mac app that's available in the Mac App Store. It's been a little while since I last updated it and a few things have changed. After updating the code to fix deprecation warnings, my immediate problem was that the debug version of the app wouldn't start up and I…

development

4 Aug 2024

1 min read

Table of Contents In this article I’ll show how to use PDLL, a tool for defining MLIR patterns, which itself is built with MLIR. PDLL is intended to be a replacement for defining patterns in tablegen, though there are few public examples of its use. In fact, the main impetus for PDLL is that tablegen makes it difficult to express…

3 Aug 2024

David Walsh 1 min read

curl is one of those great utilities that’s been around seemingly forever and has endless use cases. These days I find myself using curl to batch download files and test APIs. Sometimes my testing leads me to using different HTTP headers in my requests. To add a header to a curl request, use the -H flag: You can add multiple…

2 Aug 2024

1 min read

I’ve been upstreaming a bit of my compiler work to the MLIR project. Yesterday, I merged in a tutorial on mlir-opt, the main debugging tool for running passes on MLIR code. This is roughly the upstreamable parts of my first MLIR tutorial entry, MLIR — Running and Testing a Lowering. Mehdi Amini also provided a lot of useful information during…

1 Aug 2024

31 Jul 2024

1 min read

Bookmarks for August 2024: 9 links - Go, a reasonable good language — kokada; The adapter pattern in Go — Bitfield Consu..., and more.

Courtney Webster 3 min read

The August 2024 release of the Python and Jupyter extensions for Visual Studio Code are now available. This month's updates include improved Python discovery using python environment tools, inline variable values with the python debugger, and improvements to the VS Code native REPL. Keep reading to learn more! The post Python in Visual Studio Code – August 2024 Release appeared…

python

Ruslan Spivak 2 min read

“Fundamentals are the foundation of excellence. Without a strong base, you cannot reach your full potential.” – John Wooden Hey there! Let’s talk fundamentals today. Why are they important? John Wooden’s quote sums it up nicely, but let’s unpack it a bit more: Strong foundation: A solid grasp of fundamental concepts provides a strong foundation for building advanced skills. Just…

Ian Hoffman 10 min read

All software is built atop a core set of assumptions. As new code is added and new use-cases emerge, software can become unmoored from those assumptions. When this happens, a fundamental tension arises between revisiting those foundational assumptions—which usually entails a lot of work—or trying to support new behavior atop the existing architecture. The latter…

uncategorizedcollaborationenterpriseleadershipproduct-engineering

1 min read

In this living document, I will list all production systems I’m aware of that use fully homomorphic encryption (FHE). For background on FHE, see my overview of the field. If you have any information about production FHE systems not in this list, or corrections to information in this list, please send me an email with sufficient detail allow the claim…

jesalg 9 min read

The current job market is overflowing with competition, put yourself in better stead for meeting the job spec by asking yourself these 6 questions before applying. Rejection stings. As engineers, we’re wired to solve problems and achieve goals. In today’s job market, it can be tricky to get past the first stage, let alone a second or third, so a…

30 Jul 2024

Rob 1 min read

Recently, I was writing a bash script that read a file into a string and then passed that string elsewhere that then calculated the hash of it. To my surprise, I was getting a different hash to doing the equivalent in PHP with file_get_contents(). Digging into it, I discovered that when you assign the output of cat to a variable,…

shell scripting

vladmihalcea 1 min read

Introduction In this article, we are going to see how we can use the Hibernate SoftDelete annotation to activate soft deleting for JPA entities. While, as I explained in this article, you can manually implement the soft delete mechanism using the @SQLDelete, @Loader and @Where annotations, it’s definitely much easier to just use the native Hibernate mechanism introduced in Hibernate…

hibernatedeletesoft delete

10 min read

The W3C Technical Architecture Group1 is out with a blog post and an updated Finding regarding Google's recent announcement that it will not be imminently removing third-party cookies. The current TAG members are competent technologists who have a long history of nuanced advice that looks past the shouting to get at the technical bedrock of complex situations. The TAG also…

29 Jul 2024

Lou Nelson 9 min read

In today’s global workplace, supporting employees by appreciating and understanding their background and lived experience is crucial for the success of any organization. This includes employees who are neurodivergent. Neurodivergence refers to natural variations in human brains and cognition. The term encompasses conditions such as autism, ADHD, dyslexia, mental illness, and other neurological differences. Neurodivergent employees don’t just enrich the…

27 Jul 2024

1 min read

Ben Recht, a computer science professor at UC Berkeley, recently wrapped up a 3-month series of blog posts on Paul Meehl’s “Philosophical Psychology.” Recht has a table of contents for his blog series. It loosely tracks a set of lectures that Meehl gave in 1989 at the University of Minnesota. In it, he surveys of the philosophy of science, lays…

26 Jul 2024

Rachael O'Flaherty 3 min read

Similar to when your favourite candy changes its recipe, or when a product you love suddenly becomes discontinued—the recent changes... The post Is There A Simpler Alternative To Google Analytics? appeared first on GoSquared Blog.

miscellaneous

Max Duval 1 min read

Dealing with content that keeps changing can lead to bugs on users’ devices that are hard to reproduce. By precisely describing the shape of the content using types and ensuring it matches, exceptions can be avoided and users shown helpful messages when errors occur. This post will illustrate how this can be achieved with standard web technologies. The programming language…

25 Jul 2024

24 Jul 2024

vladmihalcea 1 min read

Introduction In this article, we are going to see how we can use symbolic links to move the DB data folder. The reason why I needed to move the data folder from the C to the D Windows partition was because the C partition was running out of disk space. DB data folder A relational database system requires to store…

databaseoraclesymbolic links

23 Jul 2024

Nick Hengeveld 6 min read

Solving and staying ahead of problems when scaling up a system of GitHub’s size is a delicate process. The stack is complex, and even small changes can have a big ripple effect. Here’s a look at some of the tools in GitHub’s toolbox, and how we’ve used them to solve problems. We’ll also share some of our wins and lessons…

Rob 1 min read

If you want to see the hex values of a file, the easiest way to do this is to use xxd. Given foo.txt that contains "This is some text!": $ xxd foo.txt 00000000: 5468 6973 2069 7320 736f 6d65 2074 6578 This is some tex 00000010: 7421 0a t!. There are three columns in the output: number of first character…

shell scripting

blog.muffn.io (muffn_) 1 min read

🎬 Intro # I’ve recently been looking to move all my firewalls from pfSense VMs and Mikrotik hardware to OPNsense. Virtual pfSense has been great for me over many, many years and all the benefits a VM brings to a firewall have helped a lot, such as hypervisor level HA and snapshots. These days, however, I am leaning more towards…

22 Jul 2024

1 min read

Neural networks are often thought of as opaque, black-box function approximators, but theoretical tools let us describe and visualize their behavior. In particular, let’s study piecewise-linearity, a property many neural networks share. This property has been studied before, but we’ll try to visualize it in more detail than has been previously done.

18 Jul 2024

Erlang Solutions Team 2 min read

Welcome to our "Meet the Team" series! In this first edition, we introduce you Nico Gerpe, the Business Unit Lead for the Americas team. The post Meet the team: Nico Gerpe appeared first on Erlang Solutions.

meet the team

17 Jul 2024

1 min read

Last year I broke my elbow. This meant that I had to take a break from programming for about six weeks, and The Secrets of Skellig, my indie game, was put on hold. After a couple of weeks, I recovered enough to do some basic keyboard and mouse movements, and I stumbled on a free game called The Roottrees are…

16 Jul 2024

Rob 1 min read

When using Docker Compose, I often map the ports to local ones in the compose.yaml like this: services: web: build: context: ./docker/web ports: - "8080:80" Adding to the port map If port 8080 is in use already on a developer's machine, then we can add a new mapping using compose.override.yaml services: web: build: context: ./docker/web ports: - "8081:80" The compose.override.yaml…

development

7 min read

We are living through an interesting moment in source-available software.1 The open source movement has always had, and continues to have, a solid grounding in grassroots programmers building tools for themselves and forming communities around them. Some looming giants brought on large sums of money – Linux, Mozilla, Apache, and so on – and other giants made do without, like…

15 Jul 2024

13 Jul 2024

12 Jul 2024

Alan Cooke 11 min read

On the Unfold team at Squarespace, our mobile releases don't require much in the way of manual intervention or human oversight. In fact, we don’t have to give releases much thought at all. But, this was not always true. This post is a look into what these non-eventful mobile releases are like, dig into how much more eventful they used…

Darryn Campbell 1 min read

The Events & Actions API provides programmatic access to send all events in your application's ecosystem to third-party systems

11 Jul 2024

10 Jul 2024

RisingStack Engineering 2 min read

Ecto is a database wrapper and query generator for Elixir, so you can interact with databases in a functional and efficient way. In this guide we’ll cover the basics of Ecto, including setting up a project, defining schemas, running migrations and basic queries. What is Ecto Ecto is designed to work with Elixir, so it’s […] The post Ecto for…

elixir

vladmihalcea 1 min read

Introduction My friend, Dmitry Aleksandrov, has been very generous in giving me a copy of his Helidon book, which he co-authored with Dmitry Kornilov and Daniel Kec. Since I was interested in learning about Helidon, I decided to read this book and see what approach it takes to develop Java applications, as opposed to Spring Boot. The book is called…

bookbook reviewhelidon

9 Jul 2024

Kendall Gassner 7 min read

Drag-and-drop is a highly interactive and visual interface. We often use drag-and-drop to perform tasks like uploading files, reordering browser bookmarks, or even moving a card in solitaire. It can be hard to imagine completing most of these tasks without a mouse and even harder without using a screen or visual aid. This is why the Accessibility team at GitHub…

jonskeet 14 min read

Introduction On Thursday (July 4th, 2024) the UK held a general election. There are many, many blog posts, newspaper articles, podcast episodes etc covering the politics of it, and the lessons that the various political parties may need to learn. I, on the other hand, learned very different lessons on the night of the 4th … Continue reading Lessons from…

c#general

Courtney Webster 3 min read

The July 2024 release of the Python and Jupyter extensions for Visual Studio Code are now available. This month's updates include a new tool for more performant environment discovery, improved support for reStructuredText docstrings, and community contributed Pixi support. Keep reading to learn more! The post Python in Visual Studio Code – July 2024 Release appeared first on Microsoft for…

python

4 min read

The TL;DR of this blog post is simple: the “Path To Citus Con” podcast for developers who love Postgres has been renamed—and the new name is Talking Postgres. And if you’re just hearing about the Talking Postgres podcast for the first time, it is a monthly podcast for developers who love Postgres, with amazing guests from the Postgres world who…

Rob 4 min read

I use FastMail for my email and as I control my own domain, I needed to set up SFP, DKIM and DMARC on it. These are DNS records that help the email servers put the emails that I send into my recipient's inbox and to mark any forged emails as spam. These are my tidied up notes so that I…

computing

8 Jul 2024

7 Jul 2024

4 Jul 2024

Clément Gateaud 6 min read

TypeScript significantly improved JavaScript development with enhanced code reliability and maintainability, ensuring fewer runtime errors and greater productivity for developers. But when you start working with it, the syntax can sometimes feel overwhelming. One of the most intimidating features in TypeScript is “generics”. Look at the example below 🤯 aren’t you afraid ? Types declarations from @tanstack/react-query (library) that can…

typescriptweb-developmentgenerics-in-typescript

Darryn Campbell 1 min read

PubNub App Context is an easy-to-use, serverless storage for user, channel, and membership information

3 Jul 2024

1 min read

Suppose we have a large collection of documents, and we wish you identify which documents are approximately the same as each other. For instance, we may have crawled the web over some period of time, and expect to have fetched the “same page” several times, but to see slight differences in metadata, or that we have several revisions of a…

Developer Relations Team 1 min read

APIs offer broad control with client-initiated requests, while webhooks provide live updates with server-initiated pushes. Learn when to use each!

2 Jul 2024

vladmihalcea 1 min read

Introduction Welcome to a new issue of the High-Performance Java Persistence Newsletter in which we share articles, videos, workshops, and StackOverflow answers that are very relevant to any developer who interacts with a database system using Java. Articles The pick of this week is this article about the drawbacks of using natural keys. Speaking of mapping tables, if you need…

newsletterhibernatejavajpapostgresql

Rob 1 min read

When printing output in a shell script, it's quite useful to be able to indent information to group it. The easiest way to do this is with pr, like this: body=$(curl -s "http://localhost:8888/") echo "Response:" echo "$body" | pr -to 4 This generates: Response: { "links": { "games": "/games" } } Given that pr appeared in version 1 of AT&T…

shell scripting

Nilanjana Mukherjee 9 min read

Slack Data Engineering recently underwent data workload migration from AWS EMR 5 (Spark 2/Hive 2 processing engine) to EMR 6 (Spark 3 processing engine). In this blog, we will share our migration journey, challenges, and the performance gains we observed in the process. This blog aims to assist Data Engineers, Data Infrastructure Engineers, and Product…

uncategorizedanalyticsawsbig-datadata-engineering

1 Jul 2024

Kogan Dev Blog 3 min read

Committed to learning and continuous improvement, Kogan.com’s Engineering team develops its engineering talent through giving and taking responsibility, co-creation, mentorship, and internal mobility opportunities to grow and advance their careers. There are opportunities for Engineers at Kogan.com regardless of background. Some engineers at Kogan.com are Individual Contributors, Tech Leads or People Managers – and engineering growth paths and aspirations are…

learning growth

30 Jun 2024

1 min read

Bookmarks for July 2024: 4 links - Reintroducing engineering thinking in the...; Process doesn’t scale. Knowledge does. - b..., and more.

28 Jun 2024

Nathan Lehotsky 6 min read

At Slack, we’re committed to security that goes beyond the ordinary. We continuously strive to earn and maintain user trust by safeguarding critical components integral to every user’s experience. From passwords to session cookies, and tokens to webhooks, we prioritize protecting everything essential to how users log into the platform and remain authenticated. Through proactive…

uncategorizedsecurity