~/devreads

1 Dec 2023

Piotr Nosek 43 min read

We're back with Piotr and solving all the Advent of Code puzzles in Erlang. Get ready as we share our daily updates throughout December. The post Advent of Code 2023 appeared first on Erlang Solutions.

erlang

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 edition is this article about PostgreSQL double buffering. Hibernate 6.3 added support for table partitioning, and in this…

newsletterhibernatejavajpapostgresql

30 Nov 2023

Jeff Atwood 4 min read

If you haven’t been able to keep up with my blistering pace of one blog post per year, I don’t blame you. There’s a lot going on right now. It’s a busy time. But let’s pause and take a moment

technology trendsuser experiencetwitterdiscourse

Johan Lorenzo (Mozilla) 2 min read

A month ago, we introduced our Nightly package for Debian-based Linux distributions. Today, we are proud to announce we made our .deb package available for Developer Edition and Beta! The post Firefox Developer Edition and Beta: Try out Mozilla’s .deb package! appeared first on Mozilla Hacks - the Web developer blog.

featured articlefirefoxbrowserdebianfirefox nightly

Matthew Green 30 min read

This post continues a long, wonky discussion of Schnorr signature schemes and the Dilithium post-quantum signature. You may want to start with Part 1. In the previous post I discussed the intuition behind Schnorr signatures, beginning with a high-level design rationale and ending with a concrete instantiation. As a reminder: our discussion began with this … Continue reading To Schnorr…

fundamentalspqc

29 Nov 2023

Stephen Hood 2 min read

We're thrilled to announce the first release of llamafile, inviting the open source community to join this groundbreaking project. With llamafile, you can effortlessly convert large language model (LLM) weights into executables. Imagine transforming a 4GB file of LLM weights into a binary that runs smoothly on six different operating systems, without requiring installation. The post Introducing llamafile appeared first…

featured articleaiartificial intelligencelanguage modelsllamafile

Keith Richards 4 min read

A tool for Identity Federation Security Assertion Markup Language, or SAML, is an open standard for exchanging authentication and authorization data between two parties. It’s a common strategy for single sign-on (SSO), allowing users to sign in once and authenticate with multiple third party applications. Similar to OAuth2.0, SAML promotes data security by preventing direct […] The post SAML Protocol…

authenticationauthorizationprotocolsaml

28 Nov 2023

Anila Zaidi 6 min read

In my opinion, creating good headings and organizing them in a way that’s helpful to readers is much more challenging than drafting content. So pat yourself on the back for completing Part 2 of this series and making it to Part 3. 👏 👏 👏 However, there are three things that undo exceptional headings and structure in technical documentation: content…

Roland Meertens 8 min read

A clustering-based approach to create deep learning datasets in a day Introduction Understanding what’s happening in an image is both an important task, as well as a costly one. In the last few years, the field of computer vision has greatly accelerated due to the advances in neural networks. At Bumble Inc., we see potential value in computer vision for…

data-sciencemachine-learningclusteringdeep-learningdataset

Yuriy Loginov 9 min read

Slack Connect, AKA shared channels, allows communication between different Slack workspaces, via channels shared by participating organizations. Slack Connect has existed for a few years now, and the sheer volume of channels and external connections has increased significantly since the launch. The increased volume introduced scaling problems, but also highlighted that not all external connections…

uncategorizedbackendhacklanginfrastructurescalability

David Walsh 2 min read

