We use GPT-4 for content policy development and content moderation decisions, enabling more consistent labeling, a faster feedback loop for policy refinement, and less involvement from human moderators.
15 Aug 2023
14 Aug 2023
As more of the JavaScript developers write becomes asynchronous, it’s only natural to need to wait for conditions to be met. This is especially true in a world with asynchronous testing of conditions which don’t provide an explicit await. I’ve written about waitForever, waitForTime, and JavaScript Polling in the past, but I wanted to have a more modern way of…
Getting started with GitHub Copilot
11 Aug 2023
One of the larger downloads when requesting a webpage are custom fonts. There are many great techniques for lazy loading fonts to improve performance for those on poor connections. By getting insight into what fonts the user has available, we can avoid loading custom fonts. That’s where queryLocalFonts comes in — an native JavaScript function to gather user font information.…
10 Aug 2023
Table of Contents In the last article in this series, we defined some custom lowering passes that modified an MLIR program. Notably, we accomplished that by implementing the required interfaces of the MLIR API directly. This is not the way that most MLIR developers work. Instead, they use a code generation tool called tablegen to generate boilerplate for them, and…
Table of Contents This series is an introduction to MLIR and an onboarding tutorial for the HEIR project. Last time we saw how to run and test a basic lowering. This time we will write some simple passes to illustrate the various parts of the MLIR API and the pass infrastructure. As mentioned previously, the main work in MLIR is…
Table of Contents Last time, we covered a Bazel build system setup for an MLIR project. This time we’ll give an overview of a simple lowering and show how end-to-end tests work in MLIR. All of the code for this article is contained in this pull request on GitHub, and the commits are nicely organized and quite readable. Two of…
Table of Contents As we announced recently, my team at Google has started a new effort to build production-worthy engineering tools for Fully Homomorphic Encryption (FHE). One focal point of this, and one which I’ll be focusing on as long as Google is willing to pay me to do so, is building out a compiler toolchain for FHE in the…
Today my team at Google published an article on Google’s Developers Blog with some updates on what we’ve been doing with fully homomorphic encryption (FHE). There’s fun stuff in there, including work on video processing FHE, compiling ML models to FHE, an FHE implementation for TPUs, and improvements to the compiler I wrote about earlier this year. TODO: add mower…
The modern web video player - Part 1
The modern web video player - Part 2
9 Aug 2023
Serguei explains the unique benefits of using Rust, stating that it "essentially makes me a better programmer."
A little over 100 commits in small-ish quality-of-life improvements.
8 Aug 2023
Separate social, info-sharing, and decision-making meetings. Effective meetings require a process owner, agenda, preread, and curated attendees.
As seen in a previous tutorial, creating a serverless function for AWS Lambda with Java and MongoDB isn't too complicated of a task. In fact, you can get it done with around 35 lines of code! However,... The post Serverless Development with Kotlin, AWS Lambda, and MongoDB Atlas appeared first on MongoDB.
This blog post will walk through how we developed UniFFI: a Rust library for auto-generating foreign language bindings. We will walk through some of the issues that arose along the way and how we handled them. The post Autogenerating Rust-JS bindings with UniFFI appeared first on Mozilla Hacks - the Web developer blog.
Denis Villeneuve, expert of visual storytelling, frequently employs the panning shot with an extensive use of the parallax effect to immerse viewers in his films, allowing them to experience a sense of place, scale, and depth like never before. He uses these teqniques most visibly in “Blade Runner 2049” (2017), “Enemy” (2013), and “Dune” (2021), highlighting how his use of…
Unraveling growth challenges: Could a system architect be the solution? Serverless Architecture from Classic Programmer Paintings Most startups that go through hyper-growth tend to face the inevitable Bottlenecks of Scaleups, as masterfully described by ThoughtWorks. Having navigated the hyper-growth journey myself, I’ve witnessed firsthand how these technical bottlenecks can impede business progress, causing churn and chaos. Bottlenecks of Scaleups In…
Generative AI for 3D content in XR and beyond
7 Aug 2023
First-time Kubernetes has challenges: High costs due to unoptimized deployments. Steep learning curve. Optimizing HPA autoscaling for stability.
Suppose we’ve got a service. We’ll gloss over the details for now, but let’s stipulate that it accepts requests from the outside world, and takes some action in response. Maybe those requests are HTTP requests, or RPCs, or just incoming packets to be routed at the network layer. We can get more specific later. What can we say about its…
Introduction In this article, we are going to see how the SQL Server useBulkCopyForBatchInsert configuration property works when using JDBC, JPA, or Hibernate. SQL Server PreparedStatement batching When using JPA and Hibernate, the generated SQL statements are going to be executed using the JDBC PreparedStatement because prepared statements increase the likelihood of statement caching, and you to avoid SQL injection…
Web debugging tools are so incredibly excellent these days. I remember the days where they didn’t exist and debugging was a total nightmare, even for the simplest of problems. A while back I introduced many of you to Logpoints, a way to output console.log messages without needing to change the source files. Another great breakpoint type is XHR/fetch breakpoints, allowing…
5 Aug 2023
Generative AI - a case of mismatched expectations
4 Aug 2023
What if I told you that we can make a timer without using setTimeout, setInterval or requestAnimationFrame? JavaScript is still necessary, but we can create the timer just by toggling some CSS classes. While I was working on an autoplay feature for a carousel, I thought to myself - CSS animations are kinda like timers. They have animationstart and animationend…
Forecasting Team Performance
3 Aug 2023
The August 2023 release of the Python and Jupyter extensions for Visual Studio Code are now available. This month's updates include a pre-configured dev container for the Python extension, a new debug configuration, an npm package for the Python extension API, and error-tolerant pytest discovery with the testing rewrite. Keep reading to learn more! The post Python in Visual Studio…
We re-enabled payments to Heroku in India! At the start of August, we resumed accepting credit and debit cards issued by Indian financial institutions. From the engagement on our public roadmap, we know that there are many developers in India eager to get back on the platform. We want to address the work done to […] The post Heroku Card…
In our latest post, Cara May-Cole explores blockchain in sustainable programming and its impact on achieving greener solutions. The post Blockchain in Sustainable Programming appeared first on Erlang Solutions.
2 Aug 2023
User presence is an important feature to include when building an engaging, real-time virtual experience.
Low-code and no-code approaches emphasize visual development tools and prebuilt components to streamline development.
Hacker Summer Camp, as it is colloquially known, is three security conferences that are all next week in Las Vegas. The three conferences that makeup Security Summer Camp are: While preparing for these conferences, I dug through their schedules and picked out the talks I was most interested in catching. BSides Las Vegas BSides Las Vegas is back with a…
The developer experience engineering team at GitHub works on creating safe, delightful, and inclusive solutions for GitHub engineers to efficiently code, ship, and operate software–setting an example for the world on how to build software with GitHub. To achieve this we provide our developers with a paved path–a comprehensive suite of automated tools and applications to streamline our runtime platforms,…
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, which explains how the standard PostgreSQL MVCC system works and how the OrioleDB engine…
How to use prompt engineering with large language models
Platform engineering: How you can help developers deliver more value at a lower cost
Thoughtworks InsightsPlatform engineering: How you can help developers deliver more value at a lower cost
1 Aug 2023
Change-data capture: What, why and how to make the most of it
31 Jul 2023
Bookmarks for August 2023: 4 links - Don't be clever - stitcher.io; Perche' l'OnlyFans economy impatta sul mercato del lavoro...; Broken Ownership, and more.
SNS is a fully managed messaging service that enables developers to send notifications to various endpoints or distributed systems
We are pleased to announce the results of the migration of the shared data pipeline service from Python 2 to Python 3.
At Microsoft, we continue working on modernizing our services to make them faster, more reliable, and up to date with the latest technologies. In this blog post, we’ll cover how Azure Load Testing helped ensure that the Azure Active Directory (AAD) based authentication mechanism for Azure Cache for Redis met the performance criteria. Azure Cache […] The post Load testing…
Next.js is a great React-based library, which includes some great features built-in that make getting started with your React app easy and simple. One of those features is the fairly new next/font package, which makes implementing fonts in your Next.js app quick and easy. Getting Started Google Fonts One of the great features of Next’s […]
Large Screen Devices - The New Frontier SoundCloud large screen optimized Recently, the Android team at SoundCloud took on a project to…
When building a world-class digital banking CX, here are nine pitfalls to avoid
Thoughtworks InsightsWhen building a world-class digital banking CX, here are nine pitfalls to avoid
30 Jul 2023
Insights is a valuable tool for understanding your data, but analyzing the data and deciding what actions to take can be harder, which is where “Analyze with AI” can help, allowing you to ask questions about your data in plain English.
28 Jul 2023
Exploring everything you need to consider when it comes to the benefits and disadvantages of serverless computing.
The future of inclusive development with DPGs
Payment in Australia - Part 1
Generative AI: Headwind or tailwind for product development?
Payment in Australia - Part 2
27 Jul 2023
Artificial intelligence may well prove one of the most impactful and disruptive technologies to come along in years. We want to understand, support, and contribute to these efforts because we believe that they offer one of the best ways to help ensure that the AI systems that emerge are truly trustworthy. With this in mind, a small team within Mozilla’s…
At GitHub, we perform a lot of merges and rebases in the background. For example, when you’re ready to merge your pull request, we already have the resulting merge assembled. Speeding up merge and rebase performance saves both user-visible time and backend resources. Git has recently learned some new tricks which we’re using at scale across GitHub. This post walks…
Discover how to ship RabbitMQ logs to Elasticsearch for valuable insights and seamless issue resolution. The post Ship RabbitMQ logs to Elasticsearch appeared first on Erlang Solutions.
Leading the Technology Revolution: Thoughtworks' Impact in Latin America
26 Jul 2023
Customer-first: Moving from Hero Engineering to Reliability Engineering From the beginning, Slack has always had a strong focus on the customer experience, and customer love is one of our core values. Slack has grown from a small team to thousands of employees over the years and this customer love has always included a focus on…
Introduction In this article, we are going to see how we can do JDBC profiling using the VisualVM tool to find slow-running SQL queries or discover N+1 query issues. VisualVM VisualVM is an OSS tool that allows us to inspect the JVM and the Java applications running inside the Java Virtual Machine. You can download VisualVM from this link and…
Happy clients and time saved. Get more than you bargained for with Direct Debit
We’re forming a new industry body to promote the safe and responsible development of frontier AI systems: advancing AI safety research, identifying best practices and standards, and facilitating information sharing among policymakers and industry.
Flutter for automotive HMI applications
25 Jul 2023
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 Did you always have an interest in software development from a young age? I definitely had an interest in computers but I didn’t know what software development was. I remember…
GenAI practical governance: How to reduce information security risk
How BIAN can help drive coreless banking and improve innovation in the industry
Thoughtworks InsightsHow BIAN can help drive coreless banking and improve innovation in the industry
24 Jul 2023
With AI-powered real-time analytics, you can quickly and reliably turn large data pools into powerful insights to accelerate business growth.
AI language models, such as ChatGPT and Claude, empower anyone to create software. These models can intelligently understand problems, create solutions, and explain the solutions. But natural language isn’t always the best way to communicate with AI. If you need to keep track of complex data and define how you interact with that data in specific ways, SudoLang can help.…
A free weather API for visualizing temperature, precipitation, wind, radar, pressure, and clouds to web maps and apps. Add weather layers and animations to your maps.
23 Jul 2023
So you need to build an application that will scale with demand and a database to scale with it? It might make sense to explore serverless functions, like those offered by AWS Lambda, and a cloud data... The post Serverless Development with AWS Lambda and MongoDB Atlas Using Java appeared first on MongoDB.
21 Jul 2023
Some ideas for making design workshops more effective.
OpenAI and other leading labs reinforce AI safety, security and trustworthiness through voluntary commitments.
Introduction In this article, we are going to see how we can implement a soft delete mechanism when the JPA entity features a version property. If you are not using a version property for optimistic locking, then you can implement the soft delete strategy, as explained in this article. Domain Model Let’s assume we have the following Post, PostDetails, PostComment,…
20 Jul 2023
Migrating Python to Rust for scalability and adaptability. Our Channel Group infrastructure is one example of our engineering challenges.
Learn how to integrate OpenAI's ChatGPT into a geolocation app using PubNub.
Summary Subdomain reuse, also known as subdomain takeover, is a security vulnerability that occurs when an attacker claims and takes control of a target domain. Typically, this happens when an application is deprecated and an attacker directs residual traffic to a host that they control. As of 14 June 2023, we changed the format of […] The post Security Improvement:…
In our newest blog post, we delve into the game-changing potential of the Internet of Things (IoT) in supply chain management. The post How IoT is Revolutionising Supply Chain Management appeared first on Erlang Solutions.
We’re rolling out custom instructions to give you more control over how ChatGPT responds. Set your preferences, and ChatGPT will keep them in mind for all future conversations.
Learn how to use the recently-added Tailscale, DNS, and Zeroconf endpoint discovery in Wishlist, our SSH host directory.
Boost your tech ROI with Engineering Effectiveness
A Decade of innovation, impact, and culture
Learn how to build a fluid, modern radial menu leveraging new and upcoming CSS capabilities.
19 Jul 2023
As a design organization, we have the opportunity to make a significant impact on designing the platform for all developers. How does the emergence of creative AI impact our work? How can we achieve an inclusive experience for a spectrum of all abilities? What does designing for developer happiness look like? These are questions the GitHub Design team asked ourselves…
Basic concepts and functions of building player movement for multiplayer games using Phaser and PubNub.
How business leaders can leverage accessibility to innovate and grow revenue
18 Jul 2023
Learn estate agent payments online.
Learn how to accept payments for a marketing agency.
Could you boost your martial arts studio income?
What online payment methods would work best for your self storage business?
The best invoice processing solutions make payments easier.
Find out how to deal with late paying clients by making payments easy.
Adding AuthN to OAuth2.0 OpenID Connect (OIDC) is an authentication protocol that sits on top of the OAuth2.0 protocol. It provides a standardized way for clients to authenticate users and obtain information about their identity. In simple terms, OpenID Connect allows users to log in to different applications using a single set of credentials. It […] The post OpenID Connect…
A new $5+ million partnership aims to explore ways the development of artificial intelligence (AI) can support a thriving, innovative local news field, and ensure local news organizations shape the future of this emerging technology.
17 Jul 2023
Research Highlights Agility, Flexibility, and Real-Time Technology as Good Indicators of Future Growth
Speeding up animators (and others working with animation data) by reducing manual data management.
Parsing of URLs on the client side has been a common practice for two decades. The early days included using illegible regular expressions but the JavaScript specification eventually evolved into a new URL method of parsing URLs. While URL is incredibly useful when a valid URL is provided, an invalid string will throw an error — yikes! A new method,…
Switching online payment processing providers is easier than you might think.
Learn how to keep track of different types of invoices in accounting.
How to choose an easy way to accept payments online.
8 essential payment processing tips for UK businesses