~/devreads

30 Sept 2024

Felix Rieseberg 4 min read

As maintainers of the open source framework Electron, we try to be diligent about the work we take on. Apps like Visual Studio Code, Slack, Notion, or 1Password are built on top of Electron and make use of our unique mix of native code and web technologies to make their users happy. That requires focus: […] The post Electron on…

ecosystembuildpacksjavascriptnode.jsopen source

vladmihalcea 1 min read

Eleven years later! Eleven years ago today, I decided to create my blog on WordPress.com, and this is the first article I published. Every year, on my blog anniversary, I write a report about the achievements that were made possible by having this very blog. If you are curious about my previous reports, check out the following list: 2023 2022…

anniversaryblogging

29 Sept 2024

3 min read

I have 4 (rounded up) beefs with language-y AI bots that have resulted in me sort of avoiding them altogether: They have the personality of a middle manager who writes Google Docs all day that nobody wants to read They’re reallllly good at guessing but not actually that smart, which leads to very convincing lies (see: the “how many Rs…

27 Sept 2024

Ethan Limchayseng 3 min read

We are thrilled to announce that Heroku Automated Certificate Management (ACM) now supports wildcard domains for the Common Runtime! Heroku ACM’s support for wildcard domains streamlines your cloud management by allowing Heroku’s Certificate management to cover all your desired subdomains with only one command, reducing networking setup overhead and providing more flexibility while enhancing the […] The post Simplify Your…

newscloud infrastructureproduct featuressecurity

26 Sept 2024

vladmihalcea 1 min read

Introduction In this article, we are going to see how we can generate Keyset Pagination queries with the Spring Data WindowIterator utility. This is an alternative to the Blaze Persistence solution I documented in this article. Domain Model Considering we have the following PostComment entity that has both a createdOn and a monotonically increasing id: As I explained in this…

springkeysetpaginationseek methodspring data

Nelson Vides 6 min read

Erlang’s concurrency model, built for scalability, now competes with C and Rust in performance, powering messaging systems and large-scale platforms. The post Erlang Concurrency: Evolving for Performance appeared first on Erlang Solutions.

erlang

25 Sept 2024

Michael C. Fanning 3 min read

In April 2021, GitHub announced changes to their security token format that significantly enhanced security. The improvement leveraged two straightforward techniques: a fixed signature in the generated token and a checksum – both of which are highly effective in eliminating false positives (noise) and false negatives (missed findings). Microsoft also implements these techniques widely in […] The post Common annotated…

engineeringmicrosoft1esado azure devops ghasgithub advanced securitysdl

9 min read

In November of last year, I wrote Richard Stallman’s political discourse on sex, which argues that Richard Stallman, the founder of and present-day voting member of the board of directors of the Free Software Foundation (FSF), endorses and advocates for a harmful political agenda which legitimizes adult attraction to minors, consistently defends adults accused of and convicted of sexual crimes…

24 Sept 2024

Julián Duque 9 min read

When building web applications, unit testing your individual components is certainly important. However, end-to-end testing provides assurance that the final user experience of your components chained together matches the expected behavior. Testing web application behavior locally in your browser can be helpful, but this approach isn’t efficient or reliable, especially as your application grows more […] The post Testing a…

engineeringcontinuous integrationdeveloper toolsguidejavascript

Rob 1 min read

When Guzzle throws BadResponseException, the message includes information about the method, URL response code and then a truncated part of the body. For example: "Client error: `GET https://dev.clientproject.com:4444/oauth2/authorize?client_id=983e98d2fab8756a&scope=scope&response_type=code&redirect_uri=%2Fhome&code_challenge=some_code_challenge_here` resulted in a `400 Bad Request` response: {"error":"invalid_request","error_description":"The request is missing a required parameter, includes an

php

Jim Wang 6 min read

Today, we announced that GitHub Enterprise Cloud will offer data residency, starting with the European Union (EU) on October 29, 2024, to address a critical desire from customers and enable an optimal, unified experience on GitHub for our customers. Data residency and what it means for developers We’ve heard for years from enterprises that being able to control where their…

23 Sept 2024

Frederick O'Brien 1 min read

Any dish worth its salt needs the finest ingredients. In the case of the new Feast cooking app, we needed a structured recipe archive. This is how we rustled it up You may have heard the Guardian has a new cooking app called Feast. With thousands of searchable recipes, cook mode, and lots of other lovely features, it’s been well…

Dylan Steen 6 min read

After a lot of hard work, you’ve landed that coveted internship. Now comes the next big challenge: delivering a meaningful project over the summer. Leading a project independently is an opportunity to sharpen your skills, demonstrate your capabilities, and experience personal growth. As you drive the project on your own, the support from your mentor…

uncategorizedinternships

1 min read

My presentation for HighEdWeb 2024 was an overview of many recent and forthcoming additions to the web platform, specifically HTML and CSS. Description CSS is Awesome Over the past few years, CSS has been gaining features at a rate that is almost impossible to follow. Features that once required pre-processors are now native to the platform. Variables? Check. Nesting? Check.…

web developmentconference

20 Sept 2024

Discover the multitude of ways to integrate Apple Intelligence into your apps, from creating amazing user experiences through Genmoji and deep integration with Siri, through leveraging Apple’s ML models for translation and computer vision, to building on third-party tools such as ChatGPT.

19 Sept 2024

vladmihalcea 1 min read

Introduction In this article, we are going to investigate the Spring Data Envers project and see how to get the best out of it. Hibernate Envers is a Hibernate ORM extension that allows us to track entity changes with almost no changes required on the application part. Just like Envers plugs into Hibernate ORM in order to build an audit…

springauditenvershibernatejpa

This course equips you with the skills to leverage Apple’s latest user experience (UX) advancements within your iOS apps. You’ll explore Writing Tools, a powerful suite for enhancing text input and editing. Dive into Genmoji, a brand new tool for creating custom emoji characters, adding a layer of personalization and expression to your apps. And unlock the power of Siri…

This module explores the integration of ChatGPT into iOS apps, enabling powerful conversational AI capabilities. You'll learn to leverage the ChatGPT API to create dynamic, context-aware chatbots and intelligent assistants within their mobile apps.

18 Sept 2024

Rong Lu 1 min read

We’re thrilled to announce the launch of the new Python Data Science Extension Pack for Visual Studio Code! This powerful pack brings together some of the most popular and essential VS Code extensions, making it your one-stop shop for all things data science in Python. What’s Inside? Our extension pack is designed to streamline your data […] The post Announcing…

python

This course explores on-device machine learning using Apple’s powerful tools. See how simple the Vision framework makes complex computer vision tasks, enabling your app to understand the real world, through tasks like object detection and face recognition. Learn to leverage the Translation framework for on-device, real-time language translation, breaking down language barriers for your users. Before finally looking at how…

17 Sept 2024

Rob 1 min read

Recently, I set up my PHP dev environment to allow me to step debug from unit tests that I run with make unit The relevant parts of Makefile look like this: # Set DEBUG=1 to enable Xdebug ifeq ($(origin DEBUG),undefined) XDEBUG := else XDEBUG := XDEBUG_SESSION=PHPSTORM endif unit: ## Run unit tests docker compose exec php bash -c "$(XDEBUG) vendor/bin/phpunit…

developmentphp

Archie Gunasekara 12 min read

At Slack, we manage tens of thousands of EC2 instances that host a variety of services, including our Vitess databases, Kubernetes workers, and various components of the Slack application. The majority of these instances run on some version of Ubuntu, while a portion operates on Amazon Linux. With such a vast infrastructure, the critical question…

uncategorizedawsinfrastructure

16 Sept 2024

15 Sept 2024

12 Sept 2024

Ryan Barker 3 min read

A/B tests are theoretically simple but sometimes offer challenges when insufficient data or events are tracked. In e-commerce, conversion rates are often highlighted as a key metric but what causes it and why. By leveraging additional tools that enable event tracking and session replays such as FullStory we can attach context and understand what users are actually doing, allowing us…

1 min read

This is a story about a failure to apply dynamic programming to a woodworking project. I’ve been building a shed in my backyard, and for one section I decided to build the floor by laying 2x4 planks side by side. I didn’t feel the need to join them with tongue-and-groove, but I did notice that using 2x4s alone wouldn’t fit…

11 Sept 2024

Serverless Team 1 min read

Full-stack, serverless, boilerplate for AI applications on AWS, featuring Bedrock LLMs like Claude 3.5 Sonnet and Llama3.1, a React front-end, AWS Lambda back-end, built-in CI/CD and more.

news

10 Sept 2024

Rob 2 min read

I'm working on a project that uses MS SQL Server as its database. Recently, I noticed that the SQL Server Docker container now works with Apple Silicon Macs, so looked into setting up a PHP-FPM container with the sqlsrv extension installed. I'm noting the relevant parts of my Dockerfile for when I need them again, so this is entirely an…

developmentdockerphp

Yuval Yatskan 1 min read

Ransomware makes up 154 million of the threats Cisco blocks monthly; information stealers make up 246 million more. However, the continued evolution of online threats from ransomware and persistent bad actors is only one small piece of the risk management puzzle. Security leaders are not only responding to more sophisticated and expanding threats, but they’re […] The post Where Do…

spotlightcisco sasesasesecure access service edgesecure access service edge sase

vladmihalcea 1 min read

Introduction In this article, we are going to see how we can map embeddable inheritance when using JPA and Hibernate. The feature described in this article is available since version 6.6 of Hibernate ORM, so if you haven’t yet upgraded, then you have one more reason to consider it. Domain Model Let’s consider we have the following Subscriber entity that…

hibernateembeddablehibernate embeddableinheritancejpa

State management is critical for developing apps. In this course, you'll learn how to listen and respond to state changes, and how to incorporate multiple screens into your app.

This course provides a strong foundation for creating user interfaces with Jetpack Compose. It also introduces the tools required to build user interfaces such dimens, drawables, strings, and other resource files contained in the SDK.

Jump into the exciting world of Android mobile development. In this comprehensive program, you’ll learn the foundations of writing modern Android apps from the ground up whether you are new to Android or even new to programming in general. You'll learn everything you need to know from programming in Kotlin to developing impressive user interfaces in Jetpack Compose. You’ll explore…

9 Sept 2024

8 Sept 2024

7 Sept 2024

1 min read

In my recent overview of homomorphic encryption, I underemphasized the importance of data layout when working with arithmetic (SIMD-style) homomorphic encryption schemes. In the FHE world, the name given to data layout strategies is called “packing,” because it revolves around putting multiple plaintext data into RLWE ciphertexts in carefully-chosen ways that mesh well with the operations you’d like to perform.…

6 Sept 2024

Tinder 12 min read

Tinder API Style Guide — Part 1 Authored by: Nishant Mittal Advisory Group: Vijaya Vangapandu , Devin Thomson , Serge Vartanov and Greg Giacovelli API Style Guide Contributors: Nishant Mittal, Xing Wei and Felix Changoo Over the past decade, Tinder has experienced exponential user growth. Today, the app processes over 1 billion Likes and Nopes per day . This rapid…

api-styleapi-managementapi-strategyapi-developmentapi

Rasha Ardati 1 min read

Welcome to our ‘Day in the Life’ blog series where we interview a colleague from the product and engineering department to reflect on their career and experiences at the Guardian How did you begin your product management journey? After university, I wasn’t entirely sure what career path to pursue. So I decided to join an exciting startup that allowed me…

5 Sept 2024

Emily Todd 5 min read

Dreamforce comes to San Francisco this September 17-19. Heroku, a Salesforce company, has a packed schedule with a variety of sessions and activities designed to enhance your knowledge of our platform and integrations with Salesforce technologies. Learn more about Heroku’s latest innovations by adding us to your agenda via the Dreamforce Agenda Builder. Here’s where […] The post Discover Heroku…

newseducationeventsguide

4 Sept 2024

David Walsh 1 min read

The ability to download media on the internet almost feels like a lost art. When I was in my teens, piracy of mp3s, movies, and just about everything else via torrents and apps like Kazaa, LimeWire, Napster, etc. was in full swing. These days sites use blob URLs and other means to prevent downloads. Luckily we have tools like yt-dlp…

3 Sept 2024

Rob 3 min read

For one project that I'm working on the PHP-FPM-based Docker container is built from a Ubuntu container with PHP is installed into it. A little like this: FROM ubuntu:22.04 RUN apt-get update && apt-get upgrade -y && apt-get install -y gnupg curl # Register the Ondrej package repo for PHP RUN mkdir -p /etc/apt/keyrings \ curl -sS 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x14aa40ec0831756756d7f66c4f4ea0aae5267a6c' | gpg…

developmentdockerphp

2 Sept 2024

1 min read

In my recent overview of homomorphic encryption, I underemphasized the importance of data layout when working with arithmetic (SIMD-style) homomorphic encryption schemes. In the FHE world, the name given to data layout strategies is called “packing,” because it revolves around putting multiple plaintext data into RLWE ciphertexts in carefully-chosen ways that mesh well with the operations you’d like to perform.…