~/devreads

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

Julián Duque 9 min read

In today’s fast-paced digital world, companies are looking for ways to expose their APIs and microservices to the internet while enhancing their overall API security. MuleSoft Anypoint Flex Gateway is a powerful solution that solves this problem. Let’s walk through deploying the Anypoint Flex Gateway on Heroku in a few straightforward steps. You’ll learn how […] The post Mastering API…

engineeringapisapp architecturedeveloper toolsintegrations

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

Anush DSouza 2 min read

Introduction The Heroku CLI is an incredible tool. It’s simple, extendable, and allows you to interact with all the Heroku functionality you depend on day to day. For this reason, it’s incredibly important for us to keep it up to date. Today, we’re excited to highlight a major upgrade with the release of Heroku CLI […] The post Heroku CLI…

engineeringclideveloper tools

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.

19 Jul 2024

Colin Casey 4 min read

What is pnpm? Pnpm is a fast, disk-efficient Node package manager used as an alternative to npm. The Heroku Node.js buildpack now supports pnpm. Early Node.js application owners who’ve taken advantage of pnpm support have seen 10-40% faster install times compared to NPM on Heroku deployments. It’s an excellent choice for managing packages in the […] The post How to…

engineeringbuildpackdeveloper toolsnode.js

18 Jul 2024

Suraj Guptha, Eliza Tarasila 6 min read

Learn about how Microsoft's 1ES organization developed an internal service called "1ES Hosted Pools" to manage Microsoft's diverse Engineering system infrastructure and how it helped make significant improvements to productivity, cost savings, and security. This solution will soon be available as a third-party offering named "Managed DevOps Pools". The post Managed DevOps Pools – The Origin Story appeared first on…

engineeringmicrosoft

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

5 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

1 min read

Learn how we implemented a new timeseries indexing strategy when the amount of data we ingested increased significantly.

27 Jun 2024

Bob Wise 4 min read

Heroku is joining the CNCF at the platinum level, upgrading the long-held CNCF Salesforce membership. This marks my third time serving on the CNCF board for different companies, and I’m excited to participate again. Joining the CNCF at the Platinum level signifies a major commitment, reflecting Heroku’s dedication to the evolving landscape. My three board […] The post Heroku Joins…

newsbuildpackscloud infrastructurekubernetespartners

Christian Holler 2 min read

Process separation remains one of the most important parts of the Firefox security model and securing our IPC (Inter-Process Communication) interfaces is crucial to keep privileges in the different processes separated. We take a more detailed look at our newest tool for finding vulnerabilities in these interfaces – snapshot fuzzing. The post Snapshots for IPC Fuzzing appeared first on Mozilla…

featured articlefirefoxfuzzingmozillaopen source

26 Jun 2024