The underground world of creating and streaming Super Mario World-based ROM hacks continues to gain popularity. This popularity is a tribute to the creativity of gamers and the quality of the original 30 year old video game’s mechanics. Over the past decade, incredible ROM hacks like Grand Poo World 1 and 2, Invictus, and Dram World have brought joy (and…

27 Nov 2023

bohops 13 min read

Introduction Background .NET is an ecosystem of frameworks, runtimes, and languages for building and running a wide range of applications on a variety of platforms and devices. The .NET Framework was initially released in the early 2000s as Microsoft’s implementation of the Common Language Infrastructure (CLI) specification. In 2016, Microsoft released .NET Core, the first […]

uncategorized

26 Nov 2023

25 Nov 2023

jonskeet 4 min read

Nearly three years ago, I posted about some fun I’d been having with VISCA using C#. As a reminder, VISCA is a camera control protocol, originally used over dedicated serial ports, but more recently over IP. Until this week, all the cameras I’d worked with were very similar – PTZOptics, Minrray and ZowieTek all produce … Continue reading Variations in…

c#

Stanko 1 min read

It is incredibly hard to take a good photo of these. Colors have metallic reflection which I wasn’t able to capture, but it is very prominent in person. They are plotted using five different color markers. I framed them separately and plan to take a better photo once they are on the wall. Code is available on my GitHub. Created:…

22 Nov 2023

vladmihalcea 1 min read

Introduction In this article, we are going to see how Index Selectivity works in relational database systems and why the database Optimizer might choose to avoid using an index if the number of matching records is large. Index selectivity is inversely proportional to the number of index entries matched by a given value. So, a unique index has the highest…

sqlindexindexingmysqlpostgresql

21 Nov 2023

Anila Zaidi 4 min read

Part 1 of this tutorial introduced you to the content types that are most common in technical documentation. You also evaluated a real-life example as a reader, and you may have realized how headings are essential to a good reader experience. It’s because readers on the web do not read – they scan ¹ . People actually read 25% slower…

Michel Schammel, Alice Morris, Anna Vissens, Paul Nathan, Alicja Polanska and Tara Tahseen 1 min read

Today’s blog does not come to you from any developer in product and engineering but from our talented colleagues in data and insight Here, the Guardian’s data scientists share how they have teamed up with PhD students from University College London to train a machine learning model to accurately attribute quotes. Below the two teams explain how they’ve been teaching…

The Vision Pro and visionOS present a new paradigm in computing. This is the beginning of spatial computing. Users will be able to view apps floating in front of their eyes and they will be able to interact with them with taps, gestures and their hands. This learning path will survey the various types of apps that you can build…

20 Nov 2023

PayPal Tech Blog Team 3 min read

Recurring payments have become an integral part of the modern digital economy, offering convenience and predictability for both consumers and businesses. Our previous post highlighted different methods of integrating Apple Pay® with PayPal. This blog explores recurring payments using PayPal and Apple Pay, showing how using it can streamline transactions and benefits end users. How Recurring Payments with PayPal and…

17 Nov 2023

16 Nov 2023

Dan Brown 12 min read

Mozilla has just launched the AI Guide, a collaborative hub for developers to join forces, inspire each other, and lead the way in groundbreaking generative AI advancements. The AI Guide’s initial focus begins with language models and the aim is to become a collaborative community-driven resource covering other types of models. The post Mozilla AI Guide Launch with Summarization Code…

featured articlefirefoxmozillaaiinnovation

1 min read

Stuck as a software engineer? Learn practical strategies to get unblocked, improve problem-solving, and boost your productivity.

15 Nov 2023

6 min read

Since the beginning of my career in this industry, I've always been fascinated by the open-source world. After so many years of contributing on my own, this year, I finally joined…

Eduardo Ortega 13 min read

On Thursday, 12 Oct. 2022, the EMEA part of the Datastores team — the team responsible for Slack’s database clusters — was having an onsite day in Amsterdam, the Netherlands. We’re sitting together for the first time after new engineers had joined the team, when suddenly a few of us were paged: There was an…

1 min read

Table of Contents In this article we’ll implement a global optimization pass, and show how to use the dataflow analysis framework to verify the results of our optimization. The code for this article is in this pull request, and as usual the commits are organized to be read in order. The noisy arithmetic problem This demonstration is based on a…

vladmihalcea 1 min read

Introduction In this article, we are going to see how we can cascade the DELETE operation for unidirectional associations with Spring Data JPA and Hibernate events. Using Hibernate events to achieve this goal is an alternative to the bulk DELETE statement strategy, as it allows us to cascade the delete operation from a parent entity to its children when we…

hibernatespringcascadedeleteevent

14 Nov 2023

Anila Zaidi 14 min read

In the same way the term “books” includes fiction, nonfiction, and biographies as genres, the term “technical documentation” includes many different content types. But what sets technical documentation apart from books are reader traits. These traits are a result of what the reader does as they read technical documentation – they use the app.

13 Nov 2023

Developer Relations Team 1 min read

Learn about TCP/IP, the foundation of the internet. Discover its functions, including addressing, routing, reliable data delivery, and more.

11 Nov 2023

10 Nov 2023

Luciano Mammino 7 min read

The software industry sees an interesting tension between generative AI capturing the software lifecycle and low-level languages aiming for better performance. As developers we must understand these trends and find a strategy. Learn one or both?

opinionjavascriptrustgoai

blog.muffn.io (muffn_) 1 min read

🎬 Intro # Feature creep is a hell of a drug. Before my NAS build had even 1 hour of uptime I decided I would entirely change how I was planning to use the NAS and so some things had to be changed.

9 Nov 2023

Rob 2 min read

For years, 19ft.com has been a hand-built static HTML website with a smidgen of PHP to set things like dates and include a header and footer to each page. While I haven't yet redesigned it, it seemed prudent to move it to a static site generator before I did so and I chose Hugo, mainly because as a go CLI…

web

vladmihalcea 1 min read

Introduction In this article, we are going to see how we can implement a table partitioning solution when using Spring and Hibernate. The goal of table partitioning is to split a large table into multiple smaller partition tables so that the associated table and index records can fit into the in-memory Buffer Pool, therefore allowing a more efficient seek or…

hibernatespringpostgresqltable partitioning

8 Nov 2023

1 min read

I have spent many years as an software engineer who was a total outsider to machine-learning, but with some curiosity and occasional peripheral interactions with it. During this time, a recurring theme for me was horror (and, to be honest, disdain) every time I encountered the widespread usage of Python pickle in the Python ML ecosystem. In addition to their…

Shuyi Li 4 min read

First and foremost, I express my gratitude for stopping by my corner of the internet! I trust that the content that follows will provide valuable insights and prove beneficial to individuals interested in the Machine Learning Engineer(MLE) internship opportunity at Strava or just general ML work. About me Greetings from Shuyi! Currently a fifth-year Ph.D. candidate in Statistics at ASU,…

searchmaching-learningrecommendations

7 Nov 2023

Anila Zaidi 6 min read

Writing is a learned skill. No one person is a good or bad writer. 🙂 When a colleague asked me to mentor them on technical writing, I searched for a single technical writing article, guide, book, or tutorial that addressed three key things. Since I couldn’t find one, I decided to create a tutorial on technical writing.

6 Nov 2023

5 Nov 2023

4 Nov 2023

2 Nov 2023

Courtney Webster 7 min read

The November 2023 release of the Python and Jupyter extensions for Visual Studio Code are now available. This month's updates include improvements to Shift+Enter when sending code to the terminal, deprecation of linting and formatting features, improvements to Python linting extensions, reconfiguration of test output, and virtual environment deactivation help. Keep reading to learn more! The post Python in Visual…

pythonvisual studio code

1 Nov 2023

Rob 2 min read

I have a set of Markdown files with YAML front matter that contains a created property containing the date that the file was created. Due to various machinations, the file creation date no longer matches this date, so I thought I'd fix this. Setting created date of a file On macOS, to change a file's creation date you use SetFile…

computingshell scripting

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 edition is this article about MySQL 8.2 automatic read and write routing. Until MySQL 8.2 is released, if…

newsletterhibernatejavajpapostgresql

1 min read

Table of Contents In the last article we lowered our custom poly dialect to standard MLIR dialects. In this article we’ll continue lowering it to LLVM IR, exporting it out of MLIR to LLVM, and then compiling to x86 machine code. The code for this article is in this pull request, and as usual the commits are organized to be…

31 Oct 2023

1 min read

Bookmarks for November 2023: 13 links - Confusing git terminology; In a git repository, where do your files live?; Working without mocks - Learn Go with tests, and more.

Bas Schouten 4 min read

To deliver against our vision and enable a better online experience for everyone, we’ve been working hard on making Firefox even faster. We’re extremely happy to report that this has resulted in a significant improvement in speed over the past year. The post Down and to the Right: Firefox Got Faster for Real Users in 2023 appeared first on Mozilla…

developer toolsfeatured articlefirefoxjavascriptbrowser

30 Oct 2023

28 Oct 2023

David Walsh 1 min read

Most developers spoil themselves with fun command line utilities to make their work easier and more efficient. One such command line helper allows developers to always show the git branch in the command line. How can you get the current branch? With this handy snippet: It’s great to keep this snippet around for any automation you may create moving forward!…

27 Oct 2023

26 Oct 2023

vladmihalcea 1 min read

Introduction In this article, we are going to see how to cascade DELETE the unidirectional associations with Spring Data JPA when we cannot rely on the CascadeType mechanism that propagates state transitions from parent to child entities. Domain Model Let’s consider we have the following entities in our system: The Post entity is the root of this entity hierarchy, and…

springcascadedeletejpaspring data

25 Oct 2023

RisingStack Engineering 3 min read

The latest major version of Node.js has just released with a few new interesting experimental features and a lot of fixes and optimization. You can find our highlights from the release notes. Built-in WebSocket client A browser-compatible WebSocket implementation has been added to Node.js with this new release as an experimental feature. You can give […] The post Node.js 21…

node.js

24 Oct 2023

Arit Developer 7 min read

Accepting online payments is now a universal must-have, catering to everyone from solo entrepreneurs to massive global corporations. PayPal’s Standard Checkout allows for seamless integration of PayPal’s Payment Buttons component into your e-commerce app, granting you the power to accept online payments. In this guide, I am going to show how to add Standard Checkout to a simple shopping app,…

programmingpayments-technologyecommercejavascriptpayments

Max Duval 1 min read

Coming back from a long holiday? Recently joined the department? Collaborating on a complex, cross-team problem that spans different tech stacks and programming languages? At one point, we’re all going to find ourselves in one of these situations. So how can we ensure that no one feels overwhelmed or unable to make meaningful contributions? Short answer: by enabling everyone to…

23 Oct 2023

David Walsh 1 min read

Visual Studio Code has taken the crown of most used text editor, at least in JavaScript spheres. VSCode is fast, feature-filled, and supports thousands of plugins to boost productivity. Developers can also tweak hundreds of settings to enrich functionality. One such feature is the autoSave feature. A few months ago I changed my editor setup to autosave code as I…

1 min read

Table of Contents In previous articles we defined a dialect, and wrote various passes to optimize and canonicalize a program using that dialect. However, one of the main tenets of MLIR is “incremental lowering,” the idea that there are lots of levels of IR granularity, and you incrementally lower different parts of the IR, only discarding information when it’s no…

19 Oct 2023

18 Oct 2023

vladmihalcea 1 min read

Introduction In this article, we are going to see how we can batch INSERT statements when using MySQL and Hibernate. While Hibernate has long supported automated JDBC batch inserts, this feature doesn’t work when using the IDENTITY identifier generator strategy. Unfortunately, MySQL doesn’t support SEQUENCE objects, so using IDENTITY is the only reasonable option. Therefore, I’m going to show you…

hibernatespringbatchbatch insertjpa

Erlang Solutions Team 3 min read

We're launching the Erlang Security Audit during Cybersecurity Month to enhance code protection and address potential vulnerabilities. The post Security Audit for Erlang appeared first on Erlang Solutions.

erlang

17 Oct 2023

1 min read

Discover the five must-haves that merchants are using to compare Payment Service Providers and how you can use them to become viewed as mission critical by your customers.

The Object-Oriented Programming (OOP) learning path offers a comprehensive exploration of software development principles and techniques. Covering three modules, learners will delve into foundational OOP concepts, advanced techniques, and their integration with Protocol-Oriented Programming (POP). By mastering both OOP and POP paradigms, participants will emerge ready to craft robust, adaptable software solutions that excel in the dynamic world of modern…

16 Oct 2023

Jeff Hostetler 17 min read

When I think about large codebases, the repositories for Microsoft Windows and Office are top of mind. When Microsoft began migrating these codebases to Git in 2017, they contained 3.5M files and a full clone was more than 300GB. The scale of that repository was so much bigger than anything that had been tried with Git to date. As a…

14 Oct 2023

1 min read

Can you find a set of cards among these six, such that the socks on the chosen cards can be grouped into matching pairs? (Duplicate pairs of the same sock are OK) Spoilers: If the cards are indexed as 1 2 3 4 5 6 Then the following three subsets work: $\{ 1, 2, 4, 5, 6 \}$, $\{ 2,…

13 Oct 2023

12 Oct 2023