<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>backdoor</title>
        <link>https://paragraph.com/@backdoor705</link>
        <description>undefined</description>
        <lastBuildDate>Sun, 05 Apr 2026 16:57:09 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>backdoor</title>
            <url>https://storage.googleapis.com/papyrus_images/caabc0880dc125c0521fa15351f24adce42736f6c636d4b90c44037747ef4d06.jpg</url>
            <link>https://paragraph.com/@backdoor705</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[GPTs are GPTs]]></title>
            <link>https://paragraph.com/@backdoor705/gpts-are-gpts</link>
            <guid>uAKhSMLTXRgHPExVymLR</guid>
            <pubDate>Wed, 22 Mar 2023 08:18:52 GMT</pubDate>
            <description><![CDATA[GPTs are GPTsA recent paper written by OpenAI which evaluate the impact of Large Language Models (LLM). I read this paper carefully and would like to share some interesting findings. https://arxiv.org/pdf/2303.10130v1.pdf ReadPaper Notes: https://readpaper.com/pdf-annotate/note?pdfId=4735742443702468609&noteId=1704418301541740032SummaryGenerative Pre-trained Transformers (GPTs) as General-Purpose Technologies General-purpose technologies (GPTs) are technologies that can affect an entire econo...]]></description>
            <content:encoded><![CDATA[<h1 id="h-gpts-are-gpts" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">GPTs are GPTs</h1><p>A recent paper written by OpenAI which evaluate the impact of Large Language Models (LLM).</p><p>I read this paper carefully and would like to share some interesting findings.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://arxiv.org/pdf/2303.10130v1.pdf">https://arxiv.org/pdf/2303.10130v1.pdf</a></p><p>ReadPaper Notes:</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://readpaper.com/pdf-annotate/note?pdfId=4735742443702468609&amp;noteId=1704418301541740032">https://readpaper.com/pdf-annotate/note?pdfId=4735742443702468609&amp;noteId=1704418301541740032</a></p><h2 id="h-summary" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Summary</h2><p><strong>Generative Pre-trained Transformers (GPTs) as General-Purpose Technologies</strong></p><p>General-purpose technologies (GPTs) are technologies that can affect an entire economy (usually at a national or global level). Examples include the steam engine and the internet. The paper discusses the potential future development of Generative Pre-trained Transformers (GPTs) as GPTs.</p><p><strong>Key Findings:</strong></p><ol><li><p><strong>Exposure</strong>: The paper defines exposure as a measure of whether access to a GPT or GPT-powered system would reduce the time required for a human to perform a specific task by at least 50%.</p></li><li><p><strong>Wages</strong>: Occupations with higher wages generally present with high exposure, meaning well-paying jobs could be vulnerable to GPTs becoming more prevalent in the workplace.</p></li><li><p><strong>Skills</strong>: Occupations requiring programming and writing skills are more susceptible to being influenced by language models, while occupations requiring science and critical thinking skills are less likely to be impacted.</p></li><li><p><strong>Barriers to Entry</strong>: Individuals holding Bachelor’s, Master’s, and professional degrees are more exposed to GPTs and GPT-powered software than those without formal educational credentials. Jobs with the least exposure require the longest training, potentially offering a lower payoff.</p></li></ol><h2 id="h-generative-pre-trained-transformers-gpts-are-general-purpose-technologies-gpts" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Generative Pre-trained Transformers (GPTs) are general-purpose technologies (GPTs)</strong></h2><p>What are <strong>general-purpose technologies (GPTs)?</strong></p><p>General-purpose technologies (GPTs) are technologies that can affect an entire economy (usually at a national or global level) due to their pervasive nature, continuous improvement over time, and the development of significant co-inventions and spillovers. Examples of GPTs include the steam engine, electricity, and the internet.</p><p>The paper argues that GPTs, such as Generative Pre-trained Transformers (GPTs), have the potential to become highly influential in various economic sectors. To fully realize their potential, GPTs must be incorporated into broader systems, which may initially face co-invention barriers that could impede their rapid diffusion into economic applications.</p><p>Predicting the need for human oversight in tasks where GPT capabilities equal or surpass human levels is challenging. The requirement for human supervision may initially slow down the adoption and diffusion rate of GPTs. However, over time, users of GPTs and GPT-powered systems are likely to become increasingly acquainted with the technology, particularly in terms of understanding when and how to trust its outputs.</p><p>The paper also highlights that if &quot;GPTs are GPTs,&quot; the eventual trajectory of LLM development and application may be challenging for policymakers to predict and regulate, due to the far-reaching and transformative impact of such technologies on various aspects of society and the economy.</p><h2 id="h-key-results" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Key Results</h2><p>This paper provides many counter-intuitive results.</p><h3 id="h-preliminary-exposure-definition" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Preliminary: Exposure Definition</h3><blockquote><p>Exposure: a measure of whether access to a GPT or GPT-powered system would reduce the time required for a human to perform a specific DWA or complete a task by <strong>at least 50%.</strong></p></blockquote><p>Tasks with higher exposure would be much easier and timesaving with GPTs.</p><h3 id="h-wages" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Wages</h3><blockquote><p>Occupations with <strong>higher wages</strong> generally present with <strong>high exposure</strong>.</p></blockquote><p>This means well-paying jobs could be vulnerable to GPTs become more prevalent in the workplace.</p><h3 id="h-skill" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Skill</h3><blockquote><p>Our findings indicate that the importance of science and critical thinking skills are strongly negatively associated with exposure, suggesting that occupations requiring these skills are less likely to be impacted by current language models. Conversely, programming and writing skills show a strong positive association with exposure, implying that occupations involving these skills are more susceptible to being influenced by language models.</p></blockquote><p>This suggests that programming and writing skills will become even more important in the age of GPTs, as these skills are positively correlated with LLM exposure. Or maybe, jobs required programming and writing skills are greatly affected by GPTs. However, roles that rely heavily on science and critical thinking skills are less likely to be affected by GPTs, indicating that workers in these fields may be relatively safe from displacement.</p><h3 id="h-barriers-to-entry" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Barriers to Entry</h3><blockquote><p>Our analysis suggests that individuals holding <strong>Bachelor’s, Master’s, and professional degrees</strong> are more exposed to GPTs and GPT-powered software than those without formal educational credentials.</p></blockquote><blockquote><p>We observe that the jobs with <strong>the least exposure require the longest training</strong>, potentially offering a <strong>lower payoff</strong> (in terms of median income) once competency is achieved. Conversely, jobs with no on-the-job training required or only internship/residency required appear to yield higher income but are more exposed to GPT.</p></blockquote><h2 id="h-tables" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Tables</h2><h3 id="h-preliminary-exposure-levels" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Preliminary: Exposure Levels</h3><ul><li><p>No exposure (E0) if: • there is no or minimal reduction in the time required to complete the activity or task while maintaining equivalent quality or • using any combination of the capabilities described in accordance with the below criteria would decrease the quality of the activity/task output.</p></li><li><p>Direct exposure (E1) if: • using solely the theoretical LLM or GPT-4 described via ChatGPT or the OpenAI playground can decrease the time required to complete the DWA or task by at least half (50%).</p></li><li><p>LLM+ Exposed (E2) if: • access to the LLM alone would not reduce the time required to complete the activity/task by at least half, but • additional software could be developed on to the LLM that could reduce the time it takes to complete the specific activity/task with quality by at least half. Among these systems, we count access to image generation systems.</p></li></ul><h3 id="h-table-4-highest-vulnerable-jobs" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Table 4: Highest Vulnerable Jobs</h3><p>Table 4: Occupations with the highest exposure according to each measurement.</p><blockquote><p>The final row lists the occupations with the highest $\sigma^2$ value, indicating that they had the most variability in vulnerability-prediction.</p></blockquote><blockquote><p>Exposure percentages indicate the share of an occupation’s task that are exposed to GPTs (𝛼) or GPT-powered software (𝛽 and 𝜁 ), where exposure is defined as driving a reduction in time it takes to complete the task by at least 50%.</p></blockquote><blockquote><p>As such, occupations listed in this table are those where we estimate that GPTs and GPT-powered software are able to save workers a significant amount of time completing a large share of their tasks, but it does not necessarily suggest that their tasks can be fully automated by these technologies.</p></blockquote><p><strong>Definition of 𝛼, 𝛽 and 𝜁</strong></p><ul><li><p>𝛼 = E1 corresponds to E1 in the exposure rubric defined above. It represents the lower bound of the proportion of exposed tasks within an occupation.</p></li><li><p>𝛽 = E1 + 0.5<em>E2, which is the sum of E1 and 0.5</em>E2. The weight of 0.5 on E2 accounts for exposure to the technology when deploying it via complementary tools and applications that require additional investment.</p></li><li><p>𝜁 = E1 + E2, the sum of E1 and E2. This is an upper bound of exposure that provides an assessment of the maximal exposure to GPT and GPT-powered software.</p></li></ul><h3 id="h-table-5-programming-and-math-are-in-danger" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Table 5: Programming and Math are in Danger</h3><p>Table 5: OLS Regression Results of Exposure Measures on O*NET Skills</p><p><strong>Programming</strong> has the largest exposure <strong>to 𝛼 and 𝛽</strong>.</p><p><strong>Mathematics</strong> has the largest exposure to 𝜁.</p>]]></content:encoded>
            <author>backdoor705@newsletter.paragraph.com (backdoor)</author>
        </item>
        <item>
            <title><![CDATA[Solidity: Transfer Ether Safely Today]]></title>
            <link>https://paragraph.com/@backdoor705/solidity-transfer-ether-safely-today</link>
            <guid>pOFe2XsKuxU6LEMVQR8d</guid>
            <pubDate>Sun, 18 Sep 2022 02:34:39 GMT</pubDate>
            <description><![CDATA[Solidity: Transfer Ether Safely TodayFrom https://solidity-by-example.org/sending-ether/3 ways to send Ether:2 ways to receive Ether: A contract receiving Ether must have at least one of the functions belowreceive() external payablefallback() external payablereceive() is called if msg.data is empty, otherwise fallback() is called.// SPDX-License-Identifier: MIT pragma solidity ^0.8.13; contract ReceiveEther { /* Which function is called, fallback() or receive()? send Ether | msg.data is empty...]]></description>
            <content:encoded><![CDATA[<h1 id="h-solidity-transfer-ether-safely-today" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Solidity: Transfer Ether Safely Today</h1><blockquote><p>From <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://solidity-by-example.org/sending-ether/">https://solidity-by-example.org/sending-ether/</a></p></blockquote><p>3 ways to send Ether:</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/fcc82c24f52912d4cb2bff89113d523eae97ff3bf82f2b47481da0473f201334.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>2 ways to receive Ether:</p><p>A contract receiving Ether must have at least one of the functions below</p><ul><li><p><code>receive() external payable</code></p></li><li><p><code>fallback() external payable</code></p></li></ul><p><code>receive()</code> is called if <code>msg.data</code> is empty, otherwise <code>fallback()</code> is called.</p><pre data-type="codeBlock" text="// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

contract ReceiveEther {
    /*
    Which function is called, fallback() or receive()?

           send Ether
               |
         msg.data is empty?
              / \
            yes  no
            /     \
receive() exists?  fallback()
         /   \
        yes   no
        /      \
    receive()   fallback()
    */

    // Function to receive Ether. msg.data must be empty
    receive() external payable {}

    // Fallback function is called when msg.data is not empty
    fallback() external payable {}

    function getBalance() public view returns (uint) {
        return address(this).balance;
    }
}

contract SendEther {
    function sendViaTransfer(address payable _to) public payable {
        // This function is no longer recommended for sending Ether.
        _to.transfer(msg.value);
    }

    function sendViaSend(address payable _to) public payable {
        // Send returns a boolean value indicating success or failure.
        // This function is not recommended for sending Ether.
        bool sent = _to.send(msg.value);
        require(sent, &quot;Failed to send Ether&quot;);
    }

    function sendViaCall(address payable _to) public payable {
        // Call returns a boolean value indicating success or failure.
        // This is the current recommended method to use.
        (bool sent, bytes memory data) = _to.call{value: msg.value}(&quot;&quot;);
        require(sent, &quot;Failed to send Ether&quot;);
    }
}
"><code><span class="hljs-comment">// SPDX-License-Identifier: MIT</span>
<span class="hljs-meta"><span class="hljs-keyword">pragma</span> <span class="hljs-keyword">solidity</span> ^0.8.13;</span>

<span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">ReceiveEther</span> </span>{
    <span class="hljs-comment">/*
    Which function is called, fallback() or receive()?

           send Ether
               |
         msg.data is empty?
              / \
            yes  no
            /     \
receive() exists?  fallback()
         /   \
        yes   no
        /      \
    receive()   fallback()
    */</span>

    <span class="hljs-comment">// Function to receive Ether. msg.data must be empty</span>
    <span class="hljs-function"><span class="hljs-keyword">receive</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">payable</span></span> </span>{}

    <span class="hljs-comment">// Fallback function is called when msg.data is not empty</span>
    <span class="hljs-function"><span class="hljs-keyword">fallback</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> <span class="hljs-title"><span class="hljs-keyword">payable</span></span> </span>{}

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">getBalance</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">view</span></span> <span class="hljs-title"><span class="hljs-keyword">returns</span></span> (<span class="hljs-params"><span class="hljs-keyword">uint</span></span>) </span>{
        <span class="hljs-keyword">return</span> <span class="hljs-keyword">address</span>(<span class="hljs-built_in">this</span>).<span class="hljs-built_in">balance</span>;
    }
}

<span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">SendEther</span> </span>{
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">sendViaTransfer</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> <span class="hljs-keyword">payable</span> _to</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">payable</span></span> </span>{
        <span class="hljs-comment">// This function is no longer recommended for sending Ether.</span>
        _to.<span class="hljs-built_in">transfer</span>(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">value</span>);
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">sendViaSend</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> <span class="hljs-keyword">payable</span> _to</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">payable</span></span> </span>{
        <span class="hljs-comment">// Send returns a boolean value indicating success or failure.</span>
        <span class="hljs-comment">// This function is not recommended for sending Ether.</span>
        <span class="hljs-keyword">bool</span> sent <span class="hljs-operator">=</span> _to.<span class="hljs-built_in">send</span>(<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">value</span>);
        <span class="hljs-built_in">require</span>(sent, <span class="hljs-string">"Failed to send Ether"</span>);
    }

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">sendViaCall</span>(<span class="hljs-params"><span class="hljs-keyword">address</span> <span class="hljs-keyword">payable</span> _to</span>) <span class="hljs-title"><span class="hljs-keyword">public</span></span> <span class="hljs-title"><span class="hljs-keyword">payable</span></span> </span>{
        <span class="hljs-comment">// Call returns a boolean value indicating success or failure.</span>
        <span class="hljs-comment">// This is the current recommended method to use.</span>
        (<span class="hljs-keyword">bool</span> sent, <span class="hljs-keyword">bytes</span> <span class="hljs-keyword">memory</span> data) <span class="hljs-operator">=</span> _to.<span class="hljs-built_in">call</span>{<span class="hljs-built_in">value</span>: <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">value</span>}(<span class="hljs-string">""</span>);
        <span class="hljs-built_in">require</span>(sent, <span class="hljs-string">"Failed to send Ether"</span>);
    }
}
</code></pre><h2 id="h-recommend-ways-for-callvalue" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Recommend ways for call.value</h2><blockquote><p>Use <code>call.value</code> + patterns that eliminate reentrancy</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/">https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/</a></p></blockquote><h3 id="h-checks-effects-interactions-pattern" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0"><strong>Checks-Effects-Interactions Pattern</strong></h3><ol><li><p>perform some <strong>checks</strong> (who called the function, are the arguments in range, did they send enough Ether, does the person have tokens, etc.)</p></li><li><p><strong>effects</strong> to the state variables of the current contract should be made.</p></li><li><p>Interaction with other contracts should be the very last step in any function.</p></li></ol><p>make sure that all your <em>interactions</em> (external calls) happen at the end.</p><pre data-type="codeBlock" text="contract Fixed {
    ...
    function withdraw() external {
    // 1. Checks
    require(balanceOf[msg.sender] &gt; 0); 
        // 2. Effects
        uint256 amount = balanceOf[msg.sender];
        balanceOf[msg.sender] = 0;
    // 3. Interactions
        (bool success, ) = msg.sender.call.value(amount)(&quot;&quot;);
        require(success, &quot;Transfer failed.&quot;);
    }
}
"><code><span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">Fixed</span> </span>{
    ...
    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">withdraw</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> </span>{
    <span class="hljs-comment">// 1. Checks</span>
    <span class="hljs-built_in">require</span>(balanceOf[<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>] <span class="hljs-operator">></span> <span class="hljs-number">0</span>); 
        <span class="hljs-comment">// 2. Effects</span>
        <span class="hljs-keyword">uint256</span> amount <span class="hljs-operator">=</span> balanceOf[<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>];
        balanceOf[<span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>] <span class="hljs-operator">=</span> <span class="hljs-number">0</span>;
    <span class="hljs-comment">// 3. Interactions</span>
        (<span class="hljs-keyword">bool</span> success, ) <span class="hljs-operator">=</span> <span class="hljs-built_in">msg</span>.<span class="hljs-built_in">sender</span>.<span class="hljs-built_in">call</span>.<span class="hljs-built_in">value</span>(amount)(<span class="hljs-string">""</span>);
        <span class="hljs-built_in">require</span>(success, <span class="hljs-string">"Transfer failed."</span>);
    }
}
</code></pre><h3 id="h-use-a-reentrancy-guard" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Use a Reentrancy Guard</h3><pre data-type="codeBlock" text="contract Guarded {
    ...

    bool locked = false;

    function withdraw() external {
        require(!locked, &quot;Reentrant call detected!&quot;);
        locked = true;
        ...
        locked = false;
    }
}
"><code><span class="hljs-class"><span class="hljs-keyword">contract</span> <span class="hljs-title">Guarded</span> </span>{
    ...

    <span class="hljs-keyword">bool</span> locked <span class="hljs-operator">=</span> <span class="hljs-literal">false</span>;

    <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">withdraw</span>(<span class="hljs-params"></span>) <span class="hljs-title"><span class="hljs-keyword">external</span></span> </span>{
        <span class="hljs-built_in">require</span>(<span class="hljs-operator">!</span>locked, <span class="hljs-string">"Reentrant call detected!"</span>);
        locked <span class="hljs-operator">=</span> <span class="hljs-literal">true</span>;
        ...
        locked <span class="hljs-operator">=</span> <span class="hljs-literal">false</span>;
    }
}
</code></pre><ul><li><p><code>ReentrancyGuard</code> by OpenZeppelin</p></li></ul><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://docs.openzeppelin.com/contracts/4.x/api/security#ReentrancyGuard">https://docs.openzeppelin.com/contracts/4.x/api/security#ReentrancyGuard</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://blog.openzeppelin.com/reentrancy-after-istanbul/">https://blog.openzeppelin.com/reentrancy-after-istanbul/</a></p>]]></content:encoded>
            <author>backdoor705@newsletter.paragraph.com (backdoor)</author>
        </item>
    </channel>
</rss>