Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
148113 stories
·
33 followers

EVs Are Already Making Your Air Cleaner, Research Shows

1 Share
Fossil fuels produce NO2, which is linked to asthma attacks, bronchitis, and higher risks of heart disease and stroke, according the EV news site Electrek. But the nonprofit news site Grist.org notes a new analysis showing that those emissions decreased by 1.1% for every increase of 200 electric vehicles — across nearly 1,700 ZIP codes. "A pretty small addition of cars at the ZIP code level led to a decline in air pollution," said Sandrah Eckel, a public health professor at the University of Southern California's Keck School of Medicine and lead author of the study. "It's remarkable." The study was done at the University of Southern California's medical school, by researchers using high-resolution satellite data, reports Electrek: The study, just published in The Lancet Planetary Health and partly funded by the National Institutes of Health, adds rare real-world evidence to a claim that's often taken for granted — that EVs don't just cut carbon over time, they also improve local air quality right now... The researchers ran multiple checks to make sure the trend wasn't driven by unrelated factors. They accounted for pandemic-era changes by excluding 2020 in some analyses and controlling for gas prices and work-from-home patterns. They also saw the expected counterexample: neighborhoods that added more gas-powered vehicles experienced increases in pollution. The findings were then replicated using updated ground-level air monitoring data dating back to 2012... Next, the researchers plan to compare EV adoption with asthma-related emergency room visits and hospitalizations. If those trends line up, it could provide some of the clearest evidence yet of what we already know: that electrifying transportation doesn't just clean the air on paper; it improves public health in practice. Thanks to long-time Slashdot reader jhoegl for sharing the article.

Read more of this story at Slashdot.

Read the whole story
alvinashcraft
16 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Week in Review: Most popular stories on GeekWire for the week of Feb. 15, 2026

1 Share

Get caught up on the latest technology and startup news from the past week. Here are the most popular stories on GeekWire for the week of Feb. 15, 2026.

Sign up to receive these updates every Sunday in your inbox by subscribing to our GeekWire Weekly email newsletter.

Most popular stories on GeekWire

Read the whole story
alvinashcraft
17 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Trump says Netflix will ‘pay the consequences’ if it doesn’t fire Susan Rice

1 Share
WASHINGTON, DC - SEPTEMBER 26: Former U.S. Ambassador to the U.N. Susan Rice (C) attends a portrait unveiling of former Secretary of State Hillary Clinton at the State Department on September 26, 2023 in Washington, DC. Secretary Clinton joined her predecessors to have their portraits hung at the seventh floor of the State Department. (Photo by Alex Wong/Getty Images)
Former Ambassador to the UN Susan Rice at the State Department on September 26, 2023. | Photo: Alex Wong / Getty Images

Donald Trump threatened that there would be "consequences" for Netflix if it didn't fire board member Susan Rice. Rice served in both the Obama and Biden administrations, and recently appeared on Preet Bharara's podcast, where she said corporations that "take a knee to Trump" are going to be "caught with more than their pants down. They are going to be held accountable."

Right-wing influencer and conspiracy theorist Laura Loomer was quick to jump on the appearance and accused Rice of "threatening half the country with weaponized government and political retribution." She also pointed out that Netflix, whose board Rice is on, is trying to me …

Read the full story at The Verge.

Read the whole story
alvinashcraft
17 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Links For You (2/22/26)

1 Share

This is where I'd usually comment about how the past two weeks seemed to fly by in a blink, but I'm tired of saying that so... oh crap, too late. To be fair, part of the reason the time flew by this week was me being out of town for my first offsite with Webflow. I got to meet my boss, coworkers, and learn more about our company and what our plans are for the year. I'm really happy I joined Webflow and I'm looking forward to the future. It feels like it's been a while since I could say that and damn do I appreciate having a good job.

An AI Drama in Four Parts

This is, to put it bluntly, a pretty crazy story about AI and automation gone wrong. Start off with "An AI Agent Published a Hit Piece on Me" and the continue on to the followups. I'm "mostly" pro-AI, which you already know if you're a regular reader, but I definitely try to be cautious about what I allow AI to do for me. I think we're going to see a lot of instances like this going forward. Yay for the future!

Like Astro? Try the Newsletter

