Beyond AI Auto-Fix: Hypothesis-Driven Debugging for Production Failures on SitePoint.
#javascript
189 posts
Yesterday
24 Jul
Drizzle ORM to Prisma Migration: When to Switch and How to Do It Safely on SitePoint.
Apache Ossie for Developers: Standardizing Semantic Metadata in AI Projects on SitePoint.
Rubberduck: Emulating OpenAI Locally for Reliable AI Development on SitePoint.
Partnerships can keep open source sustainable
Stack OverflowRyan welcomes VoidZero’s Evan You and Cloudflare’s Dane Knecht back to the show to discuss Cloudflare’s recent acquisition of VoidZero and what it means for JavaScript development, how partnerships like theirs can help open-source projects stay maintained and sustainably monetized, and how Cloudflare’s distributed systems are helping to improve developer experience in Vite and beyond. …
23 Jul
How a feature goes from idea to prototype to shipped For years, there’s been this really popular Chrome extension for adding a table of contents to your Medium stories. Props to Vinicius De Antoni for writing a popular chrome extension all those years go. The extension was so popular, we even wrote about it in our Medium Handbook. How to…
15 Jul
Production migration guide for Vite 7's Rust-powered toolchain. Covers Rolldown adoption (replacing Rollup/esbuild), Oxc for JavaScript transforms, configuration migration (rolldownOptions, oxc), CI/CD integration patterns, and plugin compatibility verification. Vite 7 Production Migration: From esbuild to Rolldown and Oxc on SitePoint.
Production testing guide for React Server Components in 2026. Covers Vitest setup for async components, boundary mocking patterns (db, fetch), environment configuration (@jest-environment node), Suspense boundary testing, and integration vs E2E strategy decisions. Testing React Server Components: Vitest Patterns for Async Boundaries and Mock Strategies on SitePoint.
14 Jul
Comprehensive guide TypeScript 5.8 Production Migration: Adopting Erasable Syntax for Node.js 23+ on SitePoint.
Comprehensive guide TanStack Router v1: Migrating from React Router to Type-Safe File-Based Routing on SitePoint.
Comprehensive guide Vite 8 Migration: Moving from esbuild to Oxc in Production React Apps on SitePoint.
13 Jul
Precursor, our new continuous behavioral validation engine for bot management, offers visibility into how humans and bots actually interact across the full user journey. By turning session-level behavior into bot detection signals, it identifies advanced automation with higher precision — while reducing friction for legitimate users.
4 Jul
Comprehensive guide covering this topic with practical implementation details. The Cost Inversion: Running Production AI on DeepSeek V4-Flash vs Gemini on SitePoint.
3 Jul
Comprehensive guide covering this topic with practical implementation details. HALO: Debug AI Agent Traces Locally Without a Cloud Subscription on SitePoint.
Comprehensive guide covering this topic with practical implementation details. OpenTelemetry GenAI: Instrument AI Agents Without Sending Data to the Cloud on SitePoint.
27 Jun
Comprehensive guide covering this topic with practical implementation details. Claude Code on Ollama: How to Run a Local Coding Agent Without Burning API Credits on SitePoint.
Comprehensive guide covering this topic with practical implementation details. Build an MCP Server in Go: A Production-Ready Tutorial for the Model Context Protocol on SitePoint.
Comprehensive guide covering this topic with practical implementation details. React 19's useOptimistic and useActionState: Replacing 80% of Your State Boilerplate on SitePoint.
TypeScript 5.9: The strictInference Flag and Stable Decorator Metadata That Actually Matter
SitePointComprehensive guide covering this topic with practical implementation details. TypeScript 5.9: The strictInference Flag and Stable Decorator Metadata That Actually Matter on SitePoint.
Comprehensive guide covering this topic with practical implementation details. headroom: The Token-Compression CLI That Cuts Your LLM API Costs by 60–95% on SitePoint.
Comprehensive guide covering this topic with practical implementation details. Gemma 4 QAT: Running Local LLMs in 6GB RAM on SitePoint.
Comprehensive guide covering this topic with practical implementation details. Turbopack in Production: Next.js 15 Speed Wins on SitePoint.
26 Jun
Comprehensive guide covering this topic with practical implementation details. React Compiler: Eliminating Manual Performance Work on SitePoint.
Comprehensive guide covering this topic with practical implementation details. Claude Code v2.1.166: Building Resilient Agent Stacks on SitePoint.
Comprehensive guide covering this topic with practical implementation details. DeepSeek V4-Pro on Ollama Cloud on SitePoint.
25 Jun
null Gantt Chart vs Kanban Board: Which Is Better for Project Tracking? on SitePoint.
24 Jun
Comprehensive guide covering Claude Code Refactoring: A Practical Workflow with practical implementation details. Claude Code Refactoring: A Practical Workflow on SitePoint.
Comprehensive guide covering TypeScript 7.0 RC: The Go Rewrite Migration Guide with practical implementation details. TypeScript 7.0 RC: The Go Rewrite Migration Guide on SitePoint.
Comprehensive guide to Claude Code Workflows: A Practical Pattern Guide Claude Code Workflows: A Practical Pattern Guide on SitePoint.
Comprehensive guide to Next.js 16: Turbopack, React Compiler & Cache Next.js 16: Turbopack, React Compiler & Cache on SitePoint.
Comprehensive guide to Core Web Vitals 2026: Fix Interaction to Next Paint Core Web Vitals 2026: Fix Interaction to Next Paint on SitePoint.
Comprehensive guide to DeepSeek V4 API: The Complete Developer Guide DeepSeek V4 API: The Complete Developer Guide on SitePoint.
10 Jun
null Building Interactive Charts in JavaScript: A Developer’s Guide on SitePoint.
30 May
Comprehensive guide covering this topic with practical implementation details. Claude Code Plan Mode: The Read-First Workflow for Complex Refactors on SitePoint.
28 May
Comprehensive guide covering this topic with practical implementation details. DeepSeek R2: What Developers Need to Know Before August on SitePoint.
Comprehensive guide covering this topic with practical implementation details. DeepSeek API + OpenAI SDK: A Developer's Quick-Start Guide on SitePoint.
24 May
Comprehensive guide covering this topic with practical implementation details. Vibe Coding 2026: The Structured Guide to AI-First Development on SitePoint.
Comprehensive guide covering Vitest 4 Browser Mode: Component Testing Without Playwright with practical implementation details. Vitest 4 Browser Mode: Component Testing Without Playwright on SitePoint.
Comprehensive guide covering this topic with practical implementation details. OpenAI Codex CLI: Terminal-First Coding Agent Tutorial (2026) on SitePoint.
22 May
null 5 Best JavaScript Beautifier Tools for Clean and Readable Code on SitePoint.
21 May
Wave Function Collapse is an algorithm that generates structured randomness. There are plenty of reasons to want structured randomness. Maybe you want to create a randomized world map, with rivers coming out of lakes, and mountains ranges gradually sloping, like in Minecraft. Or maybe you want to create randomized towns, with the layout of the […] The post Introduction to…
19 May
Comprehensive guide covering TypeScript 6.0 Migration: What Changed and How to Adapt Your tsconfig with practical implementation details. TypeScript 6.0 Migration: What Changed and How to Adapt Your tsconfig on SitePoint.
Comprehensive guide covering React useOptimistic: Production Patterns for Instant UI Updates with practical implementation details. React useOptimistic: Production Patterns for Instant UI Updates on SitePoint.
18 May
HTML images just got better, with the subtlest change to your codebase Photo by Adi Suyatno I know what you’re thinking. Scott, I landed on Medium on a small but not mobile-small display and the download chunk related to images in my home feed was like 7% smaller. First of all, thank you for noticing. Second, what if I told…
10 May
Element: Stop Using JavaScript Dropdown Libraries" rel="nofollow" > Element: Stop Using JavaScript Dropdown Libraries" /> Comprehensive guide covering The Element: Stop Using JavaScript Dropdown Libraries with practical implementation details. The Element: Stop Using JavaScript Dropdown Libraries on SitePoint.
Comprehensive guide covering Continue.dev for Developers: The Complete Local AI Coding Assistant Setup with practical implementation details. Continue.dev for Developers: The Complete Local AI Coding Assistant Setup on SitePoint.
Comprehensive guide covering Qwen3-Coder-Next Local Deployment: A Complete Developer Guide (2026) with practical implementation details. Qwen3-Coder-Next Local Deployment: A Complete Developer Guide (2026) on SitePoint.
Comprehensive guide covering TypeScript 5.8 Erasable Syntax: Running TS Directly in Node.js with practical implementation details. TypeScript 5.8 Erasable Syntax: Running TS Directly in Node.js on SitePoint.
Comprehensive guide covering Gemma 3 Local LLM Deployment: Google's AI for Developers (2026) with practical implementation details. Gemma 3 Local LLM Deployment: Google's AI for Developers (2026) on SitePoint.
Comprehensive guide covering CSS sibling-index() and sibling-count(): Native List Staggering Without JavaScript with practical implementation details. CSS sibling-index() and sibling-count(): Native List Staggering Without JavaScript on SitePoint.
Comprehensive guide covering React 19 use() Hook: Data Fetching Patterns That Actually Work with practical implementation details. React 19 use() Hook: Data Fetching Patterns That Actually Work on SitePoint.
1 May
Time is a construct but it can still break your software
Stack OverflowRyan welcomes Jason Williams, senior software engineer at Bloomberg and the creator of Rust-based JavaScript engine Boa, to the show to dive into why date and time handling in JavaScript is so difficult and how the Temporal proposal aims to fix it. …
29 Apr
My software development team had a client who wanted to represent activity on a stage, not in the usual top-down layout that shows up all over the internet. A 3D stage? Reasonable request, slightly unreasonable visual problem. My wacky idea: what if this was mostly CSS? Maybe a little JavaScript. But mostly CSS. It turns […] The post How to…
24 Apr
Comprehensive guide covering AI Agent Testing Automation: Developer Workflows for 2026 with practical implementation details. AI Agent Testing Automation: Developer Workflows for 2026 on SitePoint.
Comprehensive guide covering Claude Code vs Cursor vs Copilot: The 2026 Developer Comparison with practical implementation details. Claude Code vs Cursor vs Copilot: The 2026 Developer Comparison on SitePoint.
Comprehensive guide covering Next.js AI Streaming: Building Real-Time Apps with Vercel AI SDK with practical implementation details. Next.js AI Streaming: Building Real-Time Apps with Vercel AI SDK on SitePoint.
17 Apr
Learn how to build user interfaces that visualize DeepSeek R1's reasoning chain in real-time. Build Reasoning UIs with DeepSeek R1: Visualize Chain-of-Thought (2026) on SitePoint.
13 Apr
We were annoyed with the slow performance of our frontend unit tests, so we made them much faster! It turned out that swapping out the test runner is an easy and efficient way to keep the migration effort low, while reaping the benefits of much faster execution times.
24 Mar
The Micro-Frontend Evolution: Why We Traded S3 Behaviors for Module Federation (and What It Cost…
Swiggy BytesThe Micro-Frontend Evolution: Why We Traded S3 Behaviors for Module Federation (and What It Cost Us) A practical guide/story from the team that migrated multiple B2B dashboards to a unified Module Federation architecture — including the scariest part: moving thousands of authenticated users to a new domain without a single forced logout. “S3-based micro-frontends are not micro-frontends. They are separate…
8 Mar
Learn how I added Bluesky likes and avatars to my Astro blog using the bluesky-likes web components package. No API keys, no server-side code, just a few lines of Astro magic.
18 Dec 2025
The fourth edition of Node.js Design Patterns is here. As one of the authors, I share why we wrote a new edition, what's new, and my thoughts on where Node.js is heading.
20 Dec 2024
Forms are everywhere online, from signing up for newsletters to making purchases. But let’s be honest — nothing’s more frustrating than a form that’s hard to fill out or riddled with unclear error messages. In this post, we’ll dive into practical tips and tricks to make your form validation seamless, user-friendly, and maybe even enjoyable! We’ll walk through tips for…
11 Nov 2024
In today’s rapidly evolving software landscape, scalability and independence in development are essential for creating robust applications. Micro frontends provide a solution to break large monolithic frontends into smaller, independent units that can be developed, deployed, and maintained by different teams. One of the most effective ways to implement micro frontends is through Webpack’s Module Federation , which allows teams…
30 Sept 2024
As maintainers of the open source framework Electron, we try to be diligent about the work we take on. Apps like Visual Studio Code, Slack, Notion, or 1Password are built on top of Electron and make use of our unique mix of native code and web technologies to make their users happy. That requires focus: […] The post Electron on…
24 Sept 2024
When building web applications, unit testing your individual components is certainly important. However, end-to-end testing provides assurance that the final user experience of your components chained together matches the expected behavior. Testing web application behavior locally in your browser can be helpful, but this approach isn’t efficient or reliable, especially as your application grows more […] The post Testing a…
29 Apr 2024
If you’re an API developer working with Node.js, then you’re probably familiar with Express. But have you tried out the Fastify framework to build with power, speed, and convenience? In this walkthrough, we build a full-featured, easy-to-consume API with Fastify. And we deploy it to the cloud with ease. We show you how to: Get […] The post Build Well-Documented…
13 Feb 2024
We had a project where we aimed to optimize page load times while preserving SEO benefits. One of the techniques we employed was enabling ISR (Incremental Static Regeneration), which caches the page’s HTML response on the CDN network until the TTL (Time to Live) expires. However, we also encountered challenges with parts of the pages […] The post Nuxt 3…
30 Jan 2024
How to Build and Deploy a Node.js App That Uses OpenAI’s APIs Near the end of 2023, ChatGPT announced that it had 100M weekly users. That’s a massive base of users who want to take advantage of the convenience and power of intelligent question answering with natural language. With this level of popularity for ChatGPT, […] The post Working with…
24 Jan 2024
This article discuss the reason why I wanted to migrate this blog from Gatsby to Astro and the process I followed to do it. Plus a bunch of interesting and quirky bugs that I had to troubleshoot and fix along the way.
21 Jan 2024
Writing testable code is a vital skill in software engineering. Let’s explore practical advice, strategies, and tactics for writing more testable code, unlocking the benefits of modularity, reusability, and high quality software in your projects. Embracing testability in your coding practice isn’t just about catching bugs; it’s about fostering a culture of quality and efficiency in your projects. A good…
18 Jan 2024
Update: to enhance the clarity of the Nuxt 3 documentation, we have opened a pull request (PR) that has already been merged. Now, the functionality of ISR/SWR rendering modes is better explained. The backstory We were developing a listing site using Nuxt 3 and aimed to optimize page load times while maintaining SEO benefits by choosing the […] The post…
31 Dec 2023
The world of JavaScript has evolved significantly, and interview trends have changed a lot over the years. This guide features 10 essential questions that every JavaScript developer should know the answers to in 2024. It covers a range of topics from closures to TDD, equipping you with the knowledge and confidence to tackle modern JavaScript challenges. As a hiring manager,…
10 Nov 2023
The software industry sees an interesting tension between generative AI capturing the software lifecycle and low-level languages aiming for better performance. As developers we must understand these trends and find a strategy. Learn one or both?
31 Oct 2023
To deliver against our vision and enable a better online experience for everyone, we’ve been working hard on making Firefox even faster. We’re extremely happy to report that this has resulted in a significant improvement in speed over the past year. The post Down and to the Right: Firefox Got Faster for Real Users in 2023 appeared first on Mozilla…
24 Oct 2023
Accepting online payments is now a universal must-have, catering to everyone from solo entrepreneurs to massive global corporations. PayPal’s Standard Checkout allows for seamless integration of PayPal’s Payment Buttons component into your e-commerce app, granting you the power to accept online payments. In this guide, I am going to show how to add Standard Checkout to a simple shopping app,…
5 Sept 2023
Firefox performance on Vue.js has improved significantly throughout the year. Most recently, we sped up reactivity with Proxy optimizations. This change landed in Firefox 118, so it’s currently on Beta and will ride along to Release by the end of September. The post Faster Vue.js Execution in Firefox appeared first on Mozilla Hacks - the Web developer blog.
8 Aug 2023
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.
13 Jul 2023
Threads is a new social network from the Instagram team that rocketed to 100 million members in just 5 days. Obviously, Threads membership got a boost from the 2.35 billion members of Instagram, but don’t write off those membership growth numbers. To be counted as a threads member, you need to download the app and create your Threads profile, which…
3 Apr 2023
Running Riteway’s usage example tests in SudoLang running on ChatGPT using GPT-4 I have been a long-time advocate of Test-Driven Development (TDD) because of its many productivity and quality benefits. You can read more about those in “TDD Changed My Life” . When I realized that GPT-4 was capable of following complex instructions, one of the first things I thought…
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…
13 Feb 2023
Storing Postman scripts within reusable components in an OpenAPI definition In programming, “hacking” has historically meant making something do what it wasn’t originally intended to do, like using a whistle from a cereal box prize to play the tone into a pay phone to get free long distance calls. Today, it also refers to finding an inelegant solution to a…
17 Oct 2022
We have talked about different state management techniques in a reactJS application, to maintain the state of your application in a global store so that it can access any of the components inside the application wrapped by the provider. The techniques are Redux Context In this one, we are going to take a look at […]
13 Oct 2022
It often happens that, as a React Developer, you’re working with big data objects containing a lot of nested properties, especially those coming from an external API. Because of that, it’s not always possible for us to tell the exact shape of the object at runtime, as sometimes, due to unforeseeable issues, our objects come […]
9 Oct 2022
This is continues of my previous post about how to remove unused CSS and convert unclear JavaScript to protect your source code in the post-build process. If you are using CSS libraries like Bootstrap, Tailwind CSS, etc.. and sometimes multiple frameworks. But your application components are not using all of the styles and it adds more weight to the application…
6 Oct 2022
Nowadays most applications are developed based on large CSS libraries like Bootstrap, Tailwind CSS, etc.. and sometimes multiple frameworks. But your application components are not using all of the styles and it adds more weight to the application performance. This post will explain the Angular post-build process to remove unused CSS and hidden JavaScript files that enhance the application security…
1 Sept 2022
Groupon maintains literally hundreds of NPM modules, both open source and internal. Many of these are consumed by our custom NodeJS-based middleware web layer we call “The Interaction Tier” (itself a topic for another post someday). As folks write new modules, a common question is “what’s the best way to export things from our published modules to maximize compatibility?” —…
9 Aug 2022
Learn how to create a private, invite-only website using Next.js, AirTable, custom React hooks, and Vercel deploy. The post covers backend APIs in Next.js, data storage with AirTable, validating access with invite codes, collecting user input, and deploying the final app.
21 Jul 2022
RedwoodJS & BlitzJS are meta-frameworks that provide tooling for creating SPAs, server-side rendered pages & statically generated content, providing a CLI to generate e2e scaffolds. The post RedwoodJS vs. BlitzJS: The Future of Fullstack JavaScript Meta-Frameworks appeared first on RisingStack Engineering.
27 Jun 2022
As part of our work to ensure a free and open web, we've been working together with Ecma International, and many partners to write a License inspired by the W3C Document and Software License. Our goal was that JavaScript’s status would align with other specifications of the Web. In addition, with this new license available to all TCs at Ecma…
10 Jun 2022
In this article, we have compiled a list of some of the most vital JavaScript interview questions and answers you should definitely know the answers for. The post JavaScript Interview Questions & Answers appeared first on RisingStack Engineering.
12 May 2022
Firefox uses a multi-process model for additional security and stability while browsing: Web Content (such as HTML/CSS and Javascript) is rendered in separate processes that are isolated from the rest of the operating system and managed by a privileged parent process. This way, the amount of control gained by an attacker that exploits a bug in a content process is…
31 Jan 2022
Learn to JAM with scripts, mock servers, and the visualizer Jamstack originally referenced a web architecture composed of JAM: JavaScript, APIs, and Markup. Websites could be delivered statically, such as serving HTML from static hosting, while providing dynamic content and an interactive experience through JavaScript and APIs. “A modern web development architecture based on client-side JavaScript, reusable APIs, and prebuilt…
6 Dec 2021
In Firefox 95, we're shipping a novel sandboxing technology called RLBox — developed in collaboration with researchers at the University of California San Diego and the University of Texas — that makes it easy and efficient to isolate subcomponents to make the browser more secure. This technology opens up new opportunities beyond what's been possible with traditional process-based sandboxing, and…
1 Nov 2021
This post explains how to conditionally create resources in AWS CDK using CfnCondition. It provides a practical example of creating an S3 bucket based on an SSM parameter value. The post covers defining a condition, attaching it to a low-level CDK construct, and importing the conditionally created resource.
20 Oct 2021
Welcome to our Hacks: Decoded Interview series! We spoke with Thomas Park over email about coding, his favourite apps and his past life at Mozilla. Thomas is the founder of Codepip, a platform he created for coding games that helps people learn HTML, CSS, JavaScript, etc. The most popular game is Flexbox Froggy. The post Hacks Decoded: Thomas Park, Founder…
8 Oct 2021
Firefox 93 comes with lots of lovely updates including AVIF image format support, filling of XFA-based forms in its PDF viewer and protection against insecure downloads by blocking downloads relying on insecure connections. The post Lots to see in Firefox 93! appeared first on Mozilla Hacks - the Web developer blog.
7 Oct 2021
Last year, during lockdown, many discovered the importance of PDF forms when having to deal remotely with administrations and large organizations like banks. Firefox supported displaying PDF forms, but it didn’t support filling them: users had to print them, fill them by hand, and scan them back to digital form. We decided it was time to reinvest in the PDF…
8 Sept 2021
Release time comes around so quickly! This month we have quite a few CSS updates, along with the new Object.hasOwn() static method for JavaScript. The post Time for a review of Firefox 92 appeared first on Mozilla Hacks - the Web developer blog.
10 Aug 2021
August is already here, which means so is Firefox 91! For developers, Firefox 91 supports the Visual Viewport API and Intl.DateTimeFormat object additions. The post Hopping on Firefox 91 appeared first on Mozilla Hacks - the Web developer blog.
6 Aug 2021
This post explains how to use CDK to provision Ubuntu EC2 instances on AWS. It covers finding the right AMI, adding security groups, using init scripts, installing AWS utilities, and more.
3 Aug 2021
Last month, Gregor Weber and Peter Bengtsson added an autocomplete search to MDN Web Docs, that allows you to quickly jump straight to the document you're looking for by typing parts of the document title. This is the story about how that's implemented. The post How MDN’s autocomplete search works appeared first on Mozilla Hacks - the Web developer blog.
8 Jul 2021
In this Stripe & JS tutorial, I’ll show how you can create a simple webshop using Stripe Payments integration, React and Express. The post Stripe & JS: Payments Integration Tutorial appeared first on RisingStack Engineering.
8 Jun 2021
When implementing a language feature for JavaScript, an implementer must make decisions about how the language in the specification maps to the implementation. Private fields is an example of where the specification language and implementation reality diverge, at least in SpiderMonkey– the JavaScript engine which powers Firefox. To understand more, I’ll explain what private fields are, a couple of models…
22 Apr 2021
We are happy to announce that Pyodide has become an independent and community-driven project. We are also pleased to announce the 0.17 release for Pyodide with many new features and improvements. Pyodide consists of the CPython 3.8 interpreter compiled to WebAssembly which allows Python to run in the browser. The post Pyodide Spin Out and 0.17 Release appeared first on…
23 Dec 2020
In true JavaScript fashion, there was no shortage of releases in the JavaScript ecosystem this year. This includes the Yarn project’s release of Yarn 2 with a compressed cache of JavaScript dependencies, including a Yarn binary to reference, that can be used for a zero-install deployment. Yarn is a package manager that also provides developers […] The post Building a…
4 Dec 2020
JavaScript turns 25 years old today. While it’s made an impact on my career as a developer, it has also impacted many developers like me and users around the world. To commemorate our favorite language, we’ve collected 25 landmark events that have shaped the path of what the JavaScript ecosystem looks like today. 1995 1) […] The post Celebrating 25…
13 Nov 2020
With Warp (also called WarpBuilder) we’re making big changes to our JIT (just-in-time) compilers, resulting in improved responsiveness, faster page loads and better memory usage. The new architecture is also more maintainable and unlocks additional SpiderMonkey improvements. This post explains how Warp works and how it made SpiderMonkey faster. The post Warp: Improved JS performance in Firefox 83 appeared first…
6 Oct 2020
Let's learn the Dart language as JS developers: We dive into OOP, classes, inheritance, and mixins, asynchrony, callbacks, async/await and streams. The post Beginner Dart Language Tutorial for JavaScript Developers appeared first on RisingStack Engineering.
3 Aug 2020
There are always challenges when it comes to debugging applications. Node.js’ asynchronous workflows add an extra layer of complexity to this arduous process. Although there have been some updates made to the V8 engine in order to easily access asynchronous stack traces, most of the time, we just get errors on the main thread of […] The post Let’s Debug…
28 Jul 2020
Firefox 79 offers a new Promise method, more secure target=_blank links, logical assignment operators, tooling improvements for better JavaScript debugging, and many other updates of interest to web developers. In addition, shared memory is back at last, with a safer implementation. The post Firefox 79: The safe return of shared memory, new tooling, and platform updates appeared first on Mozilla…
21 Jul 2020
At Mozilla, we want the web to be capable of running high-performance applications so that users and content authors can choose the safety, agency, and openness of the web platform. Shared-memory multi-threading is an essential low-level building block for high-performance applications. However, keeping users safe is paramount, which is why shared memory and high-resolution timers were effectively disabled at the…
24 Jun 2020
Over the last few years, GraphQL has emerged as a very popular API specification that focuses on making data fetching easier for clients, whether the clients are a front-end or a third-party. In a traditional REST-based API approach, the client makes a request, and the server dictates the response: $ curl https://api.heroku.space/users/1 { "id": 1, […] The post Building a…
18 Jun 2020
Yulia Startsev, a JavaScript engineer on Firefox's SpiderMonkey team, introduces her new Twitch stream called Compiler Compiler. In the three opening interactive episodes, we get an inside look at how the JavaScript Specification, ECMA-262, is implemented in SpiderMonkey, by reading the spec and fixing issues in the implementation. The post Compiler Compiler: A Twitch series about working on a JavaScript…
4 Jun 2020
Regular expressions – commonly known as RegExps – are a powerful and heavily used tool for manipulating strings in JavaScript. This post describes how we updated the RegExp engine in SpiderMonkey, Firefox's JavaScript engine, by building a shim layer to V8's Irregexp. The outcome: reduced maintenance and stronger collaboration among the browsers, full support for all the new RegExp features,…
2 Jun 2020
Firefox 77 is now available with a variety of developer tool updates and new web platform features. With your feedback, we've removed performance bottlenecks, resulting in faster, leaner JavaScript debugging. We also report on some changes to Firefox extensions, including fewer permission requests. The post New in Firefox 77: DevTool improvements and web platform updates appeared first on Mozilla Hacks…
5 May 2020
Firefox 76 delivers great new features for web platform support, such as Audio Worklets and Intl improvements, on the JavaScript side. Also, we’ve added a number of topnotch improvements to Firefox DevTools to make JavaScript debugging and development easier and quicker. The post Firefox 76: Audio worklets and other tricks appeared first on Mozilla Hacks - the Web developer blog.
A little while back, the web team at SoundCloud got an urgent report that our upload page looked weird in the US. Web engineering is based…
26 Apr 2020
The middleware framework Middy reached version 1.0, bringing middleware capabilities to AWS Lambda. This allows cleaner handler code by extracting cross-cutting concerns into reusable middleware.
11 Mar 2020
This article is more about understanding the Event Emitters in Angular and Ionic. Data flow is the most important when you build an application to communicate with components. Event Emitters will help you to even bind using @Input @Output decorators. Here is a simple example to display and update the user profile using Angular Event Emitters. For this demo I…
4 Mar 2020
In the early years of web development, there were three standard fundamentals upon which every website was built: HTML, CSS, and JavaScript. As time passed, web developers became more proficient in their construction of fancy UI/UX widgets for websites. With the need for newer ways of crafting a site coming in conflict with the relatively […] The post Building with…
Optimizing the integration of Firefox Developer Tools with the SpiderMonkey JavaScript engine has resulted in many benefits, including the new asynchronous call stack tracking now available in Firefox Developer Edition. In this post you can learn how that was done, down to detailed changes to memory management. The post Future-proofing Firefox’s JavaScript Debugger Implementation appeared first on Mozilla Hacks -…
11 Feb 2020
Today we’ve released Firefox 73, with useful additions that include CSS and JavaScript updates, and numerous DevTools improvements. We’ve added to CSS logical properties, pushed performance forward in the Console and the Debugger, and improved the WebSocket inspector. Thanks to all for the ongoing DevTools feedback. The post Firefox 73 is upon us appeared first on Mozilla Hacks - the…
7 Jan 2020
Though we are moving to a more frequent four-week browser release cycle, the Firefox 72 release is feature-rich and full of goodies. It includes many requested DevTools' updates and improvements. We also introduce Shadow Parts and the CSS Motion Path, and useful new JavaScript features. Plus, Picture-in-picture for video is now enabled for Mac and Linux users too! The post…
18 Dec 2019
This blog post is adapted from a talk given by Julián Duque at NodeConf EU 2019 titled “Let it crash!.” Before coming to Heroku, I did some consulting work as a Node.js solutions architect. My job was to visit various companies and make sure that they were successful in designing production-ready Node applications. Unfortunately, I […] The post Let It…
15 Oct 2019
The Firefox DevTools team and our contributors were hard at work over the summer, getting Firefox 70 jam-packed with improvements. We are especially excited about our new WebSocket inspection feature. To use the inspector now, download Firefox Developer Edition, and open the DevTools’ Network panel to find the Messages tab. Then, keep reading to learn more about WebSockets and the…
6 Oct 2019
Released a tiny npm package today: @0xadada/random-emoji, a javascript random emoji function with zero dependencies. $ yarn add @0xadada/random-emoji $ node > const random = require('@0xadada/random-emoji'); > random() '😁' let a = random(); // defaults to 'emoticons' let b = random('emoticons'); let c = random('food'); let d = random('animals'); let e = random('expressions'); console.log(a, b, c, d, e); // 😍…
16 Sept 2019
I love bookmarklets, those small and elegant lines of javascript that you can bookmark and which do random functions in the browser when clicked. uri-editor.js is 1-line of HTML that’ll run a text editor in your browser. Drag the link into your bookmarks to save it as a quick browser-based editor tool for those moments you need a quick editor…
8 Sept 2019
Learn how to configure NPM packages to publish only the files needed by users, avoiding bloating node_modules folders.
5 Sept 2019
Firefox Debugger has evolved into a fast and reliable tool chain over the past several months and it’s now supporting many cool features. Though it's primarily used to debug JavaScript, did you know that you can also use Firefox to debug your TypeScript applications? Jan 'Honza' Odvarko walks through some real world examples. The post Debugging TypeScript in Firefox DevTools…
30 Aug 2019
Modern web applications load and execute a lot more JavaScript code than they did just a few years ago. While JIT (just-in-time) compilers have been very successful in making JavaScript performant, we needed a better solution. We’ve added a new, generated JavaScript bytecode interpreter to the JavaScript engine in Firefox 70. Instead of writing a new interpreter from scratch, we…
9 Jul 2019
Firefox 68 is available today, sporting support for big integers, whole-page contrast checks checks for accessibility, and a completely new implementation of a core Firefox feature: the ever-awesome URL bar. Dan Callahan also reports on updated CSS scroll-snapping and other features, DOM API updates, next steps in the WebRender implementation, and more. The post Firefox 68: BigInts, Contrast Checks, and…
18 Jun 2019
This talk was presented at the Boston Ember.js Community meetup at Salsify, Inc about a unique usecase for deploying FastBoot in order to do server-side rendering of Ember applications at scale. I review traditional, single-page web applications, I discuss server-side rendering by introducing Ember FastBoot. I showcase our architecture and provide a quick summary of how we use FastBoot in…
29 May 2019
In what ways can empirical evidence be used in the design of a language like JavaScript? At TC39, as stewards of the JavaScript specification, how do we answer questions about the design of JavaScript and help make it accessible to the thousands of new coders who join the industry each year? To answer this we need to experiment, and I…
9 May 2019
Editor’s note: If you like CLIs, you should check out oclifconf taking place on Friday, May 31st in San Francisco. It’s the first community get-together for oclif! Space is limited so let us know soon if you are interested in joining. What is it that makes working from the command line so empowering? It can […] The post CLI Flags…
8 May 2019
Let's take a look at StackOverflow’s usage statistics by creating an interactive calendar heatmap using D3.js! The post Tutorial: Building a D3.js Calendar Heatmap (to visualize StackOverflow Usage Data) appeared first on RisingStack Engineering.
16 Apr 2019
Pyodide is an experimental project from Mozilla to create a full Python data science stack that runs entirely in the browser. We think it’s worthwhile to work on moving the JavaScript data science ecosystem forward, and that's why we built and released Iodide earlier this year. In the meantime, we’re meeting data scientists where they are by bringing the popular…
9 Apr 2019
Heroku has many public API endpoints. Each of these endpoints needs to be tested so that we know how they work, and documented so that our customers (and other API consumers) know how they work. Follow along, and we’ll learn how Heroku uses JSON Schema to test and document our Platform API – and how […] The post Saved by…
6 Mar 2019
Progressive web apps (or PWAs) enable websites to function more like native mobile apps in exchange for some flexibility. You get cross-platform native mobile app functionality (or close to it) without all the overhead of app store approvals and tons of platform-specific native code. Users can install a progressive web app to their home screen […] The post PWA Tutorial:…
18 Feb 2019
This article shows how to quickly build web app prototypes using Fastify for the backend API and Preact for the frontend UI. It also covers how to dockerize the app for easy sharing. Key points are the plugin architecture of Fastify, the lightweight nature of Preact, and the use of htm for defining UI without transpilation.
24 Jan 2019
The SoundCloud Xbox application is a regular React Redux application that runs in a native web view wrapper on Microsoft’s UWP framework. In…
21 Jan 2019
This article explores different ways to create iterators and iterable values in Javascript for dynamic sequence generation, specifically using functions, iterators, iterables and generators. It provides code examples for implementing the Fibonacci sequence with each approach.
11 Nov 2018
This article explores how to simulate multiple return values in JavaScript using arrays and objects. It covers use cases like React Hooks and async/await error handling. The pattern enables elegant APIs but has performance implications.
18 Oct 2018
I came across an interesting interview question, along the lines of ”How would you make this work?” add(2, 5); // multiple arguments style > 7 add(2)(5); // currying, a chained invocation style > 7 add(1,2)(3,4) // both > 10 I thought this was a very interesting question, so took some time to implement a multi-argument / curried function. Heres what…
9 Oct 2018
This is the 1st post of the ‘Learn JavaScript for Free’ series - in these chapters you will find free materials and a roadmap for learning JS from scratch. The post Want to Learn JavaScript for Free? Start Here! appeared first on RisingStack Engineering.
16 May 2018
How to blend a rock-solid CMS and API with the absolute best in front-end tooling, built as a single project and hosted seamlessly on Heroku. Rails is an incredible framework, but modern web development has moved to the front-end, meaning sometimes you don’t need all the bulk of the asset pipeline and the templating system. In […] The post Modern…
25 Apr 2018
This talk is a code walkthrough, implementing a date picker to showcase the power of ember-changeset and contextual components. Given at the Ember Boston Community meetup. Ember-changeset is an addon that provides an abstraction over Ember models such that only valid data will ever be set in a model. Contextual components are a set of conventions that allow a developer…
1 Mar 2018
Observatory by Mozilla helps websites by teaching developers, system administrators, and security professionals how to configure their sites safely and securely. Let's take a look at the scores Observatory gives for a fairly straightforward Static Buildpack app, https://2017.keeprubyweird.com. Test Scores Test Pass Score Explanation Content Security Policy ✗ -25 Content Security Policy (CSP) header not […] The post Using HTTP…
1 Nov 2017
Foreword Our Curations engineering team makes heavy use of serverless architecture. While this typically gives us the benefit of reduced costs, flexibility, and rapid development, it also requires us to ensure that our processes will run within the tight memory and lifecycle constraints of serverless instances. In this article, I will describe an actual case […]
9 Oct 2017
In early 2015, I was working at an artificial intelligence startup. My team was planning to build a web application to connect to our neural network platform. The team as a whole had experience (on the AI–side) with Python, and the web team had a lot of experience using Django. We’d implemented a hybrid-app in Cordova using Backbone.js the previous…
11 Aug 2017
23 Jun 2017
15 Jun 2017
Luciano Mammino recounts his experience speaking at the Shift conference in Split, Croatia about Serverless architecture and its pros and cons. He provides links to his talk video, slides, and a Twitter moment.
14 Jun 2017
It’s been a little over a year since our last Happy Node Hackers post, and even in such a short time much has changed and some powerful new tools have been released. The Node.js ecosystem continues to mature and new best practices have emerged. Here are 8 habits for happy Node hackers updated for 2017. […] The post Habits of…
11 May 2017
This is the second of a two-part transcript from a recent interview with Tom Dale of Ember.js. In part one we discussed the history and direction of the Ember.js project. Continuing the discussion of the future for Ember.js, this post includes the rest of the interview, primarily focused on the Glimmer.js project. Some of the […] The post The Future…
9 May 2017
At EmberConf Terence Lee and I had a chance to sit down with Tom Dale and chat about the history of Ember.js and where it’s headed now, including some details on the newly extracted Glimmer.js rendering engine. This post details a lot of the history of Ember, including some of the motivation that led the […] The post The History…
26 Apr 2017
Context and Higher Order Components: Two Immediately Applicable Topics from the Advanced React Workshop
BazaarvoiceThanks to Bazaarvoice I recently attended an “Advanced React Workshop” put on by React Training and taught by Ryan Florence, one of the creators of React Router. Ryan was an engaging teacher and the workshop was filled with memorable quotes. Here are some highlights: The great conundrum of accessibility is that learning it is not […]
11 Apr 2017
The author gave a talk on building universal JavaScript web apps at Codemotion Rome 2017. He updated his Judo Heroes demo to v2 with React 15.4, React Router 4, Webpack 2, and Express 5. The talk got positive feedback from the audience. Slides and video are linked.
31 Mar 2017
This article explains how short URLs work and provides code examples to expand them in Node.js using request module or tall library. It covers basics of URL redirection, shows how to disable auto-redirect in request module, and introduces tall - a promise-based Node.js library to unshorten URLs.
21 Feb 2017
This past October I participated in an awesome Open Source event called “Hacktoberfest”, sponsored by Digital Ocean and GitHub. Hacktoberfest is a month-long celebration of Open Source where developers are encouraged to contribute to the community. Participation is easy: Pull requests can be made in any GitHub-hosted repositories/projects. A contribution can be anything—fixing bugs, creating […]
14 Feb 2017
This post summarizes a talk about building a serverless architecture on AWS Lambda using the Serverless framework. It covers topics like authentication, authorization, testing, CI/CD, and cost monitoring. The presenters share lessons learned from real-world experience building a production serverless application.
26 Nov 2016
This blog post summarizes a talk about building a Universal JavaScript application with React given at Codemotion Milan 2016. It includes commentary for each slide, photos from Twitter, and a video recording. The post explains what Universal JavaScript is, its benefits, challenges, and walks through demo code to add server-side rendering and routing to a React app.
25 Sept 2016
Luciano Mammino recently participated in two interviews discussing his work with Node.js and JavaScript as well as his experience as an author writing books about Node.js design patterns.
8 Sept 2016
Austen Ito is a software engineer at leading online fashion brand Bonobos, based in New York. Read our Bonobos customer story for more information about how Heroku has helped their business. What do you have running on Heroku? We’re running just about everything on Heroku, including our Bonobos.com website, cross-app messaging services, an API for […] The post Running the…
16 Aug 2016
So you want to build an app with React? “Getting started” is easy… and then what? React is a library for building user interfaces, which comprise only one part of an app. Deciding on all the other parts — styles, routers, npm modules, ES6 code, bundling and more — and then figuring out how to […] The post Deploying React…
15 Jul 2016
Bazaarvoice’s Small Web App Technologies (SWAT) team is pleased to announce that we are open sourcing swat-proxy – a tool to inject applications onto third-party webpages. In third-party web application development it is difficult to be certain how our applications will look and behave on a client’s webpage until they are implemented. Any number of things could interfere – including…
7 Jul 2016
Based in Budapest, Hungary, Andras Fincza (Head of Engineering) and Rafael Ördög (Technical Lead) work for Emarsys, a global marketing automation platform. Read our Emarsys customer story to learn more about their migration experience on Heroku. How did you introduce microservices at Emarsys? We take an evolutionary approach to our architecture. Our marketing automation platform […] The post How Emarsys…
6 Apr 2016
Last week, Terence Lee and I caught up with Tom Dale at EmberConf to talk about FastBoot, when you should avoid native apps, and why JavaScript on the server and the browser might start to converge. Check the end for the full recording! So let’s start with the drama, would you say Ember has declared […] The post Tom Dale…
14 Feb 2016
We explore two approaches to support both callbacks and promises in async JavaScript modules: 1) promisify callback functions, 2) make callback optional and return promise. The second allows flexible use of callbacks or promises.
18 Jan 2016
Gulp-cozy is an experimental NPM package that allows you to separate Gulp tasks into small modules inside a dedicated folder, making them easier to maintain. It brings Node.js modularity principles into your Gulp workflow.
16 Dec 2015
Heroku has years of experience operating our world-class platform, and we have developed many internal tools to operate it along the way; however, with the introduction of Heroku Private Spaces, much of the infrastructure was built from the ground up and we needed new tools to operate this new platform. At the center of this, […] The post Introducing Heroku’s…
15 Nov 2015
Notes from the book: JavaScript: The Good Parts by Douglas Crockford Index JavaScript: The Good Parts Primitives Execution Flow Equality Loops / Enumeration Object Literals Arrays Delete Global Abatement Reference Reflection Functions Prototype Function Invocation Pattern Constructor Invocation pattern Closure Modules WTF JavaScript: The Good Parts A walkthrough many of the useful code examples from Douglas Crockfords’ seminal book, JavaScript:…
10 Nov 2015
At the tail end of 2015, JavaScript developers have a glut of tools at our disposal. The last time we looked into this, the modern JS landscape was just emerging. Today, it’s easy to get lost in our huge ecosystem, so successful teams follow guidelines to make the most of their time and keep their […] The post 10 Habits…
25 Oct 2015
This tutorial explains how to use Gulp and vinyl-ftp to watch local files for changes and automatically upload updates to a website via FTP. Useful for quickly editing legacy sites only accessible through FTP.
1 Oct 2015
We are happy to announce version 3.0.0 of our SoundCloud JavaScript SDK. The new SDK improves stream security and content uploading…
8 Sept 2015
This blog post provides a beginner's guide to managing versioning and deployment of static websites using Git for version control, Flightplan.js for automated deployment, and Nginx for serving. It outlines a simple yet complete workflow for implementing continuous delivery and rollbacks.
11 May 2015
The flickr-set-get command line app makes it easy to download entire Flickr galleries. It uses the Flickr API and Node.js asynchronous programming to download photos in parallel. The post explains the motivation behind the project, the technologies used, and how the asynchronous code works.
6 Mar 2015
A couple of years ago, my former colleague Alex Sexton wrote about the techniques that we use at Bazaarvoice to deploy client-side JavaScript applications and then load those applications in a browser. Alex went into great detail, and it’s a good, if long, read. The core idea, though, is pretty simple: an application is bootstrapped […]
20 Oct 2014
One of MongoDB’s arguments when evangelising MongoDB is the fact that MongoDB is a “schemaless” database: Why Schemaless? MongoDB is a JSON-style data store. The documents stored in the database can have varying sets of fields, with different types for each field. And that’s true. But it doesn’t mean that there is no schema. There … Continue reading Stop Claiming…
6 Jun 2014
At Data Geekery, we love Java. And as we’re really into jOOQ’s fluent API and query DSL, we’re absolutely thrilled about what Java 8 will bring to our ecosystem. Java 8 Friday Every Friday, we’re showing you a couple of nice new tutorial-style Java 8 features, which take advantage of lambda expressions, extension methods, and … Continue reading Java 8…
1 May 2014
SoundCloud is pleased to introduce a new major version of the SoundCloud JavaScript SDK. In version 2, we’ve rewritten much of the internal…
11 Mar 2014
This post is from 2014 – check out the update! For most of the nearly twenty years since its inception, JavaScript lacked many of the niceties that made other programming languages like Python and Ruby so attractive: command-line interfaces, a REPL, a package manager, and an organized open-source community. Thanks in part to Node.js and […] The post 10 Habits…
28 Feb 2014
The post explains how to integrate twig.js with BazingaJsTranslationBundle to handle translations consistently between PHP and JavaScript. It shows how to build a custom Twig extension to translate strings with the Bazinga Translator object and handle differences in parameter formatting.
20 Feb 2014
The site is a single-page application that displays a multitude of users’ images. At SoundCloud, we use a technique to make the loading of…
28 Nov 2013
When you build complex angular.js apps, your user interface might start to feel sluggish: You experience an uncomfortable delay whenever you click a button, the screen flickers when you scroll and some actions freeze your browser completely. This guide will help you to identify and speedup the slowest parts of your app. Hint: This post […]
9 Sept 2013
Background When we started to work on the new version of our mobile web app, we knew we wanted to run unit tests on a wide variety of…
14 Jun 2012
This article is also available in: Serbo-Croatian: Pravljenje novog SoundCloud Armenian: SoundCloud (ձայնամպ) ծրագրավորողների համար The…
21 Nov 2011
Proper and effective error tracking is a common issue for front-end JavaScript code compared to back-end environments. We felt this pain as…
28 Apr 2011
Greetings! I’m Robb and this is my first SoundCloud Backstage blog post. During the day I’m a developer working on the Mac App here in the…
27 Aug 2010
If you’re a JavaScript head, we’ve got something for you. SoundCloud now supports Cross Origin Resource Sharing, using XMLHttpRequest. Or…