Writing is a fantastic tool for processing and communicating abstract ideas. And developers are steeped in abstract ideas! From system design to the finest implementation details, we keep a tremendous amount of information in our heads.
A few weeks ago a colleague of mine and I were looking at the canvas engine comparison benchmarks on benchmarks.slaylines.io. The benchmark lists several of the most popular solutions and allows easy comparison of performance in rendering thousands of rects on a canvas. At work we both use fabric.
There are hundreds or probably thousands of Python best practices out there and depending on who you ask, you would get some slight variation on a given practice. The internet has given everyone the right to voice an opinion. Including even me.
Choosing a JavaScript unit testing framework is an essential early step for any new front-end development project. Unit tests are great for peace of mind and reducing software errors. You should always make the time to test. But which framework should you choose for your project? We examined 11 of the most popular JavaScript unit testing frameworks according to stateofjs.com, to help you decide which is best for you.
Let me tell you a story real quick. Last week, I was chatting with my buddy Raj over some lukewarm lattes at our favorite cafe, The Brewing Grounds. Raj is a software engineer at one of those fancy AI startups in Silicon Valley.
Queries and Mutations are two sides of the same coin. A When a Mutation finishes, it very likely affects Queries. For example, updating an issue will likely affect the list of issues. So it might be a bit surprising that React Query does not link Mutations to Queries at all.
React 19 is here. And with it? Complex and flexible new features. Incredible optimizations. And a whole new way of thinking about your app. But when building a marketing site, are React 19’s features over-engineered? Or is it all worth the effort?
In this post I’ll walk through the full implementation of a Virtual DOM in a bit over 200 lines of JavaScript. The result is a full-featured and sufficiently performant virtual DOM library (demos). It’s available on NPM as the smvc package.
I work at Ramblr, an AI startup where we build complex React applications for video annotation. I recently encountered a complex memory leak that was caused by a combination of JavaScript closures and React’s useCallback hook. Coming from a .
CloudWay Digital Inc. If I had a dollar for every time that I came across a bug with an implementation of caching in a software system… I would probably have enough to pay for an annual corporate subscription of Redis Enterprise.
OpenAI’s recent unveiling of GPT-4o has set the stage for a new era in AI language models and how we interact with them. The most impressive part was the support of live interaction with ChatGPT with conversational interruptions.
Minifying your CSS helps improve your website performance. But as developers, we don’t really talk about minifying CSS anymore. Why? The TL;DR is that the delivery and optimization of CSS have both been improved with modern tech stacks, making it practically a non-issue.
The fastest way to onboard first-time users on your website is by guiding them through some of the features your site has to offer. This phenomenon, also known as a site tour, ultimately shows users how to properly navigate through the site without facing any issues.
In a previous article, we discussed the benefits of creating an activity feed for your product. In this post, we’ll cover how to build an activity feed directly into your product using Node.js and Socket.io.
Maps JavaScript is the cornerstone of dynamic mapping experiences, powering websites and applications with our rich basemap and information about more than 250 million places and businesses around the world. It’s fueled innovation—shaping the way we book vacations, order food, or simply locate a new coffee shop.
I’ve been both fortunate and unfortunate to have worked with JavaScript full-time since about 2012. It was “unfortunate” because prior to around 2015—when major improvements started coming to the ECMAScript spec—the language was a real pain to wrangle on a daily basis.
Nočnica Mellifera (She/Her) was a developer for seven years before moving into developer relations. She specializes in containerized workloads, serverless, and public cloud engineering.
Key Takeaways Reliability means spending money to reduce the probability of failure, the blast radius, and recovery time to zero. Building reliable services at scale has to be done across the clients, servers, and at the APIs. Reliable servers are redundant, workload-optimized, and heavily cached.
In 2024, Next.js has firmly established itself as a powerhouse in the JavaScript framework landscape, renowned for its Server-Side Rendering (SSR), caching, SEO optimization, and robust backend capabilities.
Sharing code between multiple services can turn into a topic of contention in a project team. The larger the service footprint, greater the intensity of debate on how to share functionality between the various services.
I live in one of the suburbs of Tel-Aviv. One day, I woke up to insane drilling sounds. It started! the construction work to build the purple line of the light rail. “How bad is it going to be?” I thought to myself… A few weeks in, sporadically waking up at 5am depending on when the construction work starts, my wife told me that it’s time for us to move out.
Have you ever thought about why a specific piece of technology gets popular? Usually there's never a single reason, but I do have a theory that I think is one of the primary drivers. I call it The 5 O'Clock Rule. With The 5 O'Clock Rule, the level of abstraction for solving a problem will bubble up until it allows the average developer to stop thinking about the problem.
Can it be done? This plucky front-end developer intends to find out. We looked at the Popover API and how it’s made it’s way across all browsers already just last week. One of the things I should have done is looked at the accessibility considerations more closely.
Benefits of pair programming are widely accepted but advice around pair rotation remains controversial. When and how frequently should teammates rotate pairs? And… What if we rotate pairs every day? We worked with three teams through an exercise of daily pair rotation.
SudoLang is a powerful natural language pseudocode programming language that makes it easier to instruct OpenAI’s GPT-4, Anthropic’s Claude, and other language models.
When you first start building AI applications with generative AI, you'll likely end up using OpenAI's API at some point in your project's journey. And for good reason! Their API is well-structured, fast, and supported by great libraries.
Creating and publishing open source packages is a great way to contribute to the ecosystem and community. You made something cool and want people to use it. But simply publishing your module to a registry and crossing your fingers won’t get users.
Skew began as a side project in the early days of Figma. At the time, Skew fulfilled a critical need at Figma: to build out our prototype viewer with support on both the web and mobile.
When we initially set out to build Stashpad Docs, one of the first decisions we had to make was whether to use React or to pivot to a different front-end framework. React was the default choice because the engineers at Stashpad are experienced React developers and already had used it to build Stashpad Lists.
Do you like this guide? If yes you may want to reserve a spot for the Remix for Next Devs Video Course where we will create a full Remix application from scratch using Remix, Tailwind, Supabase, Docker and Fly. Instead of using folders and slashes to define routes, you can use dots (.
Do you use videos 🎥 on your website or web application? If so, you may have encountered issues with slow page load times or a suboptimal user experience. Videos can be a powerful tool for engaging your users, but they can also create performance challenges if not optimized properly.
Multi-cloud (that is, running the same workload across multiple cloud providers in a completely agnostic way) is absolutely something you need to be focusing on—at least, according to two constituencies: Declining vendors that realize that if you don’t go multi-cloud, they’ll have nothing left
If you want to build chat bots, games, or applications using AI models like ChatGPT, you’ve come to the right place. In this article, we’re going to dive into the basics of SudoLang, a powerful natural language pseudocode programming language designed to instruct advanced language models like OpenAI’s GPT-4, Anthropic’s Claude, and others.
In my previous blog post I looked at various technologies for sending data asynchronously between services including RabbitMQ, Kafka, AWS EventBridge. This time round I’ll look at the messages themselves which over the last few years I’ve found to be a more complex and nuanced topic than expected.
Bun and Node.js are two JavaScript runtime technologies to run JavaScript on the server. Node.js is the undisputed king of server-side development with JavaScript, but Bun has gained popularity thanks to its unbelievable performance capabilities.
The adoption of ECMAScript Modules (ESM) for development has become mainstream, yet Node.js continues to use the traditional CommonJS (CJS) format. This has posed challenges for library and application developers. However, with the recent release of version 22, Node.
One of the hottest topics in AI right now is RAG, or retrieval-augmented generation, which is a retrieval method used by some AI tools to improve the quality and relevance of their outputs.
Hi I have finally solved 300 problems on LeetCode. Following is the distribution of the topics I have solved questions from and the number of questions in each of them.
What’s next when everything works fine? Technologists like to speculate, and fret, about the end of Moore’s law: the long-standing rule-of-thumb that computer chips will double in performance every 18 months.
“A picture is worth a thousand words”. So if a picture takes more than 4 seconds to load, does it mean that your website’s content fails to communicate a thousand words? In this blog post, we’ll learn how to identify unoptimized images, how to fix them, and how to validate the fix — so your website can speak volumes with highly-optimized images.
In this post, we'll look at the history of React and how it has evolved over the years since the introduction of hooks. I'm writing this because I felt like React 17 didn't really introduce anything new, but React 18 felt like such a big leap forward.
The beauty of software engineering comes from the many different ways of solving challenges ahead of us. Our work can be like receiving an unlimited set of LEGO bricks without instructions, just an end goal to achieve. We can be builders, architects, designers, or inventors.