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…
9 Jan 2023
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…
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…
I keep getting asked how my setup works, how I use tmux and nvim over ssh… all that good stuff.
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
How to use Presence for real-time IoT monitoring for devices to get device state, health and status.
7 Jan 2023
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 →
6 Jan 2023
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.
I recently celebrated my one year anniversary as a Site Reliability Engineering (SRE) trainee at SoundCloud. Looking back, I had very little…
5 Jan 2023
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 →
Learn how to prevent a missed direct debit payment from impacting your business.
Learn how to use the cash flow conversion formula in business.
Find out more about the best assets that generate cash flow.
Discover the various types of recurring payment examples.
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…
4 Jan 2023
HIPAA violations can be financially expensive and devastating to a brand. Examine examples of HIPAA violations and learn how to avoid them.
PubNub can help track your software licenses in real-time to prevent subscription and licensing misuse
Using GPT-3 to deliver fast, nuanced insights from customer feedback.
Ten pieces of advice for a successful job search in 2023
3 Jan 2023
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…
Scrolling to the top of a page can be a useful feature to include in your Next.js website or application. It can be especially helpful when a user has scrolled down a long page and wants to quickly return to the top. In this article, we’ll explore how to implement this in Next.js. We also […]
The reducer method is a very useful array method. It lets you process an array item by item, reducing this to one variable. By default, the return type of the reducer is a single item of whatever your array returns. You can change the return type by providing a different initial value to reduce. In […]
Fine-tuning GPT-3 to power and scale done-for-you video creation.
AI at scale in Capital Markets
2 Jan 2023
aaS companies need to rapidly and effectively meet customer needs with live chat. But, not all live chat is created equal.
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…
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…
Backstage: The Developer Portal that organizations need for their developers
1 Jan 2023
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…
Using GPT-3 to create the next generation of AI-powered characters.
30 Dec 2022
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…
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 :…
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
Join us on Thursday, February 9 at 10am GMT to hear whats new on GoCardless Partner Product Roadmap for 2023
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
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…
The Future is Green: The Rise of Responsible Tech
27 Dec 2022
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…
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…
Another month, another release! In fact, the last release of the year.
26 Dec 2022
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
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…
Lilian Weng works on Applied AI Research at OpenAI.
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…
Meet a Thoughtworks grad: Maria Baturina, Software Developer Consultant
Meet a Thoughtworks grad: Shuai Wang, Business Analyst
Meet a Thoughtworks grad: Tripti Ramesh, Business Analyst
22 Dec 2022
Learn about the new GoCardless woodland
Further detail on the UX design for the new Brush Assets and how they will affect the UI for Asset usage overall.
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…
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…
Agile@Salesforce - DevOps best practices (part two)
Agile@Salesforce - DevOps best practices (part one)
21 Dec 2022
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)…
XR tech stacks in 2022
20 Dec 2022
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 →
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…
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.
Not long ago, when I was building melt, I learned something interesting.
19 Dec 2022
A look back at the most exciting PubNub product releases and news from the past year.
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…
Data mesh: it's not just about tech, it's about ownership and communication (part 2)
Thoughtworks InsightsData mesh: it's not just about tech, it's about ownership and communication (part 2)
16 Dec 2022
How to select technology for Data Mesh
It’s time to get real: the truth about gender diversity in tech
How to release mobile apps weekly
15 Dec 2022
Looking to replicate the feeling of in-person interaction in your chat app? Learn how a typing indicator boosts engagement within your community.
API-based chat platforms bring real-time chat to your website or app, with chat features and UX built in, without the limits of SaaS chat platforms.
Planning your next virtual experience? Learn how a profanity filter fuels an engaging user experience.
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…
Learnings from migrating Accessibility Insights for Web to Chrome’s Manifest V3
Engineering at MicrosoftSince February 2022, the Accessibility Insights team has been migrating Accessibility Insights for Web–our Chrome and Edge extension introduced in Jacqueline's February 14, 2022, post from Manifest V2 (MV2) to Manifest V3 (MV3). We wanted to share learnings and takeaways from our migration journey with a walkthrough… The post Learnings from migrating Accessibility Insights for Web to Chrome’s Manifest V3…
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…
We are excited to announce a new embedding model which is significantly more capable, cost effective, and simpler to use.
7 ways I grew as an employer branding professional
14 Dec 2022
Retrieving, publishing, and displaying live-updating geolocation data on a real-time map using React Native and PubNub.
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 →
Google Fonts is a great collection of free fonts to use in your web app. Thanks to Next.js, using any font from Google fonts is very streamlined and simple. In this article, I’ll talk you through the Next.js method, as well as a method that works for older versions of Next.js. next/font One of the […]
You can read and write files in TypeScript using the “fs” module, which is a Node module containing methods for file system operations. The module is very versatile and provides a lot of different ways of reading from and writing to files, so in this article, I’ll talk you through them. Reading Files Synchronously If […]
Environment variables are variables passed to your app when it starts. They’re called so because they’re part of the environment your app will run in. They’re useful for things like telling your application if it’s running in production or development mode, or passing in values like API tokens or API URLs. If you’re looking to […]
13 Dec 2022
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…
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:…
Splitting an array into chunks might be a common problem you’ll run into in your TypeScript apps. In this article I’ll talk you through my approach, how that works, as well as the Lodash approach. Using Reduce One simple approach to this problem is to use reduce. Reduce is a very useful method for processing […]
PM2 is a Javascript process manager. It’s used to handle automatically managing your application in the background. A common use case for PM2 is deploying a Node.js app on a server. PM2 can help to handle storing configurations for the app, starting your app and handling things such as automatically starting your app with your […]
12 Dec 2022
Learn about the four components to every Virtual Space and how PubNub enables users to be fully immersed in digital environments.
Learn how to calculate the cost of retaining a customer.
What is the value of customer loyalty and retention to your business?
Learn more about how the process of customer retention works.
Choose the best method to improve customer retention.
What is customer retention cost and how do you calculate it?
Busting five myths about AI’s potential in retail
Privacy-first data via data mesh: migrating governance to federated delegation
Thoughtworks InsightsPrivacy-first data via data mesh: migrating governance to federated delegation
Bootstrapping innovation in financial service firms
11 Dec 2022
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 →