Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    R

    Rick Strahl

    weblog.west-wind.com · Personal blog · on HN since 2014

    Rick Strahl writes about Windows and .NET web development, covering ASP.NET Core, IIS, .NET Standard and web client issues.

    Visit blogHN submissions
    Web DevelopmentProgramming
    What HN says

    HN links it for practical .NET and IIS guidance, such as using Let's Encrypt with IIS and moving code to .NET Standard.

    Stats for nerds
    27HN people shared it
    24linked in comments
    156story points
    Feb 2025last shared
    2014people per year2025

    Top posts on HN

    1. 1
      Web Code is a solved Problem – how about fixing Web UI next?
      3 people · 117 points · first shared 2018 · 99 comments on HN
    2. 2
      ASP.NET Framework Performance
      1 person · 5 points · first shared 2014 · 2 comments on HN
    3. 3
      NET Core 2.0 and ASP.NET Core 2.0 Are Here
      2 people · 4 points · first shared 2017 · Discussion on HN
    4. 4
      The Broken Promise of the Mobile Web
      1 person · 4 points · first shared 2014 · Discussion on HN
    5. 5
      Moving to Lets Encrypt SSL Certificates
      1 person · 2 points · first shared 2016 · Discussion on HN
    6. 6
      Using Let's Encrypt with IIS on Windows
      1 person · 2 points · first shared 2017 · 1 comments on HN
    7. 7
      Comparing Raw Asp.net Request Throughput Across Versions
      1 person · 2 points · first shared 2024 · Discussion on HN
    8. 8
      C# NumberFormat Sections
      1 person · 2 points · first shared 2016 · Discussion on HN
    9. 9
      Turn Off HTML Input Auto Fixups for Mobile Devices
      1 person · 2 points · first shared 2015 · Discussion on HN
    10. 10
      Async and Async Void Event Handling in WPF
      1 person · 2 points · first shared 2022 · Discussion on HN

    What HN people wrote when they linked it

    • alexisreadJun 2018

      Nice article, though it doesn't cover CORS with NTLM/Kerberos auth (ie. .NET on windows).

      To my mind this is the most baffling aspect here, as preflight requests shouldn't carry an auth token (according to the spec), however IIS is an all-or-nothing auth which will thus reject the preflight request, unless it is specifically handled.

      Additionally, there are different ways to handle preflighting for owin and aspnetcore vs .NET framework (IIS hosting), and these methods also change depending on the technology - MVC, WebAPI, OData.

      [edit] Hit return early:

      MVC (pure) requests can be handled in the web.config to set custom headers.
      WebAPI uses annotations on the controllers.
      See https://stackoverflow.com/questions/29970793/enabling-cors-through-web-config-vs-webapiconfig-and-controller-attributes

      OData follows a different path through, so the above won't work. You would need to modify Application_BeginRequest()
      See https://stackoverflow.com/questions/31459416/how-to-enable-cors-via-attribute-instead-of-via-application-beginrequest-when-pr

      The above is all for .NET framework (IIS host). For OWIN you need to modify HttpListener as per https://stackoverflow.com/questions/42104716/owin-preflight-requests-are-not-processed

      For aspnetcore the pipeline again changes:
      https://weblog.west-wind.com/posts/2016/Sep/26/ASPNET-Core-and-CORS-Gotchas

      Lastly, all of the above should be using xhr.withCredentials = true; on the client (javascript) side.

      Note that this is not present for…

    • captainmuonAug 2022

      I've encountered the problem he describes in WinUI, too. It can happen in any toolkit where you bind to change events of "observables". In my case I had a list view and a details view, and when you pressed down in the list view, it would get janky and struggle to update the detail view in time. To make it worse, sometimes selecting a different row would hit off a HTTP request in the background to update some cached data.

      I ended up implementing a similar rate limiter, I think based on this here: https://weblog.west-wind.com/posts/2017/Jul/02/Debouncing-and-Throttling-Dispatcher-Events (I've never shipped it though.)

      The art is to get the behavior just right. You want the first request to go through immediately, so on a single click the user sees low latency. But afterwards you need to throttle it so that it only updates every, say, 500 ms. And you must not forget to display the very latest state, if there is no new event after e.g. 50 ms.

      This seems like one of those things that are really hard to get right and the toolkit developer should have solved for you. I've struggled with it a couple of times now.

    • maccardFeb 2025

      > Just hitting the windows key and typing "notepad" and hitting enter has gone from something that was near instant in windows XP to something that takes 30 seconds and only sometimes might be successful

      Agreed. It's also surprisingly easy to fix - disable web search in the start menu. [0]

      > Because as horrible as defender is, have you experienced commercial AV products?

      yes, and they're a disgrace. I don't normally engage in baiting on here, but honestly a lot of them are worse than the viruses they protect you from. McAfee and Norton are _literally_ spyware.

      At $PREV_JOB carbon black was installed over the weekend, and I was working on some performance related tasks. All my results were invalidated because of the slowdown it imparted on _everything_.

      That doesn't give defender a free pass for falling from grace though.

      [0] https://weblog.west-wind.com/posts/2024/May/03/Speed-up-your-Start-Menu-by-disabling-Web-Search

    • uk_programmerApr 2020

      If you try to do it in one big hit it will be hard but you don't have to do that. You can move it over piecemeal.

      You can use multi-targeting to move parts of your code over to .NET Standard. So if you start with your base projects and move your way up, gradually your code will become compatible between .NET core and .NET Framework. This will help you remove any .NET Full Framework / Windows specific bits. Where you have to have things that are specific to each OS you can then just configure your DI so it will inject the Windows specific / Linux specific implementation.

      For those that are not aware of multi-targeting here is a great article on it:

      https://weblog.west-wind.com/posts/2017/Jun/22/MultiTargeting-and-Porting-a-NET-Library-to-NET-Core-20

    • llagerlofJul 2022

      Although I believe this software (dpScreenOCR-1.1.0-win32-2.exe) is fully safe, virustotal is giving 2 false positives (Avast and AVG).

      I mean, probably part of your users will not install the program because of this. Maybe you want to track the reason and kill these false positives. This guy documented his process: https://weblog.west-wind.com/posts/2016/oct/05/dealing-with-antivirus-false-positives#rebuilding-the-installer

    • oztenDec 2021

      This is an interesting data point for folks designing demo pages. The API was discovered by playing with the demo page [1] according to a link from a link in the article

      [1] https://weblog.west-wind.com/posts/2011/aug/06/translating-with-google-translate-without-api-and-c-code

    Related

    Jon Skeetcodeblog.jonskeet.uk80 people

    Storing UTC is not a silver bullet

    Jon Skeet
    Personal · last shared 2026
    Scott Hanselmanhanselman.com667 people

    I Miss Microsoft Encarta

    Scott Hanselman
    Personal · last shared 2026
    Brian Kardellbkardell.com22 people

    UA Gotta Be Kidding

    Brian Kardell
    Personal · last shared 2026
    Coder Blogcoder.com66 people

    We improved the performance of a userspace TCP stack in Go

    Coder Blog
    Company · last shared 2026
    C++ Team Blogdevblogs.microsoft.com/cppblog131 people

    We used C++20 to eliminate a class of runtime bugs

    C++ Team Blog
    Company · last shared 2026
    MSRC Blogmsrc.microsoft.com240 people

    SolarWinds hackers were able to access Microsoft source code

    MSRC Blog
    Company · last shared 2026
    Figma Blogfigma.com608 people

    How to build a plugin system on the web and also sleep well at night

    Figma Blog
    Company · last shared 2026
    Microsoft MSDN Blogsblogs.msdn.com1.6k people

    Why I Left Google

    Microsoft MSDN Blogs
    Company · last shared 2023