Latest Tech News

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

Filtered by: func Clear Filter

Excel's new Copilot function turns your prompts into formulas - how to try it

Microsoft / Elyse Betters Picaro / ZDNET ZDNET's key takeaways A new COPILOT function in Excel lets you use AI in a formula. The new skill is now available to Microsoft 365 insiders. Reduces some of the complexity involved in creating formulas. Get more in-depth ZDNET tech coverage: Add us as a preferred Google source on Chrome and Chromium browsers. Using functions in Excel can sometimes be challenging, especially if you're trying to devise complex formulas to work with your data. Now Mic

The joy of recursion, immutable data, & pure functions: Making mazes with JS

This post is based on a talk I presented at Web Directions Summit, 2024. Let’s start by addressing the elephant in the room. Why the heck am I talking about making mazes? Normally, I try to be practical when I’m writing or speaking. I want to give people tools they can use to make their coding lives better. So, I try to discuss things like creating DOM elements and processing JSON data. Because those things are practical. I would rather not waste people’s time on things they’re not going to us

Dell 14 Premium Review: Hello Old Friend

Dell is facing an uphill battle. It’s relaunching an already divisive laptop design with no significant changes. The new Dell 14 Premium retains the limited ports, touch-button function keys, and the invisible trackpad of its predecessor, none of which were particularly popular. Unfortunately, it doesn’t have the XPS pedigree to lean on. The axing of the XPS name was one of the many casualties in the company’s new, “simplified” brand. So, with a new name and an old design, I've been testing the

Microsoft Excel adds Copilot AI to help fill in spreadsheet cells

is a news writer who covers the streaming wars, consumer tech, crypto, social media, and much more. Previously, she was a writer and editor at MUO. Posts from this author will be added to your daily email digest and your homepage feed. Microsoft Excel is testing a new AI-powered function that can automatically fill cells in your spreadsheets, which is similar to the feature that Google Sheets rolled out in June. You would use the “COPILOT” function followed by a natural language prompt and (op

Anker’s latest power station is compact, capable, and temporarily cheap

is a deputy editor and Verge co-founder with a passion for human-centric cities, e-bikes, and life as a digital nomad. He’s been a tech journalist for 20 years. Posts from this author will be added to your daily email digest and your homepage feed. 1kWh power stations like Anker’s new Solix C1000 Gen 2 are in the sweet spot for most people in need of a big-ass battery. Its long-lasting LFP chemistry and 2,000W inverter combine during a blackout to keep devices like a router, fridge/freezer, an

Left to Right Programming

2025-08-17 Left to Right Programming Programs Should Be Valid as They Are Typed I don’t like Python’s list comprehensions: text = "apple banana cherry dog emu fox" words_on_lines = [ line . split ( ) for line in text . splitlines ( ) ] Don’t get me wrong, declarative programming is good. However, this syntax has poor ergonomics. Your editor can’t help you out as you write it. To see what I mean, lets walk through typing this code. words_on_lines = [ l Ideally, your editor would be to aut

Left to Right Programming: Programs Should Be Valid as They Are Typed

2025-08-17 Left to Right Programming Programs Should Be Valid as They Are Typed I don’t like Python’s list comprehensions: text = "apple banana cherry dog emu fox" words_on_lines = [ line . split ( ) for line in text . splitlines ( ) ] Don’t get me wrong, declarative programming is good. However, this syntax has poor ergonomics. Your editor can’t help you out as you write it. To see what I mean, lets walk through typing this code. words_on_lines = [ l Ideally, your editor would be to aut

Derivatives, Gradients, Jacobians and Hessians

This article explains how these four things fit together and shows some examples of what they are used for. Derivatives Derivatives are the most fundamental concept in calculus. If you have a function, a derivative tells you how much that function changes at each point. If we start with the function , we can calculate the derivative as . Here are those two functions graphed. One use of derivatives is for optimization – also known as finding the lowest part on a graph. If you were at and wan

Compiler Bug Causes Compiler Bug: How a 12-Year-Old G++ Bug Took Down Solidity

Compilers aren't supposed to crash — especially not when compiling perfectly valid code like this: // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.25; contract A { function a () public pure returns ( uint256 ) { return 1 ** 2 ; } } Yet running Solidity's compiler (solc) on this file on a standard Ubuntu 22.04 system (G++ 11.4, Boost 1.74) causes an immediate segmentation fault. At first, this seemed absurd. The code just returns 1 to the power of 2 — no memory tricks, unsafe casti

Lambdas, Nested Functions, and Blocks (2021)

I have the fortunate privilege to be part of the ISO C Standard mailing list, and recently a thread kicked off about Lambdas and what their need is in the C Community. That thread was in response to an ongoing push by Jens Gustedt’s proposal N2736, where Gustedt is building steam to put a proper function + data type into the C Standard at some point. What kicked off in that thread was a lot of talking about nested functions, blocks, statement expressions, whether we even need the ability to have

Lambdas, Nested Functions, and Blocks

I have the fortunate privilege to be part of the ISO C Standard mailing list, and recently a thread kicked off about Lambdas and what their need is in the C Community. That thread was in response to an ongoing push by Jens Gustedt’s proposal N2736, where Gustedt is building steam to put a proper function + data type into the C Standard at some point. What kicked off in that thread was a lot of talking about nested functions, blocks, statement expressions, whether we even need the ability to have

Multimodal WFH setup: flight SIM, EE lab, and music studio in 60sqft/5.5M²

Once the basics were done, the real game of Tetris began: First up, just like the conferencing capabilities, we segmented the work modes into 4 distinct groups. It was clear that the space was simply not large enough to support dedicated areas, so we took the equipment and requirements list, and started playing with shelf numbers and their height and made sure that each item is in its best possible ergonomic position. The by far largest amount of devices by volume and space were the musical in

Bouncing on trampolines to run eBPF programs

This blog post is the second installment in our eBPF blog post series, following our blog post about eBPF selftests. As eBP F is more and more used in the industry, eBPF kernel developers give considerable attention to eBPF performance: some standard use cases like system monitoring involve hundreds of eBPF programs attached to events triggered at high frequencies. It is then paramount to keep eBPF programs execution overhead as low as possible. This blog post aims to shed some light on an inte

PHP compile time generics: yay or nay?

One of the most sought-after features for PHP is Generics: The ability to have a type that takes another type as a parameter. It's a feature found in most compiled languages by now, but implementing generics in an interpreted language like PHP, where all the type checking would have to be done at runtime, has always proven Really Really Hard(tm), Really Really Slow(tm), or both. But, experimentation by the PHP Foundation's dev team suggests we may be able to get 80% of the benefit for 20% of th

GPTs and Feeling Left Behind

Every time that I read some blog post about “coding with AI”, or how cool new models write entire libraries by themselves, I feel like I’m lagging behind, like I’m missing out on some big, useful tool, and my skills are about to become obsolete very soon. So I try different models and tools, and it’s all incredibly underwhelming. It’s honestly hard to believe that people get work done using these tools, because I can spend a few hours on them (without getting even close to finishing the task at

Technical issues of separation in function cells and value cells (1988)

Technical Issues of Separation in Function Cells and Value Cells by Richard P. Gabriel Lucid, Inc. and Stanford University Kent M. Pitman Symbolics, Inc. Copyright 2001 by Kent M. Pitman and Richard P. Gabriel. All rights reserved. 1. Preface This paper is an adaptation of a report produced for X3J13 by the authors, a technical working group engaged in standardizing Common Lisp for ANSI 2. Introduction In 1981 the emerging Common Lisp community turned to Scheme for some of its motivati

Complex Iterators Are Slow

Complex Iterators are Slow Thursday, 31 July 2025 Timi, my pure JavaScript B-Tree, achieves best in class iteration speed in part because I replaced Iterators with callbacks. They might be convenient, but the design of JavaScript Iterators is inherently slow for complex iteration as it prevents your compiler from inlining code. Inlining is when the call site of a function is replaced with its body to avoid the overhead of a function call. So, this: function add(a, b) { return a + b; } for (

Photographer spends years on street corner capturing same commuters daily (2017)

For 9 years, from 8:30 am and 9:30 am, Danish photographer Peter Funch stood at the southern corner of 42nd Street and Vanderbilt Avenue. In the rush of commuters, what he found was a glimpse of universal habits and the long trek to work. From 2007 to 2016 Funch carried out his project 42nd and Vanderbilt in which he captures the same person twice, mid-commute, leaving the viewer to wonder if they were photographed days, months, or even years apart. This simple surveillance exercise lets viewer

Out-Fibbing CPython with the Plush Interpreter

Out-Fibbing CPython with the Plush Interpreter In the last post I talked about Plush, the toy programming language with actor-based parallelism I've been tinkering with. The implementation is still immature, but it's reached a point where I can write fun programs that produce 2D/3D graphics and parallelize things over multiple CPU cores. Something I'd like to try soon, for the fun of it, is to animate a spinning cube with software rendering (rasterization). Before I get to that though, I'd like

PHP 8.5 adds pipe operator

PHP 8.5, due out November of this year, will bring with it another long-sought-after feature: the pipe operator ( |> ). It's a small feature with huge potential, yet it still took years to happen. What is a pipe operator? The pipe operator, spelled |> , is deceptively simple. It takes the value on its left side and passes it as the single argument to a function (or in PHP's case, callable ) on its right side: $result = "Hello World" |> strlen(...) // Is equivalent to $result = strlen("Hello W

Profiling without Source code – how I diagnosed Trackmania stuttering

Profiling without Source code – how I diagnosed Trackmania stuttering A very common side effect of working as a programmer is the constant frustration of not having source code access to all the software you use. Bugs, problems or missing features in your own work can be frustrating enough — you know you’ll have to address all those issues at some point. But it’s even worse when you experience an issue and don’t have the option to solve it. A recent example of this for me was playing the game

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

Placing Functions

placing functions — 2025-07-08 What are placing functions? About a year ago I observed that in-place construction seems surprisingly simple. By separating the creating of the place in memory from writing the value to memory, it’s not that hard to see how we can turn that into a language feature. So about six months ago, that’s what I went ahead and did and created the placing crate: a proc-macro-based prototype for “placing functions”. Placing functions are functions whose return type is con

Structuring large Clojure codebases with Biff

Jacob O'Bryant | 28 Jan 2025 I've been making some progress on rewriting Yakread (a fancy reading app) from ~scratch and open-sourcing it in the process. Along the way I'm experimenting with potential new features for Biff, my Clojure web framework, which Yakread is built with. In particular I'm working on approaches for keeping Biff apps more manageable as the codebase grows: the original Yakread codebase was about 10k lines and was already getting pretty crufty. I've also learned some things

The Useless UseCallback

28.07.2025 — React, JavaScript, useCallback, Performance — 5 min read #1: The Uphill Battle of Memoization #2: The Useless useCallback I thought I'd written enough about memoization by now, but I feel there is one pattern I'm seeing a lot lately that makes me think otherwise. So today, I want to look at useCallback , and to some extent useMemo , in situations where I think they are totally pointless. Why memoize? There's usually only two reasons to create a memoized version of a function wi

Implementing dynamic scope for Fennel and Lua

I’m continuing my work on fennel-cljlib, my port of clojure.core and some other core libraries, focusing on porting missing functions and features to it. One such feature, which I sometimes miss in Lua and Fennel, is dynamic binding. The Lua VM doesn’t provide dynamic scoping as a language feature, and Fennel itself doesn’t introduce any concepts like Clojure’s Var . However, we can still implement dynamic scoping that works similarly to Clojure and other Lisps using the debug library. Most of

OCaml Programming: Correct and Efficient and Beautiful

OCaml Programming: Correct + Efficient + Beautiful# A textbook on functional programming and data structures in OCaml, with an emphasis on semantics and software engineering. This book is the textbook for CS 3110 Data Structures and Functional Programming at Cornell University. A past title of this book was “Functional Programming in OCaml”. Spring 2025 Edition. Videos. There are over 200 YouTube videos embedded in this book. They can be watched independently of reading the book. Start with t

Echelon kills smart home gym equipment offline capabilities with update

A firmware update has killed key functionality for Echelon smart home gym equipment that isn't connected to the Internet. As explained in a Tuesday blog post by Roberto Viola, who develops the "QZ (qdomyos-zwift)" app that connects Echelon machines to third-party fitness platforms, like Peloton, Strava, and Apple HealthKit, the firmware update forces Echelon machines to connect to Echelon’s servers in order to work properly. A user online reported that as a result of updating his machine, it is

How to draw lambda diagrams (2020)

If you don’t want spoilers for my puzzle a few days ago, don’t read ahead! I think lambda diagrams are extremely cool, and haven’t seen any detailed description on how they work online. I’ll start by showing some very simple examples of lambda diagrams, and then build up to more complicated ones. First of all, what are lambda diagrams? They are pictorial representations of lambda expressions, and hence count as a pictorial system for a large portion of mathematics. I will assume that you under