Latest Tech News

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

Filtered by: typ Clear Filter

Words about Arrays and Tables

July 30, 2025 2000 words about arrays and tables THEY'RE JUST FUNCTIONS I'm way too discombobulated from getting next month's release of Logic for Programmers ready, so I'm pulling a idea from the slush pile. Basically I wanted to come up with a mental model of arrays as a concept that explained APL-style multidimensional arrays and tables but also why there weren't multitables. So, arrays. In all languages they are basically the same: they map a sequence of numbers (I'll use 1..N ) to homog

5 apps you should use instead of Obsidian

Nathan Drescher / Android Authority Obsidian is far more than just a simple note-taking app. If you’re willing to put in some effort, you can transform it into a highly versatile personal knowledge management (PKM) system, capable of everything from a detailed to-do list and a budget tracker to various sophisticated databases. However, despite its power, Obsidian isn’t suitable for everyone. Some users might be deterred by its steep learning curve or its particular aesthetic. If you’re ready t

The Sail instruction-set semantics specification language

Implicit parameters are always integers, and they must appear first before any other parameters in the function type signature. The first argument can then just be omitted when calling the function, like so: Functions may also have implicit parameters, e.g. we can implement a zero extension function that implicitly picks up its result length from the calling context as follows: Sail will also ensure that the output of our function has precisely the length bits('n * 'm) for all possible inputs

If you have 90 minutes to spare, play the cyberpunk horror game s.p.l.i.t

s.p.l.i.t is the most badass typing game I’ve ever played. It’s actually more of a hacking simulator, cyberpunk thriller and puzzle experience than a typing game, but its core loop is bookended by sequences of high-intensity letter pecking with gruesome consequences — think Mavis Beacon as designed by Ted Kaczynski — and the final scenes have a way of searing themselves into your psyche. Not to mention, the whole thing takes place on a keyboard, no mouse or gamepad. So I guess it’s technically o

Generic Containers in C: Vec

Generic Containers in C: vec Martin Uecker, 2025-07-20 I discuss the implementation of type and bounds safe generic containers in C. Previously, I discussed a span type, and bounds checking using arrays. Here, I will discuss a vector type. A vector type is essentially a resizable array. A vector type could be used as in the following example. int main() { vec(int) *vec_ptr = calloc(1, sizeof *vec_ptr); if (!vec_ptr) // memory out abort(); for (int i = 0; i < 10; i++) vec_push(int, &vec

Show HN: Tsbro – TypeScript for the browser, no build step

tsbro TypeScript for the Browser. No tooling, no build step, simply works. TypeScript is still second-class citizen with regards to browser adoption, there is a proposal to fix that, but until then we have to use tooling, bundlers, build steps that are an impediment for when you want to quickly create a short demo or PoC. There are ways to run TypeScript code but it can't import other files or make use of remote packages. tsbro solves this by completely bypassing the browser's import system u

3-JSON

From the tree(1) release notes, version 2.0.0: Output un-indented JSON on file descriptor 3 ("stddata") automatically if file descriptor 3 is present (currently Linux only.) Maybe switch to BSON. Surely, nothing will happen if I just assume that the existence of a specific file descriptor implies something, as nobody is crazy or stupid enough to hardcode such a thing? <insert sounds of cars crashing in the background> Oops (from the tree version 2.0.2 release notes): Okay, apparently the std

Topics: 2024 2025 file md type

Show HN: tsbro – TypeScript for the Browser, No Build Step

tsbro TypeScript for the Browser. No tooling, no build step, simply works. TypeScript is still second-class citizen with regards to browser adoption, there is a proposal to fix that, but until then we have to use tooling, bundlers, build steps that are an impediment for when you want to quickly create a short demo or PoC. There are ways to run TypeScript code but it can't import other files or make use of remote packages. tsbro solves this by completely bypassing the browser's import system u

Use Your Type System

Today I'm discussing a trivially simple technique that I've rarely seen used in production codebases. In programming, we often need to deal with simple values that can be represented by simple, generic types built into our programming language or provided by libraries: types like integer, string, or UUID. In any nontrivial codebase, this inevitably leads to bugs when, for example, a string representing a user ID gets used as an account ID, or when a critical function accepts three integer argu

SecurityPal combines AI and experts in Nepal to speed enterprise security questionnaires by 87X or more

Want smarter insights in your inbox? Sign up for our weekly newsletters to get only what matters to enterprise AI, data, and security leaders. Subscribe Now When a tech vendor wants to sell into a large enterprise — or when that enterprise wants to buy software from a tech vendor or AI model provider — each side may be required by the other to prove they will handle shared data responsibly in the form of mandatory surveys and questionnaires. Regulations such as GDPR, the soon-to-be effected EU

Employee – CEO pay gap historically wide

Labor unions Taxes Pay & income See all topics Follow The pay gap between America’s corporate leaders and their workers grew even larger in 2024, according to the AFL-CIO’s annual Executive Paywatch report, released Wednesday. CEOs at the nation’s 500 largest public companies took home $18.9 million last year, or 285 times as much as the typical US worker’s paycheck of $49,500. That’s up from a ratio of 268 to 1 a year earlier, according to the AFL-CIO, a powerful federation of labor unions re

Go allocation probe

Published 2025-07-18 The profiling tools in go will tell you where allocations happened in the code, but won't record the type of the allocation. I suspected that in the code I was looking at, some specific types were causing a lot of allocation but that those allocations were spread over many locations. So with the help of Matt Knight I wrote perhaps the most appallingly fragile code I have ever written - go_allocation_probe. Every heap allocation in go afaict goes through a single function -

Go Allocation Probe

Published 2025-07-18 The profiling tools in go will tell you where allocations happened in the code, but won't record the type of the allocation. I suspected that in the code I was looking at, some specific types were causing a lot of allocation but that those allocations were spread over many locations. So with the help of Matt Knight I wrote perhaps the most appallingly fragile code I have ever written - go_allocation_probe. Every heap allocation in go afaict goes through a single function -

This keyboard case made my Pixel 9 actively painful to use — but I can’t stop typing on it anyway

Clicks Keyboard The Clicks case brings a full QWERTY keyboard with physical keys to selected phones, including the Pixel flagship series. It provides excellent tactile feedback and keyboard shortcuts to your typing experience, but makes the phone taller, a bit imbalanced, and cramped to hold or use. I lived through the early era of non-touch smartphones. My first “smart” phone was a Nokia 3250 Xpress Music with a glorious T9 keypad, and my first QWERTY was an HTC Qtek 9100 running Windows Mobil

Losing language features: some stories about disjoint unions

You can give users syntactically unguarded access to union members, say by using container.field syntax, in which case all you can do if the tag doesn't match that field at runtime is to raise a runtime error, which you can at least do systematically, but the ergonomics are lousy: it's inefficient (you wind up checking twice) and it doesn't help the user avoid the runtime error by statically forcing cases to be handled. You can do #1 but then also fail to even raise a runtime error when the t

Topics: case mesa right tag types

Chinese hackers breached National Guard to steal network configurations

The Chinese state-sponsored hacking group known as Salt Typhoon breached and remained undetected in a U.S. Army National Guard network for nine months in 2024, stealing network configuration files and administrator credentials that could be used to compromise other government networks. Salt Typhoon is a Chinese state-sponsored hacking group that is believed to be affiliated with China's Ministry of State Security (MSS) intelligence agency. The hacking group has gained notoriety over the past tw

Row Polymorphic Programming

Sometimes, especially when dealing with business logic, we have to deal with data that comes in from the real world, or elsewhere, naturally very messily typed, leading to nasty type signatures and messes of macros or code generation to build data structures from a schema. Row polymorphism can help us by abstracting over the fields contained in a record type in the type signature, letting us define records based on data, concatenate records together, and define functions that are generic across

Topics: hs row schema table type

Modular Interpreters and Visitors in Rust with Extensible Variants and CGP

Programming Extensible Data Types in Rust with CGP - Part 2: Modular Interpreters and Extensible Visitors Posted on 2025-07-09 Authored by Soares Chen Discuss on Reddit, GitHub or Discord. This is the second part of the blog series on Programming Extensible Data Types in Rust with CGP. You can read the first part here. As a recap, we have covered the new release of CGP v0.4.2 which now supports the use of extensible records and variants, allowing developers to write code that operates on an

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

The Scourge of Arial (2001)

Arial is everywhere. If you don’t know what it is, you don’t use a modern personal computer. Arial is a font that is familiar to anyone who uses Microsoft products, whether on a PC or a Mac. It has spread like a virus through the typographic landscape and illustrates the pervasiveness of Microsoft’s influence in the world. Arial’s ubiquity is not due to its beauty. It’s actually rather homely. Not that homeliness is necessarily a bad thing for a typeface. With typefaces, character and history a

Binding Application in Idris

I’ve recently implemented binding application as a language feature in Idris. This feature allows writing types such as Dependent pairs in a more ergonomic way without relying on special compiler magic. Or rather, the compiler magic is made available to everyone. This post is a collection of uses for this feature. This feature is not publicly available yet, but I intend to make it available in the near future. What is it? Binding syntax and binding-application is an idea I had a couple of yea

Jank is C++

jank is C++ If you've wondered how much a solo dev can build for seamless C++ interop on a quarter, you're about to find out. In April, jank was unable to reach into C++ at all. Toward the end of this post, I'll show some real world examples of what works today. Before that, though, I want to say thank you for the sponsorship this quarter, not only by all of my individual Github sponsors, but also by Clojurists Together. I also want to say thank you to Vassil Vassilev and Lang Hames for buildin

Topics: cpp ftxui jank std type

jank is C++

jank is C++ If you've wondered how much a solo dev can build for seamless C++ interop on a quarter, you're about to find out. In April, jank was unable to reach into C++ at all. Toward the end of this post, I'll show some real world examples of what works today. Before that, though, I want to say thank you for the sponsorship this quarter, not only by all of my individual Github sponsors, but also by Clojurists Together. I also want to say thank you to Vassil Vassilev and Lang Hames for buildin

Topics: cpp ftxui jank std type

jank Is C++

jank is C++ If you've wondered how much a solo dev can build for seamless C++ interop on a quarter, you're about to find out. In April, jank was unable to reach into C++ at all. Toward the end of this post, I'll show some real world examples of what works today. Before that, though, I want to say thank you for the sponsorship this quarter, not only by all of my individual Github sponsors, but also by Clojurists Together. I also want to say thank you to Vassil Vassilev and Lang Hames for buildin

Topics: cpp ftxui jank std type

Generic interfaces

Generic interfaces Axel Wagner 7 July 2025 There is an idea that is not obvious until you hear about it for the first time: as interfaces are types themselves, they too can have type parameters. This idea proves to be surprisingly powerful when it comes to expressing constraints on generic functions and types. In this post, we’ll demonstrate it, by discussing the use of interfaces with type parameters in a couple of common scenarios. A simple tree set As a motivating example, assume we need

The best monitors for every budget in 2025

Engadget has been testing and reviewing consumer tech since 2004. Our stories may include affiliate links; if you buy something through a link, we may earn a commission. Read more about how we evaluate products . Whether you're upgrading your home office setup or building a new gaming rig, finding the best monitor for your needs can make a huge difference in both comfort and performance. Today’s computer monitors come in all shapes and sizes — from ultra-wide curved monitors designed for immers

Alleged Chinese hacker tied to Silk Typhoon arrested for cyberespionage

A Chinese national was arrested in Milan, Italy, last week for allegedly being linked to the state-sponsored Silk Typhoon hacking group, which responsible for cyberattacks against American organizations and government agencies. According to Italian media ANSA, the 33-year-old man, Xu Zewei, was arrested at Milan's Malpensa Airport on July 3rd after arriving on a flight from China. Italian police arrested the suspect on an international warrant from the U.S. government. ANSA reports that Xu is

Writing a Game Boy Emulator in OCaml

Introduction For the past few months, I have been working on a project called CAMLBOY, a Game Boy emulator written in OCaml that runs in the browser. You can try it out on the following demo page: Demo Page I included several homebrew ROMs in the demo, so please try them out (I recommend Bouncing ball and Rocket Man Demo). You can also play with it in your mobile browser as it runs at 60 FPS on recent smartphones. Repository You can find the repository here: https://github.com/linoscope/CA

Topics: arg bit type uint16 uint8

iPhone Fold reportedly on track for potential launch next year, as prototypes tested

The long-rumored iPhone Fold – the colloquial term used for the company’s unannounced folding iPhone – is reported to be on schedule for a potential launch in the second half of next year. The device is said to have reached the Prototype 1 (P1) stage last month, which is the first point at which the company creates fully-functional devices … Apple generally starts physical work on a new product with a series of mockups that eventually evolve into realistic dummy models which replicate the look