---
title: "Bring back the fun with p5.js 2.0"
publication: "JavaScript Weekly"
issue: 733
published_at: "2025-04-25"
canonical_url: "https://javascriptweekly.com/issues/733"
---

Plus it's been a big week for React. |        

#​733 — April 25, 2025 

[Read on the Web](https://javascriptweekly.com/issues/733)  

Together with [![Sentry logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_350,h_100/e_make_transparent/co_white,e_outline:7/xdmchdxkka938lxfr86f.png)](https://sentry.io/resources/debug-laravel-with-sentry/?utm_source=javascriptweekly&utm_medium=paid-community&utm_campaign=debugging-fy26q1-laravel&utm_content=newsletter-headshot-rsvp)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/na201kv4nhwhmukld1ta.jpg)](https://p5js.org/)  

[p5.js 2.0: The JavaScript Library for Creative Coding](https://p5js.org/) — A popular [Processing](https://processing.org/)-inspired creative coding library that makes it easy to create interactive, visual experiences ([examples](https://p5js.org/examples/)). v2.0 improves its font support, adds more ways to draw and manipulate text, [adds a way to write shaders in JavaScript](https://www.davepagurek.com/blog/writing-shaders-in-js/), and much more. [p5.js 2.0: You Are Here](https://medium.com/processing-foundation/p5-js-2-0-you-are-here-f827f40519a7) has more details on the release and where the project is headed next. 

p5.js Team   

💡 p5.js is simultaneously useful and fun. It provides a great abstraction for interactive, visual experiences and is easy to play with using [its online editor.](https://editor.p5js.org/) A pastime of mine is asking AI models to create demos. For example, [load this p5.js sketch](https://editor.p5js.org/petercooper/sketches/l5XO03FE1) and hit play to see a JS logo glitch experiment OpenAI's o3 just made for me.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/9d5785a5.png)](https://sentry.io/resources/debug-laravel-with-sentry/?utm_source=javascriptweekly&utm_medium=paid-community&utm_campaign=debugging-fy26q1-laravel&utm_content=newsletter-headshot-rsvp) 

[Unbork Your Laravel App (Live)](https://sentry.io/resources/debug-laravel-with-sentry/?utm_source=javascriptweekly&utm_medium=paid-community&utm_campaign=debugging-fy26q1-laravel&utm_content=newsletter-headshot-rsvp) — Laravel is so in right now. Join us for a hands-on debugging session using a demo app, Unborked. We’ll track errors, replay sessions, trace slowdowns, and maybe even let the robots help. Bring your bugs. 

Sentry sponsor   

[Big Updates in the React World](https://react.dev/blog/2025/04/23/react-labs-view-transitions-activity-and-more) — You know it’s been a big week in the React world when [the React Compiler hitting Release Candidate](https://react.dev/blog/2025/04/21/react-compiler-rc) is the second most important story. In this latest React Labs post, we learn about two new features ready to try out today in `react@experimental`: [View Transitions](https://react.dev/blog/2025/04/23/react-labs-view-transitions-activity-and-more#view-transitions) and the `<Activity>` component. 

Ricky Hanlon   

**IN BRIEF:** 

- SolidJS creator Ryan Carniato [reflects on a decade running the SolidJS project](https://dev.to/this-is-learning/a-decade-of-solidjs-32f4), four years after [hitting v1.0.](https://dev.to/ryansolid/solidjs-official-release-the-long-road-to-1-0-4ldd)
- Back in March, the Node.js project suffered a security incident relating to its CI/testing setup. They've now [written up the details](https://nodejs.org/en/blog/vulnerability/march-2025-ci-incident) of what happened.
- With Deno 2.3 just around the corner, the Deno team shares [a few updates on recent improvements.](https://deno.news/archive/deno-v23-is-almost-here)   

**RELEASES:** 

- ⭐ [pnpm 10.9](https://github.com/pnpm/pnpm/releases/tag/v10.9.0) – The alternative, efficient package manager. It can now be used to install [JSR packages.](https://jsr.io/)
- [jsvu 3.0](https://github.com/GoogleChromeLabs/jsvu) – Tool to install versions of various JavaScript engines.
- [SmallJS 1.6](https://small-js.org/News/News.html) – A Smalltalk-80 implementation that runs in JavaScript.
- [Bun v1.2.10](https://bun.sh/blog/bun-v1.2.10), [Node.js v22.15.0 (LTS)](https://nodejs.org/en/blog/release/v22.15.0), [Next.js 15.4 Canary](https://github.com/vercel/next.js/releases/tag/v15.4.0-canary.9)  

📖 Articles 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/gbdd0akvfw15kicgkcav.jpg)](https://craftofui.substack.com/p/time-travel-with-javascript)   

[Creating a 3D Split-Flap Display with JavaScript](https://craftofui.substack.com/p/time-travel-with-javascript) — A [split-flap display](https://en.wikipedia.org/wiki/Split-flap_display) is a electro-mechanical display commonly associated with live timetable displays and it makes for a neat effect on the Web too. Jhey breaks down how to replicate it, or you can hit up [this live demo.](https://codepen.io/jh3y/pen/yyLmeJd) 

Jhey Tompkins   

[Impossible Components](https://overreacted.io/impossible-components/) — Dan Abramov digs into the idea of so-called ‘impossible’ components that mix server-only and client-only features and how React Server Components can help bridge the divide, culminating in an example you can experiment with for yourself. 

Dan Abramov   

[How to Build a Multi-Tenant App Using Clerk + Supabase](https://go.clerk.com/zOc46ZM) — Clerk and Supabase empower you to build B2B apps with only a few small changes to your codebase. [Learn how in this guide](https://go.clerk.com/zOc46ZM). 

Clerk sponsor   

[Optimizing Node Performance with V8 GC Optimization](https://blog.platformatic.dev/optimizing-nodejs-performance-v8-memory-management-and-gc-tuning) — Matteo recently [▶️ gave a talk](https://www.youtube.com/watch?v=_OnTUIYxGRs) about Node’s memory usage and has written it up into this blog post. He notes that high memory usage doesn’t necessarily mean you have a memory leak, explains how V8’s garbage collection works, and how to tune things for your own use case. 

Matteo Collina   

[Abusing DuckDB-WASM by Making SQL Draw 3D Graphics (Sort Of)](https://www.hey.earth/posts/duckdb-doom) — Oh, this is a fun experiment. [DuckDB](https://duckdb.org/) is a small and powerful in-process SQL database (think SQLite but for analytical tasks) and has a native WebAssembly build. Couple that with some JavaScript, and you too could do some rather bizarre things.. 

Patrick Trainer   

💡 Lest you think this is _just_ a fun item, you could use the techniques learnt here to integrate DuckDB more seriously into other Web projects.  

📄 [A Decade of Impact: How Our npm Packages Hit 1 Billion Downloads and Shaped JavaScript](https://forwardemail.net/en/blog/docs/how-npm-packages-billion-downloads-shaped-javascript-ecosystem) – A bold title for sure, but with a neat story behind it. Forward Email 

📄 [Float16Array in JavaScript](https://www.trevorlasn.com/blog/float16array-javascript) – Understanding the 16-bit floating point array type. Trevor I. Lasn 

📄 [When to Use `map()` vs. `forEach()`](https://allthingssmitty.com/2025/04/21/when-to-use-map-vs-foreach/) Matt Smith 

📄 [Zero-Config Debugging with Deno and OpenTelemetry](https://deno.com/blog/zero-config-debugging-deno-opentelemetry) Casonato and Jiang (Deno)  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/o3l4mguvvetrnyjqh1q4.jpg)](https://www.jsfontpicker.com/)  

[JavaScript Font Picker](https://www.jsfontpicker.com/) — A surprisingly featureful control for letting users pick fonts from a range of system fonts, Google fonts, and custom fonts of your choice. You can [play with a code demo here](https://codepen.io/arjan-haverkamp/pen/emYjzgX) or go to the [GitHub repo.](https://github.com/wipeautcrafter/jsfontpicker) 

Zygomatic   

🎨 The folks behind this project have also built [JS Color Picker](https://www.jscolorpicker.com/).  

[Scala.js 1.19.0: A Way to Bring Scala and JavaScript Together](https://www.scala-js.org/news/2025/04/21/announcing-scalajs-1.19.0/) — [Scala](https://www.scala-lang.org/) is a powerful language that never quite seemed to make it big to me, but it has a devoted fanbase and has grown beyond its JVM roots to also have JavaScript and native runtimes. Scala.js is a Scala to JavaScript compiler and [the homepage](https://www.scala-js.org/) has some neat code and feature comparisons. 

Scala.js Team   

[Penpot Launches Native Design Tokens!](https://penpot.app/collaboration/design-tokens?utm_source=JavaScriptWeekly&utm_medium=Newsletter&utm_campaign=DesignTokens) — Simplify your design & code collaboration with Penpot design tokens: the key to consistency and scalability. 

Penpot sponsor   

[Spectacle: Create Sleek React-Powered Presentations](https://nearform.com/open-source/spectacle/) — A React-based library for creating sleek presentations using JSX syntax that gives you the ability to live demo your code, add interactive elements, scrollable code blocks, graphics effects, and more. 

Nearform   

[Frimousse: A Lightweight, Unstyled, and Composable Emoji Picker for React](https://github.com/liveblocks/frimousse) — The picker is accessible and won’t display any emojis that aren’t supported on the device. You can explore some [demos here](https://frimousse.liveblocks.io/). 

liveblocks   

- [c15t (Consent Management)](https://github.com/c15t/c15t) – A React approach to transforming privacy consent from a mere checkbox into a fully observable system.
- [bignumber.js 9.3](https://github.com/MikeMcl/bignumber.js) – Arbitrary-precision decimal and non-decimal arithmetic.
- [Milkdown 7.9](https://github.com/Milkdown/milkdown) – Plugin-driven WYSIWYG Markdown editor framework.
- [Koota 0.4](https://github.com/pmndrs/koota/releases/tag/v0.4.0) – Performant real-time ECS-based state management.
- [tablesort 5.6](https://tristen.ca/tablesort/demo/) – Plain JS table row sorting mechanism.
- 📺 [React Lite YouTube Embed 2.5](https://github.com/ibrahimcesar/react-lite-youtube-embed)
- [ESLint v9.25.1](https://eslint.org/blog/2025/04/eslint-v9.25.1-released/)       

📰 Classifieds   

[Meticulous automatically creates and maintains an E2E UI test suite with zero developer effort](https://www.meticulous.ai?utm_source=javascript_weekly&utm_campaign=april25th2025). Relied on by Dropbox, Wiz, Lattice, Bilt Rewards, etc. 

--- 

✉️ **FYI**: We publish two other JavaScript related newsletters if you work with Node.js or React: [Node Weekly](https://nodeweekly.com/) and [React Status](https://react.statuscode.com/).     

📢 Elsewhere  

A quick roundup of other interesting updates and useful resources from across the broader developer landscape: 

- 🤔 The Microsoft Edge team is looking for [feedback on a new `console.context()` method](https://blogs.windows.com/msedgedev/2025/04/22/contextual-logging-with-console-context/) to enable "helpful contextual logging" within the devtools.
- 🔭 David Cummings of the Jet Propulsion Laboratory gave a talk about [▶️ how they diagnosed and fixed a problem on the Voyager 1 space probe](https://www.youtube.com/watch?v=YcUycQoz0zg) while it was 15 billion miles away. If you ever think debugging a local app is difficult, this is next level.
- 🔐 [The maximum lifetime of TLS certificates is set to be reduced to 47 days](https://www.digicert.com/blog/tls-certificate-lifetimes-will-officially-reduce-to-47-days) in a gradual process between early 2026 and 2029.
- 🤯 Google may be forced to sell Chrome, and [guess who's interested in buying it?](https://arstechnica.com/ai/2025/04/chatgpt-head-tells-court-openai-is-interested-in-buying-chrome/)OpenAI, among others.
- TIL you can [interact with GitHub's GraphQL API with the GitHub CLI tool.](https://github.blog/developer-skills/github/exploring-github-cli-how-to-interact-with-githubs-graphql-api-endpoint/)         

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or [stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
