Web Locks API Demo - Online Resource Coordination
Acquire and release locks across tabs. Prevent race conditions in IndexedDB or localStorage. Visual queue and lock state.
UD5 Toolkit
Experience the difference between blocking and non-blocking computation in the browser.
Real-time Animation MonitorClick "Main Thread" to compute Fibonacci on the main thread.
Click "Web Worker" to compute Fibonacci without blocking the UI.
postMessage() and onmessage event handlers. Since workers run in a separate global context, they cannot directly access the DOM, window, or document objects.
requestAnimationFrame callbacks. This causes the animation ball to freeze, timers to stop, and the page to become unresponsive. This demo makes that invisible bottleneck visible.
window, or document. (2) Data is passed via structured cloning (copy, not share), which has overhead for large objects. (3) Each worker has memory overhead (~2-5MB+). (4) Workers cannot access localStorage or sessionStorage directly. (5) Debugging workers can be more challenging. For shared memory scenarios, SharedArrayBuffer can be used, but it requires specific security headers (COOP/COEP).
worker.terminate(). This stops the worker's execution instantly without allowing it to finish or clean up. There's no way to "gracefully" cancel a worker from the outsideβthe worker must cooperatively check a flag if you need graceful cancellation. In this demo, the Cancel button calls terminate() to abort an ongoing computation. This is one advantage workers have over main-thread computations, which cannot be interrupted once started.
BigInt serialization via structured cloning (used in this demo for large Fibonacci numbers) is supported in Chrome 67+, Firefox 68+, Safari 14+, and Edge 79+. For older browsers, you can serialize BigInt results as strings for compatibility.
Acquire and release locks across tabs. Prevent race conditions in IndexedDB or localStorage. Visual queue and lock state.
Generate a sheet of random arithmetic problems (+, -, Γ, Γ·) with configurable digits. For kids and brain training.
Run the classic FizzBuzz with custom rules. See the output for any range. A beginner programmer's playground.
Enter processes and see how different scheduling algorithms handle them. Gantt chart generation. OS course helper.
Open many parallel WebSocket connections and send messages. Test your server's concurrency. All from your browser.
Set a cron expression and see a calendar of the next 1,000 execution times. Never miss a schedule again.
Simulate memory page reference strings with FIFO, LRU, and Optimal algorithms. See page fault count. OS concept demo.
Describe cron schedule expressions in plain English and test future execution times. Indispensable for DevOps and backend developers. Local analysis.
Build cron expressions using a visual editor with dropdowns. See human-readable description and next run times. Easier than raw cron.
Request notification permission and create a push subscription. See the subscription object. Learn how web push works.
Fill in a form to generate a valid package.json for your Node.js project. Includes popular scripts and fields. Local only.
Generate a temporary webhook URL (mock) and view the JSON payloads sent to it. Great for testing integrations locally.
Scroll down to see images load lazily. Code snippet provided. Learn how native loading='lazy' works.
Combine a Pomodoro timer with a simple task list. Assign estimated Pomodoros to tasks and track completions. Boost focus and get things done.
Paste a passage and automatically remove every nth word to create a fillβinβtheβblank exercise. For teaching and selfβstudy.
Generate random icebreaker questions for meetings, parties, or classrooms. Categories for work, fun, and deep talks.
Create random strings of any length using custom character sets. Perfect for generating API tokens, salts, and unique codes. Fully client-side secure.
Build a complex mailto: link with to, cc, bcc, subject, and body. Get the HTML anchor tag. Local.
Create a tailored cover letter based on job title, your skills, and a template. Download as text or PDF print. Private.
Combine a Pomodoro timer with a builtβin toβdo list. Estimate pomodoros per task, track completed sessions, and see daily progress. All data stored locally.
Input any JavaScript object and see if structuredClone can deepβcopy it. Compare with JSON.parse/stringify. Learn transferables.
Generate a paragraph of meaningless corporate jargon. 'We must synergize our scalable core competencies.'
Split a text into an array of individual characters, ready to paste into code. Options for quotes and newlines.
Assign an ICC profile to an image and simulate how it would look on another device. For accurate color workflows. Local.
Create a futuristic robotics or AI startup name with an available .com domain check simulation. For brainstorming.
Calculate load capacitors for a crystal oscillator given stray capacitance and crystal CL. Essential for microcontroller circuit design. Local.
Wrap text around a circular image or element. Adjust radius and position. Get the clean CSS for magazineβstyle layouts.
Decode the header and payload of a JSON Web Token (JWT) without verifying the signature. Inspect claims securely on the client side. Great for developers.
Paste a list of names and split them into a specified number of random teams. Perfect for sports and classrooms.
Drag a battery, resistor, LED onto a grid and simulate current flow. Show Ohm's law in action.