<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Your Sec]]></title><description><![CDATA[Your Sec]]></description><link>https://yoursec.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!gJ-w!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a9a11b-da21-413f-bd3a-0e1f8c934935_1280x1280.png</url><title>Your Sec</title><link>https://yoursec.substack.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 11 May 2026 13:21:25 GMT</lastBuildDate><atom:link href="https://yoursec.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Substack]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[yoursec@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[yoursec@substack.com]]></itunes:email><itunes:name><![CDATA[Alex P]]></itunes:name></itunes:owner><itunes:author><![CDATA[Alex P]]></itunes:author><googleplay:owner><![CDATA[yoursec@substack.com]]></googleplay:owner><googleplay:email><![CDATA[yoursec@substack.com]]></googleplay:email><googleplay:author><![CDATA[Alex P]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Deep Blue Bug: the illusion of superintelligence]]></title><description><![CDATA[IN 1997, A COMPUTER DEFEATED A REIGNING WORLD CHESS CHAMPION FOR THE FIRST TIME IN HISTORY. WHILE THE WORLD CELEBRATED A TRIUMPH OF ARTIFICIAL INTELLIGENCE, THE TRUTH WAS MUCH SIMPLER. THE TURNING POI]]></description><link>https://yoursec.substack.com/p/deep-blue-bug-the-illusion-of-superintelligence</link><guid isPermaLink="false">https://yoursec.substack.com/p/deep-blue-bug-the-illusion-of-superintelligence</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Sun, 10 May 2026 15:26:20 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ede2e376-2ac9-46c5-bbbd-4e15d50ab591_1200x784.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">This is the story of how IBM&#8217;s <a href="https://en.wikipedia.org/wiki/Deep_Blue_(chess_computer)">Deep Blue</a> didn&#8217;t just outcompute the great Garry Kasparov, but accidentally used the most powerful psychological weapon against him. This incident, now a legend in IT history, proved that sometimes a software bug can be deadlier than a perfect algorithm</p><div><hr></div><p style="text-align: justify;">In May 1997, Garry Kasparov (the greatest chess player in history) sat down against an updated version of Deep Blue - a monster capable of analyzing 200 million positions per second. A year earlier, Kasparov had defeated the machine, and now the IBM team was desperate for a rematch, constantly tweaking both hardware and software</p><p style="text-align: justify;">In the first game, Kasparov was dominating. He methodically pushed the computer into a losing position. The machine was desperately searching through millions of variations to find a way out, but its algorithms were hitting a dead end. Then, on Move 44, when everyone expected a logical defense, Deep Blue made a completely nonsensical move with its rook. It offered no positional advantage or tactical gain, breaking every known pattern of computer play</p><p style="text-align: justify;">Kasparov was stunned. His brain, trained to find hidden meaning in every move, tried to decode the machine&#8217;s &#8220;plan&#8221;. He concluded that the supercomputer had calculated 20 moves ahead and found a trap too deep for a human to see. Although Kasparov eventually won that first game, his confidence was shattered. He spent the entire night with his team trying to decipher that mysterious move, exhausting himself physically and mentally</p><div><hr></div><p style="text-align: justify;">In reality, there was no brilliant plan. During the calculation of the 44th move, the evaluation algorithm encountered an unexpected error. To prevent a total system crash or a &#8220;silent failure&#8221;, IBM developers had implemented a safety mechanism. Unable to select the &#8220;best&#8221; move due to a <a href="https://en.wikipedia.org/wiki/Deadlock_(computer_science)">software deadlock</a>, the machine triggered a fallback function - it simply picked a move at random. Kasparov, haunted by this &#8220;alien intelligence&#8221; made an unprecedented blunder in Game 2 and eventually lost the match. He remained convinced IBM had cheated until the computer was dismantled</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;0ca03aa7-a013-4bc1-a76b-c77326a2eecc&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python"># just a pseudo-code, I cannot find an original code on c lang
def calculate_best_move(board_state, depth, time_limit):
    legal_moves = get_legal_moves(board_state)
    best_move = None
    max_score = -INFINITY
    
    try:
        # The algorithm processes 200 million positions per second
        for move in legal_moves:
            # If the engine hangs or hits a time limit, the system throws an exception
            check_engine_health(time_limit)
            
            score = minimax_eval(board_state, move, depth)

            if score &gt; max_score:
                max_score = score
                best_move = move
                
        return best_move
        
    # THIS IS THE BUG: Instead of a logical fallback or a partial evaluation,
    # a primitive "safety" mechanism triggers to save the system from crashing
    except EvaluationException:        
        # The computer picks a COMPLETELY RANDOM legal move
        # This is exactly what Kasparov mistook for a deep, non-human strategy
        return random.choice(legal_moves)</code></pre></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sjxj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff109bc95-448d-4d43-ba1b-1ec174a7f456_300x300.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sjxj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff109bc95-448d-4d43-ba1b-1ec174a7f456_300x300.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sjxj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff109bc95-448d-4d43-ba1b-1ec174a7f456_300x300.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sjxj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff109bc95-448d-4d43-ba1b-1ec174a7f456_300x300.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sjxj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff109bc95-448d-4d43-ba1b-1ec174a7f456_300x300.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sjxj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff109bc95-448d-4d43-ba1b-1ec174a7f456_300x300.jpeg" width="300" height="300" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f109bc95-448d-4d43-ba1b-1ec174a7f456_300x300.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:300,&quot;width&quot;:300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sjxj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff109bc95-448d-4d43-ba1b-1ec174a7f456_300x300.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sjxj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff109bc95-448d-4d43-ba1b-1ec174a7f456_300x300.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sjxj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff109bc95-448d-4d43-ba1b-1ec174a7f456_300x300.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sjxj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff109bc95-448d-4d43-ba1b-1ec174a7f456_300x300.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>LESSONS LEARNED BY THE TECH INDUSTRY</h4><ol><li><p style="text-align: justify;"><strong>Fail-Safe mechanisms must be meaningful</strong>: A fallback should not drastically change the system&#8217;s core logic in production. Choosing a random value to avoid a crash is a poor design pattern that leads to unpredictable behavior</p></li><li><p style="text-align: justify;"><strong>Explainable AI and Transparency</strong>: If a system makes a decision, engineers must be able to explain why. The lack of proper logging in Deep Blue (why it picked that specific move) fueled conspiracy theories and a major PR scandal</p></li><li><p style="text-align: justify;"><strong>Handle Exceptions in Edge Cases</strong>: The algorithm failed only in a critically complex, non-standard position. All mission-critical software must be stress-tested (<a href="https://en.wikipedia.org/wiki/Chaos_engineering">Chaos Engineering</a>) to understand its behavior at the limits of its computational power</p></li></ol><h4>TIMELINE OF EVENTS (OR &#8220;DAMAGE IN NUMBERS&#8221;)</h4><ul><li><p style="text-align: justify;"><strong>May 1997</strong>: The historic rematch between Garry Kasparov and IBM&#8217;s Deep Blue</p></li><li><p style="text-align: justify;"><strong>May 3, 1997 (Game 1, Move 44)</strong>: The evaluation algorithm fails and picks a random rook move, triggering paranoia in the World Champion</p></li><li><p style="text-align: justify;"><strong>May 4, 1997</strong>: IBM engineers frantically patch the code the next day, just before Game 2 begins</p></li><li><p style="text-align: justify;"><strong>200 Million</strong>: The number of positions Deep Blue could calculate every single second</p></li><li><p style="text-align: justify;"><strong>May 11, 1997 (Game 6)</strong>: Exhausted and suspicious of fraud, Kasparov resigns after only 19 moves, cementing this bug in history</p></li></ul><div><hr></div><p>And just to try some new (?) features - added the AI video here:</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;0f8d25bb-223a-4246-a744-ee577eaa7195&quot;,&quot;duration&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[Chrome Prompt AI API for JS!]]></title><description><![CDATA[This morning I read a note about a new Chrome feature - The Prompt API]]></description><link>https://yoursec.substack.com/p/chrome-prompt-ai-api-for-js</link><guid isPermaLink="false">https://yoursec.substack.com/p/chrome-prompt-ai-api-for-js</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Sat, 09 May 2026 16:59:21 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8afcfaa7-ac84-4b69-a50b-23fa9a9eb3e2_1414x1150.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This morning I read a note about a new Chrome feature - <a href="https://developer.chrome.com/docs/ai/prompt-api">The Prompt API</a></p><p>And I&#8217;ve built a demo right now:</p><ol><li><p>Offline documents recognition for your projects (it does not work well, but it works)</p></li><li><p>Sensitive Data Validator - prevents sharing any sensitive info from customers before they send it (useful for forums or chats)</p></li></ol><p>To my surprise - it&#8217;s possible to call AI that is built in Chrome, locally and it is very fast (considering that my M1 chip is almost 6 years old &#129322;)</p><p>So, it is available now only after turning on some feature flags in Chrome that is why without links - just a video demo</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;0dd0b576-5bb8-4326-bdde-d43efa7c58a7&quot;,&quot;duration&quot;:null}"></div><p>Read more: <a href="https://developer.chrome.com/docs/ai/prompt-api">developer.chrome.com/docs/ai/prompt-api</a> &amp;  <a href="https://developer.chrome.com/docs/ai/built-in">developer.chrome.com/docs/ai/built-in</a></p><p>Great repo for other cases: <a href="https://github.com/GoogleChromeLabs/web-ai-demos">github.com/GoogleChromeLabs/web-ai-demos</a></p><div><hr></div><p>If you are ready for experiments - <a href="https://chrome-ai.secmy.app/">https://chrome-ai.secmy.app/</a> </p>]]></content:encoded></item><item><title><![CDATA[May 7 :// World Password Day]]></title><description><![CDATA[Today is Password Day.]]></description><link>https://yoursec.substack.com/p/may-7-world-password-day</link><guid isPermaLink="false">https://yoursec.substack.com/p/may-7-world-password-day</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Thu, 07 May 2026 05:42:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ujne!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5338f5d-6935-440b-8cbc-ffff2c6acd8d_740x601.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">Today is Password Day. In 2026, passwords are still the weakest link in our security, and the numbers prove it</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xjjB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad5be823-4771-41c9-b02c-7dd7e846e856_1958x1599.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xjjB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad5be823-4771-41c9-b02c-7dd7e846e856_1958x1599.png 424w, https://substackcdn.com/image/fetch/$s_!xjjB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad5be823-4771-41c9-b02c-7dd7e846e856_1958x1599.png 848w, https://substackcdn.com/image/fetch/$s_!xjjB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad5be823-4771-41c9-b02c-7dd7e846e856_1958x1599.png 1272w, https://substackcdn.com/image/fetch/$s_!xjjB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad5be823-4771-41c9-b02c-7dd7e846e856_1958x1599.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xjjB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad5be823-4771-41c9-b02c-7dd7e846e856_1958x1599.png" width="1456" height="1189" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad5be823-4771-41c9-b02c-7dd7e846e856_1958x1599.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1189,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4590421,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/196742173?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad5be823-4771-41c9-b02c-7dd7e846e856_1958x1599.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xjjB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad5be823-4771-41c9-b02c-7dd7e846e856_1958x1599.png 424w, https://substackcdn.com/image/fetch/$s_!xjjB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad5be823-4771-41c9-b02c-7dd7e846e856_1958x1599.png 848w, https://substackcdn.com/image/fetch/$s_!xjjB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad5be823-4771-41c9-b02c-7dd7e846e856_1958x1599.png 1272w, https://substackcdn.com/image/fetch/$s_!xjjB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad5be823-4771-41c9-b02c-7dd7e846e856_1958x1599.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">TLDR &#11014;&#65039; and more &#11015;&#65039;</figcaption></figure></div><p>Let&#8217;s remember some historical examples:</p><ul><li><p style="text-align: justify;"><strong>Colonial Pipeline (2021)</strong> - this attack paralyzed fuel supplies in the US. Just because hackers used an old VPN account that did not have two-factor authentication (2FA). They found the password in an old leaked database</p></li><li><p style="text-align: justify;"><strong>23andMe (2023)</strong> - genetic data of millions was leaked. Again - &#171;credential stuffing&#187;. Hackers did not break the system directly; they just used old passwords that users had reused from other sites. No 2FA made it easy</p></li><li><p style="text-align: justify;"><strong>Uber (2016)</strong> - data of 57 million users was stolen. The reason: developers were careless and stored login details right inside the code on GitHub</p></li><li><p style="text-align: justify;"><strong>Marriott / Starwood (2014-2022)</strong> - this case is now in cybersecurity textbooks as a classic &#171;silent&#187; breach. Hackers entered the network in 2014 and stayed there for four years, even after Marriott bought the company. 500 million records were leaked because there was no 2FA on admin accounts</p></li></ul><h4>Common Mistakes Today</h4><ul><li><p style="text-align: justify;"><strong>Using personal passwords for work</strong> - if your old email or game account is hacked, your entire company is at risk. Your work account is definitely in danger</p></li><li><p style="text-align: justify;"><strong>Storing passwords in messengers</strong> - &#8220;Saved Messages&#8221; or &#8220;Favorites&#8221; are not safe if someone hijacks your session or steals your browser cookies (I call it &#8220;messenger os passwords&#8221;)</p></li><li><p style="text-align: justify;"><strong>Using the same password everywhere</strong> - this creates a domino effect for all your accounts</p></li><li><p style="text-align: justify;"><strong>Saving passwords in notes or text files</strong> - modern viruses find and steal these files in seconds</p></li></ul><h4>Three Steps to Safety</h4><ol><li><p style="text-align: justify;"><strong>Switch to Passkeys</strong> (login with face or fingerprint) - it is faster and safer than regular passwords because they cannot be stolen by phishing</p></li><li><p style="text-align: justify;"><strong>Turn on 2FA everywhere</strong> - a hacker cannot enter your account without a code from your app, even if they know your password</p></li><li><p style="text-align: justify;"><strong>Use phrases instead of words</strong> - a long phrase made of random words (like &#171;dog-likes-blue-tractor-2026&#187;) is much harder to crack than a short word with special characters</p></li></ol><p>And go to <a href="https://haveibeenpwned.com/">Have I Been Pwned</a>, check your email, and change your password for at least one important account - like your bank or main email</p><p>Security is a journey, not a destination. Start it right now ;)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ujne!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5338f5d-6935-440b-8cbc-ffff2c6acd8d_740x601.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ujne!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5338f5d-6935-440b-8cbc-ffff2c6acd8d_740x601.png 424w, https://substackcdn.com/image/fetch/$s_!ujne!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5338f5d-6935-440b-8cbc-ffff2c6acd8d_740x601.png 848w, https://substackcdn.com/image/fetch/$s_!ujne!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5338f5d-6935-440b-8cbc-ffff2c6acd8d_740x601.png 1272w, https://substackcdn.com/image/fetch/$s_!ujne!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5338f5d-6935-440b-8cbc-ffff2c6acd8d_740x601.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ujne!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5338f5d-6935-440b-8cbc-ffff2c6acd8d_740x601.png" width="740" height="601" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b5338f5d-6935-440b-8cbc-ffff2c6acd8d_740x601.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:601,&quot;width&quot;:740,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Password Strength&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Password Strength" title="Password Strength" srcset="https://substackcdn.com/image/fetch/$s_!ujne!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5338f5d-6935-440b-8cbc-ffff2c6acd8d_740x601.png 424w, https://substackcdn.com/image/fetch/$s_!ujne!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5338f5d-6935-440b-8cbc-ffff2c6acd8d_740x601.png 848w, https://substackcdn.com/image/fetch/$s_!ujne!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5338f5d-6935-440b-8cbc-ffff2c6acd8d_740x601.png 1272w, https://substackcdn.com/image/fetch/$s_!ujne!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb5338f5d-6935-440b-8cbc-ffff2c6acd8d_740x601.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://xkcd.com/936/">xkcd.com/936</a></figcaption></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[Adding "Brains" to My Recon Tools just for fun]]></title><description><![CDATA[This is not a guide or a list of tips. It&#8217;s a little story about a one small experiment]]></description><link>https://yoursec.substack.com/p/adding-brains-to-my-recon-tools-just</link><guid isPermaLink="false">https://yoursec.substack.com/p/adding-brains-to-my-recon-tools-just</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Sun, 26 Apr 2026 08:03:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/43e90c9b-ce1f-42bf-8387-b49e09e5416b_1328x1386.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">I&#8217;ve always felt that classic reconnaissance is too much of a routine. We run dozens of scanners, get gigabytes of logs, and then sit there manually grepping them, trying to separate a real key from documentation junk. Not to mention the effort it takes to understand how the application works in general - but that&#8217;s a story for another time. Half an hour ago, I decided: enough is enough. I decided to add some AI &#8220;brains&#8221; to my usual tools and see if it could do the &#8220;dirty work&#8221; for me</p><p style="text-align: justify;"><strong>Spoiler:</strong> On the very first random site I tested, I found everything needed for a full compromise</p><div><hr></div><p style="text-align: justify;">In reality, things are usually much more complicated: WAFs, tricky routes, and obfuscation can make life difficult. But for a quick demo of what automated &#8220;on-the-fly&#8221; source code analysis can do, this method is perfect</p><p style="text-align: justify;">I put together a small Bash script that combines simple Katana crawling, lightning-fast secret searching via Betterleaks, and Gemini AI for analysis. Just three tools and a little bit of time</p><p style="text-align: justify;">The script does something very simple: it downloads everything it can reach, scans it for secrets, finds configuration files, and feeds this mix to the AI with one question: &#8220;How do I hack this?&#8221; &#11015;&#65039;</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;f23618c2-ee42-4fc0-bce1-280bba244593&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash"># it's a shorten demo, in reality I had a huge more lines
# so - you have to create your own ;) 
TARGET=${1:-"[https://example.com/](https://example.com/)"}
OUTPUT_DIR="recon_results"
mkdir -p $OUTPUT_DIR

# 1. Deep Crawling (collecting everything: JS, API, configs)
echo "[+] 1/4 Starting Katana..."
katana -u $TARGET -rate-limit 5 -d 1 -cs "$(echo $TARGET | sed -e 's|^[^/]*//||' -e 's|/.*$||')" \
    -ef png,jpg,jpeg,gif,svg,woff,ttf,css \
    -mdc "status_code == 200" \
    -fs fqdn -o $OUTPUT_DIR/clean_urls.txt -sr -srd $OUTPUT_DIR/responses

# 2. Secret Hunting via Betterleaks
echo "[+] 2/4 Starting Betterleaks..."
betterleaks dir $OUTPUT_DIR/responses --report-path $OUTPUT_DIR/betterleaks_report.json &gt; /dev/null 2&gt;&amp;1

# 3. Analysis via Gemini AI
# Feed the report directly to the "brains"
if command -v gemini &amp;&gt; /dev/null; then
    gemini "Analyze this Betterleaks report and find high-impact attack vectors"
fi</code></pre></div><h4>From Script to Product: Recon-1</h4><p style="text-align: justify;">While the script worked, I realized that digging through text files is still &#8220;the old way&#8221;. I wanted something that visualizes the attack surface instantly. That&#8217;s how <a href="https://recon1.secmy.app/">Recon-1</a> was born - a wrapper that turns raw scanner output into a tactical dashboard</p><p style="text-align: justify;">It takes the same logic - crawling, secret extraction, and AI processing - but presents it in a way that allows you to see the &#8220;skeleton&#8221; of the target app. You can watch the AI analyze found tokens and map out routes in real-time, moving from a URL to a ready-to-use exploit plan in a single window</p><h4>10 Minutes later&#8230;</h4><p style="text-align: justify;">I ran this workflow on the first large e-commerce project I found. While I was making coffee (about 10 minutes of crawling and analysis), the AI generated a report that would make any CISO&#8217;s eye twitch</p><ul><li><p style="text-align: justify;"><strong>Admin Access in 0 Seconds</strong>: In one of the React bundles, the script found a hardcoded <code>ADMIN_TOKEN</code>. The AI immediately suggested: &#8220;Use it for requests to /rest/V1/orders.&#8221; The mere fact that such a token exists in public JS is a game over</p></li><li><p style="text-align: justify;"><strong>Infrastructure on a Silver Platter</strong>: A Google Cloud (GCP) API key was found. AI identified the key as for Google Maps, but it was actually for Firebase</p></li><li><p style="text-align: justify;"><strong>Route Map</strong>: The AI suggested that a full structure of hidden paths could be extracted from Next.js manifests. This immediately highlighted interesting endpoints like /admin, /staging, or /test that weren&#8217;t visible on the main page</p></li><li><p style="text-align: justify;"><strong>Encryption and Logic</strong>: The script pulled an <code>ENCRYPTED_KEY</code>. The AI analyzed neighboring functions in the code and explained exactly how the application encrypts user data on the client side</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L3BL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9f5416c-d99d-481c-b15a-d6af288a1ba6_1706x2100.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L3BL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9f5416c-d99d-481c-b15a-d6af288a1ba6_1706x2100.png 424w, https://substackcdn.com/image/fetch/$s_!L3BL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9f5416c-d99d-481c-b15a-d6af288a1ba6_1706x2100.png 848w, https://substackcdn.com/image/fetch/$s_!L3BL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9f5416c-d99d-481c-b15a-d6af288a1ba6_1706x2100.png 1272w, https://substackcdn.com/image/fetch/$s_!L3BL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9f5416c-d99d-481c-b15a-d6af288a1ba6_1706x2100.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L3BL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9f5416c-d99d-481c-b15a-d6af288a1ba6_1706x2100.png" width="1456" height="1792" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c9f5416c-d99d-481c-b15a-d6af288a1ba6_1706x2100.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1792,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:780895,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/195394613?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9f5416c-d99d-481c-b15a-d6af288a1ba6_1706x2100.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L3BL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9f5416c-d99d-481c-b15a-d6af288a1ba6_1706x2100.png 424w, https://substackcdn.com/image/fetch/$s_!L3BL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9f5416c-d99d-481c-b15a-d6af288a1ba6_1706x2100.png 848w, https://substackcdn.com/image/fetch/$s_!L3BL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9f5416c-d99d-481c-b15a-d6af288a1ba6_1706x2100.png 1272w, https://substackcdn.com/image/fetch/$s_!L3BL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9f5416c-d99d-481c-b15a-d6af288a1ba6_1706x2100.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p><strong>This experiment shows: the era of manual reconnaissance is over</strong></p><p style="text-align: justify;">Previously, I would have spent an entire evening connecting these findings together. Now, it took me half an hour to write the script, and a few more to polish it into a tool like <a href="https://recon1.secmy.app/">Recon-1</a>. Now I get a ready-to-use attack strategy in minutes</p><p style="text-align: justify;">AI doesn&#8217;t replace the hacker, but it makes their work frighteningly efficient. It removes the noise and leaves the pure essence: the vulnerability and the vector. If you&#8217;re still grepping logs by hand - you&#8217;re just wasting your life</p><p style="text-align: justify;">How to defend against this? It&#8217;s simple: don&#8217;t leave real data and keys in public access. You can also slow down these &#8220;smart&#8221; bots by adding dynamic junk secrets to your code. When an AI agent gets ten similar but useless keys for every real one, it forces the attacker to spend much more time on verification, turning a quick hack into an endless routine</p><div><hr></div><p style="text-align: justify;"><strong>P.S.</strong> All found bugs were not exploited (and will be reported). Don&#8217;t be a villain - use AI for good</p><p style="text-align: justify;"><strong>P.P.S.</strong> I&#8217;ve been wanting to test <a href="https://developers.cloudflare.com/containers/">Cloudflare Containers</a> for a while - how they function, how to integrate them with an app, and how to set up monitoring. I was searching for the right project, and this gave me a perfect excuse to dive back into Golang. I&#8217;m beyond satisfied - it feels like a tool made by people for people</p>]]></content:encoded></item><item><title><![CDATA[Azure Leap Day Bug]]></title><description><![CDATA[This is a story about how one extra day in the calendar turned a powerful cloud platform into a pile of useless servers - Microsoft Azure in 2012 was a young but ambitious project.]]></description><link>https://yoursec.substack.com/p/azure-leap-day-bug</link><guid isPermaLink="false">https://yoursec.substack.com/p/azure-leap-day-bug</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Fri, 24 Apr 2026 19:22:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e433326d-3c4b-4039-bd10-5d650a2faa9f_890x818.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">This is a story about how one extra day in the calendar turned a powerful cloud platform into a pile of useless servers - Microsoft Azure in 2012 was a young but ambitious project. On February 28, at 8:00 PM PST (4:00 AM UTC on February 29), virtual machines started going dark across the globe. First in Europe, then in the US and Asia. The cloud, meant to be eternal, simply stopped letting new users in and updating existing ones. In the tech media, this incident would soon be immortalized as the &#8220;Leap Day Bug&#8221; or the &#8220;Azure Leap Year Outage&#8221;</p><p style="text-align: justify;">It all started with a small component - the Guest Agent, which runs inside every virtual machine. To communicate safely with the cloud, the agent needs a valid security certificate. The programmer who wrote the update logic decided that the certificate should last exactly one year. Instead of using built-in language methods, they decided to build the date manually by adding one to the current year</p><p style="text-align: justify;">In C#, it looked like this - the &#8220;billion-dollar line&#8221; of code that the media later mocked as &#8220;the most expensive arithmetic error in cloud history&#8221;:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;csharp&quot;,&quot;nodeId&quot;:&quot;55fa5715-68f6-4236-b311-f65ef0959bbb&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-csharp">var now = DateTime.UtcNow;

var certExpiry = new DateTime(now.Year + 1, now.Month, now.Day); 

// When February 29, 2012 arrived, the code tried to create 02/29/2013
// The new DateTime threw an ArgumentOutOfRangeException because 2013 is not a leap year</code></pre></div><p style="text-align: justify;">This exception caused the agent to crash immediately. But the real disaster was caused by the cloud&#8217;s &#8220;care&#8221; - the Fabric Controller. Seeing that a VM agent was not responding, the controller decided the physical server or VM was broken. It marked them as &#8220;bad&#8221; and tried to move the workload to other healthy nodes. But as soon as a VM started in a new place, it tried to create a certificate, crashed again, and triggered another panic. A domino effect began: healthy servers were shutting down one by one, trying to escape the &#8220;date virus&#8221;</p><p style="text-align: justify;">The irony is that the fix made it worse. When Microsoft engineers finally identified the bug, they rushed out a patch. However, the update package included a network plugin that was incompatible with the existing infrastructure. This triggered a second major service disruption, proving that in a crisis, a hurried &#8220;fix&#8221; can be as dangerous as the bug itself</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;ad1f744f-720a-4f91-9b7a-01842e6b47e4&quot;,&quot;duration&quot;:null}"></div><p style="text-align: justify;">This incident is a classic example of how time can be a Single Point of Failure (SPOF) in IT. We saw this in 2008 with Zune players that froze on December 31 because of a bad leap year loop. We saw the &#8220;ApocalyPS3&#8221; in 2010, when millions of PlayStation 3 consoles crashed because they incorrectly thought 2010 was a leap year. And then there is the leap second - in 2017, Cloudflare stumbled over it when their DNS resolvers panicked while trying to calculate negative time. Adding just one second to a day can take down an internet giant as effectively as a leap day</p><p style="text-align: justify;">Microsoft engineers fought the outage for nearly 24 hours in total. They had to manually fix the Guest Agent and deploy the patch to millions of machines while the cloud was in chaos. In the end, the company gave a 33% credit to all customers for that month. It was the most expensive lesson in geography and calendars in the company&#8217;s history. It turns out that even if you are Microsoft, you cannot ignore the rules set by Julius Caesar and Pope Gregory XIII</p><p><strong>Lessons for those writing code today:</strong></p><ul><li><p style="text-align: justify;">Never manipulate date parts manually. If your language has an .AddYears(1) method - use it. It knows how to turn February 29 into February 28</p></li><li><p style="text-align: justify;">Failures in distributed systems are often made worse by self-healing mechanisms. Your protection can become your executioner if it doesn&#8217;t understand the nature of the error</p></li><li><p style="text-align: justify;">Edge case testing must include the calendar. February 29, timezone changes, daylight saving, and even <a href="https://en.wikipedia.org/wiki/Leap_second">leap seconds</a> - these are not anomalies, they are inevitable</p></li><li><p style="text-align: justify;">A transparent post-mortem is the best way to regain trust. Microsoft admitted that their tests simply did not check year increments specifically on a leap day</p></li></ul>]]></content:encoded></item><item><title><![CDATA[AI-Valid - your personal AI readiness auditor]]></title><description><![CDATA[The web is changing fast: now content is used by AI agents, not just humans]]></description><link>https://yoursec.substack.com/p/ai-valid-your-personal-ai-readiness</link><guid isPermaLink="false">https://yoursec.substack.com/p/ai-valid-your-personal-ai-readiness</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Mon, 20 Apr 2026 05:02:09 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d1cc4bf6-966d-42b2-a816-8f2fe2befafb_2388x1550.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">The <strong><a href="https://ai-valid.secmy.app/">AI-Valid</a></strong><a href="https://ai-valid.secmy.app/"> project</a> is a high-tech tool that helps you check if your website is ready to work with neural networks, autonomous agents, and next-gen search bots</p><p style="text-align: justify;">AI-Valid helps developers and business owners understand if AI can &#8220;see&#8221; and interact with their website effectively. If a site is poorly structured, lacks machine-readable manifests, or is blocked for bots, AI assistants (like ChatGPT, Claude, or Perplexity) cannot extract data correctly or recommend your services to users in their responses</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;a3121ffe-87d1-4483-8492-90a1bd29ad0a&quot;,&quot;duration&quot;:null}"></div><p>The tool performs a deep, parallel scan of several key architectural areas:</p><ul><li><p style="text-align: justify;"><strong>Bot accessibility</strong> - it checks your <code>robots.txt</code> file for specific permissions for AI crawlers like <code>GPTBot</code> or <code>OAI-SearchBot</code> to see if you are accidentally blocking the future of search</p></li><li><p style="text-align: justify;"><strong>Content optimization</strong> - it looks for Content Negotiation support (providing raw Markdown instead of heavy HTML) and <code>Content-Signal</code> headers that manage data usage rights for training models</p></li><li><p style="text-align: justify;"><strong>Modern protocols</strong> - the scanner looks for specialized manifests in the <code>/.well-known</code> folder, such as MCP (Model Context Protocol), API Catalogs (RFC 9727), Agent Skills, and Agent Cards</p></li></ul><p style="text-align: justify;">The best part is that this tool is completely free. It is a great way to perform technical reconnaissance on your website without any costs or complex setup. Besides scores and status codes, AI-Valid has great educational value. It helps you learn about new, emerging standards like <code>llms.txt</code> that are just starting to define how machines read the internet</p><p style="text-align: justify;">The simple, terminal-inspired dashboard separates results into &#8220;Passed&#8221;, &#8220;Warnings&#8221;, and &#8220;Action Required&#8221;. This provides a clear implementation roadmap to upgrade your website and turn it into a high-performance platform that is friendly to the autonomous agents of the future</p>]]></content:encoded></item><item><title><![CDATA[April 19 :// Components started to multiply]]></title><description><![CDATA[On this day, the legendary article &#8220;Cramming more components onto integrated circuits&#8221; was published in Electronics magazine.]]></description><link>https://yoursec.substack.com/p/april-19-tech-history-moores-law</link><guid isPermaLink="false">https://yoursec.substack.com/p/april-19-tech-history-moores-law</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Sun, 19 Apr 2026 07:17:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BMFV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">On this day, the legendary article &#8220;<a href="http://cva.stanford.edu/classes/cs99s/papers/moore-crammingmorecomponents.pdf">Cramming more components onto integrated circuits</a>&#8221; was published in Electronics magazine. Its author, <a href="https://en.wikipedia.org/wiki/Gordon_Moore">Gordon Moore</a>, was working at Fairchild Semiconductor at the time. He would co-found Intel three years later, but he already saw the future clearly</p><p style="text-align: justify;"><strong>A quick correction: what this law is actually about.</strong> There is a common mistake that Moore&#8217;s Law predicts a growth in computer speed or performance. This is not true. <strong>Moore wrote specifically about the density of components</strong> (transistors, resistors, diodes) on a single chip. In his 1965 article, he found a formula for the perfect price: <strong>engineers learned how to fit twice as many parts on a chip so that the cost of each part would drop</strong>. It is a matter of economics, not a law of physics or a guarantee that Windows will load faster</p><p style="text-align: justify;">In the original article, he predicted that complexity would double every year. He stated that by 1975, it would be possible to put 65,000 components on a single chip. Ten years later, Moore changed the forecast to &#8220;doubling every two years.&#8221; The popular &#8220;18 months&#8221; figure actually came from his Intel colleague David House, who was trying to measure pure performance. But Moore himself always counted components - basically, transistors</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5Cx_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2132bb-26b9-47b3-a25b-2e00b11a491b_2002x818.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5Cx_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2132bb-26b9-47b3-a25b-2e00b11a491b_2002x818.png 424w, https://substackcdn.com/image/fetch/$s_!5Cx_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2132bb-26b9-47b3-a25b-2e00b11a491b_2002x818.png 848w, https://substackcdn.com/image/fetch/$s_!5Cx_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2132bb-26b9-47b3-a25b-2e00b11a491b_2002x818.png 1272w, https://substackcdn.com/image/fetch/$s_!5Cx_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2132bb-26b9-47b3-a25b-2e00b11a491b_2002x818.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5Cx_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2132bb-26b9-47b3-a25b-2e00b11a491b_2002x818.png" width="581" height="237.3916083916084" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc2132bb-26b9-47b3-a25b-2e00b11a491b_2002x818.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:818,&quot;width&quot;:2002,&quot;resizeWidth&quot;:581,&quot;bytes&quot;:149737,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/194669122?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F645c32cd-e6ea-4162-9132-b0530dd7c0c2_2248x1334.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5Cx_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2132bb-26b9-47b3-a25b-2e00b11a491b_2002x818.png 424w, https://substackcdn.com/image/fetch/$s_!5Cx_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2132bb-26b9-47b3-a25b-2e00b11a491b_2002x818.png 848w, https://substackcdn.com/image/fetch/$s_!5Cx_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2132bb-26b9-47b3-a25b-2e00b11a491b_2002x818.png 1272w, https://substackcdn.com/image/fetch/$s_!5Cx_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2132bb-26b9-47b3-a25b-2e00b11a491b_2002x818.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p style="text-align: justify;"><strong>A prophet we actually got.</strong> It is amazing that in 1965, Moore predicted home computers, portable communication devices (mobile phones), and even automatic controls for cars. He even mentioned electronic wristwatches, noting that &#8220;they only need a display&#8221; to become real. He saw our modern world 60 years before it arrived, though he probably <em>did not expect all this power to be used for endless scrolling</em></p><p style="text-align: justify;">The fact that your processor has twice as many transistors does not mean that Excel will calculate twice as fast. Today, billions of extra components are often used for background processes, graphics, or AI cores. Sometimes their power is simply &#8220;eaten&#8221; by bad code optimization, because unfortunately modern programmers write code without worrying about making it work as efficiently as possible</p><p style="text-align: justify;">Your smartphone is now millions of times more powerful than all NASA computers in 1969 combined. The computing power that sent humans to the Moon would not even run a simple mobile game today. (And this power is mostly used for games and social media pictures)</p><p style="text-align: justify;">Moore&#8217;s Law gives us billions of new transistors, but it cannot fix heavy software. It does not apply to the speed of Slack or how much memory Chrome uses. Moore promised us hardware density, but he did not promise that programmers would stop writing &#8220;heavy&#8221; code. No matter how powerful the hardware is, Chrome will find a way to slow it down, and Slack will still lag at the worst moment</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BMFV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BMFV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png 424w, https://substackcdn.com/image/fetch/$s_!BMFV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png 848w, https://substackcdn.com/image/fetch/$s_!BMFV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png 1272w, https://substackcdn.com/image/fetch/$s_!BMFV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BMFV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png" width="1456" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:129849,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/194669122?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BMFV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png 424w, https://substackcdn.com/image/fetch/$s_!BMFV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png 848w, https://substackcdn.com/image/fetch/$s_!BMFV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png 1272w, https://substackcdn.com/image/fetch/$s_!BMFV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F09f73453-4a35-4c20-a756-c29fc37c7854_1600x960.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;"><strong>Is Moore&#8217;s Law still alive today?</strong> Physically, we have almost reached the limit: transistors are now the size of just a few atoms, and making them smaller is nearly impossible. But the law is not dead, it is mutating. The number of physical components on a single chip is still growing - top chips already have over 100 billion transistors. It is important to understand: Moore&#8217;s Law is a story about local hardware and density on one chip. Today, engineers build &#8220;skyscrapers&#8221; (3D-stacking) and create specialized chips for specific tasks, which allows the law to keep going, even if the cost is very high</p><p style="text-align: justify;">And just for fun the image from an AI, I like the result:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xxzE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c30cf3f-df4b-4575-8b71-6e7b7f06334e_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xxzE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c30cf3f-df4b-4575-8b71-6e7b7f06334e_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!xxzE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c30cf3f-df4b-4575-8b71-6e7b7f06334e_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!xxzE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c30cf3f-df4b-4575-8b71-6e7b7f06334e_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!xxzE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c30cf3f-df4b-4575-8b71-6e7b7f06334e_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xxzE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c30cf3f-df4b-4575-8b71-6e7b7f06334e_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c30cf3f-df4b-4575-8b71-6e7b7f06334e_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8221623,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/194669122?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c30cf3f-df4b-4575-8b71-6e7b7f06334e_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xxzE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c30cf3f-df4b-4575-8b71-6e7b7f06334e_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!xxzE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c30cf3f-df4b-4575-8b71-6e7b7f06334e_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!xxzE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c30cf3f-df4b-4575-8b71-6e7b7f06334e_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!xxzE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c30cf3f-df4b-4575-8b71-6e7b7f06334e_2816x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;"></p>]]></content:encoded></item><item><title><![CDATA[Software Kills: The Therac-25 Story]]></title><description><![CDATA[We are all used to bugs. A program freezes, a document is not saved, or a phone goes into a restart loop - it is annoying, but nobody dies from it...]]></description><link>https://yoursec.substack.com/p/software-kills-the-therac-25-story</link><guid isPermaLink="false">https://yoursec.substack.com/p/software-kills-the-therac-25-story</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Sat, 18 Apr 2026 18:38:34 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/145d5c9e-6460-47e4-b51b-978fc0ab6883_1906x1374.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">We are all used to bugs. A program freezes, a document is not saved, or a phone goes into a restart loop - it is annoying, but nobody dies from it</p><p style="text-align: justify;">But imagine a situation where a software error directly controls a radiation gun. Between 1985 and 1987, due to systemic flaws in the <a href="https://en.wikipedia.org/wiki/Therac-25">Therac-25</a> radiation therapy machine, six patients received massive overdoses. Three of them died from severe radiation burns</p><p style="text-align: justify;">This is not just a story about bad code. It is a story about human overconfidence, poor interface design, and why a physical switch is sometimes more reliable than a thousand lines of &#8220;perfect&#8221; code</p><p style="text-align: justify;">In the early 80s, a Canadian company called AECL decided to build a cutting-edge medical machine. Before this, they worked with the French company CGR on older models, but they developed the Therac-25 entirely on their own. It was a powerful device based on the PDP-11 computer that could treat cancer in two ways:</p><ul><li><p>A weak electron beam for skin cancer</p></li><li><p>A powerful X-ray beam for deep tissues</p></li></ul><p style="text-align: justify;">To create X-rays, the machine fired a high-power electron beam into a tungsten shield. This shield absorbed the deadly electrons and turned them into medical X-rays</p><p style="text-align: justify;">In the previous model (Therac-20), there was &#8220;hardware logic&#8221; between the powerful beam and the patient - physical interlocks. If the tungsten shield was not in place, the electrical circuit simply would not close. It was like a microwave that won&#8217;t start until you close the door</p><p style="text-align: justify;">But with the Therac-25, engineers decided to save space and money. They thought: why do we need bulky mechanical locks if we have a modern computer? Let the software handle safety instead</p><p style="text-align: justify;">The machine easily got FDA approval. AECL claimed that the Therac-25 was &#8220;substantially equivalent&#8221; to previous models, so no independent safety audit was done. Engineers simply copied code written in assembly from an older machine. They did not know that this code had hidden bugs for years, which were previously blocked by physical safety switches</p><h3>Anatomy of Bug #1: The Race Condition</h3><p style="text-align: justify;">The first problem was a parallel programming error known as a &#8220;race condition&#8221;. This happens when two parts of a program try to do their work at the same time and mix up the data</p><p style="text-align: justify;">Imagine an experienced operator setting up the machine. They accidentally type <code>X</code> (powerful X-ray), but quickly notice the mistake, hit the up arrow, and change it to <code>E</code> (electrons)</p><p style="text-align: justify;">At that moment, the computer does the following:</p><ol><li><p style="text-align: justify;">The first part of the program sees <code>X</code> and tells the hardware to move the tungsten shield. This physical process takes 8 seconds</p></li><li><p style="text-align: justify;">The operator types very fast and changes <code>X</code> to <code>E</code> in less than a second</p></li><li><p>The UI program instantly changes the screen text to &#8220;Electron Mode (Safe)&#8221;</p></li><li><p style="text-align: justify;">But because there is no proper synchronization, the background setup process still thinks a high-power shot is needed, even though the shield is being moved out of the way</p></li></ol><p style="text-align: justify;">The screen says everything is safe. But the machine is set to full power with no protective shield in place. Patients received 16,000 to 25,000 rads of radiation (when the normal dose is around 200 rads)</p><p>Here is how it looks in simple logic (pseudocode):</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;go&quot;,&quot;nodeId&quot;:&quot;e865c392-e066-4d08-a097-cdf6ab17486f&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-go">Power = 0
Shield_Is_In_Place = False

