Skip to content

Instantly share code, notes, and snippets.

@sogaiu
Last active July 23, 2025 13:27
Show Gist options
  • Save sogaiu/fbb93f54b0e8610a86f92eaf44605e8e to your computer and use it in GitHub Desktop.
Save sogaiu/fbb93f54b0e8610a86f92eaf44605e8e to your computer and use it in GitHub Desktop.

2025-07-24

2025-07-23

2025-07-22

  • Design Reboot - Jonathan Blow
  • Jai Demo and Design Explanation - Jonathan Blow - LambdaConf 2025
  • Demystifying Debuggers, Part 1: A Busy Intersection - Ryan Fleury

    To emphasize their importance, I’d like to reflect on the name “debugger”. It is not a name I would’ve chosen, because it can give the impression that a debugger is an auxiliary, only-relevant-when-things-break tool. Of course, a debugger is used to debug—which is why it was named as such—but it is also enormously useful to analyze working code’s behavior, and to verify code’s correctness, with respect to the expectations of the code.

    A good debugger provides clear and insightful visualizations into what code is doing. As such, they are also enormously useful educational tools—for beginners and experts alike—because they make what is normally opaque, visible. They provide these features by dynamically interacting with running programs—as such, they can also dynamically modify code. At the limit, this approximates (or employs) JIT-compilation and hot-reloading, making traditional compiled toolchains have much more runtime flexibility for developers.

    For these reasons, “debugger” is much too special-purpose of a name for the full set of capabilities that debuggers actually provide—they offer glimpses into the lower level inner-workings of a computer. If one designed a computing system from scratch, they might not ideally be independent from the operating system itself. Instead, perhaps the same capabilities could simply be provided through first-class visualization and dynamic execution adjustment features that the operating system naturally exposes. But that is a topic for another day.

    I hope this sheds light on the imbecility of Internet debates about the utility of debuggers—for example, where one might find comments like, “I don’t need debuggers, because I can just use printf”, or “I don’t need debuggers if I can statically guarantee correctness”. It’s akin to suggesting that someone does not benefit from vision, because they can feel their way around with a mobility cane, or read text through Braille. Even though mobility canes and Braille are obviously good inventions for people who can’t have vision, that doesn’t somehow imply that vision isn’t an obvious benefit, or that it isn’t obviously preferable. Similarly, even though logging and static verification are obviously good inventions for programs or circumstances which cannot be easily debugged at runtime, or when those things are simply preferable in context, that doesn’t somehow imply that actively visualizing the runtime execution of programs through a debugger isn’t an obvious net benefit, or that it isn’t obviously preferable in many cases. To suggest otherwise in either case is absurd. The more useful debuggers become, the shorter the iteration loop of the programmer, the more efficient software production becomes, and the more trivially that programmers can obtain true from-first-principles reasoning about their code.

2025-07-21

2025-07-20

2025-07-19

2025-07-18

2025-07-17

2025-07-16

2025-07-15

2025-07-14

2025-07-13

2025-07-12

2025-07-11

2025-07-10

2025-07-09

2025-07-08

2025-07-07

2025-07-06

2025-07-05

2025-07-04

2025-07-03

2025-07-02

2025-07-01

  • How to Upgrade Your PC to Windows 11
    • Turns out that if you're upgrading from Windows 10 and already have a local account, you may not be asked to create a MS account. One thing I did though was to forget my router's network before doing the restart that comes right after going through the initial "Download and install" part of Windows 11 via Windows Update. Don't know if that made a difference. (Note: this is like a log entry -- it's not something from the article linked above.)
  • How to bypass the Microsoft Account requirement during Windows setup
  • How to Set Up Windows 11 Without a Microsoft Account

    To bypass the Microsoft Account requirement, proceed with the first few steps of the installation process normally until you reach this screen ("Let's add your Microsfot account")

    Once you're there, press Shift + F10 to open up a Command Prompt Window and type:

    oobe\bypassnro

    It isn't case sensitive, but it is critical that you use the correct slash. Once you type in the command, press Enter and your PC will immediately restart.

    Now, you should completely disconnect your PC from the Internet at this point. If Windows 11 detects an Internet connection it will continue to try and force you to sign in with a Microsoft account. However, if you're disconnected from the Internet you'll see an "I Don't Have Internet" option, or you'll be prompted to create a local account immediately.

    Click "Continue with limited setup" on the next page if it appears, and then you'll be able to create a local account with a password and three security questions.

  • How to Delete a Saved Wi-Fi Network on Windows 10
  • Windows 11 OOBE Bypassnro Not Working
  • OOBE BypassNRO - Windows CMD - SS64.com

    bypassnro.cmd used to contain the following:

    @Echo off
    reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE /v BypassNRO /t REG_DWORD /d 1 /f
    shutdown /r /t 0
    
    1. On the Windows 11 setup screen, press Shift + F10 to open a CMD prompt and type regedit and press Enter.
    2. Go to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE
    3. Click Edit > New > DWORD (32-bit) and rename the new value to BypassNRO
    4. Open the value and change its value data to 1
    5. Restart the system.

    You can now setup your computer without an active internet connection or a Microsoft Account, though this workaround may stop working at some point in the future.

  • [2025 Guide] Install Windows 11 24H2 on Unsupported PCs (Bypass Compatibility Check)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment