Latest Tech News

Stay updated with the latest in technology, AI, cybersecurity, and more

Filtered by: js Clear Filter

Show HN: HMPL – Small Template Language for Rendering UI from Server to Client

Server-oriented customizable templating for JavaScript Introduction hmpl is a small template language for displaying UI from server to client. It is based on customizable requests sent to the server via fetch and processed into ready-made HTML. The language is syntactically block-based and integrated with JSON5 and DOMPurify. Reduce the size of your javascript files and display the same UI as if it was written in a modern framework! ☆ If you find HMPL useful, please consider giving us a star

Topics: div hmpl js script server

What's wrong with the JSON gem API?

As I mentioned at the start of my Optimizing Ruby’s JSON series of posts, performance isn’t why I candidated to be the new gem’s maintainer. The actual reason is that the gem has many APIs that I think aren’t very good, and some that are outright dangerous. As a gem user, it’s easy to be annoyed at deprecations and breaking changes. It’s noisy and creates extra work, so I entirely understand that people may suffer from deprecation fatigue. But while it occasionally happens to run into mostly c

Topics: api end json new obj

TIL that You can spot base64 encoded JSON, certificates, and private keys

You can spot base64 encoded JSON, certificates, and private keys Last modified August 5, 2025 Last modified August 5, 2025 I was working on my homelab and examined a file that was supposed to contain encrypted content that I could safely commit on a Github repository. The file looked like this { "serial" : 13 , "lineage" : "24d431ee-3da9-4407-b649-b0d2c0ca2d67" , "meta" : { "key_provider.pbkdf2.password_key" : "eyJzYWx0IjoianpHUlpMVkFOZUZKcEpSeGo4UlhnNDhGZk9vQisrR0YvSG9ubTZzSUY5WT0iLCJpdGVyYX

SimpleW – Web Server Library .NET Core

SimpleW Features Routing API REST (Controller/Method + automatic json serialization/deserialization) Json Web Token Websocket Server Sent Events Static Files OpenTelemetry Documentation To check out docs, visit stratdev3.github.io. Changelog Detailed changes for each release are documented in the CHANGELOG. Contribution Feel free to report issue. License This library is under the MIT License.

How we made JSON.stringify more than twice as fast

JSON.stringify is a core JavaScript function for serializing data. Its performance directly affects common operations across the web, from serializing data for a network request to saving data to localStorage . A faster JSON.stringify translates to quicker page interactions and more responsive applications. That’s why we’re excited to share that a recent engineering effort has made JSON.stringify in V8 more than twice as fast. This post breaks down the technical optimizations that made this impr

Show HN: Sidequest.js – Background jobs for Node.js using your database

Quick Start Guide ​ This guide will help you quickly set up Sidequest.js in your Node.js application. To install Sidequest.js, check out Installation Guide. If you are strictly following this quick start, you should install the SQLite backend driver, which is the default backend for Sidequest.js. 2. Job Creation ​ The first step is to create a Job class. This class will define the job's behavior and can be customized as needed. typescript // jobs/EmailJob.js import { Job } from "sidequest"

Modern Node.js Patterns

Node.js has undergone a remarkable transformation since its early days. If you’ve been writing Node.js for several years, you’ve likely witnessed this evolution firsthand—from the callback-heavy, CommonJS-dominated landscape to today’s clean, standards-based development experience. The changes aren’t just cosmetic; they represent a fundamental shift in how we approach server-side JavaScript development. Modern Node.js embraces web standards, reduces external dependencies, and provides a more in

JSON is not a YAML subset (2022)

JSON is not a YAML subset People on the internet believe that JSON is a subset of YAML, and that it's safe to parse JSON using a YAML parser: Following this advice will end badly because JSON is not a subset of YAML. It is easy to construct JSON documents that (1) fail to parse as YAML, or (2) parse to valid but semantically different YAML. The second case is more dangerous because it's difficult to detect. False has over "1.7e3" named fjords YAML (infamously) allows string scalars to be unqu

Topics: 1e2 json load parser yaml

Show HN: Rewindtty – Record and replay terminal sessions as structured JSON

A terminal session recorder and replayer written in C that allows you to capture and replay terminal sessions with precise timing. ⚠️ Disclaimer This is a hobby project created for fun and learning purposes. It's still in active development and may contain bugs or incomplete features. If you encounter any issues, please report them in the Issues section. Contributions are welcome and encouraged! Features Record terminal sessions : Capture all terminal input/output with accurate timing inform

From XML to JSON to CBOR

In modern computing, data exchange is foundational to everything from web browsing to microservices and IoT devices. The ability for different systems to represent, share, and interpret structured information drives our digital world. Yet no single perfect format has emerged to meet all needs. Instead, we've seen an evolution of data interchange formats, each addressing the specific challenges and technical requirements of its time. This narrative traces three pivotal data formats: Extensible M

Topics: cbor data json web xml

The many JavaScript runtimes of the last decade

July 27, 2025 The many, many, many JavaScript runtimes of the last decade This last decade has seen an inundation of new JavaScript runtimes (and engines in equal measure), enabling us to run JavaScript in all manner of contexts with precise fitness for task. Through these, we've seen the language spread to the Cloud, the edge, Smart TVs, mobile devices, and even microcontrollers. In this article, we'll explore what's driving this diversity, and why no one runtime or engine suffices for all p

The many, many, many JavaScript runtimes of the last decade

July 27, 2025 The many, many, many JavaScript runtimes of the last decade This last decade has seen an inundation of new JavaScript runtimes (and engines in equal measure), enabling us to run JavaScript in all manner of contexts with precise fitness for task. Through these, we've seen the language spread to the Cloud, the edge, Smart TVs, mobile devices, and even microcontrollers. In this article, we'll explore what's driving this diversity, and why no one runtime or engine suffices for all p

Simon Tatham's Portable Puzzle Collection

Simon Tatham's Portable Puzzle Collection Introduction This page contains a collection of small computer programs which implement one-player puzzle games. All of them run natively on Unix (GTK) and on Windows. They can also be played on the web, as Java or Javascript applets. 2023-09-20: I'm sorry to say that I'm no longer going to be able to build the MacOS version of these puzzles. My Mac was very old and had been struggling for a while; it's now stopped working, and I don't intend to buy a

Topics: exe game java js manual

npm 'accidentally' removes Stylus package, breaks builds and pipelines

npm has taken down all versions of the real Stylus library and replaced them with a "security holding" page, breaking pipelines and builds worldwide that rely on the package. A security placeholder webpage is typically displayed when malicious packages and libraries are removed by the admins of npmjs.com, the world's largest software registry primarily used for JavaScript and Node.js development. But that isn't quite the case for Stylus: a legitimate "revolutionary" library receiving 3 million

XSLT: A Precision Tool for the Future of Structured Transformation

Vasu Chakkera gives a summary of some of the varied enterprise uses for XSLT Introduction While modern development trends lean toward JSON and microservices, XML continues to operate quietly but powerfully beneath the surface in enterprise domains like finance, healthcare, legal, education, and digital publishing. In these spaces, where precision, structure, and longevity are non-negotiable, XSLT (Extensible Stylesheet Language Transformations) remains one of the most capable — and often under

Running TypeScript Natively in Node.js

Since v23.6.0, Node.js enables "type stripping" by default. If you are using v23.6.0 or later and your source code contains only erasable typescript syntax, you do not need this article. Since V22.6.0, Node.js has experimental support for some TypeScript syntax via "type stripping". You can write code that's valid TypeScript directly in Node.js without the need to transpile it first. The --experimental-strip-types flag tells Node.js to strip the type annotations from the TypeScript code before

Run TypeScript code without worrying about configuration

TypeScript Execute (tsx) ​ tsx stands for TypeScript Execute and it's a Node.js enhancement to run TypeScript. For starters, think of tsx as an alias to node and use it the same way: sh node file.js →↓ sh tsx file.ts You can pass in Node CLI flags and JS files too: sh tsx --env-file=.env ./file.js Seamless TypeScript execution ​ Run TypeScript code without worrying about configuration! tsx runs your TypeScript code with modern and sensible defaults, making it user-friendly and especially

Windows 11 now uses JScript9Legacy engine for improved security

Microsoft announced that it has replaced the default scripting engine JScript with the newer and more secure JScript9Legacy on Windows 11 version 24H2 and later. The decision is driven by security concerns, as JScript9Legacy is expected to offer better protection against web threats, such as cross-site scripting (XSS), and also improved performance. "To provide a more secure experience, beginning with Windows 11, version 24H2, JScript9Legacy is enabled by default to handle all scripting proces

Compression Dictionary Transport

Algorithms like Brotli compression and Zstandard compression achieve even greater efficiency by allowing the use of dictionaries of commonly encountered strings, so you don't need any copies of them in the compressed resource. These algorithms ship with a predefined default dictionary that is used when compressing HTTP responses. Compression Dictionary Transport builds on this by enabling you to provide your own dictionary which is especially applicable to a particular set of resources. The com

Gmailtail – Command-line tool to monitor Gmail messages and output them as JSON

A command-line tool to monitor Gmail messages and output them as JSON, designed for automation, monitoring, and integration with other tools. # Clone and setup the project # Install uv if you haven't already # Monitor all new emails # JSON Lines format (one JSON per line) # Resume from last checkpoint

gmailtail: tail -f Your Gmail

A command-line tool to monitor Gmail messages and output them as JSON, designed for automation, monitoring, and integration with other tools. # Clone and setup the project # Install uv if you haven't already # Monitor all new emails # JSON Lines format (one JSON per line) # Resume from last checkpoint

Chatbot Flow Editor – Visual tool for designing conversation flows

Chatbot Flow Editor Visual development tool for creating chatbot conversation flows A GUI tool that opens in your browser. Design, test, and export chatbot conversation flows as JSON. Quick Start # Install as development dependency npm install --save-dev @enumura/chatbot-flow-editor # Launch the visual editor npx @enumura/chatbot-flow-editor Your browser will automatically open with the visual flow editor at http://localhost:3001 . Installation & Usage Method 1: Using npx npm install --s

1KB JavaScript Demoscene Challenge Just Launched

I just launched JS1024 — a creative coding challenge with a strict limit: 1024 bytes of JavaScript. No libraries. No frameworks. Just raw code. You can submit visual effects, generative art, tiny games, synths, or whatever you can fit into 1KB of JavaScript. → https://js1024.fun/ Think of it as a spiritual successor to JS1k or the 4k demoscene — with a modern twist. Would love feedback, ideas, or help spreading the word. And if you’ve ever made a tiny JS demo, please share — I’d love to see

Parsing JSON in Forty Lines of Awk

JSON is not a friendly format to the Unix shell — it’s hierarchical, and cannot be reasonably split on any character (other than the newline, which is not very useful) as that character might be included in a string. There are well-known tools such as jq that let you correctly parse JSON documents in the shell, but all require an additional dependency. Another option is to use Python, which is ubiquitous enough that it can be expected to be installed on virtually every machine, and for new proje

Show HN: To-Userscript: Chrome Extension to Userscript Converter

Demo 2x Speed (conversion takes 4s total normal speed, incl. downloading) to-userscript.mp4 Demo but normal speed Screen.Shot.2025-06-20.at.7.59.06.AM.mov A powerful CLI for converting browser extensions into standalone userscripts. What is this? to-userscript bridges the gap between complex, packaged browser extensions and simple, portable userscripts. It takes an extension from the Chrome or Firefox store, a local directory, or a zip/xpi, and creates a single .user.js file that can be run i

Unexpected security footguns in Go's parsers

In Go applications, parsing untrusted data creates a dangerous attack surface that’s routinely exploited in the wild. During our security assessments, we’ve repeatedly exploited unexpected behaviors in Go’s JSON, XML, and YAML parsers to bypass authentication, circumvent authorization controls, and exfiltrate sensitive data from production systems. These aren’t theoretical issues—they’ve led to documented vulnerabilities like CVE-2020-16250 (a Hashicorp Vault authentication bypass found by Goog

Tuxracer.js play Tux Racer in the browser

You can play Tux Racer directly in your browser here: Play TuxRacer.JS TuxRacer.js is a port / rewrite of Extreme Tux Racer, which itself is based on the original Tux Racer game. This project allows you to enjoy Tux Racer directly in your web browser, supporting all major desktop and mobile browsers. Note: This project is in an early development stage and far from complete. However, some courses are already functional enough to provide a fun experience (at least for me!). How to Run TuxRacer.

YouTube's new anti-adblock measures

Over the past few months, YouTube has been trying another round of anti-adblock measures. Currently the anti-adblock stuff is being A/B tested, and one of my accounts is in the experimental group. I wrote a filter that partially avoids one of the anti-adblock measures, fake buffering, on uBlock Origin (and Brave browser, since it uses the same filter rules). (It’s already in the default filter lists, you don’t need to manually add the filter.) One thing that people have ran into is “fake buffer

Topics: ad gvs json video youtube

Next.js 15.1 is unusable outside of Vercel

If you use Next.js anywhere but Vercel, here's some bad news: Next.js 15.1+ is broken. tl;dr: Starting with version 15.1.8, Next.js might break metadata handling for non-Vercel deployments, potentially devastating your search rankings. This is not a bug. When Did This Happen? In 2024, Vercel introduced metadata streaming as an experimental feature. This fundamentally changes how Next.js handles metadata. Traditional approach: Metadata tags (title, description, Open Graph tags) are rendered d