Latest Tech News

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

Filtered by: string Clear Filter

Word numbers: Billion approaches (2008)

Word numbers, Part 1: Billion approaches ITA Software recruits computer scientists using puzzles such as the following. If the integers from 1 to 999,999,999 are written as words, sorted alphabetically, and concatenated, what is the 51 billionth letter? In a series of posts, Dylan Thurston and I will solve this problem step by step, introducing concepts such as monoids and differentiation along the way. We will use the programming language Haskell: every post will be a literate program that y

WordNumbers: Counting letters of number names, alphabetized and concatenated

Word numbers, Part 1: Billion approaches ITA Software recruits computer scientists using puzzles such as the following. If the integers from 1 to 999,999,999 are written as words, sorted alphabetically, and concatenated, what is the 51 billionth letter? In a series of posts, Dylan Thurston and I will solve this problem step by step, introducing concepts such as monoids and differentiation along the way. We will use the programming language Haskell: every post will be a literate program that y

First calls and texts, now Pixels could detect scams from chat apps (APK teardown)

C. Scott Brown / Android Authority TL;DR An Android Authority teardown has revealed that Google’s Scam Detection feature is coming to chat apps. The feature will display scam detection alerts in chat app notifications. It’s possible that apps like WhatsApp, Signal, Instagram, and Twitter could support this functionality. Google introduced Scam Detection functionality to Pixel phones last year, which alerts you if you’re on a phone call with a suspected scammer. The company has also brought t

My first impressions of Gleam

I’m looking for a new programming language to learn this year, and Gleam looks like the most fun. It’s an Elixir-like language that supports static typing. I read the language tour, and it made sense to me, but I need to build something before I can judge a programming language well. I’m sharing some notes on my first few hours using Gleam in case they’re helpful to others learning Gleam or to the team developing the language. My project: Parsing old AIM logs 🔗︎ I used AOL Instant Messenger

My first impressions of gleam

I’m looking for a new programming language to learn this year, and Gleam looks like the most fun. It’s an Elixir-like language that supports static typing. I read the language tour, and it made sense to me, but I need to build something before I can judge a programming language well. I’m sharing some notes on my first few hours using Gleam in case they’re helpful to others learning Gleam or to the team developing the language. My project: Parsing old AIM logs 🔗︎ I used AOL Instant Messenger

Pixel phones might soon stream emergencies in real-time just like iPhones (APK teardown)

Joe Maring / Android Authority TL;DR Google is working on a new feature that will allow you to share live video with emergency services. It appears the feature will work similarly to the Emergency SOS Live Video feature Apple introduced to iOS 18 last year. It’s unclear if this feature will be exclusive to Pixels or available for all Android devices. Pixel phones offer a range of features that can prove helpful in the case of an emergency. For example, there’s Car Crash Detection, Safety Che

Pixel phones might soon stream emergencies in real-time, just like iPhones (APK teardown)

Joe Maring / Android Authority TL;DR Google is working on a new feature that will allow you to share live video with emergency services. It appears the feature will work similarly to the Emergency SOS Live Video feature Apple introduced to iOS 18 last year. It’s unclear if this feature will be exclusive to Pixels or available for all Android devices. Pixel phones offer a range of features that can prove helpful in the case of an emergency. For example, there’s Car Crash Detection, Safety Che

Google Photos could finally fix its annoying search limitation on shared photos (APK teardown)

Edgar Cervantes / Android Authority TL;DR Google Photos is testing a new search feature that will allow users to search for content in shared albums without saving the photos. We’ve spotted a filter to include and exclude shared photos in the search results Currently, users have to save shared photos to their accounts before they can be searched. Google Photos is great for photo editing and media management, but it’s also pretty good for sharing photos with others. There is one caveat, thoug

Gmail may finally alert you when someone reacts to your Chat messages (Updated: Rolling out)

Tushar Mehta / Android Authority TL;DR Strings in the latest Gmail update hint at some new Google Chat features in testing. Notification summaries in Gmail might work independently of Android 16’s system-wide version, bringing the feature to more devices. Gmail may also offer auto-generated conversation summaries and finally notify you when someone reacts to your Chat messages. Update, September 9, 2025 (06:45 AM ET): Google has announced that real-time push notifications for reactions are n

Prehistoric Skull Found Fused to Cave Wall May Have Belonged to Mysterious Ancient Hominid

In 1960, a villager found something terrifyingly creepy in Greece’s Petralona cave—a humanoid cranium with a protrusion on its forehead, fused to the cave wall. Since then, researchers have been trying to date the strange specimen and understand how it got there, but these efforts so far have yielded only a frustratingly broad age range of between around 170,000 and 700,000 years. The skull’s ambiguous stratigraphic position is also less than helpful. So a team of researchers took a slightly di

Pixel phones could soon let you set up unique vibrations for each contact (APK teardown)

