~/devreads

17 Jan 2023

16 Jan 2023

David Walsh 2 min read

A few years back I wrote a blog post about how write a fetch Promise that times out. The function was effective but the code wasn’t great, mostly because AbortController , which allows you to cancel a fetch Promise, did not yet exist. With AbortController and AbortSignal available, let’s create a better JavaScript function for fetching with a timeout: AbortSignal…

14 Jan 2023

jonskeet 15 min read

While I’m expecting this blog post series to cover a number of topics, the primary purpose is as a vehicle for discussing abstraction and what it can look like in real-world projects instead of the “toy” examples that are often shown in books and articles. While the DigiMixer project itself is still in some senses … Continue reading DigiMixer: Introduction…

digimixer

13 Jan 2023

1 min read

YugabyteDB is a cloud-native database for business-critical enterprise applications. It is designed to provide continuous availability as well as horizontal scalability, while retaining a strong set of RDBMS features. This objective creates a strong quality incentive for us in the Yugabyte Quality Assurance (QA) team. As a member of this team, I am giving an overview of the testing philosophy,…

11 Jan 2023

Joe 5 min read

All images courtesy of The Marcy Lab School One afternoon, I was asked to speak to a visiting class of engineering students about what it was like to be an engineer. I found myself in an open meeting space in our office (remember when we met in offices?) surrounded by kids in their late teens and early twenties. I was…

techinclusionequityeducationadtech

vladmihalcea 1 min read

Introduction In this article, we are going to see the overhead of acquiring a new connection when using YugabyteDB and why connection pooling is mandatory for performance. Acquiring a database connection using JDBC To interact with a database system, first, we need to acquire a database connection. And, when using Java, we need to obtain a Connection object from the…

databasesqlconnectionconnection poolinghikaricp

1 min read

OpenAI researchers collaborated with Georgetown University’s Center for Security and Emerging Technology and the Stanford Internet Observatory to investigate how large language models might be misused for disinformation purposes. The collaboration included an October 2021 workshop bringing together 30 disinformation researchers, machine learning experts, and policy analysts, and culminated in a co-authored report building on more than a year of…

safety alignment

10 Jan 2023

9 Jan 2023

RisingStack Engineering 12 min read

Are you currently preparing for a Kubernetes interview? If so, you’ll want to make sure you’re familiar with the questions and answers below at least. This article will help you demonstrate your understanding of Kubernetes concepts and how they can be applied in practice. With enough preparation, you’ll be able to confidently nail your next […] The post Kubernetes Interview…

kubernetes

Tinder 8 min read

Author: Darragh Burke, Software Engineer II, Web Development at Tinder Tinder’s UI Opportunities: Wildfire When Tinder first launched in 2012, it pioneered a brand new user experience: the Swipe Right® and “Swipe Left”™ features. The app’s simplicity was a big part of what made it so appealing. An early version of Tinder We’ve emphasized building new features and moving fast…

designweb-developmentuxobsidianengineering

David Walsh 1 min read

Form validation has always been my least favorite part of web development. You need to duplicate validation on both client and server sides, handle loads of events, and worry about form element styling. To aid form validation, the HTML spec added some new form attributes like required and pattern to act as very basic validation. Did you know, however, that…

1 min read

At Jane Street we use a pattern/library called “expect tests” that makes test-writing feel like a REPL session, or like exploratory programming in a Jupyter notebook—with feedback cycles so fast and joyful that it feels almost tactile. Having used them for some time now this is the only way I’d ever want to write tests.

8 Jan 2023

7 Jan 2023

Henrik Warne 4 min read

Every time I hear about software maintenance as a distinct activity, I cringe. That’s because it is based on the outdated notion that first software is developed, then it is maintained. But that is not how software development works today. … Continue reading →

programmingsoftware developmentsoftware maintenance

6 Jan 2023

Nic Raboy 1 min read

Have you ever needed to handle signal events within your ZX script? For example, what happens if you need to handle a graceful shutdown of your long-running or infinite-running script? Or what happens... The post Listen for SIGINT and SIGTERM Events in a ZX Script appeared first on The Polyglot Developer.

5 Jan 2023

ericlippert 3 min read

Happy New Year all! Last time I briefly described the basic strategy of the Beanstalk compiler: transform the source code of each queried or observed function (and transitively their callees) into an equivalent program which partially evaluates the model, accumulating a graph as it goes. … Continue reading →

uncategorized

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 10 common PostgreSQL mistakes and how you can avoid them. If you want…

newsletterhibernatejavajpamysql

4 Jan 2023

Michael Carroll 1 min read

HIPAA violations can be financially expensive and devastating to a brand. Examine examples of HIPAA violations and learn how to avoid them.

3 Jan 2023

David Walsh 2 min read

Promises have changed the landscape of JavaScript. Many old APIs have been reincarnated to use Promises (XHR to fetch, Battery API), while new APIs trend toward Promises. Developers can use async/await to handle promises, or then/catch/finally with callbacks, but what Promises don’t tell you is their status. Wouldn’t it be great if the Promise.prototype provided developers a status property to…

2 Jan 2023

Developer Relations Team 1 min read

aaS companies need to rapidly and effectively meet customer needs with live chat. But, not all live chat is created equal.

David Walsh 1 min read

A few years ago I wrote an article about how to detect VR support with JavaScript. Since that time, a whole lot has changed. “Augmented reality” became a thing and terminology has moved to “XR”, instead of VR or AR. As such, the API has needed to evolve. The presence of navigator.xr signals that the browser supports the WebXR API…

hello@taniarascia.com 8 min read

Happy New Year, friends! Time to write another year in review. This will be the seventh time I've done this. Here are all the previous ones…

1 Jan 2023

jgamblin 3 min read

2022 was a record-breaking growth year for CVE data, and I figured it would be a great way to start the new year by going through the data and highlighting some of the most interesting data points. All the data and graphs used in this blog are available in this GitHub repo. CVEs By The Numbers We ended 2022 with…

uncategorized

30 Dec 2022

David Walsh 1 min read

Reacting to events with JavaScript is the foundation of a dynamic experiences on the web. Whether it’s a click event or another typical action, responding to that action is important. We started with assigning events to specific elements, then moved to event delegation for efficiency, but did you know you can identify elements by position on the page? Let’s look…

David Walsh 1 min read

It’s one thing to know about what’s in the browser document, it’s another to have insight as to the user’s browser itself. We’ve gotten past detecting which browser the user is using, and we’re now into knowing what pieces of the browser UI users are seeing. Browsers provide window.personalbar, window.locationbar, and window.menubar properties, with the shape of { visible :…

David Walsh 1 min read

Media queries provide a great way to programmatically change behavior depending on viewing state. We can target styles to device, pixel ratio, screen size, and even print. That said, it’s also nice to have JavaScript events that also allow us to change behavior. Did you know you’re provided events both before and after printing? I’ve always used @media print in…

29 Dec 2022

hello@taniarascia.com 25 min read

Recently, after I watched the latest movie in the Avatar series - yes, the one with the blue people - it got me thinking about why I like…

28 Dec 2022

1 min read

This article was written by my colleague, Cathie Yun. Cathie is an applied cryptographer and security engineer, currently working with me to make fully homomorphic encryption a reality at Google. She’s also done a lot of cool stuff with zero knowledge proofs. In previous articles, we’ve discussed techniques used in Fully Homomorphic Encryption (FHE) schemes. The basis for many FHE…

27 Dec 2022

David Walsh 1 min read

When it comes to animations on the web, developers need to measure the animation’s requirements with the right technology — CSS or JavaScript. Many animations are manageable with CSS but JavaScript will always provide more control. With document.getAnimations, however, you can use JavaScript to manage CSS animations! The document.getAnimations method returns an array of CSSAnimation objects. CSSAnimation provides a host…

vladmihalcea 1 min read

Introduction In this article, I explain why the Hibernate Types became Hypersistence Utils, and how you can migrate your old dependency to Hypersistence Utils 3.0. Hibernate Types The Hibernate Types project was first created in September 2017 with the goal of offering various Hibernate Types that were not supported natively, like support for JSON or ARRAY column types. Over the…

hibernatespringhibernate-typeshypersistencehypersistence utils

26 Dec 2022

David Walsh 1 min read

Knowing when resources are loaded is a key part of building functional, elegant websites. We’re used to using the DOMContentLoaded event (commonly referred to as “domready”) but did you know there’s an event that tells you when all fonts have loaded? Let’s learn how to use document.fonts! The document.fonts object features a ready property which is a Promise representing if…

23 Dec 2022

Michelle Duke 2 min read

Black eyes. What are we talking about? Rubber ducks, of course. Now the question you might be asking, “Why is everyone obsessed with rubber ducks?” You may have seen our new “What is GitHub?” video making its way around the internet. Outside of the famous comedian, whom you may recognize, you saw a new character floating around (literally). And if…

Stanko 9 min read

This is an interactive article. To fully experience it, you'll need to turn JavaScript on. Today, I'll take you through the process I came up with in regard to transforming an SVG path into a vector rope drawing. We'll learn how to turn the path on the left into the rope on the right: The problem popped up on a…

22 Dec 2022

Jacob 4 min read

Image Credits: Kumkum Jain Rukmini Bhattacharya (sometimes mispronounced as Ruk-Money) has been with Zomato since 2018 and with Blinkit since August 2022. She currently works as the City CEO of Bengaluru and heads growth. Here she recollects her journey transition from Zomato and fostering new experiences working with Blinkit. She also sheds light on her learnings working with a tech-first…

culturehumans-of-blinkitstartupbangalorequick-commerce

Stanko 4 min read

I was tasked with getting lines of text from an element many times. Usually it was to truncate the textBefore line-clamp was a thing or to animate the text line by line. It sounds easy, but I have encountered many edge cases in practice. After trying out multiple approaches, I finally have a solution I'm satisfied with, although it has…

21 Dec 2022

vladmihalcea 1 min read

Introduction In this article, we are going to see how to configure a Spring application to use MDC (Mapped Diagnostic Context) for transaction logging. This technique is going to help us inject the Persistence Context information as well as the associated database transaction identifier in all the log entries emitted from within a @Transactional service method. MDC (Mapped Diagnostic Context)…

springloggingmdctransactionaltransactions

20 Dec 2022

ericlippert 2 min read

Let’s take another look at the “hello world” example and think more carefully about what is actually going on: There’s a lot going on here. Let’s start by clearing up what the returned values of the random variables are. It … Continue reading →

uncategorized

Mike Hanley 5 min read

It’s that time of year where we’re all looking back at what we’ve accomplished and thinking ahead to goals and plans for the calendar year to come. As part of GitHub Universe, I shared some numbers that provided a window into the work our engineering and security teams drive each day on behalf of our community, customers, and Hubbers. As…

Luciano Mammino 17 min read

In 2022 Luciano Mammino was awarded AWS Serverless Hero, confirmed as Microsoft MVP, became Codemotion Ambassador, spoke at 25 events, produced 45 AWS Bites podcast episodes, streamed live coding 36 times, surpassed 8M downloads for Middy and much more. His plans for 2023 include growing his AWS and Serverless expertise, learning Rust and Solid.js.

life

19 Dec 2022

Joel Spolsky 6 min read

Since the 1990s, the web has been a publishing place for human-readable documents. Documents published on the web are in HTML. HTML has a little bit of… Read more "Progress on the Block Protocol"

news

12 min read

TL;DR: To serve users at the 75th percentile (P75) of devices and networks, we can now afford ~150KiB of HTML/CSS/fonts and ~300-350KiB of JavaScript (gzipped). This is a slight improvement on last year's budgets, thanks to device and network improvements. Meanwhile, sites continue to send more script than is reasonable for 80+% of the world's users, widening the gap between…

16 Dec 2022

15 Dec 2022

Ole Begemann 3 min read

I wrote an app called SwiftUI View Lifecycle. The app allows you to observe how different SwiftUI constructs and containers affect a view’s lifecycle, including the lifetime of its state and when onAppear gets called. The code for the app is on GitHub. It can be built for iOS and macOS. The view tree and the render tree When we…

vladmihalcea 1 min read

Introduction In this article, we are going to see how we can configure Spring Data to register several Hibernate Entity Listeners that can intercept entity state modifications. As I explained in this article, JPA also offers an event listening mechanism that you can configure via the @EntityListeners, @PostPersist or @PostUpdate, or PostRemove annotations. However, the JPA solution is way too…

hibernatespring

14 Dec 2022

ericlippert 4 min read

I’ll get back to Bean Machine and Beanstalk in the next episode; today, a brief diversion to discuss a general principle of language design and congratulate some of my former colleagues. Back when we were all at Waterloo, a bunch … Continue reading →

uncategorized

13 Dec 2022

Lindsey Wild 8 min read

Overview Throughout the GitHub User Interface (UI), there are complex search inputs that allow you to narrow the results you see based on different filters. For example, for repositories with GitHub Discussions, you can narrow the results to only show open discussions that you created. This is completed with the search bar and the use of defined filters. The current…

Jennifer Perez-Harris 1 min read

Imagine transforming from a traditional work environment with clear network boundaries and infrastructure to a scattered army of thousands of employees working in all sorts of ways – accessing apps, accessing platforms and accessing cloud-based services. Now, layer in identity, and what it would take to make sure the right people have the right level […] The post Hitachi’s SASE:…

customer focusspotlightcisco umbrelladns-layer securitysase

12 Dec 2022

11 Dec 2022

Henrik Warne 5 min read

A few months ago I switched to working in Go. Before that, my main language was Python for many years. The change to Go has been very smooth, without any major surprises or stumbling blocks. This may partly be because … Continue reading →

programminggogolang

6 min read

This is a transcription of videos Elon Musk's appearance on stage with Dave Chapelle using OpenAI's Whisper model with some manual error corrections and annotations for crowd noise. As with the Exhibit H Twitter text message release, there are a lot of articles that quote bits of this, but the articles generally missing a lot of what happened and often…

9 Dec 2022

ericlippert 3 min read

Did I actually build a compiler? Yes and no. Traditionally we think of a compiler as a program which takes as its input the text of a program written in one language (C#, say), and produces as its output an … Continue reading →

uncategorized

1 min read

In this article I’ll cover three techniques to compute special types of polynomial products that show up in lattice cryptography and fully homomorphic encryption. Namely, the negacyclic polynomial product, which is the product of two polynomials in the quotient ring $\mathbb{Z}[x] / (x^N + 1)$. As a precursor to the negacyclic product, we’ll cover the simpler cyclic product. All of…

8 Dec 2022

RisingStack Engineering 1 min read

Microservice Weekly, our newsletter about microservices had a great run – we’ve carefully curated the best sources we could find and sent out more than 160 issues to those who wanted to stay up-to-date in the complex world of microservices for years. Here’s a sneak peek if you want to take a look. It was […] The post RisingStack News…

other