Latest Tech News

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

Filtered by: json Clear Filter

Lexy: A parser combinator library for C++17

Why should I use lexy over XYZ? lexy is closest to other PEG parsers. However, they usually do more implicit backtracking, which can hurt performance and you need to be very careful with rules that have side-effects. This is not the case for lexy, where backtracking is controlled using branch conditions. lexy also gives you a lot of control over error reporting, supports error recovery, special support for operator precedence parsing, and other advanced features. Boost.Spirit The main differenc

A new experimental Go API for JSON

Joe Tsai, Daniel Martí, Johan Brandhorst-Satzkorn, Roger Peppe, Chris Hines, and Damien Neil 9 September 2025 Introduction JavaScript Object Notation (JSON) is a simple data interchange format. Almost 15 years ago, we wrote about support for JSON in Go, which introduced the ability to serialize and deserialize Go types to and from JSON data. Since then, JSON has become the most popular data format used on the Internet. It is widely read and written by Go programs, and encoding/json now ranks

Topics: encoding error json v1 v2

Intuitive find and replace CLI (sed alternative)

sd - s earch & d isplace sd is an intuitive find & replace CLI. The Pitch Why use it over any existing tools? Painless regular expressions. sd uses regex syntax that you already know from JavaScript and Python. Forget about dealing with quirks of sed or awk - get productive immediately. String-literal mode. Non-regex find & replace. No more backslashes or remembering which characters are special and need to be escaped. Easy to read, easy to write. Find & replace expressions are split up, w

Topics: echo json null sd sed

Show HN: Simple modenized .NET NuGet server reached RC

Simple modenized NuGet server implementation. (日本語はこちら) What is this? A simple NuGet server implementation built on Node.js that provides essential NuGet v3 API endpoints. Compatible with dotnet restore and standard NuGet clients for package publishing, querying, and manually downloading. A modern browser-based UI is also provided: You can refer to registered packages. You can check various package attributes. You can download packages by version. You can also publish (upload) packages.

RFC 9839 and Bad Unicode

Unicode is good. If you’re designing a data structure or protocol that has text fields, they should contain Unicode characters encoded in UTF-8. There’s another question, though: “Which Unicode characters?” The answer is “Not all of them, please exclude some.” This issue keeps coming up, so Paul Hoffman and I put together an individual-submission draft to the IETF and now (where by “now” I mean “two years later”) it’s been published as RFC 9839. It explains which characters are bad, and why, th

MCP tools with dependent types

August 17, 2025 MCP tools with dependent types This summer, I’ve been playing a bit with writing an MCP server for Defold editor. The idea was to give Claude access to evaluating Lua code in the editor scripting context, so it can use the APIs available for querying and modifying game content. The best word to describe the experience is entertaining — it has a very vague idea of the available APIs, and prefers to experiment by evaluating code instead of browsing documentation, which results in

MCP Tools and Dependent Types

August 17, 2025 MCP tools with dependent types This summer, I’ve been playing a bit with writing an MCP server for Defold editor. The idea was to give Claude access to evaluating Lua code in the editor scripting context, so it can use the APIs available for querying and modifying game content. The best word to describe the experience is entertaining — it has a very vague idea of the available APIs, and prefers to experiment by evaluating code instead of browsing documentation, which results in

Traps to Developers

NaN. Floating point NaN is not equal to any number including itself. NaN == NaN is always false (even if the bits are same). NaN != NaN is always true. Computing on NaN usually gives NaN (it can "contaminate" computation). There are +Inf and -Inf. They are not NaN. There is a negative zero -0.0 which is different to normal zero. The negative zero equals zero when using floating point comparision. Normal zero is treated as "positive zero". JS use floating point for all numbers. The max accurat

Go 1.25 Release Notes

Introduction to Go 1.25 The latest Go release, version 1.25, arrives in August 2025, six months after Go 1.24. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility. We expect almost all Go programs to continue to compile and run as before. Changes to the language There are no languages changes that affect Go programs in Go 1.25. However, in the language specification the notion of core types

Json2dir: a JSON-to-directory converter, a fast alternative to home-manager

json2dir : a JSON-to-directory converter, a fast alternative to home-manager for managing dotfiles TL;DR: file.json : { "file" : " Hello, world! " , "dir" : { "subfile" : " Content. " , "subdir" : {} }, "symlink" : [ " link " , " target path " ], "script" : [ " script " , " #!/bin/sh echo Howdy! " ] } cat file.json | json2dir Here, four files will be added to the current directory: file , dir , symlink , and script . Using json2dir as a home-manager alternative. Input schema Objects re

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

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

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

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

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

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

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