Handle_UI_Input():
    User_Input = Get_Input()
    
    If User_Input == "X":    // X-ray
        Power = 100_PERCENT

    If User_Input == "E":    // Electrons
        Power = 1_PERCENT

    // ERROR: The screen is updated
    //        but we didn't wait for the hardware!
    Update_Screen(User_Input)

Setup_Hardware_Task():
    If Power == 100_PERCENT:
        Start_Moving_Shield() // It takes 8 seconds!
        Shield_Is_In_Place = True
        
    // If the operator changes the mode during 8 seconds...
    //    the hardware breaks:
    //    the program keeps Power = 100%,
    //                  but Shield_Is_In_Place = False
    
    If Power == 100_PERCENT And Shield_Is_In_Place == False:
        Show_Error("Malfunction 54. TREAT PAUSE")
        
        // THE INTERFACE BUG:
        Wait_For_Operator_Response()

        If Operator_Presses("P"): // P for Proceed
            Override_Lock()
            Fire_Beam() // Fatal shot with no shield
    Else:
        Fire_Beam()</code></pre></div><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;f642df61-1234-4086-b3af-95ae3018e84a&quot;,&quot;duration&quot;:null}"></div><h3>Anatomy of Bug #2: The Overflow Error</h3><p style="text-align: justify;">According to reports, the Therac-25 had many issues. In Yakima, Washington, a patient died because of a completely different bug. There was a counter variable in the code that increased by one during safety checks</p><p style="text-align: justify;">The variable size was only 1 byte. This means its maximum value was 255. If you add 1 to 255, the variable resets to zero (an overflow). Exactly every 256th check, the computer thought the counter was zero. In the program&#8217;s logic, zero meant &#8220;ready to fire&#8221;. If the operator hit the &#8220;Start&#8221; button at that exact millisecond, the machine would fire, bypassing all other safety checks</p><h3>Bad UX as an Accomplice</h3><p>When the system noticed a data conflict, it did not lock the machine with a loud alarm and a &#8220;DANGER&#8221; message. Instead, a cryptic message appeared at the bottom of the screen: <code>Malfunction 54</code>. Nobody knew what this meant - it wasn&#8217;t even in the manual</p><p>Medical machines at the time often showed small sensor errors. Furthermore, during a Malfunction 54, the Therac-25 screen said <code>TREAT PAUSE</code> and helpfully suggested the operator press <code>P</code> (Proceed) to continue</p><p>The operator, behind a concrete wall, would press <code>P</code>. The patient in the room received a massive radiation strike and screamed in pain. The operator looked at the screen, saw that &#8220;no dose was delivered&#8221; according to the computer, and... pressed <code>P</code> again</p><h3>Lessons for the IT Industry</h3><p>The Therac-25 disaster became the foundation for modern safety standards. Here are the main takeaways for engineers:</p><ul><li><p style="text-align: justify;"><strong>Keep hardware interlocks</strong><br>Software always has bugs. If lives are at stake, code should not be the only line of defense - a physical switch is more reliable</p></li><li><p style="text-align: justify;"><strong>Blindly reusing code is dangerous</strong><br>Bugs from old models can appear in new architectures. Something that &#8220;worked for 10 years&#8221; can kill when the environment changes slightly</p></li><li><p style="text-align: justify;"><strong>Sync your threads carefully</strong><br>The UI should never report success until the hardware gives a firm confirmation. Race conditions do not forgive mistakes</p></li><li><p style="text-align: justify;"><strong>Good UX is a safety feature</strong><br>Deadly failures should not be hidden behind codes like <code>Malfunction 54</code>. The system must explain the threat clearly and not let users ignore it with one button</p></li><li><p style="text-align: justify;"><strong>Listen to users, not just logs</strong><br>The creators of the Therac-25 claimed for a long time that an overdose was &#8220;mathematically impossible,&#8221; ignoring real injuries. Never ignore incidents just because they don&#8217;t match your specifications</p></li></ul><div><hr></div><p>Some other similar examples:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;6cdf1505-d6fe-4fb0-a5dd-2a3f41c6f0a7&quot;,&quot;caption&quot;:&quot;While you&#8217;re drinking your morning coffee, an invisible algorithm deep inside your servers is making crazy trades, burning through $172,222 every single second. This isn&#8217;t the plot of a techno-thriller; it&#8217;s the real story of Knight Capital Group - a classic example of how &#8220;dead code&#8221; and DevOps mistakes can destroy a business empire before management e&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The Cost of a Single Mistake: Lost $440 Million in 45 Minutes&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:141546368,&quot;name&quot;:&quot;Alex P&quot;,&quot;bio&quot;:&quot;Certified Cybersecurity Professional&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2d38fc6-b977-4368-8983-3b7afbfad3f3_1356x1356.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-03-31T18:35:59.245Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ODP9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://yoursec.substack.com/p/the-cost-of-a-single-mistake-lost&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:192745868,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601432,&quot;publication_name&quot;:&quot;Your Sec&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!gJ-w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a9a11b-da21-413f-bd3a-0e1f8c934935_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7a781448-c6c0-4ffd-a85a-0b735bed2a2d&quot;,&quot;caption&quot;:&quot;In September 1999, an ambitious NASA mission to Mars ended in a disaster that went down in history as a huge management failure. The most expensive &#8220;lost in translation&#8221; mistake in history turned a science probe into a spectacular but useless meteor&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;How a Metric Mix-Up Burned $327 Million&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:141546368,&quot;name&quot;:&quot;Alex P&quot;,&quot;bio&quot;:&quot;Certified Cybersecurity Professional&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2d38fc6-b977-4368-8983-3b7afbfad3f3_1356x1356.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-04-03T19:35:22.380Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CYQb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://yoursec.substack.com/p/how-a-metric-mix-up-burned-327-million&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:193099907,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601432,&quot;publication_name&quot;:&quot;Your Sec&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!gJ-w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a9a11b-da21-413f-bd3a-0e1f8c934935_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;78839294-b583-49c8-9c26-a6ff26333f1b&quot;,&quot;caption&quot;:&quot;The catastrophic failure of the Ariane 5 (flight 5), happened on 4 June 1996, is the example how a software error based on data-types, led to the real destruction of the spaceship and huge financial loss. In the context of aerospace disasters, this case demonstrates the danger of code re-usage without taking into account new physical conditions&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Ariane 5 launch disaster because code issues&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:141546368,&quot;name&quot;:&quot;Alex P&quot;,&quot;bio&quot;:&quot;Certified Cybersecurity Professional&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2d38fc6-b977-4368-8983-3b7afbfad3f3_1356x1356.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-27T19:20:20.638Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!OrwD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf56dc07-011a-427e-a38b-1254e046394c_1378x890.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://yoursec.substack.com/p/ariane-5-launch-disaster-because&quot;,&quot;section_name&quot;:&quot;IT Days&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:185997839,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601432,&quot;publication_name&quot;:&quot;Your Sec&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!gJ-w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a9a11b-da21-413f-bd3a-0e1f8c934935_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div><hr></div><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;02aa55c7-8ff4-478d-b787-fdda408c7d66&quot;,&quot;duration&quot;:null}"></div><p></p>]]></content:encoded></item><item><title><![CDATA[April 14 :// World Quantum Day]]></title><description><![CDATA[Today is April 14 (4.14) - the date was chosen to honor the rounded value of Planck&#8217;s constant. For the IT world, this is officially Schr&#246;dinger&#8217;s Bug Day: your bug is in a superposition of &#8220;fixed&#8221; and &#8220;reproducible&#8221; until you actually open the console]]></description><link>https://yoursec.substack.com/p/april-14-world-quantum-day</link><guid isPermaLink="false">https://yoursec.substack.com/p/april-14-world-quantum-day</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Tue, 14 Apr 2026 18:32:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1PnW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">Today is April 14 (4.14) - the date was chosen to honor the rounded value of <a href="https://en.wikipedia.org/wiki/Planck_constant">Planck&#8217;s constant</a>. For the IT world, this is officially Schr&#246;dinger&#8217;s Bug Day: your bug is in a superposition of &#8220;fixed&#8221; and &#8220;reproducible&#8221; until you actually open the console</p><p style="text-align: justify;">Almost all quantum magic was born in Europe. The most important events took place in the old offices of Berlin, Copenhagen, and Brussels</p><ul><li><p style="text-align: justify;">Berlin, 1900: <a href="https://en.wikipedia.org/wiki/Max_Planck">Max Planck</a> introduced the concept of the &#8220;quantum&#8221;. He did it out of desperation while trying to solve a radiation problem and could hardly believe his own discovery</p></li><li><p style="text-align: justify;">Copenhagen, 1920s: <a href="https://en.wikipedia.org/wiki/Niels_Bohr">Niels Bohr</a> created his famous interpretation here. Modern physics was born in the <a href="https://en.wikipedia.org/wiki/Bohr%E2%80%93Einstein_debates">debates between Bohr and Einstein</a> (who famously said &#8220;God does not play dice&#8221;)</p></li><li><p style="text-align: justify;">Brussels, 1927: The <a href="https://en.wikipedia.org/wiki/Solvay_Conference">Fifth Solvay Conference</a> became legendary. A single photo captured 29 geniuses, including Einstein, Curie, and Planck. It was a true &#8220;Avengers&#8221; meeting for scientists where they decided how reality actually works</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ou0x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad245e28-f47b-48e5-9da1-70ddae8c7b9f_906x405.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ou0x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad245e28-f47b-48e5-9da1-70ddae8c7b9f_906x405.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ou0x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad245e28-f47b-48e5-9da1-70ddae8c7b9f_906x405.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ou0x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad245e28-f47b-48e5-9da1-70ddae8c7b9f_906x405.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ou0x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad245e28-f47b-48e5-9da1-70ddae8c7b9f_906x405.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ou0x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad245e28-f47b-48e5-9da1-70ddae8c7b9f_906x405.jpeg" width="906" height="405" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ad245e28-f47b-48e5-9da1-70ddae8c7b9f_906x405.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:405,&quot;width&quot;:906,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:150589,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ou0x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad245e28-f47b-48e5-9da1-70ddae8c7b9f_906x405.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ou0x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad245e28-f47b-48e5-9da1-70ddae8c7b9f_906x405.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ou0x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad245e28-f47b-48e5-9da1-70ddae8c7b9f_906x405.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ou0x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fad245e28-f47b-48e5-9da1-70ddae8c7b9f_906x405.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Fun facts about &#8220;strange&#8221; physics</h3><ul><li><p style="text-align: justify;">Schr&#246;dinger came up with the <a href="https://en.wikipedia.org/wiki/Schr%C3%B6dinger%27s_cat">cat experiment</a> to show how absurd quantum mechanics is in the macro world. He didn&#8217;t want to hurt animals - he was just making fun of his colleagues&#8217; ideas &#128572;</p></li><li><p style="text-align: justify;">Einstein called quantum entanglement &#8220;spooky action at a distance&#8221;. It annoyed him because it broke classical logic. It is like socks: if you put one on your right foot, its pair instantly becomes &#8220;left&#8221; even if it is on Alpha Centauri</p></li><li><p style="text-align: justify;">Quantum computers promise to break any encryption, but for now they mostly just consume electricity and require cooling down to <a href="https://en.wikipedia.org/wiki/Absolute_zero">-273&#176;C</a> (colder than deep space)</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1PnW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1PnW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png 424w, https://substackcdn.com/image/fetch/$s_!1PnW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png 848w, https://substackcdn.com/image/fetch/$s_!1PnW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png 1272w, https://substackcdn.com/image/fetch/$s_!1PnW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1PnW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png" width="1380" height="752" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:752,&quot;width&quot;:1380,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1811233,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/194207062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1PnW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png 424w, https://substackcdn.com/image/fetch/$s_!1PnW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png 848w, https://substackcdn.com/image/fetch/$s_!1PnW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png 1272w, https://substackcdn.com/image/fetch/$s_!1PnW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F36dfb975-a826-46c4-957d-f9fcb8fa03d4_1380x752.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Real security risks</h3><p style="text-align: justify;">Quantum machines are dangerous because of specific algorithms that hit the weakest spots of modern cryptography</p><ul><li><p style="text-align: justify;"><strong>The death of RSA and ECC:</strong> <a href="https://en.wikipedia.org/wiki/Shor%27s_algorithm">Shor&#8217;s algorithm</a> allows a quantum computer to break asymmetric encryption. This primarily threatens systems that don&#8217;t get regular updates - in such cases, HTTPS, bank transfers, and blockchain signatures will become useless</p></li><li><p style="text-align: justify;"><strong>HNDL Strategy (Harvest Now, Decrypt Later):</strong> This is the biggest threat today. Attackers record encrypted traffic and collect database leaks or backups. Right now, these gigabytes of data are just useless digital trash. But when a powerful quantum computer appears, these &#8220;dead&#8221; archives will suddenly come to life and become dangerous. Hackers are just waiting for their time in 5-10 years</p></li><li><p style="text-align: justify;"><strong>Symmetric encryption (AES):</strong> The situation here is better. <a href="https://en.wikipedia.org/wiki/Grover%27s_algorithm">Grover&#8217;s algorithm</a> speeds up brute-forcing, but you can stay safe simply by switching from AES-128 to AES-256</p></li></ul><h3>Regulators and deadlines</h3><p style="text-align: justify;">The European Union Agency for Cybersecurity (ENISA) and regulators like NIST (USA) have already set the standards for Post-Quantum Cryptography (PQC)</p><ul><li><p style="text-align: justify;">ML-KEM (FIPS 203): The new standard for key exchange (formerly Kyber)</p></li><li><p>ML-DSA (FIPS 204): The main standard for digital signatures (formerly Dilithium)</p></li><li><p>2025-2027: Start of mandatory PQC support in new government systems in the USA and EU</p></li><li><p>2030: Deadline for switching software and firmware signature systems</p></li><li><p>2035: Full retirement of RSA and ECC in European critical infrastructure and transition to CNSA 2.0</p></li></ul><h3>Baseline requirements for protection</h3><p style="text-align: justify;">Check your infrastructure against these minimum requirements to keep your data safe</p><ul><li><p style="text-align: justify;"><strong>AES-256:</strong> move all symmetric encryption to 256-bit - this is the base that Grover&#8217;s algorithm cannot easily break</p></li><li><p style="text-align: justify;"><strong>RSA 3072 or Ed25519:</strong> stop using 2048-bit keys - anything below 3072 bits is considered vulnerable in the long run</p></li><li><p style="text-align: justify;"><strong>TLS 1.3:</strong> use only the latest version of the protocol - it supports hybrid key exchange and adapts better to quantum standards</p></li><li><p style="text-align: justify;"><strong>Total patching:</strong> quantum threats are worst for systems that haven&#8217;t been updated for years - make sure your libraries (OpenSSL, BoringSSL) are always on the latest versions</p></li><li><p style="text-align: justify;"><strong>Crypto-Agility:</strong> use standard libraries and don&#8217;t hardcode specific algorithms - this will allow you to change them via a config file in the future</p></li></ul><h3>Where to try quantum computing online (I have tried 3)</h3><p>If you want to go beyond theory, there are several platforms with access to real hardware or powerful simulators</p><ul><li><p style="text-align: justify;"><strong><a href="https://colab.research.google.com/">Google Colab</a>:</strong> the best place to start running Python code (like Qiskit) right in your browser without installing anything</p></li><li><p style="text-align: justify;"><strong><a href="https://www.quantumplayground.net/">Quantum Computing Playground</a>:</strong> perfect for simple 3D visualization of quantum states directly in the browser</p></li><li><p style="text-align: justify;"><strong><a href="https://quantum.cloud.ibm.com/">IBM Quantum Platform</a>:</strong> the most popular option - they offer free access to 127-qubit processors and a great visual drag-and-drop tool (IBM Quantum Composer)</p></li><li><p style="text-align: justify;"><strong><a href="https://azure.microsoft.com/en-us/solutions/quantum-computing">Azure Quantum</a>:</strong> Microsoft&#8217;s platform where you can try hardware from partners like IonQ or Rigetti - there are free credits for learning</p></li><li><p style="text-align: justify;"><strong><a href="https://aws.amazon.com/braket/">Amazon Braket</a>:</strong> an AWS cloud service for testing different quantum architectures - good for serious experiments</p></li></ul><h3>Real World Example: True Random Number Generator</h3><p style="text-align: justify;">Classical computers use math formulas to create &#8220;pseudo-random&#8221; numbers. If you know the formula and the starting point (seed), you can predict the result. A quantum algorithm solves this by using the uncertainty of the universe to create <strong>true</strong> randomness</p><p style="text-align: justify;"><em>Note: The code below runs on a simulator, which means it technically still uses classical pseudo-randomness to mock the quantum behavior. To get TRUE randomness, you would need to run this exact circuit on a real QPU (like IBM&#8217;s hardware)</em></p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;50e0e082-ccb4-4632-96a9-71a951ac21ee&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator

# We want an 8-bit random number (values from 0 to 255)
# Let's create a circuit with exactly 8 qubits
qc = QuantumCircuit(8)

# Apply a Hadamard gate to ALL 8 qubits
# This puts every qubit into a perfect 50/50 superposition of 0 and 1
for i in range(8):
    qc.h(i)

# Automatically add classical bits and measure all qubits
# This forces the universe to collapse them into a definitive sequence
qc.measure_all()

# Run the simulation exactly 1 time (1 shot)
simulator = AerSimulator()
result = simulator.run(qc, shots=1).result()

# Extract the binary string from the result
counts = result.get_counts()
binary_string = list(counts.keys())[0]

# Convert binary string to a regular integer
random_number = int(binary_string, 2)
print(f"Quantum random 8-bit number: {random_number} (binary: {binary_string})")</code></pre></div><p>Happy World Quantum Day!</p><p>May your qubits never decohere too early and may your bugs always collapse into the right solutions</p><div><hr></div><h4><em>PS: Some my examples here</em></h4><p><em>https://colab.research.google.com/</em></p><p><em>Just for fun notebook is shared here <a href="https://github.com/SecH0us3/check-quantum-python/blob/main/check_quantum_python.ipynb">https://github.com/SecH0us3/check-quantum-python/blob/main/check_quantum_python.ipynb</a> (rnd for three bits)</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yr-e!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b594300-657f-4e41-9b0b-6c92f2cd9260_2066x1240.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yr-e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b594300-657f-4e41-9b0b-6c92f2cd9260_2066x1240.png 424w, https://substackcdn.com/image/fetch/$s_!yr-e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b594300-657f-4e41-9b0b-6c92f2cd9260_2066x1240.png 848w, https://substackcdn.com/image/fetch/$s_!yr-e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b594300-657f-4e41-9b0b-6c92f2cd9260_2066x1240.png 1272w, https://substackcdn.com/image/fetch/$s_!yr-e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b594300-657f-4e41-9b0b-6c92f2cd9260_2066x1240.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yr-e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b594300-657f-4e41-9b0b-6c92f2cd9260_2066x1240.png" width="1456" height="874" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b594300-657f-4e41-9b0b-6c92f2cd9260_2066x1240.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:874,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:658775,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/194207062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b594300-657f-4e41-9b0b-6c92f2cd9260_2066x1240.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!yr-e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b594300-657f-4e41-9b0b-6c92f2cd9260_2066x1240.png 424w, https://substackcdn.com/image/fetch/$s_!yr-e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b594300-657f-4e41-9b0b-6c92f2cd9260_2066x1240.png 848w, https://substackcdn.com/image/fetch/$s_!yr-e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b594300-657f-4e41-9b0b-6c92f2cd9260_2066x1240.png 1272w, https://substackcdn.com/image/fetch/$s_!yr-e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b594300-657f-4e41-9b0b-6c92f2cd9260_2066x1240.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>https://www.quantumplayground.net/ strange, but fun</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jfpe!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22af5dc-9918-4613-91ab-ae3e9dae03a5_1328x924.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jfpe!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22af5dc-9918-4613-91ab-ae3e9dae03a5_1328x924.png 424w, https://substackcdn.com/image/fetch/$s_!jfpe!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22af5dc-9918-4613-91ab-ae3e9dae03a5_1328x924.png 848w, https://substackcdn.com/image/fetch/$s_!jfpe!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22af5dc-9918-4613-91ab-ae3e9dae03a5_1328x924.png 1272w, https://substackcdn.com/image/fetch/$s_!jfpe!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22af5dc-9918-4613-91ab-ae3e9dae03a5_1328x924.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jfpe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22af5dc-9918-4613-91ab-ae3e9dae03a5_1328x924.png" width="1328" height="924" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b22af5dc-9918-4613-91ab-ae3e9dae03a5_1328x924.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:924,&quot;width&quot;:1328,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:255806,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/194207062?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22af5dc-9918-4613-91ab-ae3e9dae03a5_1328x924.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jfpe!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22af5dc-9918-4613-91ab-ae3e9dae03a5_1328x924.png 424w, https://substackcdn.com/image/fetch/$s_!jfpe!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22af5dc-9918-4613-91ab-ae3e9dae03a5_1328x924.png 848w, https://substackcdn.com/image/fetch/$s_!jfpe!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22af5dc-9918-4613-91ab-ae3e9dae03a5_1328x924.png 1272w, https://substackcdn.com/image/fetch/$s_!jfpe!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb22af5dc-9918-4613-91ab-ae3e9dae03a5_1328x924.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[April 12 :// How Space History Taught IT Security]]></title><description><![CDATA[Happy Easternautics Day!]]></description><link>https://yoursec.substack.com/p/april-12-how-space-history-taught</link><guid isPermaLink="false">https://yoursec.substack.com/p/april-12-how-space-history-taught</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Sun, 12 Apr 2026 10:06:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4gYm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">In modern security audits, experts pay special attention to time synchronization and incident transparency. Why? Because they learned from the bitter experience of time drifts and the high cost of hiding technical facts. Here are the main lessons from space history for today&#8217;s IT security:</p><ul><li><p style="text-align: justify;"><strong>Transparency is a patch for survival</strong> - hiding technical data (like <a href="https://en.wikipedia.org/wiki/Vostok_1#:~:text=Gagarin%20parachuted%20to%20the%20ground%20separately%20from%20his%20capsule">Gagarin&#8217;s ejection</a>) slows down the entire industry. Today&#8217;s standard is a public Post-mortem, which allows others to learn from mistakes and saves lives</p></li><li><p style="text-align: justify;"><strong>Time is the foundation of security</strong> - the Shuttle incident showed that a 40-millisecond error can crash a billion-dollar cluster. If your time is out of sync, authentication mechanisms (like Kerberos) and data integrity stop working</p></li><li><p style="text-align: justify;"><strong>Diverse redundancy</strong> - you cannot rely on the same code base for everything. A backup system should be written by a different team on a different stack (like BFS in Shuttles) to avoid shared logic bugs</p></li><li><p style="text-align: justify;"><strong>Code cannot fix the human factor</strong> - even the most complex 2FA (like the &#8220;125&#8221; code in Gagarin&#8217;s envelope) is useless if admins share secrets outside of protocols because of &#8220;trust&#8221;</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4gYm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4gYm!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!4gYm!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!4gYm!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!4gYm!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4gYm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8059877,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/193951133?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4gYm!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!4gYm!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!4gYm!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!4gYm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd07f6cf0-6a2e-445c-aaa6-a2dcb53209e4_2816x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">I like how AI creates images, but prompting takes too much time&#8230;</figcaption></figure></div><h4>1961: Vostok-1 - The First Extreme Production</h4><p style="text-align: justify;">Yuri Gagarin&#8217;s flight was fully automated, and manual control was locked. Engineers implemented the first-ever &#8220;two-factor authentication&#8221; in conditions of total uncertainty</p><ul><li><p style="text-align: justify;"><strong>Logic Lock (Code 125)</strong> - to switch to manual control, the pilot had to open an envelope, read a code, and enter it on a panel. This was a Challenge-Response test: if the person could do this, they were sane enough to fly the ship. However, &#8220;social engineering&#8221; happened even then - Gagarin was told the code before the launch</p></li><li><p style="text-align: justify;"><strong>Deadlock during separation</strong> - because of a cable failure, the service module did not detach immediately and pulled the landing capsule behind it. In the IT world, this is like a hanging process that prevents a system shutdown. The error was fixed by the environment: the cables burned up from heat during atmospheric entry</p></li><li><p style="text-align: justify;"><strong>The ejection secret and the bureaucratic brake</strong> - Gagarin ejected at an altitude of 7 km because the capsule lacked a soft-landing system. This fact was hidden for 10 years for bureaucratic reasons (FAI records). This hiding is an example of how &#8220;image&#8221; slows down technology, preventing other teams from learning from real experience</p></li></ul><h4>1981: Space Shuttle - Distributed Computing in Orbit</h4><p style="text-align: justify;">The Shuttle program introduced the concept of a high-availability (HA) cluster to the IT world</p><ul><li><p style="text-align: justify;"><strong>PASS and BFS Architecture</strong> - there were four computers with the main software and a fifth one with completely independent code. This is a classic protection against systemic development bugs</p></li><li><p style="text-align: justify;"><strong>40-Millisecond Race Condition</strong> - the first Shuttle launch failed because of a sync error. The main systems started slightly earlier than the backup, and consensus was not reached. Today, any security auditor will start checking your infrastructure with NTP (Network Time Protocol) settings, remembering this lesson</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Tron: When the movie became reality]]></title><description><![CDATA[Today is April 11 - Apple I launch day, but I&#8217;m remembering a software bug related to the Apple II (April 11 &#8594; begin of Apple I &#8594; bug for Apple II, hah)]]></description><link>https://yoursec.substack.com/p/tron-when-the-movie-became-reality</link><guid isPermaLink="false">https://yoursec.substack.com/p/tron-when-the-movie-became-reality</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Sat, 11 Apr 2026 07:07:21 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3Xgx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc64f1be-23f1-4b8a-8bf1-6ae0eb3ebaa4_1540x863.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">Imagine: 80s, <a href="https://en.wikipedia.org/wiki/Apple_IIGS">Apple IIgs</a>, you are writing your version of <a href="https://en.wikipedia.org/wiki/Tron">Tron</a>. You add rockets for excitement, but the &#8220;AI&#8221; turns the game into a digital nightmare, literally breaking the &#8220;fourth wall&#8221;. This is the real story of <a href="https://blog.danielwellman.com/2008/10/real-life-tron-on-an-apple-iigs.html">Dan Wellman and Marco Busse</a>. A logic error and the architecture of old PCs turned a simple bug into a terrifying performance</p><p>In Daniel&#8217;s version, rockets could destroy walls. The problem was that the game engine didn&#8217;t distinguish between a &#8220;light cycle trail&#8221; and the &#8220;game field boundary&#8221;. Anything that wasn&#8217;t empty space was considered a destructible wall</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3Xgx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc64f1be-23f1-4b8a-8bf1-6ae0eb3ebaa4_1540x863.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3Xgx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc64f1be-23f1-4b8a-8bf1-6ae0eb3ebaa4_1540x863.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3Xgx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc64f1be-23f1-4b8a-8bf1-6ae0eb3ebaa4_1540x863.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3Xgx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc64f1be-23f1-4b8a-8bf1-6ae0eb3ebaa4_1540x863.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3Xgx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc64f1be-23f1-4b8a-8bf1-6ae0eb3ebaa4_1540x863.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3Xgx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc64f1be-23f1-4b8a-8bf1-6ae0eb3ebaa4_1540x863.jpeg" width="1540" height="863" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc64f1be-23f1-4b8a-8bf1-6ae0eb3ebaa4_1540x863.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:863,&quot;width&quot;:1540,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:336304,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3Xgx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc64f1be-23f1-4b8a-8bf1-6ae0eb3ebaa4_1540x863.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3Xgx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc64f1be-23f1-4b8a-8bf1-6ae0eb3ebaa4_1540x863.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3Xgx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc64f1be-23f1-4b8a-8bf1-6ae0eb3ebaa4_1540x863.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3Xgx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc64f1be-23f1-4b8a-8bf1-6ae0eb3ebaa4_1540x863.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>When the &#8220;AI&#8221; found itself trapped, it triggered a pathfinding function. Here is how the logic looked in the (pseudo)code:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;b1fb8286-aa5a-4869-a54c-1efdd69cad12&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python"># Simplified logic of the bug, originally it was Pascal

def move_cycle(cycle):

    # Calculate next move
    next_x = cycle.x + dx
    next_y = cycle.y + dy

    # Check what is at the next position
    target_pixel = get_pixel(next_x, next_y)

    if target_pixel != EMPTY:
        if cycle.has_rockets:
            # ROCKET DESTROYS THE WALL
            # If the wall is actually the screen boundary, it gets erased!
            set_pixel(next_x, next_y, EMPTY)
        else:
            cycle.explode()

    # Update position
    cycle.x, cycle.y = next_x, next_y

    # THE FATAL BUG: No check like "if x &gt; 320 or y &gt; 200"
    # If the boundary was destroyed, we draw directly into system RAM
    draw_at(cycle.x, cycle.y, cycle.color)</code></pre></div><p style="text-align: justify;">The code completely lacked bounds checking. The &#8220;AI&#8221; shot at the edge of the screen, &#8220;erased&#8221; the boundary, and kept driving. On the Apple IIgs, video memory was mapped into the general address space (Memory Map). As soon as the light cycle coordinates exceeded the screen resolution, the <code>set_pixel</code> function started writing data into random RAM cells</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2-th!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e783a8e-af0c-424d-9141-c4fbbc6cc00f_500x407.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2-th!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e783a8e-af0c-424d-9141-c4fbbc6cc00f_500x407.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2-th!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e783a8e-af0c-424d-9141-c4fbbc6cc00f_500x407.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2-th!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e783a8e-af0c-424d-9141-c4fbbc6cc00f_500x407.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2-th!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e783a8e-af0c-424d-9141-c4fbbc6cc00f_500x407.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2-th!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e783a8e-af0c-424d-9141-c4fbbc6cc00f_500x407.jpeg" width="500" height="407" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3e783a8e-af0c-424d-9141-c4fbbc6cc00f_500x407.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:407,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Crashed Apple II Screen from Mike's Hobby Home&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Crashed Apple II Screen from Mike's Hobby Home" title="Crashed Apple II Screen from Mike's Hobby Home" srcset="https://substackcdn.com/image/fetch/$s_!2-th!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e783a8e-af0c-424d-9141-c4fbbc6cc00f_500x407.jpeg 424w, https://substackcdn.com/image/fetch/$s_!2-th!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e783a8e-af0c-424d-9141-c4fbbc6cc00f_500x407.jpeg 848w, https://substackcdn.com/image/fetch/$s_!2-th!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e783a8e-af0c-424d-9141-c4fbbc6cc00f_500x407.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!2-th!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e783a8e-af0c-424d-9141-c4fbbc6cc00f_500x407.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The game&#8217;s &#8220;AI&#8221; changed system memory</figcaption></figure></div><p style="text-align: justify;">The &#8220;AI&#8217;s&#8221; light cycle rushed into the area where system data was stored. This caused a cascading failure:</p><ul><li><p style="text-align: justify;"><strong>Color Chaos:</strong> The cycle hit the Color Look-up Tables (CLUTs). Because of this, the palette began to shift chaotically, creating a frantic flickering effect</p></li><li><p style="text-align: justify;"><strong>Logic Destruction:</strong> The AI&#8217;s trail passed through addresses where the executable code itself was stored. The 65816 processor began executing the light cycle&#8217;s &#8220;tail&#8221; as instructions, leading to unpredictable sounds and glitches</p></li><li><p style="text-align: justify;"><strong>Collapse:</strong> Within seconds, the AI inevitably overwrote critical OS interrupt vectors, and the computer froze solid</p></li></ul><p style="text-align: justify;">It looked exactly like the end of the movie: the heroes break through the system and escape into the real world. Only in Daniel&#8217;s case, the &#8220;real world&#8221; was the computer architecture, which the AI literally rewrote for itself</p><div><hr></div><h3>Lessons from the Case</h3><ol><li><p style="text-align: justify;"><strong>World boundaries must be absolute.</strong> If a wall can be destroyed, it cannot be the edge of the universe. Always separate game objects from system constraints</p></li><li><p style="text-align: justify;"><strong>Process isolation is fundamental.</strong> Modern OSs use the concept of Private Memory. This is dedicated, non-shared memory allocated exclusively to a single process. Thanks to the MMU (Memory Guard), a program physically cannot reach another&#8217;s data or the system kernel - any attempt to access memory outside the allocated context triggers an immediate Segmentation Fault</p></li><li><p style="text-align: justify;"><strong>Bounds checking saves systems.</strong> Buffer overflow errors are the most expensive in history. Always check where your object is going before allowing it to &#8220;draw&#8221; itself in memory</p></li></ol><p style="text-align: justify;">The Tron bug on the Apple IIgs is a rare moment when a programmer&#8217;s mistake accidentally created a perfect metaphor that could never be reproduced on purpose</p><p style="text-align: justify;"></p><p style="text-align: justify;"></p>]]></content:encoded></item><item><title><![CDATA[How Apple Repeated a Windows 95 Mistake or the macOS Time Bomb]]></title><description><![CDATA[The macOS operating system has a hidden expiration date.]]></description><link>https://yoursec.substack.com/p/how-apple-repeated-a-windows-95-mistake</link><guid isPermaLink="false">https://yoursec.substack.com/p/how-apple-repeated-a-windows-95-mistake</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Fri, 10 Apr 2026 09:26:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rK-d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">The macOS operating system has a hidden expiration date. The Photon Codes developer team <a href="https://photon.codes/blog/we-found-a-ticking-time-bomb-in-macos-tcp-networking">recently discovered</a> that after exactly 49 days, 17 hours, 2 minutes, and 47 seconds of continuous work, the system network starts to fail until it reaches total isolation. This effect paralyzes everything - browsers stop opening pages, messengers disconnect, and you are left with nothing but basic ping</p><p style="text-align: justify;">It is all caused by a classic overflow error and a safety mechanism that tries too hard. The macOS kernel (XNU) uses a 32-bit unsigned integer for the millisecond counter. After 49.7 days, the counter hits its limit of <a href="https://en.wikipedia.org/wiki/4,294,967,295#In_computing">4,294,967,295</a>. When it tries to add one more millisecond and reset to zero, the kernel safety check kicks in - the internal TCP clock &#8220;freezes&#8221; at the maximum value</p><p style="text-align: justify;">In the source code, this is a fatal logic trap. The system strictly ensures that time only moves forward. Think of a mechanical <a href="https://en.wikipedia.org/wiki/Odometer">odometer</a>: it reaches 999,999 and tries to roll over to 000,000, but the safety check sees the new value is smaller than the old one and jams the gears forever</p><p style="text-align: justify;">Here is how this mechanism breaks the connection closing logic:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;cpp&quot;,&quot;nodeId&quot;:&quot;817bb16c-9256-4f93-9742-7b7455bb7576&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-cpp">uint32_t tcp_now; // 32-bit uptime counter in milliseconds

// 1. UPDATING TIME AND THE FATAL SAFETY CHECK
void calculate_tcp_clock() {
    uint32_t current_time = get_system_uptime(); // Overflows and resets to 5000
    uint32_t old_time = tcp_now;                 // Stuck at max 4,294,960,000

    // THE BUG: safety check requires time to only move forward
    // The check (4,294,960,000 &lt; 5000) returns FALSE
    // As a result, tcp_now never updates again and stays frozen
    if (old_time &lt; current_time) {
        tcp_now = current_time; 
    }
}

// 2. SETTING THE TIMER for a closed connection
// In macOS, these connections should be removed after 30 seconds (30,000 ms)
connection-&gt;expire_time = tcp_now + 30000; 

// 3. CHECKING THE TIMER
void check_connections() {
    // Since tcp_now is frozen and never grows, 
    // it will never exceed the set expire_time
    // The connection just stays in memory forever
    if (tcp_now &gt; connection-&gt;expire_time) {
        close_and_free_connection(connection);
    }
}</code></pre></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rK-d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rK-d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!rK-d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!rK-d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!rK-d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rK-d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7402377,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/193775237?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rK-d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!rK-d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!rK-d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!rK-d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb4b7dd40-46ed-4797-9c83-b94a819949b7_2816x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">Because of the frozen time, old network connections in the <a href="https://totozhang.github.io/2016-01-31-tcp-timewait-status/">TIME_WAIT</a> status never close. They pile up and slowly consume all available system ports (about 16,000). Once the ports run out - macOS cannot establish a single new TCP connection. The only solution is a good old reboot</p><p style="text-align: justify;">The counter will overflow even if the computer just sits there idle. But if you use the internet rarely and only open a few tabs a day, the port pool will drain slowly, and the network will not &#8220;die&#8221; immediately</p><p style="text-align: justify;">To check how much time is left on your Mac (this is the exact moment when connections start piling up), you can use the Terminal. Just copy and paste this script:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;bash&quot;,&quot;nodeId&quot;:&quot;b65a3571-48ba-40a8-a305-5dc12ede774c&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-bash">sysctl -n kern.boottime | awk -v now="$(date +%s)" '
{
    boot = int($4)
    uptime = now - boot
    days_left = (4294967295 - uptime * 1000) / 86400000
    printf "Days left: %.2f\n", days_left
}'</code></pre></div><div><hr></div><p style="text-align: justify;">The irony is the historical context. Almost 30 years ago, Windows 95 and Windows 98 suffered from the exact same bug. The system would hang after 49.7 days because of an overflow in the GetTickCount function. People didn&#8217;t notice it at first - back then, a Windows 95 PC rarely worked for 49 days without a crash or a &#8220;Blue Screen of Death&#8221; anyway</p><p style="text-align: justify;">This problem has been haunting the IT industry for decades. Here are some other iconic examples of number overflows:</p><ul><li><p style="text-align: justify;"><strong>The Year 2038 Problem (<a href="https://en.wikipedia.org/wiki/Year_2038_problem">Y2K38</a>)</strong> - Unix systems store time as a 32-bit signed integer. On January 19, 2038, the counter will overflow and throw computers back to 1901</p></li><li><p style="text-align: justify;"><strong><a href="https://en.wikipedia.org/wiki/GPS_week_number_rollover">GPS Week Number Rollover</a></strong> - satellites use a 10-bit week counter that overflows every 19.7 years, causing old navigators to report the wrong date</p></li><li><p style="text-align: justify;"><strong><a href="https://yoursec.substack.com/p/ariane-5-launch-disaster-because">The Ariane 5 Disaster</a></strong> - in 1996, a European rocket exploded in 37 seconds after launch because the computer tried to convert a 64-bit float into a 16-bit integer. The overflow cost about $370 million</p></li><li><p style="text-align: justify;"><strong><a href="https://pacman.fandom.com/wiki/Map_256_Glitch">Pac-Man Kill Screen</a></strong> - on level 256, the game breaks and fills half the screen with random symbols due to an 8-bit counter overflow</p></li><li><p style="text-align: justify;"><strong><a href="https://yoursec.substack.com/p/youtube-overflow">Broken YouTube</a></strong> - the Gangnam Style video broke the 32-bit signed integer limit (2.1 billion views), forcing Google to upgrade their counters to 64-bit</p></li><li><p style="text-align: justify;"><strong><a href="https://en.wikipedia.org/wiki/Nuclear_Gandhi">Nuclear Gandhi</a></strong> - in the game Civilization, Gandhi&#8217;s aggression was 1, but &#8220;democracy&#8221; reduced it by 2. Due to an 8-bit overflow, it jumped to 255, turning him into a nuclear warmonger (just a legend)</p></li></ul><p style="text-align: justify;">Technology history moves in circles, and even giants like Apple are stepping on the same 30-year-old landmines - this is why I love stories about historical software bugs</p><p style="text-align: justify;">P.S. iPhone and iPad users should also be careful - the kernel there is the same. If your gadget starts having weird network issues, check its uptime. It might have simply &#8220;served its term&#8221; and needs a reboot</p><div><hr></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;4a071c25-784c-4e3c-9de7-28fc769cc296&quot;,&quot;caption&quot;:&quot;The catastrophic failure of the Ariane 5 (flight 5), happened on 4 June 1996, is the example how a software error based on data-types, led to the real destruction of the spaceship and huge financial loss. In the context of aerospace disasters, this case demonstrates the danger of code re-usage without taking into account new physical conditions&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Ariane 5 launch disaster because code issues&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:141546368,&quot;name&quot;:&quot;Alex P&quot;,&quot;bio&quot;:&quot;Certified Cybersecurity Professional&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2d38fc6-b977-4368-8983-3b7afbfad3f3_1356x1356.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-27T19:20:20.638Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!OrwD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf56dc07-011a-427e-a38b-1254e046394c_1378x890.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://yoursec.substack.com/p/ariane-5-launch-disaster-because&quot;,&quot;section_name&quot;:&quot;IT Days&quot;,&quot;video_upload_id&quot;:null,&quot;id&quot;:185997839,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:3,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601432,&quot;publication_name&quot;:&quot;Your Sec&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!gJ-w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a9a11b-da21-413f-bd3a-0e1f8c934935_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3551d56b-825e-4d8b-85f1-5a45c37186ee&quot;,&quot;caption&quot;:&quot;I have written about a case when some outdated software components were used for more modern conditions, and it led to the Ariane 5 crash. But this time I wrote about a simpler case&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Youtube Overflow&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:141546368,&quot;name&quot;:&quot;Alex P&quot;,&quot;bio&quot;:&quot;Certified Cybersecurity Professional&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e2d38fc6-b977-4368-8983-3b7afbfad3f3_1356x1356.png&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-02-15T08:38:58.668Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!6kp9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://yoursec.substack.com/p/youtube-overflow&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:188019552,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:1601432,&quot;publication_name&quot;:&quot;Your Sec&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!gJ-w!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc1a9a11b-da21-413f-bd3a-0e1f8c934935_1280x1280.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div>]]></content:encoded></item><item><title><![CDATA[April 8 :// UUID v8: Do It Yourself, Developer]]></title><description><![CDATA[Just some thoughts]]></description><link>https://yoursec.substack.com/p/april-8-uuid-v8-do-it-yourself-developer</link><guid isPermaLink="false">https://yoursec.substack.com/p/april-8-uuid-v8-do-it-yourself-developer</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Wed, 08 Apr 2026 20:01:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/4dced333-4782-4420-9231-2c6f61ee3a6d_552x226.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Version 8 UUIDs offer a flexible, custom format reserved for vendor- or application-specific implementations that do not fit other versions. This evening I was reading some old articles and found mention of UUID v7, of course everyone knows what is that but what about v8? </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mle0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9599bb6-05cc-4364-b5d6-261063a46822_552x226.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mle0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9599bb6-05cc-4364-b5d6-261063a46822_552x226.png 424w, https://substackcdn.com/image/fetch/$s_!mle0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9599bb6-05cc-4364-b5d6-261063a46822_552x226.png 848w, https://substackcdn.com/image/fetch/$s_!mle0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9599bb6-05cc-4364-b5d6-261063a46822_552x226.png 1272w, https://substackcdn.com/image/fetch/$s_!mle0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9599bb6-05cc-4364-b5d6-261063a46822_552x226.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mle0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9599bb6-05cc-4364-b5d6-261063a46822_552x226.png" width="552" height="226" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d9599bb6-05cc-4364-b5d6-261063a46822_552x226.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:226,&quot;width&quot;:552,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:15535,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/193612324?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9599bb6-05cc-4364-b5d6-261063a46822_552x226.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mle0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9599bb6-05cc-4364-b5d6-261063a46822_552x226.png 424w, https://substackcdn.com/image/fetch/$s_!mle0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9599bb6-05cc-4364-b5d6-261063a46822_552x226.png 848w, https://substackcdn.com/image/fetch/$s_!mle0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9599bb6-05cc-4364-b5d6-261063a46822_552x226.png 1272w, https://substackcdn.com/image/fetch/$s_!mle0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd9599bb6-05cc-4364-b5d6-261063a46822_552x226.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption"><a href="https://www.rfc-editor.org/rfc/rfc9562#uuidv8">https://www.rfc-editor.org/rfc/rfc9562#uuidv8</a></figcaption></figure></div><p>Each version solves some issues, but v8 says - hey, developer, solve all problems by yourself, lol </p><p>Of course it&#8217;s just a small demo and in real cases cool developers will use it to define sharding/region or other meta-information. Using C# Source Generators or Proxy Classes via DispatchProxy, AOT, Value Types and etc&#8230; instead of manual calling, but again - it&#8217;s just for demo, not more</p><p>Maybe someone could add database checks to guarantee that production database never accepts test data &#128514;</p><p>In the past when integer numbers were used for IDs we used some bits to keep meta-information, and I do not know why we do not do that with uuid today</p><div class="preformatted-block" data-component-name="PreformattedTextBlockToDOM"><label class="hide-text" contenteditable="false">Text within this block will maintain its original spacing when published</label><pre class="text">Ok, just for fun 
     the IDE Rider I have run
And wrote the code below
     Just look at it and go &#8595;</pre></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LxQw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea85eb4-24b9-485e-be54-7e72a2d97c53_2064x2056.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LxQw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea85eb4-24b9-485e-be54-7e72a2d97c53_2064x2056.png 424w, https://substackcdn.com/image/fetch/$s_!LxQw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea85eb4-24b9-485e-be54-7e72a2d97c53_2064x2056.png 848w, https://substackcdn.com/image/fetch/$s_!LxQw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea85eb4-24b9-485e-be54-7e72a2d97c53_2064x2056.png 1272w, https://substackcdn.com/image/fetch/$s_!LxQw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea85eb4-24b9-485e-be54-7e72a2d97c53_2064x2056.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LxQw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea85eb4-24b9-485e-be54-7e72a2d97c53_2064x2056.png" width="1456" height="1450" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0ea85eb4-24b9-485e-be54-7e72a2d97c53_2064x2056.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1450,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:434567,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/193612324?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea85eb4-24b9-485e-be54-7e72a2d97c53_2064x2056.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LxQw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea85eb4-24b9-485e-be54-7e72a2d97c53_2064x2056.png 424w, https://substackcdn.com/image/fetch/$s_!LxQw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea85eb4-24b9-485e-be54-7e72a2d97c53_2064x2056.png 848w, https://substackcdn.com/image/fetch/$s_!LxQw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea85eb4-24b9-485e-be54-7e72a2d97c53_2064x2056.png 1272w, https://substackcdn.com/image/fetch/$s_!LxQw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0ea85eb4-24b9-485e-be54-7e72a2d97c53_2064x2056.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And the full code for myself:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;csharp&quot;,&quot;nodeId&quot;:&quot;bf8ab4f7-2f04-48ad-a8cb-42aaad5a4594&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-csharp">using static System.Console;

Guid userId = EntityIdGenerator.GenerateV8(EntityType.User);
Guid newOrderId = EntityIdGenerator.GenerateV8(EntityType.Order);

WriteLine($"User ID:  {userId}    ");
WriteLine($"Order ID: {newOrderId} \n");

WriteLine("Pass valid Order ID:   ");

ProcessOrder(newOrderId);

WriteLine("Try to pass User ID to the method for orders \n");

ProcessOrder(userId);

return;

void ProcessOrder(Guid orderId)
{
    EntityIdGenerator.ValidateType(orderId, EntityType.Order);

    WriteLine($" =&gt; The ID {orderId} accepted \n");
}

[Flags]
public enum EntityType : byte
{
    Unknown = 0x00,
    User = 0x01,
    Order = 0x02
}

public static class EntityIdGenerator
{
    private const int TypeByteIndex = 10;

    public static Guid GenerateV8(EntityType type)
    {
        var bytes = new byte[16];
        new Random().NextBytes(bytes);

        bytes[TypeByteIndex] = (byte)type; // set type, the best comment, yeah?

        // version 8 (1000) in 7-th byte
        bytes[7] = (byte)((bytes[7] &amp; 0x0F) | 0x80);
        
        bytes[8] = (byte)((bytes[8] &amp; 0x3F) | 0x80); // just requirements

        return new Guid(bytes);
    }

    public static EntityType ExtractType(Guid id)
    {
        byte[] bytes = id.ToByteArray();

        int version = (bytes[7] &amp; 0xF0) &gt;&gt; 4;
        if (version != 8)
            return EntityType.Unknown;

        byte typeByte = bytes[TypeByteIndex]; // get type, the best comment again!
        
        if (Enum.IsDefined(typeof(EntityType), typeByte))
            return (EntityType)typeByte;

        return EntityType.Unknown;
    }

    public static void ValidateType(Guid companyId, EntityType company)
    {
        EntityType type = ExtractType(companyId);

        if (type == company) 
            return;
        
        ForegroundColor = ConsoleColor.Red;
        throw new EntityTypeException($"Invalid entity type. Expected {company}, got {type}");
    }
}

class EntityTypeException(string message) : ArgumentException(message)
{
    public override string ToString() =&gt; Message;
}</code></pre></div><p></p>]]></content:encoded></item><item><title><![CDATA[April 5 :// National Flash Drive Day]]></title><description><![CDATA[It is hard to imagine now, but 25 years ago moving data between computers was a real challenge.]]></description><link>https://yoursec.substack.com/p/national-flash-drive-day-security</link><guid isPermaLink="false">https://yoursec.substack.com/p/national-flash-drive-day-security</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Sun, 05 Apr 2026 06:32:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qvow!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f7d4b9-bd5a-48c0-b734-6866a5ce1225_2816x1349.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It is hard to imagine now, but 25 years ago moving data between computers was a real challenge. We used floppy disks with only 1.44 MB of space that broke easily, or we burned &#8220;one-time&#8221; CDs. While cloud storage is everywhere today, not long ago every IT professional carried a bunch of flash drives - for different operating systems, software, and just old ones &#8220;just in case&#8221;</p><p>The date was not chosen by chance. On April 5, 1999, employees of the Israeli company M-Systems (Amir Ban, Dov Moran, and Oran Ogdan) filed a patent for the &#8220;USB-based Flash Drake Architecture&#8221;</p><p>Although other companies also claimed to be the inventors, this patent became the foundation for the industry. The holiday was officially started in 2018 by <em>USB Memory Direct</em> to celebrate how this technology changed the digital world</p><p>The first commercial flash drives went on sale in 2000. Their capacity seems tiny today: only 8 MB. For comparison, one photo on a modern smartphone is usually larger than that. Today, there are drives with 2 TB of space, which is 250,000 times more than the first models</p><p>Over the years, flash drives &#8220;killed&#8221; floppy disks, ZIP drives, and later optical discs. They became more than just storage - they are tools for system administrators (bootable drives) and a way to save data from broken computers</p><h3>Security Perspective</h3><p>For an IT security pro, a flash drive is not just a convenience, but also a dangerous attack vector. In IT history, flash drives are often linked to famous incidents:</p><ol><li><p><strong><a href="https://en.wikipedia.org/wiki/Stuxnet">Stuxnet</a>:</strong> A famous worm that hit nuclear facilities in Iran. It was delivered via a flash drive into a network that was not connected to the internet (air-gapped)</p></li><li><p><strong><a href="https://en.wikipedia.org/wiki/BadUSB">BadUSB</a>:</strong> An attack where the drive&#8217;s controller is reprogrammed so the computer thinks it is a keyboard and quickly types malicious commands</p></li><li><p><strong><a href="https://shop.hak5.org/products/usb-rubber-ducky">&#8220;Dropped Drive&#8221;</a>:</strong> A classic social engineering trick where an attacker leaves a drive in a parking lot - especially one with a tempting label like &#8220;Annual Bonuses&#8221; - hoping a curious employee will plug it into a work computer</p></li><li><p><strong><a href="https://en.wikipedia.org/wiki/USB_Killer">USB Killer</a>:</strong> A device that looks like a regular drive but is actually a set of capacitors. When plugged in, it collects power from the port and sends a high-voltage surge back, physically burning the computer&#8217;s motherboard</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qvow!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f7d4b9-bd5a-48c0-b734-6866a5ce1225_2816x1349.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qvow!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f7d4b9-bd5a-48c0-b734-6866a5ce1225_2816x1349.png 424w, https://substackcdn.com/image/fetch/$s_!qvow!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f7d4b9-bd5a-48c0-b734-6866a5ce1225_2816x1349.png 848w, https://substackcdn.com/image/fetch/$s_!qvow!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f7d4b9-bd5a-48c0-b734-6866a5ce1225_2816x1349.png 1272w, https://substackcdn.com/image/fetch/$s_!qvow!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f7d4b9-bd5a-48c0-b734-6866a5ce1225_2816x1349.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qvow!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f7d4b9-bd5a-48c0-b734-6866a5ce1225_2816x1349.png" width="2816" height="1349" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6f7d4b9-bd5a-48c0-b734-6866a5ce1225_2816x1349.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1349,&quot;width&quot;:2816,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7055559,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/193232105?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8e3a1097-b3f4-4d30-9193-9fd835ff026f_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qvow!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f7d4b9-bd5a-48c0-b734-6866a5ce1225_2816x1349.png 424w, https://substackcdn.com/image/fetch/$s_!qvow!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f7d4b9-bd5a-48c0-b734-6866a5ce1225_2816x1349.png 848w, https://substackcdn.com/image/fetch/$s_!qvow!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f7d4b9-bd5a-48c0-b734-6866a5ce1225_2816x1349.png 1272w, https://substackcdn.com/image/fetch/$s_!qvow!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f7d4b9-bd5a-48c0-b734-6866a5ce1225_2816x1349.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>How to celebrate this day?</h3><ol><li><p><strong>Check your drawers:</strong> Find your old flash drives. You might find photos from ten years ago or an old Windows installer</p></li><li><p><strong>Think about security:</strong> Encrypt important data on your drives using tools like <a href="https://veracrypt.jp/en/Home.html">VeraCrypt</a> or BitLocker</p></li><li><p><strong>Clean up:</strong> Flash memory has a limited life, but before you throw away an old drive, make sure the data is permanently deleted</p></li><li><p><strong>Make a backup:</strong> Use this day as a reminder that important files should be stored in at least two different places</p></li></ol><p>Today, flash drives are slowly being replaced by cloud services, but they are still the most reliable way to move gigabytes of data where there is no internet or where you need maximum privacy</p>]]></content:encoded></item><item><title><![CDATA[April 4 :// Day 404: The Holiday That Doesn’t Exist (But We Found It)]]></title><description><![CDATA[April 4th (4.04) is the unofficial day of the Not Found error and everyone who fights it.]]></description><link>https://yoursec.substack.com/p/day-404-the-holiday-that-doesnt-exist</link><guid isPermaLink="false">https://yoursec.substack.com/p/day-404-the-holiday-that-doesnt-exist</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Sat, 04 Apr 2026 14:57:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QaDB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>April 4th (4.04) is the unofficial day of the <strong>Not Found</strong> error and everyone who fights it. It is the perfect excuse to legally go &#8220;off the grid&#8221; and celebrate digital chaos</p><h3>Quick Facts</h3><ul><li><p><strong>The Patron Saint:</strong> April 4th is the feast day of St. Isidore of Seville. The Vatican once considered him for the role of the &#8220;patron saint of the internet&#8221; because he wrote the first encyclopedia in the 7th century. Even without an official decree, the IT world treats him as their saint</p></li><li><p><strong>The CERN Myth:</strong> Legend says that CERN had a Room 404 where the first web server lived and files often went missing. Robert Cailliau (co-creator of the WWW) debunked this: Room 404 never existed. The code is just part of a protocol where the <em>first &#8220;4&#8221; stands for a user error</em></p></li><li><p><strong>The LEGO Effect:</strong> You won&#8217;t find a LEGO set numbered 404 in a regular store. However, the LEGO website is famous for its 404 page. It features a panicked minifigure with a disconnected cable&#8212;the gold standard of how to say &#8220;sorry&#8221; to users</p></li><li><p><strong>Asian Noir:</strong> In China and Japan, the number 4 sounds like the word for &#8220;death&#8221; (&#8221;s&#236;&#8221; in Chinese, &#8220;shi&#8221; in Japanese). This is why many Asian hotels and hospitals don&#8217;t have a 4th floor. For them, a 404 error looks like &#8220;double death not found&#8221;</p></li></ul><h3>How to Celebrate</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QaDB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QaDB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!QaDB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!QaDB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!QaDB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QaDB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png" width="1456" height="794" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:794,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:9322924,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/193169206?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QaDB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png 424w, https://substackcdn.com/image/fetch/$s_!QaDB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png 848w, https://substackcdn.com/image/fetch/$s_!QaDB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png 1272w, https://substackcdn.com/image/fetch/$s_!QaDB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85bead48-13f2-4de2-915c-0b22bf4b818c_2816x1536.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Set up a creative 404 page on your website with a cat, a game, or a meme. Or just set your status to &#8220;Not Found&#8221; for today and take a break from work chats</p><p>Happy holidays to those who know where broken links go! May your code always compile on the first try</p><p></p>]]></content:encoded></item><item><title><![CDATA[How a Metric Mix-Up Burned $327 Million]]></title><description><![CDATA[A spacecraft traveled 670 million kilometers, but died at the very end because of a misunderstanding between two lines of code]]></description><link>https://yoursec.substack.com/p/how-a-metric-mix-up-burned-327-million</link><guid isPermaLink="false">https://yoursec.substack.com/p/how-a-metric-mix-up-burned-327-million</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Fri, 03 Apr 2026 19:35:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!CYQb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">In September 1999, an ambitious NASA mission to Mars ended in a disaster that went down in history as a huge management failure. The most expensive &#8220;lost in translation&#8221; mistake in history turned a science probe into a spectacular but useless meteor</p><p style="text-align: justify;">The main problem with the <strong>Mars Climate Orbiter</strong> (MCO) was a communication gap between two teams of developers. The contractor, Lockheed Martin, built the thruster control software (<code>SM_FORCES</code>) using the imperial system (pound-force seconds). However, the navigation team at NASA JPL expected the data to be in the metric system (newton-seconds), as stated in the Software Interface Specification (and in the science!)</p><p style="text-align: justify;">Because of this, sending raw numbers without converting them led to completely unmet expectations in the code. The navigation software assumed the data was in the correct metric format, but the values were fundamentally unequal and desperately needed to be converted</p><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;1 \\text{ lbf} \\cdot \\text{s} = 4.448222 \\text{ N} \\cdot \\text{s}&quot;,&quot;id&quot;:&quot;CASYPJANEW&quot;}" data-component-name="LatexBlockToDOM"></div><blockquote><p style="text-align: justify;"><em>wow, look at here - formulas! never used them before here</em></p></blockquote><div><hr></div><p style="text-align: justify;">It is ironic and dangerous that the United States is one of the few countries in the world (along with Liberia and Myanmar) that has not officially adopted the metric system. While the global science community has used the metric system for decades, using pounds and inches in an interplanetary mission showed a severe lack of system awareness</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ca_Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16dd65b1-ad14-40ea-9c04-472e18b00f47_1028x410.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ca_Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16dd65b1-ad14-40ea-9c04-472e18b00f47_1028x410.png 424w, https://substackcdn.com/image/fetch/$s_!ca_Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16dd65b1-ad14-40ea-9c04-472e18b00f47_1028x410.png 848w, https://substackcdn.com/image/fetch/$s_!ca_Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16dd65b1-ad14-40ea-9c04-472e18b00f47_1028x410.png 1272w, https://substackcdn.com/image/fetch/$s_!ca_Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16dd65b1-ad14-40ea-9c04-472e18b00f47_1028x410.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ca_Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16dd65b1-ad14-40ea-9c04-472e18b00f47_1028x410.png" width="394" height="157.1400778210117" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/16dd65b1-ad14-40ea-9c04-472e18b00f47_1028x410.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:410,&quot;width&quot;:1028,&quot;resizeWidth&quot;:394,&quot;bytes&quot;:345774,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/193099907?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16dd65b1-ad14-40ea-9c04-472e18b00f47_1028x410.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ca_Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16dd65b1-ad14-40ea-9c04-472e18b00f47_1028x410.png 424w, https://substackcdn.com/image/fetch/$s_!ca_Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16dd65b1-ad14-40ea-9c04-472e18b00f47_1028x410.png 848w, https://substackcdn.com/image/fetch/$s_!ca_Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16dd65b1-ad14-40ea-9c04-472e18b00f47_1028x410.png 1272w, https://substackcdn.com/image/fetch/$s_!ca_Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F16dd65b1-ad14-40ea-9c04-472e18b00f47_1028x410.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OoRA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22b8f95-14a4-46e5-9bf3-eb1c3d36181c_402x892.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OoRA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22b8f95-14a4-46e5-9bf3-eb1c3d36181c_402x892.png 424w, https://substackcdn.com/image/fetch/$s_!OoRA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22b8f95-14a4-46e5-9bf3-eb1c3d36181c_402x892.png 848w, https://substackcdn.com/image/fetch/$s_!OoRA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22b8f95-14a4-46e5-9bf3-eb1c3d36181c_402x892.png 1272w, https://substackcdn.com/image/fetch/$s_!OoRA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22b8f95-14a4-46e5-9bf3-eb1c3d36181c_402x892.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OoRA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22b8f95-14a4-46e5-9bf3-eb1c3d36181c_402x892.png" width="126" height="279.5820895522388" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c22b8f95-14a4-46e5-9bf3-eb1c3d36181c_402x892.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:892,&quot;width&quot;:402,&quot;resizeWidth&quot;:126,&quot;bytes&quot;:300413,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/193099907?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22b8f95-14a4-46e5-9bf3-eb1c3d36181c_402x892.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OoRA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22b8f95-14a4-46e5-9bf3-eb1c3d36181c_402x892.png 424w, https://substackcdn.com/image/fetch/$s_!OoRA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22b8f95-14a4-46e5-9bf3-eb1c3d36181c_402x892.png 848w, https://substackcdn.com/image/fetch/$s_!OoRA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22b8f95-14a4-46e5-9bf3-eb1c3d36181c_402x892.png 1272w, https://substackcdn.com/image/fetch/$s_!OoRA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc22b8f95-14a4-46e5-9bf3-eb1c3d36181c_402x892.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><blockquote><p style="text-align: justify;"><em>Just a small reminder from a school:</em></p></blockquote><div class="latex-rendered" data-attrs="{&quot;persistentExpression&quot;:&quot;1\\text{ N} = 1\\text{ kg}\\cdot \\frac{\\text{m}}{\\text{s}^{2}}&quot;,&quot;id&quot;:&quot;BTDVEIFYGZ&quot;}" data-component-name="LatexBlockToDOM"></div><div><hr></div><p style="text-align: justify;">Physics made the situation even worse. The spacecraft&#8217;s asymmetric solar array created a twisting force from solar wind pressure. To stay stable, the system had to fire its thrusters much more often than originally planned. Every time it did this, it sent bad data to the navigation computer, where the force was 4.45 times weaker than it should have been (the ratio of a pound to a newton). This error, which might have gone unnoticed, built up to critical levels because the maneuvers happened so often</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python"># Python pseudo-code showing the fatal out-of-sync issue 
# between Lockheed Martin (ground software) and NASA JPL (navigation)

# ---------------------------------------------------------
# Contractor module (Lockheed Martin) - Uses imperial system
# ---------------------------------------------------------
def calculate_small_forces(thrust_time_sec):
    # Developer uses pound-force (lbf)
    thrust_lbf = get_raw_thruster_force() 
    
    # data without conversion for data_from_amd_file
    return thrust_lbf * thrust_time_sec 

# ---------------------------------------------------------
# Navigation module (NASA JPL) - Expects metric system (SI)
# ---------------------------------------------------------
def update_spacecraft_trajectory(data_from_amd_file):
    # JPL is sure it gets data exactly in newton-seconds (N-s)
    impulse_newton_seconds = data_from_amd_file 
    
    # 1 lbf = 4.45 N, so navigation thinks the thrust is 4.45 times weaker
    current_trajectory.altitude -= apply_orbital_mechanics(impulse_newton_seconds)
    
    """
    RESULT: Ground computers heavily underestimated the braking force
    In reality, the spacecraft was flying lower and lower towards the planet
    """</code></pre></div><h3>Catastrophic Consequences</h3><p style="text-align: justify;">On September 23, 1999, the spacecraft began its manoeuvre to enter orbit</p><p style="text-align: justify;">The navigators expected it to pass at an altitude of 226 km, with the absolute minimum survival height being 80 km</p><p style="text-align: justify;">But because of the built-up error, the probe hit the atmosphere at just 57 km</p><p style="text-align: justify;">The spacecraft was instantly destroyed by aerodynamic stress and burned up</p><p><strong>Damage in numbers and facts:</strong></p><ul><li><p style="text-align: justify;"><strong>$327.6 million</strong> - the total cost of the MCO program (including $193.1M to build it, $91.7M to launch it, and $42.8M for operations)</p></li><li><p style="text-align: justify;"><strong>Science failure:</strong> The MCO probe was supposed to act as the main data relay for the next spacecraft, the Mars Polar Lander (MPL). Sadly, just a couple of months later, the MPL also crashed during landing due to a <em>different</em> software bug (the engines shut off too early). This made 1999 one of the worst years in the history of Mars exploration</p></li></ul><h3>Lessons for the IT Industry</h3><ol><li><p style="text-align: justify;"><strong>Strict typing for physical values and clear naming<br></strong>Never use raw types (<code>double</code>, <code>float</code>) for measurements. Use Value Objects (like <code>NewtonSecond</code> or <code>PoundSecond</code> classes) so the compiler stops you from mixing units. For example, some programmers in financial banks create their own <code>Money</code> types or separate <code>UserId</code> and <code>CompanyId</code> types so they don&#8217;t accidentally add different currencies or confuse a user with a company. If strict types are impossible, arguments and methods must clearly state the unit in their name: for example, <code>calculateThrustInNewtons</code> instead of <code>calculateThrust</code></p></li><li><p style="text-align: justify;"><strong>Integration testing is not just a bunch of Unit tests</strong><br>Each team tested their own code perfectly, but nobody checked how the data flowed together in a real end-to-end scenario (E2E). E2E tests and long simulations with real data exchange files are the only ways to catch hidden errors that build up over time and don&#8217;t show up in short, isolated tests</p></li><li><p style="text-align: justify;"><strong>Investigate all anomalies deeply</strong><br>Any time a system acts differently than expected, it must be studied immediately. JPL navigators actually noticed strange things a week before the crash: the spacecraft needed path corrections too often, and its approach speed didn&#8217;t perfectly match the model. These &#8220;quiet alarms&#8221; were ignored. Remember: if reality differs from your monitoring by even a fraction of a percent, it is a reason to pull the emergency brake, not just hope for the best</p></li></ol><p style="text-align: justify;">Space requires perfect interfaces. The story of the MCO is a painful reminder that even the most complex and advanced system will fall apart if its parts speak different languages</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!CYQb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!CYQb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CYQb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CYQb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CYQb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!CYQb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg" width="990" height="603" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:603,&quot;width&quot;:990,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!CYQb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg 424w, https://substackcdn.com/image/fetch/$s_!CYQb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg 848w, https://substackcdn.com/image/fetch/$s_!CYQb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!CYQb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed2e3d85-3954-42ee-bd10-bcd12800a6f6_990x603.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[The Cost of a Single Mistake: Lost $440 Million in 45 Minutes]]></title><description><![CDATA[Imagine you are the head of one of Wall Street's largest trading firms. The morning of August 1, 2012, starts out normally, but within just 45 minutes, your company is on the brink of total collapse]]></description><link>https://yoursec.substack.com/p/the-cost-of-a-single-mistake-lost</link><guid isPermaLink="false">https://yoursec.substack.com/p/the-cost-of-a-single-mistake-lost</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Tue, 31 Mar 2026 18:35:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ODP9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p style="text-align: justify;">While you&#8217;re drinking your morning coffee, an invisible algorithm deep inside your servers is making crazy trades, burning through $172,222 every single second. This isn&#8217;t the plot of a techno-thriller; it&#8217;s the real story of Knight Capital Group - a classic example of how &#8220;dead code&#8221; and DevOps mistakes can destroy a business empire before management even realizes what&#8217;s happening</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ODP9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ODP9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png 424w, https://substackcdn.com/image/fetch/$s_!ODP9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png 848w, https://substackcdn.com/image/fetch/$s_!ODP9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png 1272w, https://substackcdn.com/image/fetch/$s_!ODP9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ODP9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png" width="1456" height="778" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:778,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:7446072,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/192745868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ODP9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png 424w, https://substackcdn.com/image/fetch/$s_!ODP9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png 848w, https://substackcdn.com/image/fetch/$s_!ODP9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png 1272w, https://substackcdn.com/image/fetch/$s_!ODP9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13781d78-e275-4a56-8f50-21a46b7af434_3268x1746.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: justify;">In July 2012, Knight Capital was preparing to launch a new program on the New York Stock Exchange (NYSE) called the Retail Liquidity Program (RLP). To do this, engineers updated their flagship system, SMARS (Smart Market Access Routing System) - an automated router that broke down large &#8220;parent&#8221; client orders into thousands of small &#8220;child&#8221; orders so they could be executed quietly on the exchange</p><p style="text-align: justify;">Hidden in the SMARS code was a <strong>function</strong> called <strong>&#8220;Power Peg&#8221;</strong> (today we would call it as Angry Birds?). It was originally created for testing in a simulated environment and <strong>had not been used</strong> in live trading <strong>since 2003</strong>. Initially, Power Peg worked correctly: it sent orders to the exchange, counted the executed volume, and stopped when the order was fulfilled</p><p style="text-align: justify;">However, <strong>in 2005</strong>, Knight Capital engineers updated the core system and moved the volume counter to a different module. Because everyone was certain that Power Peg was &#8220;dead,&#8221; they didn&#8217;t bother updating its code</p><p style="text-align: justify;"><strong>In 2012</strong>, programmers needed a software switch (a &#8220;flag&#8221;, &#8220;feature toggle flag&#8221; etc..) in the binary order protocol to activate the new RLP logic. Changing the structure of the protocol would have required updating all connected systems, which would have taken a lot of time <em>and money</em>. The engineers decided to <strong>cut corners and reuse the old flag</strong> that had previously triggered Power Peg to activate the new RLP feature</p><p style="text-align: justify;"><strong>On August 1</strong>, the new software was deployed to eight servers. An engineer used a custom automation script for the deployment. However, the eighth server rejected the SSH connection during the process. The script silently ignored the error and reported a successful deployment. As a result, 7 servers received the new software, <strong>but the 8th server was left running the old version of SMARS</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YdtX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001b2258-7a31-46a2-9477-83e151b9a154_2850x1512.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YdtX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001b2258-7a31-46a2-9477-83e151b9a154_2850x1512.png 424w, https://substackcdn.com/image/fetch/$s_!YdtX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001b2258-7a31-46a2-9477-83e151b9a154_2850x1512.png 848w, https://substackcdn.com/image/fetch/$s_!YdtX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001b2258-7a31-46a2-9477-83e151b9a154_2850x1512.png 1272w, https://substackcdn.com/image/fetch/$s_!YdtX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001b2258-7a31-46a2-9477-83e151b9a154_2850x1512.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YdtX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001b2258-7a31-46a2-9477-83e151b9a154_2850x1512.png" width="1456" height="772" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/001b2258-7a31-46a2-9477-83e151b9a154_2850x1512.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:772,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5183312,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/192745868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001b2258-7a31-46a2-9477-83e151b9a154_2850x1512.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YdtX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001b2258-7a31-46a2-9477-83e151b9a154_2850x1512.png 424w, https://substackcdn.com/image/fetch/$s_!YdtX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001b2258-7a31-46a2-9477-83e151b9a154_2850x1512.png 848w, https://substackcdn.com/image/fetch/$s_!YdtX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001b2258-7a31-46a2-9477-83e151b9a154_2850x1512.png 1272w, https://substackcdn.com/image/fetch/$s_!YdtX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F001b2258-7a31-46a2-9477-83e151b9a154_2850x1512.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p style="text-align: justify;"><strong>Around 8:00 AM</strong>, the central system started sending pre-market orders with the flag turned on. The old 8th server received the order, saw the flag, and tried to launch Power Peg. But the algorithm immediately tripped over the volume counter that had been missing since 2005 and began generating system warnings (BNET Reject messages). Before the market even opened at 9:30 AM, the system generated 97 automated error emails. Unfortunately, the engineers hadn&#8217;t set up their monitoring to treat these alerts as critical, and the emails were ignored</p><p style="text-align: justify;"><strong>When trading opened</strong>, Knight Capital&#8217;s external system (BNET) started tagging client orders with <code>flag_4 = true</code> and passing them to the SMARS routers. Here is what that looked like on the &#8220;forgotten&#8221; eighth server:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;csharp&quot;,&quot;nodeId&quot;:null}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-csharp">// The structure of the incoming client order from the BNET system
struct Order {
    string ticker;
    int totalShares; 
    bool flag_4;     // This is the reused flag! &lt;-&lt;-&lt;-&lt;-&lt;-&lt;-&lt;-&lt;-&lt;
};

// Volume request function (an illustration of the "blind" code)
int getCumulativeVolume() {
    try {
        // Attempting to access the tracker, was removed in 2005
        return coreSystem.getTrackerData(); 
    } catch (...) {
        // The error is caught by the Fault Tolerance block
        // To prevent the server from crashing... simply returns 0
        return 0; 
    }
}

// The OLD version of SMARS (left on server #8)
void processOrder(Order parentOrder) {

    // Inside the message, flag_4 now triggers the old Power Peg
    if (parentOrder.flag_4 == true) { 
        int executedShares = getCumulativeVolume(); // 0!
        
        // CATASTROPHE: executedShares is ALWAYS 0
        // sooo... there are no purchases and buys shares endlessly
        while (executedShares &lt; parentOrder.totalShares) {

            // Test logic: 
            //   buy at Ask (expensive), sell at Bid (cheap)
            sendChildOrderToExchange(parentOrder.ticker); 

            executedShares = getCumulativeVolume(); // 0!
        }
    } else {
        executeStandardRouting(parentOrder);
    }
}</code></pre></div><h3>Why Weren&#8217;t They Saved? The Fatal &#8220;On-the-Fly&#8221; Fix</h3><p style="text-align: justify;">The main tragedy of Knight Capital isn&#8217;t the bug itself, but their reaction to it. When the system started burning millions at 9:30 AM, instead of immediately stopping all trading (hitting the &#8220;Kill Switch&#8221;), the engineers frantically tried to find the cause while the system was still running</p><p style="text-align: justify;">They wasted 20 precious minutes diagnosing the problem (<em>1 sec = $172,222 every single second</em>). Not understanding what was going on, they took a wild guess: they decided the new software was the issue and deleted it from the 7 working servers, rolling them back to the old version&#8230;</p><p style="text-align: justify;">This was a death sentence. The engineers only rolled the system back halfway: they reverted the old code in SMARS, but they forgot about the upstream BNET system, which continued operating in the &#8220;new&#8221; mode, sending orders with the flag turned on. (Example for nowdays: they had rolled back backend, but not frontend)</p><p style="text-align: justify;">Now, the &#8220;sleeping demon&#8221; Power Peg was activated on all eight servers at the same time. The avalanche of bad trades instantly multiplied by 8. It wasn&#8217;t until 10:15 AM, when the company was practically bankrupt, that trading was physically shut down</p><h3>The Aftermath: The End of a 17-Year History</h3><p style="text-align: justify;">The results of the 45-minute outage were devastating:</p><ul><li><p><strong>Financial losses:</strong> The realized loss was $440-$460 million</p></li><li><p><strong>Stock crash:</strong> Knight Capital&#8217;s stock plummeted 75% in two days</p></li><li><p><strong>Takeover:</strong> To avoid bankruptcy, the company was forced to sell itself to a competitor Getco LLC</p></li><li><p style="text-align: justify;"><strong>Fines:</strong> The SEC fined the company $12 million for a &#8220;blatant lack of risk controls&#8221;</p></li><li><p style="text-align: justify;"><strong>Management&#8217;s fate:</strong> The engineer whose script failed kept his job &#128522;, but the entire upper management team (including the CTO) was fired </p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aeG9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe7f5c2b-607a-4fe8-98a5-928d04444fda_3156x1650.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aeG9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe7f5c2b-607a-4fe8-98a5-928d04444fda_3156x1650.png 424w, https://substackcdn.com/image/fetch/$s_!aeG9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe7f5c2b-607a-4fe8-98a5-928d04444fda_3156x1650.png 848w, https://substackcdn.com/image/fetch/$s_!aeG9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe7f5c2b-607a-4fe8-98a5-928d04444fda_3156x1650.png 1272w, https://substackcdn.com/image/fetch/$s_!aeG9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe7f5c2b-607a-4fe8-98a5-928d04444fda_3156x1650.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aeG9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe7f5c2b-607a-4fe8-98a5-928d04444fda_3156x1650.png" width="1456" height="761" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/be7f5c2b-607a-4fe8-98a5-928d04444fda_3156x1650.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:761,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:4399410,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/192745868?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe7f5c2b-607a-4fe8-98a5-928d04444fda_3156x1650.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aeG9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe7f5c2b-607a-4fe8-98a5-928d04444fda_3156x1650.png 424w, https://substackcdn.com/image/fetch/$s_!aeG9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe7f5c2b-607a-4fe8-98a5-928d04444fda_3156x1650.png 848w, https://substackcdn.com/image/fetch/$s_!aeG9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe7f5c2b-607a-4fe8-98a5-928d04444fda_3156x1650.png 1272w, https://substackcdn.com/image/fetch/$s_!aeG9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbe7f5c2b-607a-4fe8-98a5-928d04444fda_3156x1650.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h3>Lessons Learned: A Guide for the Industry</h3><ol><li><p style="text-align: justify;"><strong>Physically delete dead code.</strong> The 2012 bug was planted in 2005. If you delete or change shared system components, you must clean up all dependent code</p></li><li><p style="text-align: justify;"><strong>Never reuse old flags for new features.</strong> Trying to save time by not updating a binary data protocol can cost a company its life. Different versions of code interpreted the exact same command in entirely different ways - this is architectural poison</p></li><li><p style="text-align: justify;"><strong>Deployment scripts must not be &#8220;blind&#8221;.</strong> The deployment process must verify the result on 100% of the nodes (e.g., checking hashes or polling versions). If one server doesn&#8217;t respond, the release must be immediately aborted</p></li><li><p style="text-align: justify;"><strong>If you don&#8217;t understand it, turn it off.</strong> The golden rule of incident management: when a system behaves abnormally, the first step is to stop the bleeding (Kill Switch), and the second step is to find the cause. Trying to fix an airplane while it&#8217;s crashing usually just speeds up the impact</p></li><li><p style="text-align: justify;"><strong>Atomic rollbacks.</strong> You cannot roll back just one part of a system. A &#8220;partial rollback&#8221; (old code + data in a new format) guarantees a disaster</p></li></ol><h2>Conclusion</h2><p style="text-align: justify;">The Knight Capital case proves that in modern IT, there is no such thing as &#8220;just old code&#8221; or &#8220;just a script.&#8221; Real money is behind every line. Clean architecture and strict processes aren&#8217;t &#8220;bureaucracy&#8221; - they are the only way to protect a business from instant destruction</p>]]></content:encoded></item><item><title><![CDATA[He wanted to measure the internet, but ended up breaking it and making history]]></title><description><![CDATA[He wrote a script out of pure curiosity. But he ended up crashing 10% of the world's internet, causing millions of dollars in damage, and becoming the first person ever convicted of computer fraud]]></description><link>https://yoursec.substack.com/p/he-morris-worm</link><guid isPermaLink="false">https://yoursec.substack.com/p/he-morris-worm</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Sun, 29 Mar 2026 11:43:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!M4RZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1160582e-96bd-4f4a-bb83-7e37ba1ead46_1200x675.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Robert Tappan Morris, a student at Cornell University, didn&#8217;t want to be an evil hacker. He just wanted to see how big the internet was. However, because of one tiny mistake in his code, his harmless experiment turned into an unstoppable digital disaster</p><h3>The Story of the &#8220;Great Worm&#8221;</h3><p>It was 1988. The internet (then called ARPANET) was a small, closed club for universities, research centers, and the military. It was built on trust - nobody expected an attack from their own colleagues</p><p>On November 2, 1988, 23-year-old Robert Morris launched a program to count all the computers connected to the internet. The program (later called the &#8220;Morris Worm&#8221;) spread by using known weaknesses in network tools like <code>sendmail</code> and <code>fingerd</code>, as well as weak passwords</p><p>The idea was smart: the worm enters a server, checks if it is already infected, and if not, it copies itself and looks for new targets. It didn&#8217;t delete files or steal data. It was supposed to be completely harmless</p><p>But Morris thought of a problem: what if smart system admins set up a fake signal that says &#8220;I&#8217;m already infected&#8221; to protect their servers? To get around this, Morris added a rule: <strong>1 out of every 7 times, the worm should ignore the server&#8217;s answer and infect it anyway</strong></p><p>This was the fatal mistake!</p><p>A 1-in-7 chance (about 14%) was way too high. The worm started infecting the same computers over and over again. Each new copy created more processes, eating up all the memory and CPU power. Thousands of servers simply froze and crashed. Out of the 60,000 computers on the internet at the time, about 6,000 went down</p><p>In a panic, Morris tried to send an anonymous message explaining how to stop the worm. But the internet was so clogged that the message never arrived. Finally, following the advice of his father (who happened to be a top cybersecurity expert at the NSA), Robert turned himself in. The damage was estimated to be between $100,000 and $10,000,000. Morris got a light sentence: 3 years of probation, 400 hours of community service, and a $10,050 fine</p><h3>Lessons Learned by the Tech Industry</h3><ol><li><p><strong>Trust is a bad security plan.</strong> The Morris Worm proved that the internet was no longer a safe place. Systems had to be built assuming the network is hostile</p></li><li><p><strong>The birth of CERT.</strong> Right after the attack, the government funded the first Computer Emergency Response Team (<a href="https://en.wikipedia.org/wiki/Computer_emergency_response_team">CERT</a>) to coordinate responses to future cyber attacks</p></li><li><p><strong>The danger of exponential growth.</strong> Even harmless code can become a weapon if a bug causes an endless loop or uncontrolled copying</p></li><li><p><strong>Security by default.</strong> The worm used a flaw in <code>sendmail</code> because the program was shipped with a &#8220;debug&#8221; mode left on. This taught developers a hard lesson about turning off testing features before releasing software</p></li></ol><p>Today, Robert Morris is a respected professor at MIT and a co-founder of the famous startup accelerator, Y Combinator</p><h3>The Source Code and the Famous Bug</h3><p>The original code was reverse-engineered back in 1988. Today, you can find its source code in historical archives on GitHub</p><p>&#128279; <strong>Repository link:</strong> <a href="https://github.com/arialdomartini/morris-worm">github.com/arialdomartini/morris-worm</a> <em>(a popular mirror of the recovered code)</em></p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1160582e-96bd-4f4a-bb83-7e37ba1ead46_1200x675.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c3aa9f0-e792-4930-a90d-12f837b68872_450x600.jpeg&quot;}],&quot;caption&quot;:&quot;Floppy disk containing the source code, at the Computer History Museum&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/627f3fc9-91dd-4e10-ae42-bcca31c24dec_1456x720.png&quot;}},&quot;isEditorNode&quot;:true}"></div><h3>Pseudocode of the Fatal Error</h3><p>The whole disaster happened because the creator was too paranoid and misunderstood probability. In simple terms, the worm&#8217;s logic looked like this:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;python&quot;,&quot;nodeId&quot;:&quot;3a2ab3d2-194e-4f06-a1bd-0c9608d92b15&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-python">import random

# This logic runs INSIDE the new worm process AFTER it has successfully
# infected, compiled, and started itself on the target server

def logic_inside_new_worm_process():
    # STEP 1: The infection has ALREADY happened
    # The server has already spent CPU/RAM to receive and launch this process

    # The worm checks if another copy is already running on this machin
    # (usually by trying to connect to a specific local socket/port)
    already_infected = check_for_other_copies_locally()

    if already_infected:
        # THE FATAL BUG:
        # Morris was paranoid that system administrators would "fake" an
        # infection by running a dummy process to trick the worm into leaving

        # To bypass this, he added a 1-in-7 chance to IGNORE the result:
        if random.randint(1, 7) == 1:
            # "I don't believe this is a real worm!"
            # The worm ignores the existing process and stays alive anyway
            stay_alive_and_continue_spreading()
        else:
            # Even if the 1-in-7 chance didn't hit, the worm didn't quit yet
            # It would "talk" to the other process and flip a coin (50/50 chance)
            # to decide which one of them should terminate
            if random.choice([True, False]):
                terminate_self()
            else:
                stay_alive_and_continue_spreading()
    else:
        # No other copy found; the machine is "fresh"
        stay_alive_and_continue_spreading()

# THE RESULT:
# Because the worm was constantly re-attacking the same servers,
# the 1-in-7 "stay alive" chance was hit repeatedly
# Machines ended up with dozens of copies running simultaneously,
# eventually crashing the system (Denial of Service)</code></pre></div><div><hr></div><h3>Timeline of Events</h3><ul><li><p><strong>November 2, 1988:</strong> Deploys the worm from MIT. The ARPANET infection begins</p></li><li><p><strong>November 3, 1988:</strong> Crashes around 6,000 computers, causing massive slowdowns. Experts at UC Berkeley and Purdue rush to reverse-engineer the code</p></li><li><p><strong>November 1988:</strong> DARPA responds to the crisis by funding the first CERT</p></li><li><p><strong>July 26, 1989:</strong> A federal grand jury indicts Morris</p></li><li><p><strong>January 1990:</strong> Morris is found guilty</p></li></ul>]]></content:encoded></item><item><title><![CDATA[The Silent Revolution: How Google's DBSC Turns Infostealers Into Useless Trash]]></title><description><![CDATA[While the crypto community argues about Bitcoin pricing and decentralization, and AI hype fills every news headline, Google has quietly deployed a technology that fundamentally changes the rules of cybersecurity.]]></description><link>https://yoursec.substack.com/p/the-silent-revolution-how-googles</link><guid isPermaLink="false">https://yoursec.substack.com/p/the-silent-revolution-how-googles</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Sat, 21 Feb 2026 11:56:22 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/088ff251-47ef-41a4-ba24-2b15b79e1bcb_1280x720.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>While the crypto community argues about Bitcoin pricing and decentralization, and AI hype fills every news headline, Google has quietly deployed a technology that fundamentally changes the rules of cybersecurity. It&#8217;s called <strong><a href="https://developer.chrome.com/docs/web-platform/device-bound-session-credentials">DBSC (Device Bound Session Credentials)</a></strong>. If this feature becomes a standard, we will witness the sunset of infostealers that rely on stolen session cookies</p><h2><strong>What is the Problem Today?</strong></h2><p>Today, your browser sessions are essentially just cookie files. If malware (a desktop app or a malicious extension) or a Man-in-the-Middle (MitM) proxy is present on a device, it can steal these cookies. In this scenario, a hacker doesn&#8217;t even need your password; they can simply &#8220;replay&#8221; the stolen session to gain full access to your bank account, some messengers, or social media profiles</p><p>While you could theoretically bind sessions to a user&#8217;s IP address, this isn&#8217;t a viable solution for businesses that need to keep users logged in for days or weeks across changing networks</p><p>DBSC solves this by using the <strong><a href="https://en.wikipedia.org/wiki/Trusted_Platform_Module">TPM (Trusted Platform Module)</a></strong><a href="https://en.wikipedia.org/wiki/Trusted_Platform_Module"> </a>to cryptographically sign session requests without any user interaction</p><h3><strong>How it Works:</strong></h3><ol><li><p>When a server decides to open a new session, it sends a requirement for the DBSC flow</p></li><li><p>Google Chrome intercepts this and requests the hardware TPM to generate a unique public/private key pair</p></li><li><p>Chrome sends the <strong>public key</strong> to the server, which associates it with that specific session. The <strong>private key</strong> never leaves the hardware</p></li><li><p>The server provides a &#8220;challenge&#8221; string that must be signed using that specific private key</p></li><li><p>The browser calls the TPM&#8217;s signing function, passing the website&#8217;s info and the server&#8217;s challenge</p></li><li><p>The resulting signature is sent back to the server, which verifies it using the previously stored public key</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hjMU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c604b1-39b1-41c4-9c45-79a5cf5e699c_1756x1386.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hjMU!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c604b1-39b1-41c4-9c45-79a5cf5e699c_1756x1386.png 424w, https://substackcdn.com/image/fetch/$s_!hjMU!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c604b1-39b1-41c4-9c45-79a5cf5e699c_1756x1386.png 848w, https://substackcdn.com/image/fetch/$s_!hjMU!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c604b1-39b1-41c4-9c45-79a5cf5e699c_1756x1386.png 1272w, https://substackcdn.com/image/fetch/$s_!hjMU!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c604b1-39b1-41c4-9c45-79a5cf5e699c_1756x1386.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hjMU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c604b1-39b1-41c4-9c45-79a5cf5e699c_1756x1386.png" width="1756" height="1386" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39c604b1-39b1-41c4-9c45-79a5cf5e699c_1756x1386.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1386,&quot;width&quot;:1756,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:183649,&quot;alt&quot;:&quot;Diagram showing the DBSC flow&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Diagram showing the DBSC flow" title="Diagram showing the DBSC flow" srcset="https://substackcdn.com/image/fetch/$s_!hjMU!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c604b1-39b1-41c4-9c45-79a5cf5e699c_1756x1386.png 424w, https://substackcdn.com/image/fetch/$s_!hjMU!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c604b1-39b1-41c4-9c45-79a5cf5e699c_1756x1386.png 848w, https://substackcdn.com/image/fetch/$s_!hjMU!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c604b1-39b1-41c4-9c45-79a5cf5e699c_1756x1386.png 1272w, https://substackcdn.com/image/fetch/$s_!hjMU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39c604b1-39b1-41c4-9c45-79a5cf5e699c_1756x1386.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Session cookies typically have a long expiry (<strong>e.g., 30 days</strong>) for convenience. However, under DBSC, the presence of the cookie alone isn&#8217;t enough. Only an additional signature from the TPM can prove that the holder of the cookie is actually on the original device</p><p>This &#8220;authorization&#8221; (the cryptographic proof) can be set to have a very short lifespan&#8212;for example, just <strong>10 minutes</strong></p><p>The browser automatically handles the re-authorization in the background before sending requests. This means the process is completely seamless for the user while being incredibly difficult for attackers</p><p>A critical part of this security model is that the entire cryptographic handshake is <strong>completely invisible to the browser&#8217;s frontend</strong></p><ul><li><p><strong>Invisible to Extensions:</strong> Since the refresh logic happens deep within the browser&#8217;s network stack, malicious extensions cannot intercept or manipulate the DBSC headers</p></li><li><p><strong>Hidden from DevTools (F12):</strong> Even if you open the Network tab in DevTools, you won&#8217;t see the background challenge-response requests. They are decoupled from the standard application flow, ensuring that not even a compromised frontend can interfere with the hardware-level security</p></li></ul><h3><strong>A Real-World Example</strong></h3><p>Consider this: You turn off your laptop for 7 days. You still have your authentication cookies, but your 10-minute authorization has long since expired</p><p>When you re-open <code>example.com/account</code>:</p><ol><li><p>The browser sees you have a valid authentication cookie but realizes it needs a new signature</p></li><li><p>It requests a challenge string from the server and sends it to the TPM</p></li><li><p>Because the TPM holds the unique private key for that specific session on that specific device, it signs the challenge</p></li><li><p>The session is authorized, and you are logged in</p></li></ol><p><strong>What if a hacker steals your session cookies?</strong> The hacker cannot steal the private key from your TPM. Without it, they cannot sign the challenges. Even if they have your 30-day cookie, their &#8220;window of opportunity&#8221; is limited to the remaining life of your 10-minute authorization. Once those 10 minutes pass, they are permanently locked out</p><p>DBSC provides the perfect balance: long-term convenience for users and short-term, hardware-backed security for businesses</p><p>Thanks AI - I have &#8220;<em>developed</em>&#8221; the example <a href="https://dbsc.secmy.app">https://dbsc.secmy.app/login</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MaY0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac4ec57-d2d9-45bf-a16c-efafbbee0792_1302x1092.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MaY0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac4ec57-d2d9-45bf-a16c-efafbbee0792_1302x1092.webp 424w, https://substackcdn.com/image/fetch/$s_!MaY0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac4ec57-d2d9-45bf-a16c-efafbbee0792_1302x1092.webp 848w, https://substackcdn.com/image/fetch/$s_!MaY0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac4ec57-d2d9-45bf-a16c-efafbbee0792_1302x1092.webp 1272w, https://substackcdn.com/image/fetch/$s_!MaY0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac4ec57-d2d9-45bf-a16c-efafbbee0792_1302x1092.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MaY0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac4ec57-d2d9-45bf-a16c-efafbbee0792_1302x1092.webp" width="1302" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fac4ec57-d2d9-45bf-a16c-efafbbee0792_1302x1092.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1302,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1314380,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/188703247?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac4ec57-d2d9-45bf-a16c-efafbbee0792_1302x1092.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MaY0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac4ec57-d2d9-45bf-a16c-efafbbee0792_1302x1092.webp 424w, https://substackcdn.com/image/fetch/$s_!MaY0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac4ec57-d2d9-45bf-a16c-efafbbee0792_1302x1092.webp 848w, https://substackcdn.com/image/fetch/$s_!MaY0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac4ec57-d2d9-45bf-a16c-efafbbee0792_1302x1092.webp 1272w, https://substackcdn.com/image/fetch/$s_!MaY0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffac4ec57-d2d9-45bf-a16c-efafbbee0792_1302x1092.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><p>Useful links here:</p><ul><li><p><a href="https://developer.chrome.com/docs/web-platform/device-bound-session-credentials">developer.chrome.com/docs/web-platform/device-bound-session-credentials</a></p></li><li><p><a href="https://w3c.github.io/webappsec-dbsc/">The DBSC specification</a></p></li><li><p>Demo project <a href="https://github.com/SecH0us3/dbsc-demo">github.com/SecH0us3/dbsc-demo</a></p><ul><li><p>You can try, but turn on the DBSC feature flags <a href="https://dbsc.secmy.app">https://dbsc.secmy.app</a></p></li></ul></li></ul>]]></content:encoded></item><item><title><![CDATA[Youtube Overflow]]></title><description><![CDATA[I have written about a case when some outdated software components were used for more modern conditions, and it led to the Ariane 5 crash.]]></description><link>https://yoursec.substack.com/p/youtube-overflow</link><guid isPermaLink="false">https://yoursec.substack.com/p/youtube-overflow</guid><dc:creator><![CDATA[Alex P]]></dc:creator><pubDate>Sun, 15 Feb 2026 08:38:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6kp9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!6kp9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!6kp9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png 424w, https://substackcdn.com/image/fetch/$s_!6kp9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png 848w, https://substackcdn.com/image/fetch/$s_!6kp9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png 1272w, https://substackcdn.com/image/fetch/$s_!6kp9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!6kp9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png" width="1456" height="364" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:364,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1738424,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/188019552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!6kp9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png 424w, https://substackcdn.com/image/fetch/$s_!6kp9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png 848w, https://substackcdn.com/image/fetch/$s_!6kp9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png 1272w, https://substackcdn.com/image/fetch/$s_!6kp9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55f5f867-c71a-4f55-947c-282578a8f4d4_2048x512.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>I have written about a case when some outdated software components were used for more modern conditions, and it led to the Ariane 5 crash. But this time I wrote about a simpler case</p><p>So, at the end of 2014, the video Gangnam Style reached the most views ever in the whole of YouTube history. </p><p>And suddenly the counter of views stopped on the number `2 147 483 647` (2^31)</p><p>The counter is literally broken</p><p>Initially, YouTube was developed via the Python language, which handles large numbers very well.</p><p>But the database MySQL isn&#8217;t!</p><p>And if a number is defined like a `signed int` the value `2 147 483 647` is the maximum</p><p>Of course, YouTube&#8217;s developers implemented a fix quickly, and now the max value for counters takes 64 bits. This number is so big, so it takes more than 4 billion years for mankind to reach the limit... I would like to live so long &#128406;</p><p>A little demo of how it doesn&#8217;t work for MySQL <a href="https://www.db-fiddle.com/f/uuVvjyPmCqyD3Mk38SCQhF/1">https://www.db-fiddle.com/f/uuVvjyPmCqyD3Mk38SCQhF/1</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MKl6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d5af787-9832-4f00-bc7b-aa5d6eaaefb6_1516x640.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MKl6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d5af787-9832-4f00-bc7b-aa5d6eaaefb6_1516x640.png 424w, https://substackcdn.com/image/fetch/$s_!MKl6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d5af787-9832-4f00-bc7b-aa5d6eaaefb6_1516x640.png 848w, https://substackcdn.com/image/fetch/$s_!MKl6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d5af787-9832-4f00-bc7b-aa5d6eaaefb6_1516x640.png 1272w, https://substackcdn.com/image/fetch/$s_!MKl6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d5af787-9832-4f00-bc7b-aa5d6eaaefb6_1516x640.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MKl6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d5af787-9832-4f00-bc7b-aa5d6eaaefb6_1516x640.png" width="1456" height="615" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8d5af787-9832-4f00-bc7b-aa5d6eaaefb6_1516x640.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:615,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:82181,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/188019552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d5af787-9832-4f00-bc7b-aa5d6eaaefb6_1516x640.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MKl6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d5af787-9832-4f00-bc7b-aa5d6eaaefb6_1516x640.png 424w, https://substackcdn.com/image/fetch/$s_!MKl6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d5af787-9832-4f00-bc7b-aa5d6eaaefb6_1516x640.png 848w, https://substackcdn.com/image/fetch/$s_!MKl6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d5af787-9832-4f00-bc7b-aa5d6eaaefb6_1516x640.png 1272w, https://substackcdn.com/image/fetch/$s_!MKl6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8d5af787-9832-4f00-bc7b-aa5d6eaaefb6_1516x640.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And what happens on the Python <a href="https://python-fiddle.com/?checkpoint=1771142861">https://python-fiddle.com/?checkpoint=1771142861</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IuBQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5912986-92dd-4cd2-afee-347e57ba310e_1306x1084.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IuBQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5912986-92dd-4cd2-afee-347e57ba310e_1306x1084.png 424w, https://substackcdn.com/image/fetch/$s_!IuBQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5912986-92dd-4cd2-afee-347e57ba310e_1306x1084.png 848w, https://substackcdn.com/image/fetch/$s_!IuBQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5912986-92dd-4cd2-afee-347e57ba310e_1306x1084.png 1272w, https://substackcdn.com/image/fetch/$s_!IuBQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5912986-92dd-4cd2-afee-347e57ba310e_1306x1084.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IuBQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5912986-92dd-4cd2-afee-347e57ba310e_1306x1084.png" width="1306" height="1084" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5912986-92dd-4cd2-afee-347e57ba310e_1306x1084.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1084,&quot;width&quot;:1306,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:163862,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yoursec.substack.com/i/188019552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5912986-92dd-4cd2-afee-347e57ba310e_1306x1084.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IuBQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5912986-92dd-4cd2-afee-347e57ba310e_1306x1084.png 424w, https://substackcdn.com/image/fetch/$s_!IuBQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5912986-92dd-4cd2-afee-347e57ba310e_1306x1084.png 848w, https://substackcdn.com/image/fetch/$s_!IuBQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5912986-92dd-4cd2-afee-347e57ba310e_1306x1084.png 1272w, https://substackcdn.com/image/fetch/$s_!IuBQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5912986-92dd-4cd2-afee-347e57ba310e_1306x1084.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It was so cool that Youtube&#8217;s developers added the Easter egg on the video page that broke their counter</p><p>Unfortunately they have removed it, but some good persons kept the video for history</p><div id="youtube2-G1tsY46C_zc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;G1tsY46C_zc&quot;,&quot;startTime&quot;:&quot;1s&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/G1tsY46C_zc?start=1s&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item></channel></rss>