After Duplo modularization, we noticed that the task producing a transitive R class was taking a significant amount of time to execute. To eliminate this task altogether, and since the non-transitive R class is advertised to have up to 40% incremental build time improvement, we decided to migrate our codebase to use it. If you’re not…
1 Feb 2023
We’re launching a pilot subscription plan for ChatGPT, a conversational AI that can chat with you, answer follow-up questions, and challenge incorrect assumptions.
Learning AppleScript from scratch by building a small practical automation on the Mac.
📔 Intro # I no longer use Goatcounter. I instead use Umami. This tutorial will still work if you wish you use Goattcounter though. I just posted about how I migrated from WordPress to Hugo here:
📔 Intro # When I started this blog in 2015 it was more to learn than to actually write anything. WordPress was easy enough to set up and maintain along with the plethora of plugins to mess with.
A forecast of green clouds
31 Jan 2023
We break down what you need to know about how to deliver SMS text messaging to your users without violating HIPAA regulations.
Power your on-demand service app with PubNub. This tutorial will teach you how to build a ridesharing Android app (Uber or Lyft clone).
I know I’m almost a decade late to this party, but I’m probably not the only one, so here goes. Double Fine Adventure was a wildly successful 2012 Kickstarter project to crowdfund the development of a point-and-click adventure game and, crucially, to document its development on video. The resulting game Broken Age was eventually released in two parts in 2014…
Last March we announced the Interop 2022 project, a collaboration between Apple, Bocoup, Google, Igalia, Microsoft, and Mozilla to improve the quality and consistency of their implementations of the web platform. Now that it's 2023 and we're deep into preparations for the next iteration of Interop, it's a good time to reflect on how the first year of Interop has…
Many engineers like myself live in the command line, and perform actions from command line that most others would click an icon for. I’ve always found opening apps from command line on Macs painful. You need to references the Applications directory, add .app to the name, etc. I just want to open apps by name. To open an app from…
We’re launching a classifier trained to distinguish between AI-written and human-written text.
How string concatenation works in AppleScript and how it differs from other languages.
We’ve recently improved the raw performance of the Datadog Agent, leading to 20% less CPU use on Agents flooded with custom metrics.
How to run a successful discovery
The five pillars of cloud security
30 Jan 2023
Reader “Joel” had an insightful comment on the first part of this series which I thought deserved a short episode of its own. Recall that we proved the theorem “if a compositional forest contains a mockingbird then every bird in … Continue reading →
There are many different types of AI development tools available, but not all of them are created equal. Some tools are more suited for certain tasks than others, and it’s important to select the right tool for the job. Choosing the wrong tool can lead to frustration and wasted time, so it’s important to do […] The post AI Development…
When I was a child, I loved looking for Waldo in the “Where’s Waldo?” book series. These days I’m a sucker for TMZ’s “What’s the Big Frigin Difference” images, where TMZ slightly changes an image and you have to spot the differences between the two. That got me to thinking — how easily could I automate diff’ing two images? This…
TailwindCSS is a popular utility-first CSS framework that allows developers to quickly and easily build responsive, consistent user interfaces. Next.js is a popular React-based framework, which works perfectly with Tailwind. If you’re using vanilla React, we also have an article covering using Tailwind with that here. In this article, I’ll show you how to set […]
Fetching data in a Next.js app is an essential part of building any web application. Axios is a popular library for making HTTP requests in JavaScript. It can be easily integrated into a Next.js app to handle the fetching of data from an API, and in this article I’ll talk you through that process. Set-up […]
Keeping our pace of 1 minor a month, this is the January 2023 release.
Planet Lite, our copyright-free map of the entire world, has been upgraded with enhanced features and issue fixes have been made to our lite version of MapTiler Planet. This latest release of the Lite version of MapTiler Planet has improved compatibility, boundaries, and some new features and upgrades.
The dark side of multitasking
Rust as a programming language for automotive software
Extreme programming (XP) and test-driven development (TDD)
27 Jan 2023
Join us for an exclusive drinks and networking evening at Home Grown Members Club in Marylebone with Capital on Tap UK MD, Alex Miles
Hash routing is a technique used in Single Page Applications (SPAs) to enable navigation through different views or components without reloading the entire page. How does Hash Routing work? It works by updating the URL in the address bar with a hash symbol (#) followed by a route, also known as a hash fragment. When […]
The Shadow DOM is a technique for creating and using isolated, reusable parts of a web page’s structure and styling. Introduction The Shadow DOM allows developers to encapsulate the structure and styling of a particular element or component so that it can be easily reused and integrated with other parts of a web page without […]
Preloading and Prefetching are two techniques that can be used to improve the loading performance of a web application. These techniques are particularly useful for optimizing the loading time of resources, such as images, stylesheets, and JavaScript files, which are required for the application to function correctly. In this article, we will explore how to […]
Introduction React is a popular JavaScript library for building user interfaces used by many developers worldwide. One of the tools that can help developers build React applications more efficiently is a build tool. What is a Build tool? A build tool is a software that helps automate the process of building, testing, and deploying an […]
Fiber is a reconciliation algorithm used in the popular JavaScript library React to efficiently update a web application’s user interface (UI). It was introduced in version 16.0 of React in 2017 and has significantly improved the performance of React applications. What is reconciliation in React? In React, when the state of a component changes, the […]
GraphQL is a modern solution for facilitating the communication between a front end and a data source. All of the details and capabilities…
Reimagining the employee experience through a new self-service portal
Why your team design is slowing your business down - and what to do about it
26 Jan 2023
Chakra UI is a popular library for building user interfaces with a focus on accessibility and developer experience. It provides a set of reusable components that can be easily integrated into any project. In this article, we will go over the process of setting up Chakra UI with Next.js, a popular framework for building server-rendered […]
Framer Motion is a powerful animation library that makes it easy to create smooth, complex animations in your Next.js projects. In this article, we will explore the benefits of using Framer Motion in a Next.js project. By combining the two, you can create highly interactive and visually appealing Next.js applications with minimal effort. Let’s walk […]
To the best of my memory Tweetbot has been my window into Twitter since pretty close to when it was released. I open Twitter’s web interface from time to time when I had to, but it has not been my primary way to use the service for well over a decade. There are multiple reasons I was fine with living…
Seven trends transforming the technology landscape
Get set for sustainable transformation
25 Jan 2023
If you're a Go developer and you're looking to go serverless, AWS Lambda is a solid choice that will get you up and running in no time. But what happens when you need to connect to your database? With... The post Interact with MongoDB in an AWS Lambda Function Using Go appeared first on MongoDB.
Final chapter of the Phabricator to Gitea migration project.
Life starts beyond your comfort zone
24 Jan 2023
Slack launched GovSlack in July 2022. With GovSlack, government agencies, and those they work with, can enable their teams to seamlessly collaborate in their digital headquarters, while keeping security and compliance at the forefront. Using GovSlack includes the following benefits: Supports key government security standards, such as FedRAMP High, DoD IL4, and ITAR Runs in…
Introduction In this article, we are going to see that scaling the data access layer of a Spring application can be done very easily with a YugabyteDB cluster. As I explained in this article, YugabyteDB is an open-source distributed SQL database that offers all the benefits of a typical relational database (e.g., SQL, strong consistency, ACID transactions) with the advantages…
A Streamlined developer experience in Data Mesh (Pt. two)
A streamlined developer experience in Data Mesh (Pt. one)
AI-assisted content pipelines for XR
23 Jan 2023
An initiative to improve the code and technical design documentation for Blender. Developers, technical writers and other contributors: Join the party!
Embarking on a payments innovation like open banking can be daunting for non-financial services people. In this guest blog, Cuckoo's Alexander Fenton explains how the benefits offered by open banking make it well worth investigating.
In this guest blog, Nude’s CMO Yoann Pavy discusses how open banking is helping Nude's customers meet their financial goals (without having to give up avocado on toast).
Functional components in Next.js are executed exactly like regular functions; they return some custom HTML used to render your component. This means any values in the function are initialised when you call the function, resetting them every time your component renders. You can use the useState hook to persist values across renders. Example Here’s the […]
Uploading a file to Amazon S3 (Simple Storage Service) in a Next.js application is a straightforward process that can be accomplished with the help of the AWS SDK (Software Development Kit) for JavaScript. Getting Started First, you’ll need to set up an S3 bucket in your AWS account, and make note of the access key […]
We’re happy to announce that OpenAI and Microsoft are extending our partnership.
How to self-host Plausible Analytics for a website and keep analytics under your control.
Everything you need to know about testing data pipelines
Three capabilities that can help healthcare organizations adopt Data Mesh
22 Jan 2023
Build a multiplayer game with JavaScript, Phaser & PubNub for real-time sync, presence, and low-latency gameplay at scale!
21 Jan 2023
muffn_ on Spotify #
20 Jan 2023
Open banking in the UK hits another milestone
Efficient payment strategies help insurers stay on top in an evolving market.
One of MySQL 8’s biggest improvements is the support of window functions. As I always said in conferences, there’s SQL before window functions and SQL after window functions. Once you start using them, you’ll use them everywhere. Some of you poor souls are unfortunate enough to be stuck on MySQL 5.7, either of your own … Continue reading Emulating Window…
Tech debt — what business leaders need to know
19 Jan 2023
Dolby.io has formed an alliance with PubNub that enables even greater real-time social engagement capabilities.
Looking to supercharge cross-functional work at your organization? Here at GitHub, we take pride in using GitHub to release new products and features. Each new product and feature that we release requires a great amount of cross-functional collaboration, and touches nearly all our teams, from engineering to social media. But it’s not a challenge to share information across teams thanks…
18 Jan 2023
See how our development team handled brainstorming, creative thinking, and most importantly, sketching during the design process.
Previously on this blog, I’ve written a post explaining why you should use jOOQ’s code generator, despite the possibility of using jOOQ without it. In a similar fashion, as I’ve answered numerous jOOQ questions on Stack Overflow, where someone used jOOQ to build a query, but then executed it elsewhere, including on: jOOQ itself isn’t … Continue reading Why You…
Introduction Access modifiers are a feature of object-oriented programming languages that determine the accessibility or visibility of class members (properties and methods). In TypeScript, there are four access modifiers: public, private, protected, and readonly. These modifiers can be applied to properties, methods, and constructors to control how they can be accessed and modified within a […]
NPM, or the Node Package Manager, is a crucial tool for any developer working with Node.js, the popular JavaScript Runtime Environment. It allows developers to easily share and reuse code and manage their projects’ dependencies. In this article, we will explore what NPM is, how it works, and why it is so essential within the Node.js ecosystem. What […]
Introduction If you’ve ever worked with Dates in JavaScript, you sure know how clunky and hard to work with they are; that’s why, recently, there has been a proposal for a brand new way of working with them, you’ve guessed it— Temporal API. Now, what is it? If we take the Introductionary information that they […]
Introduction Abstract classes are a powerful feature in TypeScript, a popular typed superset of JavaScript. They provide a way for developers to define the structure of a class without implementing all of its methods. In this article, we’ll go more in-depth to understand why, when, and how we would use Abstract Classes in our TypeScript […]
Error handling is a crucial aspect of software development, and it is especially important in the world of React, where components can be nested and complex. Proper error handling helps to ensure that your application remains stable and functional even when something goes wrong. In this article, we will explore some best practices for adding […]
My Thoughtworks story - Helena Lyhme
ONDC - creating new opportunities for financial services in India
17 Jan 2023
For the next part in my Bean Machine retrospective to make sense I’ll need to make a short digression. In looking back on the almost 20 years I’ve been blogging, it is surprising to me that I’ve only briefly alluded … Continue reading →
Introduction In this article, I’m going to explain how you can use the BaseJpaRepository from the Hypersistence Utils OSS project as an alternative to the default Spring Data JpaRepository. The reason why I’m not using the default JpaRepository on any of my Spring projects is that it provides some terrible defaults that can be very easily misused, like: The findAll…
The learnings of a product manager at GoCardless - through the eyes of interns
The start of a new year is usually a time when we start looking for ways to make something a little better. That something could be our life, work, or what we produce. Web designers, for example, might look for ways to make their designs more interesting or effective. In this post we will focus on 5 web design trends…
jOOQ already has a LoggingConnection (see also the manual), which acts as a JDBC proxy Connection to log all SQL statements that are executed by any JDBC client (including Hibernate, MyBatis, JdbcTemplate, native JDBC, etc.). Starting from jOOQ 3.18.0, 3.17.7, and 3.16.13, a LoggingConnection is now also available for R2DBC clients to log all reactive … Continue reading jOOQ’s R2DBC…
Payments are mission-critical. And so is your payer experience.
How to avoid the pitfalls of the pseudo-MVP
Key insights for a QA in a legacy enterprise modernization project
Are super apps a global trend?
16 Jan 2023
Is your payment collection process ready for economic uncertainty? Watch on-demand to find out how you can protect your revenue by automating your payments.
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
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…
13 Jan 2023
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,…
Next to Metal-accelerated computing in Cycles, it is now possible to enjoy improved EEVEE viewport (and UI) performance as well.
The practice of selling via social media brings many benefits to retailers.
Learn how to get paid faster if you have repeating or regular customer payments.
With open banking Income verification no longer takes days or weeks but seconds!
Increase your customer retention with our 5 Open Banking examples.
Digital payments are transactions that take place online or digitally.
11 Jan 2023
In this guest blog, Plend's James Pursaill discusses how the start up is reinventing the loans landscape through the greater transparency and data capabilities offered by open banking.
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…
Forecasting potential misuses of language models for disinformation campaigns and how to reduce risk
OpenAI EngineeringOpenAI 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…
10 Jan 2023
We're excited to announce a new livestream, brought to you by the Microsoft Community Team. Need updates on the latest and greatest Microsoft releases for Python? We got you. Each stream we start with a run down of the latest news in Microsoft Cloud, VS Code and Python tech ecosystem, then we deep dive into special segments with an esteemed…
9 Jan 2023
How to build an Android heart rate monitor that streams heart rate data in real time to a real-time dashboard from the Android smartphone app.
How to build a more engaging progressive web app with real-time web notifications using React and PubNub.