Again, if you're a regular reader you know I've been digging Astro lately. As part of my research, I discovered, and immediately signed up for, the Astro Weekly newsletter. I'm a huge fan of newsletters like this as I tend to miss cool things posted on social media (and that was the motivation for my links for you series) and I've enjoyed the issues I've gotten so far. (And I've been featured twice so far, which is pretty cool too!)

Interactive Gaming Experiences with Amazon GameLift and IVS

Last up is a post by my best friend Todd on the AWS blog, Creating interactive gaming experiences with Amazon GameLift Streams and Amazon Interactive Video Service. That's quite a mouth full, and it's a quite deep post, but it's well worth the read. Todd's post explores how to enable social aspects in gaming that go far beyond just simple chat, but real participation by the audience.

Just For Fun

Last is a collection of very cool ... not screen savers, but full screen web app experiences kinda like screen savers, including multiple Star Trek ones. Actually I lie, there are some screen savers too, and if you like (and recognize) LCARS, you will be a happy camper.

You can watch a preview below:

Play Video

Read the whole story
alvinashcraft
18 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Wasm vs. JavaScript: Who wins at a million rows?

1 Share

By now it’s pretty clear that JavaScript needs WebAssembly (Wasm) to perform heavy computational tasks. In the past few weeks we’ve covered the basics, did a side-by-side image processing comparison, and saw the benefits of using Wasm with web workers.

In this next tutorial, let’s apply the same principle to real-world data using large CSV files. Instead of images or web worker computations, we’ll fetch and count millions of rows directly in the browser to compare JavaScript versus Wasm performance side by side. This will show how Wasm can make even seemingly simple tasks like counting rows lightning fast.

We’ve been switching between Rust and C (Rust for the image processing comparison and C for web workers). Though they both compile to a highly efficient Wasm with little to no performance differences for this project, we’re going to use Rust today. Rust offers safer, faster development and better JavaScript interoperability.

Before getting started, please make sure you have the following:

Node.js and npm: download here

Python 3 (we’ll be generating our large CSV using Python): download here

Rust and cargo

Local server

View the code on Gist.

Let’s build our CSV processing app with Wasm,  Rust, JavaScript, and Python

First, we’re going to build our project structure. Other files and folders will be built automatically through the terminal, but here’s our starting point. Please build this structure in your code editor:

Initialize Rust

Next, we’re going to open a new terminal in your project. Open thecsv_processor/folder with the commandcd csv_processor/. Once in the file, you can initialize Rust with the command cargo init --lib.

This will createCargo.toml and src/lib.rs. Cargo.tomlis the Rust equivalent to thepackage.json. lib.rs is similar to a main JavaScript module file. Think of it like the Rust equivalent toindex.js.

Add Rust/ Wasm code

csv_processor/src/lib.rs

Our Rust application logic lives in this file. This code will power Wasm’s browser functionality. The top line of the file includeswasm_bindgren. wasm_bindgrenis a Rust library that makes it easy to call Rust functions from JavaScript and vice versa when compiling to WebAssembly. It handles type conversion and glue code so your Wasm module can interact seamlessly with the browser or JS code.

csv_processor/Cargo.toml

Cargo.tomldefines the project name, version, and dependencies, and tells Rust to build the library as a WebAssembly-compatible (cdylib) crate that useswasm_bindgenfor JavaScript interoperability.

Build Wasm package

Once those files are built, we’re ready to build the Wasm package. Your terminal should already be pointed to the csv_processorfolder. If not please cd csv_processor. Once there, the following command will compile your Rust code to Wasm binary.

Upon successful execution, you will see apkg/folder containing the Wasm files your browser needs to run your Rust logic.

Adding JavaScript code

index.jsis the main JavaScript file. It fetches the CSV file, initializes the WebAssembly module, counts the rows using both the Rust/Wasm function (count_rows) and pure JavaScript. It also measures how long each takes, and displays the fetch time, JS processing time, and Wasm processing time on the page when the user clicks the “Run Performance Test” button.

Build the HTML code

index.html is our main HTML page. It provides the structure and styling and includes a button to run the performance test. The page also has a paragraph to display the results. It loads index.js, which initializes the Wasm module, fetches the CSV, and compares row-counting performance.

Generate CSV using Python

