Read our complete guide on making your own multi-purpose leaderboard. In this guide, you’ll learn to build a leaderboard for social apps, games, and more.
28 Mar 2023
Read our complete guide on how to filter Events using the Advanced JSONPath Filter in Events & Actions.
PubNub’s Events & Actions provides real-time event routing and processing for filtering events. Learn how to create event listeners and actions with Basic Filters, including WebHook calls, SQS, and Kinesis integrations.
Introduction In this article, we are going to see what is the best way to use the Spring Data JPA Specification when combining multiple predicates with the result set ordering logic. While you can also use query methods or the @Query annotation to define your Spring Data queries, the Spring Data JPA Specification allows you to compose dynamically various filtering…
If you’re new to TypeScript, you might have noticed that there are three different keywords that you can use to declare variables: var, let, and const. While they might seem interchangeable at first, there are some important differences between them that you should be aware of. In this article, we’ll explore what each of these […]
If you’re working with arrays in TypeScript, you’ve probably come across the map() function. The map() function is a powerful tool that allows you to transform each element of an array into a new element, based on a function that you define. Here’s what the function looks like: The map function accepts a function that […]
Checking for null and undefined is a common task in TypeScript (and JavaScript in general), and there are several ways to do it. In this article, we’ll explore some of the most common techniques for checking null and undefined values in TypeScript. Equals The most straightforward way of checking is of course the equality operator […]
Spend money to make money - the longer-term benefits of investing in payments
AI Augmented: Solving organizations’ most difficult problem
27 Mar 2023
As much as content creators want traffic to their website, there is such thing as the wrong type of traffic. Sometimes it’s content scrapers, sometimes it’s malicious bots; either way, it’s important to know how to block problematic IPs from your site. To block a range of IP addresses using an .htaccess file, you can use the * wildcard for…
26 Mar 2023
At my current client, Nordic Leisure Travel Group , we have a large number of web tests that automates some of the QA effort. The tests are written in Selenium and Playwright. They run on a schedule in Jenkins and we get reports on email. They take quite some time to run. Unfortunately some of the tests are a bit…
This article explores the multifaceted definition of a senior software engineer. It covers the technical skills like going a level deeper and having a broad understanding, as well as soft skills like communication, autonomy, business acumen, and leadership. It provides tips on how to grow, such as pair programming and content creation. The path to seniority requires dedication, perseverance and…
24 Mar 2023
And what it can teach us about SwiftUI’s stack layout algorithm I have one more thing to say on the relative sizing view modifier from my previous post, Working with percentages in SwiftUI layout. I’m assuming you’ve read that article. The following is good to know if you want to use the modifier in your own code, but I hope…
Occasionally, you want to write a SQL query and fetch a hierarchy of data, whose flat representation may look like this: The result might be: |id |parent_id|label | |---|---------|-------------------| |1 | |C: | |2 |1 |eclipse | |3 |2 |configuration | |4 |2 |dropins | |5 |2 |features | |7 |2 |plugins | |8 |2 … Continue reading How to…
An update on our findings, the actions we’ve taken, and technical details of the bug.
How to drive sustainability through responsible tech in your organization
Onboarding isn't driving productivity
Beyond the ChatGPT hype: Five recommendations for formulating and executing an AI-enabled product strategy (Part II)
Thoughtworks InsightsBeyond the ChatGPT hype: Five recommendations for formulating and executing an AI-enabled product strategy (Part II)
Beyond the ChatGPT hype: How can executives know what is good for business? (Part I)
Thoughtworks InsightsBeyond the ChatGPT hype: How can executives know what is good for business? (Part I)
Deliver more with less by improving your organization’s engineering effectiveness
Thoughtworks InsightsDeliver more with less by improving your organization’s engineering effectiveness
Types of developer friction that developer portals solve
23 Mar 2023
SwiftUI’s layout primitives generally don’t provide relative sizing options, e.g. “make this view 50 % of the width of its container”. Let’s build our own! Use case: chat bubbles Consider this chat conversation view as an example of what I want to build. The chat bubbles always remain 80 % as wide as their container as the view is resized:…
Which business expense categories should you be looking at?
On March 23 I was invited to participate in a panel discussion at the European Internet Services Providers Association (EuroISPA). The focus of this discussion was on recent legislative proposals, especially the EU Commission’s new “chat control” content scanning proposal, as well as the future of encryption and fundamental rights. These are the introductory remarks … Continue reading Remarks on…
We’ve implemented initial support for plugins in ChatGPT. Plugins are tools designed specifically for language models with safety as a core principle, and help ChatGPT access up-to-date information, run computations, or use third-party services.
22 Mar 2023
At Zerodha, we run a multitude of internal and public-facing services that generate copious amounts of logs. While developers use these logs to debug or troubleshoot incidents, some services also emit logs that must be persisted for prolonged periods to comply with numerous regulatory requirements. In this post, I will delve into our experiences with the ELK stack, why it…
Demystifying authentication and authorization When you hear the term Auth, what comes to mind? You probably think of signing into a system with your username and password, and you’re half right. But auth is bigger than that. The bucket term also includes everything you can do in a system once you submit those credentials. Auth […] The post AuthN vs…
Email validation is a crucial part of any web application. It ensures that the user input is valid and can be used for various purposes like registration, login, and communication. In this article, we will walk through how to validate an email address in a React application with a few different approaches. Regex The most […]
Next.js is a popular React-based framework that enables server-side rendering, automatic code splitting, and simpler client-side routing. In this article, we’ll discuss how to send data from one component to another in Next.js. There are a few approaches you might take to passing data between components. In this article we’ll go through: Props One of […]
Looping through an array is a common task in programming, and Typescript offers a variety of ways to accomplish this task. If you’re using React, you might be interested in this article on for loops in React. In this article, we’ll explore some of the different approaches to looping through an array in Typescript, and […]
Introduction In this article, we are going to see how we can use the JOIN FETCH clause when fetching a child collection eagerly while also limiting the number of parent records using pagination in a Spring Data JPA application. I decided to write this article because the most common solution used in many projects turns out to be extremely inefficient.…
This is an image heavy post. 📔 Intro # My 3D printing journey started like many others, with an Ender 3 (Pro in my case) and covid lockdowns. I had wanted to get into it much earlier but a tiny apartment stopped me from doing so.
I would like to give you a preview of my new project that I'm really excited about - Rayven. It renders 3D scenes as if they were line-hatched by hand: I've had this idea for a while and after researching, I found three projects that became my inspiration: Michael Fogleman's ln, Kushiro's Hatch Lines Shader and Piter Pasma's Rayhatching. Finally,…
21 Mar 2023
Problem The Photos app on macOS doesn’t provide a keyboard shortcut for the Export Unmodified Original command. macOS allows you to add your own app-specific keyboard shortcuts via System Settings > Keyboard > Keyboard Shortcuts > App Shortcuts. You need to enter the exact spelling of the menu item you want to invoke. Photos renames the command depending on what’s…
I wanted to implement concise “pattern matching” in Python, a language which unlike C#, F#, Scala, and so on, does not have any pattern matching built in. Logically a pattern is just a predicate: a function which takes a value … Continue reading →
Introduction Web development is an ever-evolving landscape, with JavaScript frameworks playing a significant role in modern web applications. As a developer looking to stay relevant and ahead of the curve, mastering these frameworks is essential. In this article, we will provide you with a comprehensive learning path to help you navigate the world of JavaScript […]
Learn about Android text message apps. Explore the technologies used and discover common features of popular chat applications.
This blog post discusses the strategies that Slack uses to manage the lifecycle (development, support, and eventual retirement) of infrastructure projects, through the lens of the migration through three successive internal “platform” offerings. Our challenges Circa 2020, our Cloud Engineering team (now evolved into multiple teams responsible for narrower aspects) was responsible for managing our…
20 Mar 2023
We are excited to announce that Postgres version 15 is now generally available! The developers of Postgres release a new version around October every year, and we aim to release it on Heroku Postgres each Q1. Additionally, we track Postgres end-of-life dates to ensure that our service and our customers are always on the latest […] The post Announcing PostgreSQL…
Here are some of the most significant mobile app development trends in 2023.
Build your own multiplayer tic-tac-toe game in part one of this tutorial with React Native for iOS and Android using PubNub
Learn how to build real-time scoreboards, leaderboards and achievement streaming for multiplayer games using Unity and PubNub.
In the ever-evolving world of front-end development, Vue.js has emerged as a popular and versatile JavaScript framework. Its ease of use, powerful features, and excellent performance make it a top choice for developers looking to build scalable and maintainable web applications. One of the core features that sets Vue.js apart is its directives, which offer […]
Meet our Senior Data Scientist Aili: a story from product company to technology consultancy
Thoughtworks InsightsMeet our Senior Data Scientist Aili: a story from product company to technology consultancy
Gradle build optimization: from five minutes to one minute (part one)
Gradle build optimization: from five minutes to one minute (part two)
Mozilla study outlines risks when AI lacks transparency
17 Mar 2023
TL;DR — Great, but Can’t Replace Expert Mentors, Yet! Actual Photo of ChatGPT Teaching Puppies to Code (Just Kidding it’s Midjourney) GPT-4 was just released , and it represents significant enhancements over ChatGPT powered by GPT-3.5. Among the enhancements is an improved ability to maintain coherence over longer sessions and larger prompts. I spent years building EricElliottJS.com to teach developers…
In this article, we'll focus on the most popular JavaScript frameworks, and explore why they're either loved or disliked by developers. The post The Best JavaScript Frameworks: Pros and Cons Explained appeared first on RisingStack Engineering.
Microsoft announces the launch of Data Wrangler, a data-centric user interface that generates Python code to help data scientists complete their data preparation tasks faster and with fewer errors. The post Introducing the Data Wrangler extension for Visual Studio Code appeared first on Microsoft for Python Developers Blog.
Holiday management of offshore delivery business based on cultural empathy
Four principles of micro frontends for mobile (part one)
Four principles of micro frontends for mobile (part two)
The journey to becoming a responsible technology organization
16 Mar 2023
A conversation with engineers who help run Blinkit Chinthakunta Sumanth Kumar Reddy is an SDE 3 at Blinkit. He joined us in March 2021 and has since helped us build a resilient application platform at Blinkit. He currently works as a part of Software Resilience Engineering (SRE)–enabling scalable database migrations for Blinkit’s applications. Tell us about your background and your…
Developing organizational plasticity in financial institutions
Digging for diamonds: Three ways to empower female leaders in tech
15 Mar 2023
At GitHub you’ve heard us talk about how we are using GitHub Projects and GitHub Actions to plan and track our work and now we’ve asked one of our customers, Grafana Labs, to share how their teams are approaching work in a new way. Whether they are managing open source requests, operational tasks, or escalations, the Grafana Labs Alerting team…
The Accessibility Insights team recently fixed a bug in our Windows Presentation Foundation (WPF) app where checkboxes in a WPF tree view were not properly reporting their checked or unchecked state to adaptive technologies such as screen readers. This longstanding issue created a sub-par accessible experience in Accessibility Insights for Windows, our Windows app introduced […] The post Implementing an…
The "beauty" and "ugliness" of retail (part two)
The "beauty" and "ugliness" of retail (part one)
Diversity, equity and inclusion enhances business agility. How inclusive leaders accelerate business agility (part 3)
Thoughtworks InsightsDiversity, equity and inclusion enhances business agility. How inclusive leaders accelerate business agility (part 3)
14 Mar 2023
We want entrepreneurs and builders to join us in creating a future where AI is developed through this responsible lens. That’s why we are relaunching our Mozilla Builders program with the Responsible AI Challenge. The post Mozilla Launches Responsible AI Challenge appeared first on Mozilla Hacks - the Web developer blog.
Introduction In this article, we are going to see how Spring Data query methods are built, when you should use them, and especially when you should avoid them. I decided to write this article after answering this StackOverflow question, which depicts an 87-character-long Spring Data query method. TL;DR, Don’t write query methods that cannot even fit on the screen. Spring…
Prettier is a popular code formatter that can help keep your codebase organized and consistent. In this article, we’ll walk through how to set up Prettier in a Next.js project. Set-up Firstly of course you’ll need to install Prettier. You can do this with the following command: This will install Prettier, and add it as […]
Are you tired of dealing with tedious form validation in your React applications? Look no further than React Hook Forms in Next.js! RHF is a React hook that provides a simple and intuitive API for managing form state, validation, and submission. It supports both controlled and uncontrolled components, as well as dynamic form fields, custom […]
Animating components on scroll is a great way to add a touch of interactivity to your web application. It can help you create engaging user experiences that make your application stand out. In this article, we will explore how to use Framer Motion to animate components on scroll in Next.js. Set-Up First of all, you’ll […]
User Journey is an integral part of any product, and a well defined workflow encapsulates the user experience and becomes nearly imperceptible to the user. CRED employs AWS Step Functions to offer seamless product experience. Example Onboarding Steps What are AWS Step Functions? AWS Step Functions is a low-code, server-less orchestration service that developers can use to build distributed applications,…
Be My Eyes uses GPT-4 to transform visual accessibility.
GPT-4 deepens the conversation on Duolingo.
Khan Academy explores the potential for GPT-4 in a limited pilot program.
Stripe leverages GPT-4 to streamline user experience and combat fraud.
How Iceland is using GPT-4 to preserve its language.
We’ve created GPT-4, the latest milestone in OpenAI’s effort in scaling up deep learning. GPT-4 is a large multimodal model (accepting image and text inputs, emitting text outputs) that, while less capable than humans in many real-world scenarios, exhibits human-level performance on various professional and academic benchmarks.
Maximize your tech investments with Engineering Effectiveness