#486 — May 16, 2023
‘This Page is Hosted on my Android Phone’ — Since it’s been linked on some pretty big sites already, I don’t feel too guilty about linking it here too 😆 This is a link to a blog being hosted from a $180 Android phone that’s running Node.js and it explains how you can repeat the feat for yourself. (If it is down, the same page is hosted here on a more typical server.)
Deopt Explorer: A VS Code Extension to Inspect V8 Trace Log Info — A thorough introduction to a new tool from Microsoft for performing advanced analysis of information relating to the V8 engine’s internals, from CPU profile data, how inline caches operate, deoptimizations, how functions were run (interpreted or compiled) and more. There’s a lot going on here. If you want to jump straight to the extension, it’s here.
Ron Buckton (Microsoft)
Memetria: Secure, Scalable Redis 7 Hosting — The latest Redis features, instrumented and scaled with the tools teams need as they grow.
Reducing the Cost of String Serialization in Node’s Core — Is it possible to reduce the cost of string serialization in Node, particularly in the context of URL parsing? Research was done and the answer is.. yes, by quite a lot too. Benchmarks included.
If the availability of npm is essential to you, you can subscribe to live updates on the npmjs.org status page – there were some problems yesterday (May 15), for example.
📗 It’s still a month away, but co-author Manuel Spigolon let us know that his book Accelerating Server-Side Development with Fastify is being released on June 16. It is, I believe, the first print book about the popular Node web framework.
🤖 There’s a new approach to headless browsing in Chromium that could make your Node-powered scrapers/bots look far more realistic.
Your Jest Tests Might Be Wrong — Is your Jest test suite failing you? You might not be using the testing framework’s full potential, especially when it comes to preventing state leakage between tests.
How to Handle Emojis in Node — A quick look under the covers for anyone who doesn’t understand why ‘😁’.length equals 2 or how characters like emoji are internally represented.
🛠 Code & Tools
Garph 0.5: A Fullstack GraphQL Framework for TypeScript — Full-stack ‘batteries included’ GraphQL APIs without codegen. GitHub repo.
sqs-consumer: Build Amazon SQS-Based Apps Without Boilerplate — Build SQS-based (Simple Queue Service) applications without the boilerplate. Just define an async function that handles the SQS message processing. If it’s good enough for the BBC..
Dynaboard: A Low-Code Web App IDE Made for Developers — Build high performance public and private web apps in a collaborative — full-stack — development environment.
htmlparser2 9.0: A ‘Fast and Forgiving’ HTML and XML Parser — Consumes documents and calls callbacks, but it can generate a DOM as well. There’s a live demo here. Works in both Node and browser.
Knip: Find Unused Files, Dependencies and Exports in TypeScript Projects — Being Dutch for “cut” is quite appropriate as Knip can help you trim away things that aren’t being used in your project.
eslint-plugin-check-file: Rules for Consistent Filename and Folder Names — Allows you to enforce a consistent naming pattern for file and directory names in projects.
cRonstrue: Library to Convert cron Expressions into Human Readable Form — The idea is that given something like */5 * * * *, it will return “Every 5 minutes”. No dependencies.
Find Tech Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
TestCafe 2.6 – End-to-end web testing with Node.
TheLounge 4.4 – Web-based IRC client.
lmdb-js 2.8 – Data store wrapper for LMDB.
↳ Prepare Node AWS Lambda functions for deployment.
↳ Create isolated node.js environments.
↳ Cross-platform access to ExifTool