generate_csv.pyincludes the simple script for building the CSV file. I chose this rather than a file download so you could change the number of rows (NUM_ROWS) to see performance differences between Wasm and JavaScript based on file size. For a file size of about 500,000 (500_000) JavaScript performs slightly faster which is similar to what we found in the web workers tutorial (smaller size = faster JavaScript). Once we get into file sizes over 2,000,000 (2_000_000), Wasm will be and stay faster.

Before building the CSV, make sure your terminal is pointed to the main project file. If you’re still incsv_processor/(which is the last place we performed terminal actions in) you can get back to the main folder with the commandcd ...

Build the CSV with the code python3 generate_csv.py. Upon successful execution, you will see a file called big.csvappear in your main project file.

Run the server and see Wasm vs JavaScript results!

Run the server with the commandserve .. You should see a response that says “Serving” with a local host address (localhost:3000). Navigate to localhost:3000in your browser and you should see the page we created. It will look like this:

Click the “Run Performance Test” button and you’ll see the speed comparison shortly. For the image below, I built my CSV with 2,000,000 rows and these are the results I had.

What results did you get? Do you see where Wasm gets faster than JavaScript?

The post Wasm vs. JavaScript: Who wins at a million rows? appeared first on The New Stack.

Read the whole story
alvinashcraft
18 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Android Weekly Issue #715

1 Share
Articles & Tutorials
Sponsored
Code 10x faster. Tell Firebender to create full screens, ship features, or fix bugs - and watch it do the work for you. It's been battle tested by the best android teams at companies like Tinder, Adobe, and Instacart.
alt
Zac Sweers reframes the DI debate as compile-time graph construction versus runtime service lookup, arguing the real tradeoff is explicitness and build cost versus runtime risk, testing friction, and scaling pain.
Jesse Wilson urges folks to oppose Google’s ID and fee based Android developer verification as an anti-competitive lock that enables software blocking.
Sponsored
React Native for Vega delivers native performance across Fire TV devices. Ship faster with hot reloading and built-in focus management. Access SDKs, testing tools, libraries and distribution resources to launch your app on Vega OS-powered devices. 
alt
Andrius Semionovas and Heorhii Popov explain how migrating a huge codebase from Dagger and Anvil to Metro unlocked K2 and improved build times despite significant tooling and legacy hurdles.
Adit Lal demonstrates making stickers feel physical in Compose Multiplatform through custom gestures, springy peel interactions, and die cut visuals backed by persistent state.
In Android 17, apps targeting SDK 37 or higher will receive a new implementation of MessageQueue where the implementation is lock-free.
Place a sponsored post
We reach out to more than 80k Android developers around the world, every week, through our email newsletter and social media channels. Advertise your Android development related service or product!
alt
Libraries & Code
A modular Android debugging toolkit and network inspector built with Clean Architecture and Jetpack Compose — designed for zero-impact production builds.
Detekt rules for Koin DI
Fast, lightweight, and scriptable CLI for Google Play Console
News
To help streamline the transition from Java to Kotlin for VS Code users, Jetbrains introduces the Java to Kotlin (J2K) converter extension.
Google I/O streams May 19-20 with Gemini and agentic coding highlights alongside major Android and broader product updates.
Keep Android Open argues Google’s 2026 verification mandate will centralize app installation behind paid, identity-verified registration, undermining Android’s openness.
Videos & Podcasts
Philipp Lackner showcase 5 different issues that can break performance in your Compose app. Make sure to look at these first when running into performance problems.
alt
Sergio Sastre teaches how to read pull request review comments and use GitHub MCP with Gemini to automatically generate the corresponding Android code.
Join hosts Tor and Romain as they sit down with Søren Gjesse, Chris Craik, and Shai Barack to dive into R8.
In this episode of Code With The Italians, try something a little different: Let's build a custom Android Lint rule using Gemini inside Android Studio.
Sit down with Paweł Kwieciński from Masabi to explore how they brought a decade-old Java codebase to Kotlin Multiplatform, powering ticket validation across mobile apps, embedded devices, and backend systems
This fireside chat explores Gemini's unique integration, its ability to build entire apps, and strategies for managing AI-generated code.
Specials
Arnaud Giuliani says AI will accelerate technical debt unless teams design for meaning and architecture before prompting.
Read the whole story
alvinashcraft
19 minutes ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories