Rick Strahl
@rickstrahl.west-wind.com
📤 672
📥 122
📝 87
Wind, waves, code, punk rock and everything in between. Markdown, .NET and all things Web.
Blogged: Using the new WebView2 AllowHostInputProcessing Keyboard Mapping Feature Finally finished this post that describes a new WebView feature that allows passing through keystrokes from WebView->Host to naturally handle Windows behaviors correctly.
weblog.west-wind.com/posts/2025/A...
loading . . .
Using the new WebView2 AllowHostInputProcessing Keyboard Mapping Feature
If you've used the WebVIew2 control for a UI interactive Hybrid active you've probably run into some odd keyboard behavior, where some keys cannot be captured properly in the host application or are n...
https://weblog.west-wind.com/posts/2025/Aug/20/Using-the-new-WebView2-AllowHostInputProcessing-Keyboard-Mapping-Feature
4 months ago
0
4
0
Blogged: Fighting through Setting up Microsoft Trusted Signing
weblog.west-wind.com/posts/2025/J...
loading . . .
Fighting through Setting up Microsoft Trusted Signing
It's that time of year again to update my CodeSigning certificate, only to find out that the rules have changed since I last did this. Certs now require either a physical hardware key or a online serv...
https://weblog.west-wind.com/posts/2025/Jul/20/Fighting-through-Setting-up-Microsoft-Trusted-Signing
5 months ago
1
5
0
Blogged: Unpacking Zip Folders into Windows Long File Paths Wrote up some notes from my recent misadventures with the
#dotnet
ZipFile class and unpacking long filenames.
weblog.west-wind.com/posts/2025/J...
loading . . .
Unpacking Zip Folders into Windows Long File Paths
Ah, long file paths bit me again today - this time with `ZipFile.ExtractToDirectory()` not unzipping long path files, even when specifying long path syntax for the output folder. In this post I briefl...
https://weblog.west-wind.com/posts/2025/Jun/22/Unpacking-Zip-Folders-into-Windows-Long-File-Paths
5 months ago
3
2
0
That’s what we call a Whiteout! Insane day on the water today with gusts to 50mph and mast high swell rolling down the river. Not forecast either which makes it all the better!
#gorgelife
6 months ago
0
4
0
Are you feeling it yet?
www.youtube.com/watch?v=5zFz...
loading . . .
Anti-Trust - The Masters of Disaster
YouTube video by Anti-Trust Punk Rock Music
https://www.youtube.com/watch?v=5zFzz5bxpMU
6 months ago
0
0
0
Blogged: Adding Runtime NuGet Package Loading to an Application The post discusses adding NuGet support to my .NET LiveReloadServer tool and it's dynamic loose Razor page support recently. Been really useful to me for several 'Sites with Benefits'.
weblog.west-wind.com/posts/2025/J...
loading . . .
Adding Runtime NuGet Package Loading to an Application
It's not a common use case, but if you need need to dynamically add external code at runtime, NuGet packages are the most familiar way for developers to add that functionality besides old-school direc...
https://weblog.west-wind.com/posts/2025/Jun/09/Adding-Runtime-NuGet-Package-Loading-to-an-Application
6 months ago
0
0
0
Blogged: The Strong ARM of .NET: Wrestling with x64 and Arm64 Desktop App Deployment
weblog.west-wind.com/posts/2025/A...
loading . . .
The Strong ARM of .NET: Wrestling with x64 and Arm64 Desktop App Deployment
.NET works great for cross-platform development making it easy to build apps that are cross-platform and cross-architecture specifically for x64 and Arm64. However, building a distributable applicati...
https://weblog.west-wind.com/posts/2025/Apr/18/The-Strong-ARM-of-NET-Wrestling-with-x64-and-Arm64-Desktop-App-Deployment
8 months ago
0
3
1
Blogged: Using Windows Media Speech Recognition in WPF Wrote up some of the struggles I've shared over the last week while integrating Windows SDK, WinRT and speech recognition in a WPF app. End result: 👍
weblog.west-wind.com/posts/2025/M...
loading . . .
Using Windows.Media SpeechRecognition in WPF
Windows has a pretty capable SpeechRecognition engine built-in via Windows Media services. In .NET these features are accessible via the Windows SDK (WinSdk) that expose these Windows features to .NET...
https://weblog.west-wind.com/posts/2025/Mar/24/Using-WindowsMedia-SpeechRecognition-in-WPF
8 months ago
0
3
0
Blogged: Accessing Windows Settings Dialogs from Code via Shell Commands Quick blog post for reference that also points at the resource key links available for the protocol handler.
weblog.west-wind.com/posts/2025/M...
9 months ago
1
4
1
Evening session…. Klein aber fein!
9 months ago
0
7
0
Ooops! This is what breaking off a harness hook looks like 😱 Aluminum hook was worn and ripped right off. Quite the slam… sometimes it’s better not to know what happens after you go down 😂🏴☠️
loading . . .
9 months ago
0
2
0
Kava and I having a golden moment 😀
9 months ago
3
18
0
Blogged: Inline Confirmations in JavaScript Html UI
weblog.west-wind.com/posts/2025/F...
9 months ago
0
1
0
Blogged: Retrieving Images from the Clipboard Reliably in WPF Revisited
weblog.west-wind.com/posts/2025/F...
loading . . .
Retrieving Images from the Clipboard Reliably in WPF Revisited
The WPF Clipboard is notoriously bad for retrieving image data, mainly because of the funky behavior of the ImageSource control into which clipboard data is loaded. WPF cuts a lot of corners when retr...
https://weblog.west-wind.com/posts/2025/Feb/21/Retrieving-Images-from-the-Clipboard-Reliably-in-WPF-Revisited
9 months ago
0
6
2
Posted my annual .NET version comparison throughput tests along with some initial perceptions of moving to .NET 9.0. This year is a little... different.
weblog.west-wind.com/posts/2025/J...
loading . . .
Comparing Raw ASP.NET Request Throughput across Versions: 8.0 to 9.0 Edition
Once again I'm taking a look at the newish .NET release and how it compares to the previous release - this time .NET 9.0 from .NET 8.0. I'll run my simple load tests to compare performance and also di...
https://weblog.west-wind.com/posts/2025/Jan/19/Comparing-Raw-ASPNET-Request-Throughput-across-Versions-80-to-90-Edition
11 months ago
3
4
3
Dropped a new single from the forth coming Anti-Trust album: War Machine Never forget: War is the REAL Enemy!
open.spotify.com/album/3x1R7W...
loading . . .
War Machine
Anti-Trust · Single · 2024 · 1 songs
https://open.spotify.com/album/3x1R7WbUI6n7DsfjyCAohx?si=LZw4MoBNTR2sNL1qLC3BFw
11 months ago
0
3
1
Evening session…
loading . . .
11 months ago
0
4
0
Screwing around with building a very simple runtime expression evaluator that doesn't need to compile - just parse and invoke. So far so easy but once you get to methods with parameters the easy part's done with 😂
11 months ago
0
4
0
Last ride of 2024… Small waves and trying out a new camera mount. Result: another broken GoPro mount…
loading . . .
11 months ago
1
3
1
Updating the C# scripting engine in Westwind.Scripting to support layout pages. I finally got fed up with trying to shoehorn other script engines into my templating solutions - Razor especially (both hosted and internal). This is plain old, raw C# code being rendered.
github.com/RickStrahl/W...
11 months ago
2
2
0
Running into a weird issue with dynamic and anonymous types while updating my C# scripting library. I'm passing in a model that's an anon type, cast to dynamic, and access to dynamic props then fails. But using Reflection works (ie. the type is there).
11 months ago
2
6
2
Blogged: Back to Basics: Using the Parallel Library to Massively Boost Loop Performance Posting a follow up to recent tweet regarding converting a linear for loop to parallel and gaining huge performance improvements.
weblog.west-wind.com/posts/2024/D...
loading . . .
Back to Basics: Using the Parallel Library to Massively Boost Loop Performance
I recently had another occasion to add Parallel.ForEachAsync() into an application to improve performance of an Http look up operation drastically. When I tweeted a note on X there was quite a bit of ...
https://weblog.west-wind.com/posts/2024/Dec/27/Back-to-Basics-Using-the-Parallel-Library-to-Massively-Boost-Loop-Performance
11 months ago
0
11
4
Always nice to get an easy win: Switching to a Parallel loop with literally a couple of lines of code and getting massive perf improvements. Link checking in Markdown Monster on one of my old blog posts with lots of links went from 20 seconds down to 2.5 seconds.
12 months ago
1
11
0
New Anti-Trust music from the upcoming Anti-Trust - The Masters of Disaster album. This video is based on themes from Corey Doctorow's discussions on Enshittification of our ever more digital lives.
www.youtube.com/watch?v=Ftgw...
loading . . .
Anti Trust - Enshittify
YouTube video by Anti-Trust Punk Rock Music
https://www.youtube.com/watch?v=FtgwOIMKoVk
12 months ago
0
2
0
Pushed up a new version of LiveReloadServer today. It's a local, self-contained, x-platform static Web server that also supports loose Razor pages and built-in Markdown rendering plus LiveReload. Updated to .NET 9.0 and fixed a few small issues.
github.com/RickStrahl/L...
12 months ago
0
14
1
It was a very challenging day on the water today. Massivevwaves and funky wind make for a precarious situation - got rinsed good a couple of times today. Still managed some good ones though 😀🌊
12 months ago
0
7
0
Well, I managed to get WebView PdfToHtml generation working again in IIS w/ ApplicationPoolIdentity, but looks like it won't work using DevTools protocol but has to use the WebViews more limited PrintToPdf API. Solution: Added a server mode that switches between the two modes. Ugly but it works.
about 1 year ago
1
2
0
reposted by
Rick Strahl
Markdown Monster
about 1 year ago
Did you know you can add external programs to Markdown Monster? Open from the Folder Browser or the editor w/ the active content loaded? There's support for text and image editors and generic externals. Configuration is via Settings in the config file.
markdownmonster.west-wind.com/docs/_6if1ep...
0
3
1
reposted by
Rick Strahl
EricLaw 🎻
about 1 year ago
First draft is out Fiddler - Mistakes and Happy Accidents
textslashplain.com/2024/11/24/f...
loading . . .
Fiddler – My Mistakes
On a flight back from Redmond last week, I finally read Linus Torvalds’ 2002 memoir “Just For Fun.” I really enjoyed its picture of Linux (and Torvalds) early in its success, with…
https://textslashplain.com/2024/11/24/fiddler-my-mistakes/
12
65
28
Two is better than one! Getting loaves ready for tonight’s dinner.
about 1 year ago
0
2
0
Interesting... added better support for request cancellation to WebSurge today for interactive URL testing. But when running load tests noticed that load numbers dropped off. Looks like adding a cancellation token is adding nearly 10% overhead to request load. * w/o TCS: 126k * w TCS: 109.7k
about 1 year ago
0
0
0
Kava says: when are we going to da beach?
about 1 year ago
0
2
0
Good to see that WebView Pdf/Print output can capture some script generated output like these Mermaid charts from this Markdown rendered HTML output.
about 1 year ago
0
3
0
Thanks in large part to
#MahApps
, Jan! Without it Markdown Monster wouldn't be what it is today! Thank you for your work on keeping this wonderful library going!
add a skeleton here at some point
about 1 year ago
1
4
2
That feeling when you spend days trying to figure out some complex, convoluted code problem, being elated you got it to work. ... then 3 days later figure out a way to do the same thing with a fraction of the code much more efficiently, while being out windsurfing! 🏴☠️
about 1 year ago
0
3
0
Who said bitching and moaning never gets you anywhere? 😂 Recently noted that Chromium was ignoring HTML print media were not respecting @bottom-right and @top-center. Well, it started working when I didn't expect it to now. 🤦♂️ Looks like this got fixed! 👍... now that I don't need it to anymore.
about 1 year ago
1
0
0
Markdown Monster 3.5 is out. Lots of new stuff and improvements: • Runs on .NET 9.0: Improved perf • Improved ARM support • New PDF Output Engine • Split Panel Sidebar (optional) • Generic file & path resolution (~, %env%) • Updated AI features
markdownmonster.west-wind.com
#markdown
about 1 year ago
2
8
1
And... finally get to push out this update with lots of improvements now that .NET 9.0 is out. At first glance the runtime update improves startup speed and perceived UI performance noticeably even somewhat improved from the RC releases.
#dotnet
about 1 year ago
0
3
1
System.Text.Json dynamic deserialization: You can deserialize to `ExpandoObject` but it looks like it only flows to the top level object, not any child objects. So, still no go...
about 1 year ago
1
0
0
Does the .NET SDK on Windows include the IIS
#ASPNET
Core Hosting Module? I think it doesn't and if so why not? It installs everything else (.NET, Aspnet, desktop runtimes) Annoying when you do need it easy to forget that it's not installed when everything else ASPNET runs.
about 1 year ago
1
0
0
Evening fun… Nowhere I’d rather be!
about 1 year ago
1
3
0
you reached the end!!
feeds!
log in