Adamya Sharma / Android Authority TL;DR We spotted Google Contacts code that hints at contact-specific vibration patterns for Pixel phones. Apple and Samsung already allow you to assign specific haptics to your contacts. If it rolls out, the feature would tell you who’s calling even when your Pixel is in silent mode. Pixel phones already let you set custom ringtones for individual contacts, but Google could be preparing to take things further. Code hidden in the latest version of the Google

Quirks of Common Lisp Types

By Colin on 2025-08-30 "But I need types," he told me. Humans have a tendency toward binary thinking (pardon the pun). If it's not A, it's B. Perhaps because Lisps have REPLs, they are often thought of from the outside as being dynamic, interpreted languages. Our years of Python have taught us that such languages don't really have strong typing - it's all a wild guess until the interpreter calls foo on a and b and we find out who everyone really is. Yet Common Lisp is fully typed, and AOT com

A look at XSLT 3.0 (2017)

A look at the upcoming XSLT 3.0 release, and why it matters beyond the XML community Eighteen years ago, the originators of XML specification faced a problem: how to use the new language to generate a book-publishing format. What emerged were two new languages, the first for describing the various functional parts of a publication in XML called the XML Stylesheet Language Formatting Objects (ultimately XSL-FO) and the XML Stylesheet language (XSLT) for transforming XML-formatted content into th

Topics: key map string xsl xslt

Why You Should Be Using XSLT 3.0 (2017)

A look at the upcoming XSLT 3.0 release, and why it matters beyond the XML community Eighteen years ago, the originators of XML specification faced a problem: how to use the new language to generate a book-publishing format. What emerged were two new languages, the first for describing the various functional parts of a publication in XML called the XML Stylesheet Language Formatting Objects (ultimately XSL-FO) and the XML Stylesheet language (XSLT) for transforming XML-formatted content into th

Topics: key map string xsl xslt

Google Maps will finally ask how you want Motion Photos handled (APK teardown)

TL;DR Motion Photos combine a still picture with a short video clip. Currently when uploading a Motion Photo to Google Maps, it only works as a still pic. The app appears to be working on support for letting users choose to upload Motion Photos as videos. Motion Photos may be one of the coolest camera options available to us that we just don’t pay nearly enough attention to, able to fuse short video clips with our still photos in order to better preserve the whole vibe of a moment. They’re gr

SDS: Simple Dynamic Strings library for C

Simple Dynamic Strings Notes about version 2: this is an updated version of SDS in an attempt to finally unify Redis, Disque, Hiredis, and the stand alone SDS versions. This version is NOT binary compatible* with SDS verison 1, but the API is 99% compatible so switching to the new lib should be trivial. Note that this version of SDS may be a slower with certain workloads, but uses less memory compared to V1 since header size is dynamic and depends to the string to alloc. Moreover it includes

Antirez/sds: Simple Dynamic Strings library for C

Simple Dynamic Strings Notes about version 2: this is an updated version of SDS in an attempt to finally unify Redis, Disque, Hiredis, and the stand alone SDS versions. This version is NOT binary compatible* with SDS verison 1, but the API is 99% compatible so switching to the new lib should be trivial. Note that this version of SDS may be a slower with certain workloads, but uses less memory compared to V1 since header size is dynamic and depends to the string to alloc. Moreover it includes

Das Problem mit German Strings

German strings are everywhere I look. The impression I’ve gotten from working in the Rust Arrow/Datafusion ecosystem and related file formats for the last couple of months is that StringViews (the implementation of German strings in Arrow) are becoming, if they have not already, the canonical form of representing string columns at execution time. This is generally a good idea. German strings are a fantastic innovation rooted in simplicity that greatly improves most string processing use-cases i

Gmail may finally alert you when someone reacts to your Chat messages (APK teardown)

Tushar Mehta / Android Authority TL;DR Strings in the latest Gmail update hint at some new Google Chat features in testing. Notification summaries in Gmail might work independently of Android 16’s system-wide version, bringing the feature to more devices. Gmail may also offer auto-generated conversation summaries and finally notify you when someone reacts to your Chat messages. Little by little, Gmail is slowly turning into more of a one-stop hub than an inbox. Google has been weaving Chat i

Health Connect prepares to track your favorite vices (APK teardown)

Mishaal Rahman / Android Authority TL;DR Health Connect gives Android users a tool to store their health and fitness data in a centralized repository. In addition to regular health metrics, Health Connect is getting ready to keep track of nicotine and alcohol consumption. Nicotine reporting will support different consumption methods, like cigarettes and vaping. Let’s be honest: Android Health Connect needs work. The system has the best of intentions, offering a tool for organizing and making

Memory optimizations to reduce CPU costs

Imagine that you are given the following task, with a file like this: Name,Department,Salary,JoinDate John Smith,Marketing,75000,2023-01-15 Alice Johnson,Finance,82000,2022-06-22 Bob Lee,Sales,68000,2024-03-10 Emma Davis,HR,71000,2021-09-01 You want to turn that into a single list of all the terms in the (potentially very large) file. In other words, you want to turn it into something like this: [ { "term" : "Name" , "position" : 0 , "length" : 4 } , { "term" : "Department" , "position" : 5

A lightweight TypeScript library for assertion-based runtime data validation

Lightweight, zero-dependency library for validating arbitrary runtime data in TypeScript. decode-kit provides assertion-based validation that refines your types in-place — no cloning, no transformations, and minimal runtime overhead. Installation npm install decode-kit Quick Start decode-kit validates your data and narrows its type in-place. Your original values remain unchanged - only their TypeScript types are refined. The validate function runs a runtime check and, on success, asserts the

Quick Share for iPhones is still in the works, and here’s proof (APK teardown)

Ryan Haines / Android Authority TL;DR A teardown of the latest Google Play Services app has revealed evidence that Google is still working on Quick Share for iPhones. We were also able to view a screen confirming that you need to sign in to share with iPhones. This comes almost a year after we first learned Google might be working on Quick Share for iOS and MacOS. We first heard late last year that Google could be working on Quick Share for iOS and MacOS. This would be a welcome addition, al

Show HN: CasCache – multi-generational cache with optimistic concurrency control

cascache Provider-agnostic CAS like (Compare-And-Set or generation-guarded conditional set) cache with pluggable codecs and a pluggable generation store. Safe single-key reads (no stale values), optional bulk caching with read-side validation, and an opt‑in distributed mode for multi-replica deployments. Contents Overview CAS safety: Writers snapshot a per-key generation before the DB read. Cache writes commit only if the generation is unchanged. Writers snapshot a per-key before the DB rea

Optimizing FizzBuzz in Rust

Optimizing FizzBuzz in Rust for Fun and Profit My little cousin is learning Python, and wanted to know about what kinds of questions he could expect to get in coding interviews. I started him off with good ol' FizzBuzz: obsolete for any actual coding interview today (at least, I hope), but good at his level. After a little back and forth getting reminded about how to create range iterators and fixing the order, he landed on this implementation: def basic_fizzbuzz(): for i in range(1, 101): if

Topics: 00 100 let string µs

It’s not wrong that "\u{1F926}\u{1F3FC}\u200D\u2642\uFE0F".length == 7 (2019)

It’s Not Wrong that "🤦🏼‍♂️".length == 7 But It’s Better that "🤦🏼‍♂️".len() == 17 and Rather Useless that len("🤦🏼‍♂️") == 5 From time to time, someone shows that in JavaScript the .length of a string containing an emoji results in a number greater than 1 (typically 2) and then proceeds to the conclusion that haha JavaScript is so broken—and is rewarded with many likes. In this post, I will try to convince you that ridiculing JavaScript for this is less insightful than it first appears and that S

It’s not wrong that "🤦🏼‍♂️".length == 7 (2019)

It’s Not Wrong that "🤦🏼‍♂️".length == 7 But It’s Better that "🤦🏼‍♂️".len() == 17 and Rather Useless that len("🤦🏼‍♂️") == 5 From time to time, someone shows that in JavaScript the .length of a string containing an emoji results in a number greater than 1 (typically 2) and then proceeds to the conclusion that haha JavaScript is so broken—and is rewarded with many likes. In this post, I will try to convince you that ridiculing JavaScript for this is less insightful than it first appears and that S

It's Not Wrong that " ".length == 7

It’s Not Wrong that "🤦🏼‍♂️".length == 7 But It’s Better that "🤦🏼‍♂️".len() == 17 and Rather Useless that len("🤦🏼‍♂️") == 5 From time to time, someone shows that in JavaScript the .length of a string containing an emoji results in a number greater than 1 (typically 2) and then proceeds to the conclusion that haha JavaScript is so broken—and is rewarded with many likes. In this post, I will try to convince you that ridiculing JavaScript for this is less insightful than it first appears and that S

Basic dependency injection in OCaml with objects

In his article Why I chose OCaml as my primary language, my friend Xavier Van de Woestyne presents, in the section Dependency injection and inversion, two approaches to implementing dependency injection: one using user-defined effects and one using modules as first-class values. Even though I’m quite convinced that both approaches are legit, I find them sometimes a bit overkill and showing fairly obvious pitfalls when applied to real software. The goal of this article is therefore to briefly hig

Python f-string cheat sheets (2022)

Python f-string cheat sheets See fstring.help for more examples and for a more detailed discussion of this syntax see this string formatting article. All numbers The below examples assume the following variables: >>> number = 4125.6 >>> percent = 0.3738 Example Output Replacement Field Fill Width Grouping Precision Type '4125.60' {number:.2f} .2 f '4,125.60' {number:,.2f} , .2 f '04125.60' {number:08.2f} 0 8 .2 f ' 4125.60' {number: 8.2f} 8 .2 f '4.1e+03' {number:.2g} .2 g '4125.6' {number: