Thinking at the edge
← Home<br>Thinking at the edge
Posted June 21, 2026
The Bitlocker recovery screen.
A while ago at work I ran into a situation with a locked Razer laptop that was secured with BitLocker. Put more plainly, I locked myself out of my own work laptop by entering the wrong password too many times. HR sent me a 48-digit recovery key. When I went to enter the recovery key, I discovered that the keyboard was totally frozen. After a little bit of wrestling with this issue, I had compiled a list of things that didn’t work: fiddling with keyboard settings in BIOS, recovery mode, a USB wired keyboard -- there was no state in which I could have access to the keyboard, and also get a chance to enter the BitLocker recovery key.
This went on for some time but it wasn’t too pressing as I had another machine for development work. This locked laptop was basically only useful for note-taking in meetings. It was mostly just embarrassing that I had a locked laptop.
Online information was actually plentiful, but not helpful. Forum posts indicated that this was a pervasive issue with this brand of laptops. When I asked LLMs, they just found the same forum and customer support posts I had already read, and would suggest the same things repeatedly. I unsuccessfully tried to prompt the LLMs to think more from first principles, because clearly the available discussion material did not contain a solution as both of us had combed all of them with no solution in sight.
At some point I realized that I could access a terminal within the Windows recovery flow, but of course I still didn’t have access to my keyboard, so this had long been considered a dead-end.
A terminal accessible inside the Windows recovery flow.
I sat looking at the blinking text cursor and suddenly an idea hit me: Let’s see if I get a clipboard here... probably, right? Highlight ‘Windows’ with my mouse, right click to copy, right click again and there it is: ‘Windows’ pasted there on the command line. This could be it! One more thing I need, how do I get an enter press? I tested with a new line above and…
'Windows' is not recognized as an internal or external command,<br>operable program or batch file.
And that’s it! With just this information I knew that I could get this recovery key entered. It would be a little arduous, but I was pretty excited by this. What was striking was that this silly trick was more exciting for me than a lot of problem-solving I had encountered in day to day development work in a long time.
The BitLocker recovery command looks something like:
manage-bde -unlock D: -RecoveryPassword 123456-123456-123456-123456-123456-123456-123456-123456
I have a lot of what I need already! I can get ‘manage__de’ from just the initial prompt:
Microsoft Windows [Version 10.0.xxxxx.xxxx]<br>(c) Microsoft Corporation. All rights reserved.
C:\Windows\System32>
How do I get a lowercase ‘b’ and a hyphen? I can get hyphen from date:
C:\Windows\System32> date<br>The current date is: Sun 06/07/2026<br>Enter the new date: (mm-dd-yy)
That was the process I followed: taking the set of characters I did have, to construct commands that could give me what I needed. If I recall correctly, the last big hurdle was making sure I had all of the right numbers and potentially uppercase letters for the recovery key.
When I finally had the entire command entered, and pasted the newline and saw my laptop freed up again, it was genuinely a rush that I used to feel frequently when building software.
The whole reason I’m writing about this is because it felt like a problem solving journey with a satisfying solution that I just haven’t felt since LLM based workflows became commonly used tools for me.
When I started writing code around 2008, I had many thousands of those moments ahead of me where something actually starts working. The feeling of being at the edge of a problem you need to solve, and trying different things to understand the nature of the problem, the scope of the disconnect between the behavior you are looking for and what is currently happening, and finally matching that gap with a solution is what this career has always been about to me.
I can vividly remember overhearing a conversation with the CEO of a startup I interned with in high school about how LinkedIn data was necessary for a customer demo the following week, and hearing the CTO tell him that it was impossible without paying their exorbitant API fees. Regardless of whether or not that was altogether the truth, I spent the weekend at home writing a web scraper that needed Selenium support to get around LinkedIn’s very creative anti-web scraping safeguards. There was a collapsed panel that contained data that was essential to what the company needed for this demo. I assumed it must live in the HTML somewhere, right? Wrong. It did not make the server request for that data until you...