<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Daveads</title>
    <subtitle>Dive into the abyss of Daveads!</subtitle>
    <link rel="self" type="application/atom+xml" href="https://daveads.github.io/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://daveads.github.io"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-01-26T00:00:00+00:00</updated>
    <id>https://daveads.github.io/atom.xml</id>
    <entry xml:lang="en">
        <title>Implementing GLOBIGNORE</title>
        <published>2026-01-26T00:00:00+00:00</published>
        <updated>2026-01-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/implementing-globignore/"/>
        <id>https://daveads.github.io/note/implementing-globignore/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/implementing-globignore/">&lt;p&gt;Issue :: &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;oils-for-unix&#x2F;oils&#x2F;issues&#x2F;609&quot;&gt;Implement GLOBIGNORE #609&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;GLOBIGNORE&lt;&#x2F;code&gt; is a bash-specific variable that lets you exclude files from glob expansion. It contains a colon-separated list of patterns - any file matching these patterns gets filtered out of glob results.&lt;&#x2F;p&gt;
&lt;p&gt;E.g.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;GLOBIGNORE&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;#39;*.o:*.tmp&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span&gt; *&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;   # Shows all files except .o and .tmp files&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This is useful for build directories, ignoring compiled files, or filtering out backup files from shell expansions.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-problem-glob-results-need-filtering&quot;&gt;The Problem: Glob Results Need Filtering&lt;&#x2F;h2&gt;
&lt;p&gt;When you write &lt;code&gt;echo *&lt;&#x2F;code&gt; in a shell, it expands to all files in the current directory. But sometimes you want to exclude certain patterns - like object files in a build directory, or backup files ending in &lt;code&gt;~&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Bash solves this with &lt;code&gt;GLOBIGNORE&lt;&#x2F;code&gt;. When set:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Glob patterns automatically include dotfiles (like &lt;code&gt;dotglob&lt;&#x2F;code&gt; option)&lt;&#x2F;li&gt;
&lt;li&gt;Files matching any &lt;code&gt;GLOBIGNORE&lt;&#x2F;code&gt; pattern are filtered out&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;.&lt;&#x2F;code&gt; and &lt;code&gt;..&lt;&#x2F;code&gt; are always filtered (even if they don&#x27;t match a pattern)&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; GLOBIGNORE=&amp;#39;*.txt&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; echo&lt;&#x2F;span&gt;&lt;span&gt; *&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;        # No .txt files in output&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; echo .&lt;&#x2F;span&gt;&lt;span&gt;*&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;       # Shows .hidden but not . or ..&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;the-implementation&quot;&gt;The Implementation&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;where-the-code-lives&quot;&gt;Where the Code Lives&lt;&#x2F;h3&gt;
&lt;p&gt;The implementation is in &lt;code&gt;osh&#x2F;glob_.py&lt;&#x2F;code&gt; in the &lt;code&gt;Globber&lt;&#x2F;code&gt; class. The key changes:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Parse GLOBIGNORE patterns&lt;&#x2F;strong&gt; - Split the colon-separated string into individual patterns&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Filter glob results&lt;&#x2F;strong&gt; - After libc&#x27;s &lt;code&gt;glob()&lt;&#x2F;code&gt; returns matches, filter out anything matching GLOBIGNORE&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Enable dotglob implicitly&lt;&#x2F;strong&gt; - When GLOBIGNORE is set, dotfiles are included in glob expansion&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;parsing-globignore&quot;&gt;Parsing GLOBIGNORE&lt;&#x2F;h3&gt;
&lt;p&gt;The tricky part: colons inside bracket expressions like &lt;code&gt;[[:alnum:]]&lt;&#x2F;code&gt; shouldn&#x27;t be treated as separators. I handle this by tracking bracket depth:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;def&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt; _GetGlobIgnorePatterns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;    # type: () -&amp;gt; Optional[List[str]]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;    &amp;quot;&amp;quot;&amp;quot;Get GLOBIGNORE patterns as a list, or None if not set.&amp;quot;&amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    val&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt; self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;mem&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;GetValue&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;#39;GLOBIGNORE&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span&gt; scope_e&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;GlobalOnly&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    if&lt;&#x2F;span&gt;&lt;span&gt; val&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;tag&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;()&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; !=&lt;&#x2F;span&gt;&lt;span&gt; value_e&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;Str&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        return&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; None&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    globignore&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt; cast&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;value&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;Str&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span&gt; val&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;).&lt;&#x2F;span&gt;&lt;span&gt;s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;  # type: str&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    if&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt; len&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;globignore&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; ==&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        return&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; None&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;    # Check cache first&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    if&lt;&#x2F;span&gt;&lt;span&gt; globignore&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; in&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt; self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;_globignore_cache&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        return&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt; self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt;_globignore_cache&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt;globignore&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;    # Split by colon, but not inside bracket expressions&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    patterns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; []&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;  # type: List[str]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    current&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; []&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;  # type: List[str]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    in_bracket&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; False&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    for&lt;&#x2F;span&gt;&lt;span&gt; c&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; in&lt;&#x2F;span&gt;&lt;span&gt; globignore&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        if&lt;&#x2F;span&gt;&lt;span&gt; c&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; ==&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;[&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            in_bracket&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; True&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            current&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;append&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;c&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        elif&lt;&#x2F;span&gt;&lt;span&gt; c&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; ==&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;]&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            in_bracket&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; False&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            current&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;append&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;c&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        elif&lt;&#x2F;span&gt;&lt;span&gt; c&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; ==&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;:&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; and not&lt;&#x2F;span&gt;&lt;span&gt; in_bracket&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;            if&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt; len&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;current&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                patterns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;append&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;#39;&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;join&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;current&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;                del&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt; current&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;[:]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        else&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            current&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;append&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;c&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    if&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt; len&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;current&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        patterns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;append&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;#39;&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;join&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;current&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;    self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt;_globignore_cache&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt;globignore&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;]&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; patterns&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    return&lt;&#x2F;span&gt;&lt;span&gt; patterns&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;caching-for-performance&quot;&gt;Caching for Performance&lt;&#x2F;h3&gt;
&lt;p&gt;Andy suggested caching the parsed patterns. Since GLOBIGNORE doesn&#x27;t change often during script execution, we avoid re-parsing the same string:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;_globignore_cache&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; {}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;  # type: Dict[str, List[str]]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The cache maps the raw GLOBIGNORE string to its parsed pattern list.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;filtering-results&quot;&gt;Filtering Results&lt;&#x2F;h3&gt;
&lt;p&gt;After &lt;code&gt;glob()&lt;&#x2F;code&gt; returns matches, I filter them. This is a module-level helper function:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;def&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt; _StringMatchesAnyPattern&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt;s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt; patterns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;    # type: (str, List[str]) -&amp;gt; bool&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;    &amp;quot;&amp;quot;&amp;quot;Check if string matches any pattern in the list.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;    Returns True if s matches any pattern, or if s is . or ..&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;    (which are always filtered when GLOBIGNORE is set).&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;    &amp;quot;&amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    basename&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; os_path&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;basename&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    if&lt;&#x2F;span&gt;&lt;span&gt; basename&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; in&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;#39;.&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;..&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        return&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; True&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    flags&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    for&lt;&#x2F;span&gt;&lt;span&gt; pattern&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; in&lt;&#x2F;span&gt;&lt;span&gt; patterns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        if&lt;&#x2F;span&gt;&lt;span&gt; libc&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;fnmatch&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;pattern&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span&gt; s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span&gt; flags&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;            return&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; True&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    return&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; False&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;In &lt;code&gt;_Glob()&lt;&#x2F;code&gt;, the filtering has two branches - one for when GLOBIGNORE is set, and one for the default behavior:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;if&lt;&#x2F;span&gt;&lt;span&gt; globignore_patterns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; is not&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; None&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    filtered&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; []&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;  # type: List[str]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    for&lt;&#x2F;span&gt;&lt;span&gt; s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; in&lt;&#x2F;span&gt;&lt;span&gt; results&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        if not&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt; _StringMatchesAnyPattern&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span&gt; globignore_patterns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            filtered&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;append&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    results&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; filtered&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    n&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt; len&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;results&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;else&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;    # Default behavior: just filter . and ..&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    dotfile_filtered&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; []&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;  # type: List[str]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    for&lt;&#x2F;span&gt;&lt;span&gt; s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; in&lt;&#x2F;span&gt;&lt;span&gt; results&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        if&lt;&#x2F;span&gt;&lt;span&gt; s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; not in&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;#39;.&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;..&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            dotfile_filtered&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;append&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    results&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; dotfile_filtered&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    n&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt; len&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;results&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;out&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;extend&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;results&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;return&lt;&#x2F;span&gt;&lt;span&gt; n&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;implicit-dotglob&quot;&gt;Implicit dotglob&lt;&#x2F;h3&gt;
&lt;p&gt;When GLOBIGNORE is set, bash enables dotglob automatically. I replicate this:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;if&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt; self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;exec_opts&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;dotglob&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;()&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; or&lt;&#x2F;span&gt;&lt;span&gt; globignore_patterns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; is not&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; None&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    flags&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; |=&lt;&#x2F;span&gt;&lt;span&gt; GLOB_PERIOD&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;test-coverage&quot;&gt;Test Coverage&lt;&#x2F;h2&gt;
&lt;p&gt;The spec test file &lt;code&gt;spec&#x2F;globignore.test.sh&lt;&#x2F;code&gt; went from &lt;code&gt;oils_failures_allowed: 14&lt;&#x2F;code&gt; to &lt;code&gt;oils_failures_allowed: 1&lt;&#x2F;code&gt; - meaning 13 previously-failing test cases now pass.&lt;&#x2F;p&gt;
&lt;p&gt;I also added a new test case to verify that &lt;code&gt;.&lt;&#x2F;code&gt; and &lt;code&gt;..&lt;&#x2F;code&gt; are always filtered when GLOBIGNORE is set:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;#### . and .. always filtered when GLOBIGNORE is set&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# When GLOBIGNORE is set to any non-null value, . and .. are always filtered&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# even if they don&amp;#39;t match the patterns&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;shopt&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; -u globskipdots&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;touch&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; .hidden&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;GLOBIGNORE&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;*.txt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; .&lt;&#x2F;span&gt;&lt;span&gt;*&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;## STDOUT:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;.hidden&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;## END&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;running-the-tests&quot;&gt;Running the Tests&lt;&#x2F;h2&gt;
&lt;p&gt;To verify the implementation:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# Run GLOBIGNORE spec tests&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;test&#x2F;spec.sh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; globignore&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# Run type checking&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;test&#x2F;typecheck.sh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# Run in C++ mode (after building)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;test&#x2F;spec.sh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; globignore --oils-cpp-bin-sh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;demo&quot;&gt;Demo&lt;&#x2F;h2&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; bin&#x2F;osh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;osh$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; touch foo.txt bar.txt hello.py&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;osh$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; GLOBIGNORE=&amp;#39;*.txt&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;osh$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; echo&lt;&#x2F;span&gt;&lt;span&gt; *&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;hello.py&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;osh$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; touch .hidden&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;osh$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; echo .&lt;&#x2F;span&gt;&lt;span&gt;*&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;.hidden&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;osh$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; GLOBIGNORE=&amp;#39;*.o:*.h&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;osh$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; touch main.c main.o main.h&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;osh$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; echo main&lt;&#x2F;span&gt;&lt;span&gt;*&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;main.c&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Pull request :: &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;oils-for-unix&#x2F;oils&#x2F;pull&#x2F;2505&quot;&gt;#2505&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Jan Reads 2026</title>
        <published>2026-01-20T00:00:00+00:00</published>
        <updated>2026-01-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/jan-reads/"/>
        <id>https://daveads.github.io/note/jan-reads/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/jan-reads/">&lt;h3 id=&quot;my-january-reads&quot;&gt;My January Reads&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.seangoedecke.com&#x2F;addicted-to-being-useful&#x2F;&quot;&gt;Addicted to being useful&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;&#x2F;&#x2F;Thoughts&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I feel there is always going to be something to do, working on something entirely new, something that never existed, something that requires a new kind of architecture.&lt;&#x2F;p&gt;
&lt;p&gt;Something the world needs. Human needs are endless. There might be some already known patterns, but there are always unknown patterns too.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;I’m probably also addicted to being useful just like &lt;strong&gt;Akaky Akayevich&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;&#x2F;blockquote&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;br&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;iscinumpy.dev&#x2F;post&#x2F;packaging-faster&#x2F;&quot;&gt;How we made Python&#x27;s packaging library 3x faster&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.fast.ai&#x2F;posts&#x2F;2026-01-28-dark-flow&#x2F;&quot;&gt;Breaking the Spell of Vibe Coding&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>December reads</title>
        <published>2025-12-19T00:00:00+00:00</published>
        <updated>2025-12-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/december-reads25/"/>
        <id>https://daveads.github.io/note/december-reads25/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/december-reads25/">&lt;h3 id=&quot;december-reads&quot;&gt;December reads&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;daveads.github.io&#x2F;note&#x2F;december-reads25&#x2F;#19-12-2025&quot;&gt;19 Dec&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;daveads.github.io&#x2F;note&#x2F;december-reads25&#x2F;#21-12-2025&quot;&gt;20 Dec&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;daveads.github.io&#x2F;note&#x2F;december-reads25&#x2F;#27-12-2025&quot;&gt;27 Dec&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;19-12-2025&quot;&gt;&lt;strong&gt;19-12-2025&lt;&#x2F;strong&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;simonwillison.net&#x2F;2025&#x2F;Dec&#x2F;18&#x2F;code-proven-to-work&#x2F;&quot;&gt;Code you have proven to work&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;thepalindrome.org&#x2F;p&#x2F;if-you-want-to-hit-your-target-take&quot;&gt;if you want to hit your target take more shot&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ploum.net&#x2F;2025-12-19-prepare-for-that-world.html&quot;&gt;Prepare for That Stupid World&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;21-12-2025&quot;&gt;&lt;strong&gt;21-12-2025&lt;&#x2F;strong&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;nnethercote.github.io&#x2F;2025&#x2F;09&#x2F;04&#x2F;faster-rust-builds-on-mac.html&quot;&gt;faster rust builds on mac&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;27-12-2025&quot;&gt;&lt;strong&gt;27-12-2025&lt;&#x2F;strong&gt;&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;nadrieril.github.io&#x2F;blog&#x2F;2025&#x2F;12&#x2F;21&#x2F;the-algebra-of-loans-in-rust.html&quot;&gt;The Algebra of Loans in Rust&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;nesbitt.io&#x2F;2025&#x2F;12&#x2F;26&#x2F;how-uv-got-so-fast.html&quot;&gt;how uv got fast&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Implementing trap</title>
        <published>2025-12-04T00:00:00+00:00</published>
        <updated>2025-12-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/2025-18-12-implementing-traps/"/>
        <id>https://daveads.github.io/note/2025-18-12-implementing-traps/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/2025-18-12-implementing-traps/">&lt;p&gt;Issue :: &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;oils-for-unix&#x2F;oils&#x2F;issues&#x2F;2476&quot;&gt;Implement trap &#x27;&#x27; in OSH and trap --ignore in YSH - should be SIG_IGN #2476&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;trap&lt;&#x2F;code&gt; lets you run a command when your script gets a signal from the operating system. Like, when you hit &lt;code&gt;Ctrl+C&lt;&#x2F;code&gt;, that sends a &lt;code&gt;SIGINT&lt;&#x2F;code&gt; signal to your script. Normally, that would just kill it, but &lt;code&gt;trap&lt;&#x2F;code&gt; lets you catch it and do some cleanup before you exit.&lt;&#x2F;p&gt;
&lt;p&gt;E.g.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F5C2E7;font-style: italic;&quot;&gt;#!&#x2F;bin&#x2F;bash&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;trap&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;echo &amp;quot;Interrupted!&amp;quot;; exit 1&amp;#39; SIGINT&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;while&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt; true&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; do&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;    echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;Running...&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;    sleep&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;done&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This is commonly used in installers, backup scripts, and other tools where interruption could leave the system in a bad state.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-problem-trap-is-special&quot;&gt;The Problem: &lt;code&gt;trap &#x27;&#x27;&lt;&#x2F;code&gt; is Special&lt;&#x2F;h2&gt;
&lt;p&gt;Here&#x27;s the thing about &lt;code&gt;trap &#x27;&#x27;&lt;&#x2F;code&gt; - it&#x27;s not intuitive at first glance. You might think an empty string means &quot;do nothing,&quot; which sounds like it should behave the same as &lt;code&gt;trap &#x27; &#x27;&lt;&#x2F;code&gt; (a space) or &lt;code&gt;trap &#x27;# comment&#x27;&lt;&#x2F;code&gt;. But it doesn&#x27;t!&lt;&#x2F;p&gt;
&lt;p&gt;In POSIX shells, &lt;code&gt;trap &#x27;&#x27;&lt;&#x2F;code&gt; has a very specific meaning: it tells the OS to ignore the signal entirely by setting it to &lt;code&gt;SIG_IGN&lt;&#x2F;code&gt;. This is fundamentally different from running an empty command:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;trap &#x27;&#x27; SIGINT&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt; → Sets signal to &lt;code&gt;SIG_IGN&lt;&#x2F;code&gt; (kernel ignores it)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;trap &#x27; &#x27; SIGINT&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt; → Wakes up the shell to execute a space (does nothing, but still wakes up!)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;trap &#x27;# comment&#x27; SIGINT&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt; → Wakes up the shell to execute a comment&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The difference matters for performance and correctness. When a signal is set to &lt;code&gt;SIG_IGN&lt;&#x2F;code&gt;, the kernel drops it immediately. When you have a trap handler (even an empty one), the shell has to wake up, check what to do, execute the handler, and resume.&lt;&#x2F;p&gt;
&lt;p&gt;You can verify this by checking &lt;code&gt;&#x2F;proc&#x2F;self&#x2F;status&lt;&#x2F;code&gt;. Here&#x27;s a demo from the Oils test suite:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Without trap:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; bash test&#x2F;signal-report.sh report&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;PID&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1339837&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;SigIgn:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; QUIT&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;3&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;SigCgt:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; INT&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;2&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; CHLD&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;17&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;With &lt;code&gt;trap &#x27;&#x27; SIGUSR2&lt;&#x2F;code&gt;:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; bash test&#x2F;signal-report.sh report T&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;PID&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1339865&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;trap&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; -- &amp;#39;&amp;#39; SIGUSR2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;SigIgn:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; QUIT&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;3&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; USR2&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;12&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;SigCgt:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; HUP&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; INT&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;2&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; ILL&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;4&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; TRAP&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;5&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; ... CHLD&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;17&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; ...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;See how &lt;code&gt;USR2(12)&lt;&#x2F;code&gt; appears under &lt;code&gt;SigIgn&lt;&#x2F;code&gt; (ignored), not under &lt;code&gt;SigCgt&lt;&#x2F;code&gt; (caught)? That&#x27;s because &lt;code&gt;trap &#x27;&#x27;&lt;&#x2F;code&gt; sets the signal to &lt;code&gt;SIG_IGN&lt;&#x2F;code&gt; at the kernel level. This is fundamentally different from catching the signal and executing an empty handler.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;why-add-trap-ignore&quot;&gt;Why Add &lt;code&gt;trap --ignore&lt;&#x2F;code&gt;?&lt;&#x2F;h3&gt;
&lt;p&gt;While &lt;code&gt;trap &#x27;&#x27;&lt;&#x2F;code&gt; is POSIX-compliant, it&#x27;s not very clear what it means just by reading the code. Is it ignoring the signal? Resetting it? Setting a default handler?&lt;&#x2F;p&gt;
&lt;p&gt;YSH&#x27;s &lt;code&gt;trap --ignore&lt;&#x2F;code&gt; makes the intent explicit:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;trap&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; --ignore INT&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;  # Clear: we&amp;#39;re ignoring the signal (SIG_IGN)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;trap&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;&amp;#39; INT&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;        # Less clear: empty string means... ignore?&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This explicitness helps future readers understand that we&#x27;re setting &lt;code&gt;SIG_IGN&lt;&#x2F;code&gt;, which is different from &lt;code&gt;SIG_DFL&lt;&#x2F;code&gt; (the default handler you get with &lt;code&gt;trap - INT&lt;&#x2F;code&gt;).&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-design-choice-why-command-noop&quot;&gt;The Design Choice: Why command.NoOp?&lt;&#x2F;h2&gt;
&lt;p&gt;Once we understand that &lt;code&gt;trap &#x27;&#x27;&lt;&#x2F;code&gt; should set &lt;code&gt;SIG_IGN&lt;&#x2F;code&gt;, the question becomes: how do we represent this in the codebase?&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-evolution&quot;&gt;The Evolution&lt;&#x2F;h3&gt;
&lt;p&gt;The implementation went through several iterations:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;1. Initial approach: Special handling everywhere&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;My first attempt added separate branches for ignored signals throughout the codebase:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Special branches in &lt;code&gt;_AddTheRest()&lt;&#x2F;code&gt; for the ignore case&lt;&#x2F;li&gt;
&lt;li&gt;Duplicated logic in &lt;code&gt;AddItem()&lt;&#x2F;code&gt; to track ignored signals differently&lt;&#x2F;li&gt;
&lt;li&gt;Custom printing code in &lt;code&gt;_PrintTrapEntry()&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;This worked, but created a lot of duplication. The code got longer and harder to follow.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;2. Using &lt;code&gt;command.NoOp&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Andy suggested representing ignored signals as &lt;code&gt;command.NoOp&lt;&#x2F;code&gt; from the AST. This made the code much shorter! Instead of special handling everywhere, we just check &lt;code&gt;if handler.tag() == command_e.NoOp&lt;&#x2F;code&gt; at the critical points. The existing code paths mostly just worked.&lt;&#x2F;p&gt;
&lt;p&gt;Why does this work? The shell already has &lt;code&gt;command.NoOp&lt;&#x2F;code&gt; for representing &quot;do nothing&quot; commands like &lt;code&gt;sh -c &#x27;&#x27;&lt;&#x2F;code&gt; (an empty command). Reusing it for ignored traps seemed natural.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;3. The bug with &lt;code&gt;command.IgnoredTrap&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;At one point, we tried &lt;code&gt;command.IgnoredTrap&lt;&#x2F;code&gt; instead - the reasoning being that we shouldn&#x27;t use the same enum for two different things (&lt;code&gt;command.NoOp&lt;&#x2F;code&gt; for both empty commands and ignored traps).&lt;&#x2F;p&gt;
&lt;p&gt;But this introduced a bug! In some code paths, we would try to execute &lt;code&gt;command.IgnoredTrap&lt;&#x2F;code&gt; as if it were a normal command. Using the same type for two semantically different things caused confusion.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;4. Final solution: &lt;code&gt;trap_action.Ignored&lt;&#x2F;code&gt;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The final refactoring introduced a new algebraic data type &lt;code&gt;trap_action&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;trap_action&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  Ignored&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;           # SIG_IGN&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;  |&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt; Command&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;command c&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This makes it explicit in the type system: a trap action is either &quot;ignored&quot; or &quot;runs a command.&quot; No confusion possible! The type system enforces that we handle both cases correctly.&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;callout note&quot;&gt;
    
    &lt;div class=&quot;icon&quot;&gt;
        &lt;svg xmlns=&quot;http:&#x2F;&#x2F;www.w3.org&#x2F;2000&#x2F;svg&quot; viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot;&gt;&lt;path d=&quot;M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM11 7H13V9H11V7ZM11 11H13V17H11V11Z&quot; fill=&quot;currentColor&quot;&gt;&lt;&#x2F;path&gt;&lt;&#x2F;svg&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;content&quot;&gt;
        
        &lt;p&gt;&lt;strong&gt;Note&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
        
        &lt;p&gt;This post describes the implementation using &lt;code&gt;command.NoOp&lt;&#x2F;code&gt; (PR #2586), but the code has since been refactored to use &lt;code&gt;trap_action.Ignored&lt;&#x2F;code&gt; - see commit 6f1c64891. The refactoring makes the intent even clearer in the type system.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;why-algebraic-data-types&quot;&gt;Why Algebraic Data Types?&lt;&#x2F;h3&gt;
&lt;p&gt;This evolution shows why Oils uses algebraic data types (ADTs) extensively. Instead of having &lt;code&gt;if&lt;&#x2F;code&gt; statements scattered throughout the code checking &quot;is this an ignored trap?&quot;, we put that distinction into the data representation itself.&lt;&#x2F;p&gt;
&lt;p&gt;As Andy puts it: &quot;the if statements are in data, rather than code&quot; - which makes the code shorter and harder to misuse. The type checker enforces that you handle both &lt;code&gt;Ignored&lt;&#x2F;code&gt; and &lt;code&gt;Command(c)&lt;&#x2F;code&gt; cases, preventing bugs like the &lt;code&gt;command.IgnoredTrap&lt;&#x2F;code&gt; issue above.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;how-it-works-under-the-hood&quot;&gt;How It Works Under the Hood&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;the-core-logic&quot;&gt;The Core Logic&lt;&#x2F;h3&gt;
&lt;p&gt;Here&#x27;s what happens in &lt;code&gt;TrapState.AddUserTrap()&lt;&#x2F;code&gt; when you set a trap:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;def&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt; AddUserTrap&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt; sig_num&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt; handler&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;    # type: (int, command_t) -&amp;gt; None&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;    &amp;quot;&amp;quot;&amp;quot; e.g. SIGUSR1 &amp;quot;&amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;    self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt;traps&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;[&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt;sig_num&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;]&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; handler&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    if&lt;&#x2F;span&gt;&lt;span&gt; handler&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;tag&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;()&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; ==&lt;&#x2F;span&gt;&lt;span&gt; command_e&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;NoOp&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;        # trap &amp;#39;&amp;#39; SIGINT - ignore the signal (SIG_IGN)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;        # For signal_safe, this is handled the same as trap -&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        if&lt;&#x2F;span&gt;&lt;span&gt; sig_num&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; ==&lt;&#x2F;span&gt;&lt;span&gt; SIGINT&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;            self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;signal_safe&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;SetSigIntTrapped&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;False&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        elif&lt;&#x2F;span&gt;&lt;span&gt; sig_num&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; ==&lt;&#x2F;span&gt;&lt;span&gt; SIGWINCH&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;            self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;signal_safe&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;SetSigWinchCode&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;iolib&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;UNTRAPPED_SIGWINCH&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        else&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            iolib&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;sigaction&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;sig_num&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span&gt; SIG_IGN&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;  # Actually set SIG_IGN!&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    else&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;        # Normal trap handler&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        if&lt;&#x2F;span&gt;&lt;span&gt; sig_num&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; ==&lt;&#x2F;span&gt;&lt;span&gt; SIGINT&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;            self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;signal_safe&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;SetSigIntTrapped&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;True&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        elif&lt;&#x2F;span&gt;&lt;span&gt; sig_num&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; ==&lt;&#x2F;span&gt;&lt;span&gt; SIGWINCH&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;            self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;signal_safe&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;SetSigWinchCode&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;SIGWINCH&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;        else&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;            iolib&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;RegisterSignalInterest&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;sig_num&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The key insight: I check if the handler is a NoOp, and if so, call &lt;code&gt;iolib.sigaction(sig_num, SIG_IGN)&lt;&#x2F;code&gt; to actually ignore the signal at the OS level.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;why-sigint-and-sigwinch-are-special&quot;&gt;Why SIGINT and SIGWINCH Are Special&lt;&#x2F;h3&gt;
&lt;p&gt;SIGINT and SIGWINCH need special handling because the shell interpreter itself cares about them:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SIGINT&lt;&#x2F;strong&gt; - For handling Ctrl-C &#x2F; KeyboardInterrupt&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;CPython has built-in handling for this&lt;&#x2F;li&gt;
&lt;li&gt;mycpp runtime calls &lt;code&gt;RegisterSignalInterest(SIGINT)&lt;&#x2F;code&gt; and polls with &lt;code&gt;PollSigInt()&lt;&#x2F;code&gt; in the main loop&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;SIGWINCH&lt;&#x2F;strong&gt; - For terminal resize events that affect line editing&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Here&#x27;s something interesting: when you do &lt;code&gt;trap &#x27;&#x27; SIGINT&lt;&#x2F;code&gt;, the &lt;code&gt;signal_safe&lt;&#x2F;code&gt; calls look the same as &lt;code&gt;trap - SIGINT&lt;&#x2F;code&gt; (both call &lt;code&gt;SetSigIntTrapped(False)&lt;&#x2F;code&gt;). But the behavior is different:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;trap -&lt;&#x2F;code&gt; removes the entry from &lt;code&gt;self.traps&lt;&#x2F;code&gt; → signal reverts to SIG_DFL&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;trap &#x27;&#x27;&lt;&#x2F;code&gt; stores NoOp in &lt;code&gt;self.traps&lt;&#x2F;code&gt; → signal set to SIG_IGN&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The shell needs to track SIGINT&#x2F;SIGWINCH separately from user traps, so this dual handling makes sense.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;displaying-trap-state&quot;&gt;Displaying Trap State&lt;&#x2F;h3&gt;
&lt;p&gt;When you run &lt;code&gt;trap -p&lt;&#x2F;code&gt;, I modified &lt;code&gt;_PrintTrapEntry()&lt;&#x2F;code&gt; to show ignored signals correctly:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;def&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt; _PrintTrapEntry&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt; handler&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt; name&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    if&lt;&#x2F;span&gt;&lt;span&gt; handler&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;tag&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;()&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; ==&lt;&#x2F;span&gt;&lt;span&gt; command_e&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;NoOp&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt;        print&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;trap -- &amp;#39;&amp;#39; &lt;&#x2F;span&gt;&lt;span style=&quot;color: #F5C2E7;&quot;&gt;%s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; %&lt;&#x2F;span&gt;&lt;span&gt; name&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;  # Show as empty string&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    else&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        code&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt; self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;_GetCommandSourceCode&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;handler&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt;        print&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;trap -- &lt;&#x2F;span&gt;&lt;span style=&quot;color: #F5C2E7;&quot;&gt;%s %s&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; %&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; (&lt;&#x2F;span&gt;&lt;span&gt;j8_lite&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;ShellEncode&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;code&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;),&lt;&#x2F;span&gt;&lt;span&gt; name&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;))&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This way &lt;code&gt;trap -p&lt;&#x2F;code&gt; shows &lt;code&gt;trap -- &#x27;&#x27; SIGINT&lt;&#x2F;code&gt; for ignored signals, which you can copy-paste to restore the same state.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-i-added&quot;&gt;What I Added&lt;&#x2F;h2&gt;
&lt;p&gt;The implementation required changes in a few key places:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;1. Empty string detection&lt;&#x2F;strong&gt; (builtin&#x2F;trap_osh.py:420):&lt;&#x2F;p&gt;
&lt;p&gt;When the first argument to &lt;code&gt;trap&lt;&#x2F;code&gt; is an empty string, treat it as a signal to ignore:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;if&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt; len&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;first_arg&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; ==&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    return&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt; self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;_AddTheRest&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;arg_r&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span&gt; command&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;NoOp&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;2. YSH &lt;code&gt;--ignore&lt;&#x2F;code&gt; flag&lt;&#x2F;strong&gt; (builtin&#x2F;trap_osh.py:378):&lt;&#x2F;p&gt;
&lt;p&gt;For the more explicit YSH syntax, I added a &lt;code&gt;--ignore&lt;&#x2F;code&gt; flag that does the same thing:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;if&lt;&#x2F;span&gt;&lt;span&gt; arg&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;ignore&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;  # trap --ignore&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;    return&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt; self&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;_AddTheRest&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;arg_r&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span&gt; command&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;NoOp&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt; allow_legacy&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;False&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;demo&quot;&gt;Demo&lt;&#x2F;h2&gt;
&lt;p&gt;Try it in OSH (POSIX-compatible):&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; bin&#x2F;osh -c &amp;quot;trap &amp;#39;&amp;#39; INT; trap -p&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;trap&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; -- &amp;#39;&amp;#39; SIGINT&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; bin&#x2F;osh -c &amp;quot;trap &amp;#39;&amp;#39; USR1 USR2; trap -p&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;trap&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; -- &amp;#39;&amp;#39; SIGUSR1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;trap&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; -- &amp;#39;&amp;#39; SIGUSR2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Or in YSH (modern syntax):&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;$&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; bin&#x2F;ysh -c &amp;quot;trap --ignore INT; trap -p&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;trap&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; -- &amp;#39;&amp;#39; SIGINT&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Pull request :: &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;oils-for-unix&#x2F;oils&#x2F;pull&#x2F;2586&quot;&gt;link&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Contributing to Oils(i)</title>
        <published>2025-12-03T00:00:00+00:00</published>
        <updated>2025-12-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/contributing-to-oils/"/>
        <id>https://daveads.github.io/note/contributing-to-oils/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/contributing-to-oils/">&lt;p&gt;This guide gives you a clear and lightweight overview on Oils, and how to get started contributing without getting overwhelmed.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;table-of-contents&quot;&gt;Table of Contents&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;daveads.github.io&#x2F;note&#x2F;contributing-to-oils&#x2F;#prerequisites&quot;&gt;Prerequisites&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;daveads.github.io&#x2F;note&#x2F;contributing-to-oils&#x2F;#learning&quot;&gt;Learning&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;daveads.github.io&#x2F;note&#x2F;contributing-to-oils&#x2F;#Resources&quot;&gt;Resource&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;what-is-oils&quot;&gt;What is Oils ?&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Oils&lt;&#x2F;strong&gt; is an upgrade path from bash to a better language and runtime.&lt;br &#x2F;&gt;
It comes in &lt;strong&gt;two shells&lt;&#x2F;strong&gt;, each built for a different kind of user:&lt;&#x2F;p&gt;
&lt;br&gt;
&lt;h3 id=&quot;what-are-osh-and-ysh&quot;&gt;What are OSH and YSH?&lt;&#x2F;h3&gt;
&lt;p&gt;OSH runs your existing shell scripts.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;What it does:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Drop-in replacement&lt;&#x2F;strong&gt; for bash&#x2F;POSIX shells&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Runs existing scripts&lt;&#x2F;strong&gt; without modification&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;POSIX compatibility&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;follows bash&#x2F;dash&#x2F;mksh behavior&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Gradual migration path&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;use it today for your existing bash scripts &lt;strong&gt;Target users:&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;System administrators with existing shell scripts&lt;&#x2F;li&gt;
&lt;li&gt;DevOps engineers maintaining legacy bash code&lt;&#x2F;li&gt;
&lt;li&gt;Anyone with a large corpus of shell scripts&lt;&#x2F;li&gt;
&lt;li&gt;Projects that need bash compatibility&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F5C2E7;font-style: italic;&quot;&gt;#!&#x2F;usr&#x2F;bin&#x2F;env osh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# Your existing bash script works as-is!&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;for&lt;&#x2F;span&gt;&lt;span&gt; file&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; in&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; *.txt&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; do&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;if&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; [[&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; -f&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;$file&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; ]];&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; then&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;Processing &lt;&#x2F;span&gt;&lt;span&gt;$file&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;cat&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;$file&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; |&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt; grep&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; pattern&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;fi&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;done&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;ysh-yaks-shell-modern-shell-language&quot;&gt;YSH - Yaks Shell (Modern Shell Language)&lt;&#x2F;h3&gt;
&lt;p&gt;YSH has a a faimilar syntax similar with python&#x2F;javascript so you should have no problem if you are conversant with any of those langugages.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;What it does:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Modern shell language&lt;&#x2F;strong&gt; with clean syntax&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Data structures&lt;&#x2F;strong&gt; - lists, dicts (not just strings)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Type safety&lt;&#x2F;strong&gt; - reduce errors with static types&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Better error handling&lt;&#x2F;strong&gt; - explicit try&#x2F;catch&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Expression-oriented&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Block syntax&lt;&#x2F;strong&gt; - { } for cleaner code organization&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Target users:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;People who find bash syntax confusing&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F5C2E7;font-style: italic;&quot;&gt;#!&#x2F;usr&#x2F;bin&#x2F;env ysh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;Variable and Expressions&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;const&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; name = &amp;#39;YSH User&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;var&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; x =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 10&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;setvar&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; x = x&lt;&#x2F;span&gt;&lt;span&gt; *&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 2&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; +&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 5&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;Hello &lt;&#x2F;span&gt;&lt;span&gt;$name&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;!&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;x + 10 = $[x + 10]&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;Command sub: &lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;$(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; hi&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;Data Structures (Lists &amp;amp; Dicts)&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;var&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; mylist =&lt;&#x2F;span&gt;&lt;span&gt; [x,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;foo&amp;#39;, &amp;#39;bar&amp;#39;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;var&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; person = {name: &amp;#39;Alice&amp;#39;, age:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 30&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;for&lt;&#x2F;span&gt;&lt;span&gt; i, item in &lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;mylist&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;) {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;  echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;  List[&lt;&#x2F;span&gt;&lt;span&gt;$i&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;]: &lt;&#x2F;span&gt;&lt;span&gt;$item&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;Expression-based Control Flow&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;if&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;person.age&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; &amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 20&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; and x&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; &amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 20&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;) {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;  echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;  $[person.name] is over 20 and x is over 20.&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;Shell-like proc (Procedure)&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;proc&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; greet&lt;&#x2F;span&gt;&lt;span&gt; (name_str) &lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;  echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;  Proc says: Hello, &lt;&#x2F;span&gt;&lt;span&gt;$name_str&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;greet&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;World&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;Python-like func (Function)&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;func&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; multiply&lt;&#x2F;span&gt;&lt;span&gt; (a,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; b&lt;&#x2F;span&gt;&lt;span&gt;) &lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;  return&lt;&#x2F;span&gt;&lt;span&gt; (a *&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; b&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;  Func says: 5 * 7 = $[multiply(5, 7)]&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;$[ENV.PWD]&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;Built-in JSON Handling&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;quot;  Writing &amp;#39;person&amp;#39; dict to JSON:&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;json&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; write&lt;&#x2F;span&gt;&lt;span&gt; (person)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;prerequisites&quot;&gt;Prerequisites&lt;&#x2F;h2&gt;
&lt;p&gt;Oils is written in Python, and you&#x27;ll be reading&#x2F;writing Python code daily.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;[] A good understanding of python&lt;&#x2F;li&gt;
&lt;li&gt;[] A Good understanding of how Lexers, parsers, and interpreters works in a practical context&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;learning&quot;&gt;Learning&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Book: &quot;Crafting Interpreters&quot; by Robert Nystrom - Best intro to parsers&lt;&#x2F;li&gt;
&lt;li&gt;Tutorial: &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ruslanspivak.com&#x2F;lsbasi-part1&#x2F;&quot;&gt;Let&#x27;s Build a Simple Interpreter&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Book: &quot;The Linux Programming Interface&quot; - Unix process management&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;getting-started-the-5-minute-setup&quot;&gt;Getting Started: The 5-Minute Setup&lt;&#x2F;h3&gt;
&lt;h3 id=&quot;installation&quot;&gt;installation&lt;&#x2F;h3&gt;
&lt;p&gt;You&#x27;ll need:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Python2&lt;&#x2F;li&gt;
&lt;li&gt;Git&lt;&#x2F;li&gt;
&lt;li&gt;Basic command-line knowledge&lt;&#x2F;li&gt;
&lt;li&gt;A Linux machine (or WSL on Windows)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;quick-setup&quot;&gt;Quick Setup&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# 1. Clone the repository&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; clone https:&#x2F;&#x2F;github.com&#x2F;oils-for-unix&#x2F;oils.git&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;cd&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; oils&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# Install system dependencies (choose your distro)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;build&#x2F;deps.sh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; wedge-deps-debian&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;   # Ubuntu&#x2F;Debian (uses sudo apt-get)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# OR&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;build&#x2F;deps.sh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; wedge-deps-alpine&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;   # Alpine Linux&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# OR&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;build&#x2F;deps.sh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; wedge-deps-fedora&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;   # Fedora&#x2F;RHEL&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# Download and build custom tools&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;build&#x2F;deps.sh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; fetch&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;               # Download source tarballs&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                                &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;build&#x2F;deps.sh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; install-wedges&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;      # Build and install tools (takes 5-10 min)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# Every time you git pull&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; build&#x2F;dev-shell.sh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;              # Update PATH with custom Python&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;build&#x2F;py.sh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; all&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;                   # Regenerate Python code (lexer, help, etc.)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# 3. Try it out!&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;bin&#x2F;osh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; -c &amp;#39;echo &amp;quot;Hello from OSH!&amp;quot;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;bin&#x2F;ysh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; -c &amp;#39;echo &amp;quot;Hello from YSH!&amp;quot;&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# 4. Test it works&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;test&#x2F;spec.sh&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; builtin-echo&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If this doesn&#x27;t work, ask on &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;oilshell.zulipchat.com&#x2F;&quot;&gt;Zulip&lt;&#x2F;a&gt; - we&#x27;re friendly!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;understanding-the-codebase&quot;&gt;Understanding the Codebase&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;the-big-picture-how-shells-work&quot;&gt;The Big Picture: How Shells Work&lt;&#x2F;h3&gt;
&lt;p&gt;Every shell follows this pipeline:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Input → Lexer → Parser → AST → Evaluator → Output&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  ↓       ↓        ↓      ↓        ↓         ↓&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;stdin  Tokens  Syntax  Tree  Execution   stdout&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Let&#x27;s trace &lt;code&gt;echo $USER&lt;&#x2F;code&gt;:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Input&lt;&#x2F;strong&gt;: User types &lt;code&gt;echo $USER&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Lexer&lt;&#x2F;strong&gt; breaks it into tokens: &lt;code&gt;[echo]&lt;&#x2F;code&gt; &lt;code&gt;[$USER]&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Parser&lt;&#x2F;strong&gt; builds an AST: &lt;code&gt;Simple(words=[&#x27;echo&#x27;, VarSub(&#x27;USER&#x27;)])&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Evaluator&lt;&#x2F;strong&gt; looks up &lt;code&gt;USER&lt;&#x2F;code&gt; → &lt;code&gt;&#x27;alice&#x27;&lt;&#x2F;code&gt;, then runs &lt;code&gt;echo alice&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Output&lt;&#x2F;strong&gt;: &lt;code&gt;alice&lt;&#x2F;code&gt; printed to stdout&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;directory-structure&quot;&gt;Directory Structure&lt;&#x2F;h3&gt;
&lt;p&gt;The codebase is organized logically:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;oils&#x2F;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── frontend&#x2F;      # Lexing, tokens (both OSH &amp;amp; YSH)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── osh&#x2F;           # OSH-specific parsing &amp;amp; evaluation&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── ysh&#x2F;           # YSH-specific parsing &amp;amp; evaluation&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── core&#x2F;          # Shared runtime (process management, state)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── builtin&#x2F;       # Built-in commands (cd, echo, trap, etc.)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;├── spec&#x2F;          # Tests comparing Oils to other shells&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└── _devbuild&#x2F;gen&#x2F; # Generated code (don&amp;#39;t edit!)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;br&gt;
&lt;p&gt;&lt;strong&gt;Important&lt;&#x2F;strong&gt;: Universal code (like process management) lives in &lt;code&gt;core&#x2F;&lt;&#x2F;code&gt;. Shell-specific code is in &lt;code&gt;osh&#x2F;&lt;&#x2F;code&gt; or &lt;code&gt;ysh&#x2F;&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;br&gt;
&lt;h3 id=&quot;key-files-to-know&quot;&gt;Key Files to Know&lt;&#x2F;h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;What&lt;&#x2F;th&gt;&lt;th&gt;Where&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Lexer&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;frontend&#x2F;lexer.py&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;OSH Parser&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;osh&#x2F;cmd_parse.py&lt;&#x2F;code&gt;, &lt;code&gt;osh&#x2F;word_parse.py&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;YSH Parser&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;ysh&#x2F;expr_parse.py&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Evaluator&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;osh&#x2F;cmd_eval.py&lt;&#x2F;code&gt;, &lt;code&gt;osh&#x2F;word_eval.py&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Builtins&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;builtin&#x2F;*.py&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Tests&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;spec&#x2F;*.test.sh&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;This is crucial for contributing effectively:&lt;&#x2F;p&gt;
&lt;h3 id=&quot;universal-code-both-shells&quot;&gt;Universal Code (Both Shells)&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Location&lt;&#x2F;strong&gt;: &lt;code&gt;core&#x2F;&lt;&#x2F;code&gt;, &lt;code&gt;frontend&#x2F;&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Purpose&lt;&#x2F;strong&gt;: Process management, lexing, core runtime&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Example&lt;&#x2F;strong&gt;: &lt;code&gt;core&#x2F;process.py&lt;&#x2F;code&gt; - waiting for child processes&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;osh-specific-code&quot;&gt;OSH-Specific Code&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Location&lt;&#x2F;strong&gt;: &lt;code&gt;osh&#x2F;&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Purpose&lt;&#x2F;strong&gt;: POSIX compatibility, bash-like syntax&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Example&lt;&#x2F;strong&gt;: &lt;code&gt;osh&#x2F;word_eval.py&lt;&#x2F;code&gt; - &lt;code&gt;$var&lt;&#x2F;code&gt; expansion&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;ysh-specific-code&quot;&gt;YSH-Specific Code&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Location&lt;&#x2F;strong&gt;: &lt;code&gt;ysh&#x2F;&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Purpose&lt;&#x2F;strong&gt;: Modern syntax, new features&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Example&lt;&#x2F;strong&gt;: &lt;code&gt;ysh&#x2F;expr_eval.py&lt;&#x2F;code&gt; - &lt;code&gt;var x = 42&lt;&#x2F;code&gt; expressions&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&quot;&quot;&quot;
Next Note will contain a deep dive in the mycpp transcompiler programm
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;resources&quot;&gt;Resources&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;documentation&quot;&gt;Documentation&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;oils.pub&#x2F;&quot;&gt;Main Documentation&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;oils-for-unix&#x2F;oils&#x2F;wiki&quot;&gt;GitHub Wiki&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;oils-for-unix&#x2F;oils&#x2F;wiki&#x2F;Contributing&quot;&gt;Contributing Guide&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;oils-for-unix&#x2F;oils&#x2F;wiki&#x2F;Spec-Tests&quot;&gt;Spec Tests Explained&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;community&quot;&gt;Community&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;oilshell.zulipchat.com&#x2F;&quot;&gt;Zulip Chat&lt;&#x2F;a&gt; - Ask questions here!&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;oils-for-unix&#x2F;oils&#x2F;issues&quot;&gt;GitHub Issues&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;oils.pub&#x2F;blog&#x2F;&quot;&gt;Blog&lt;&#x2F;a&gt; - Design discussions and updates&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;You don&#x27;t need deep compiler knowledge - just Python skills, curiosity, and willingness to dive deep and learn.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Ready to contribute?&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Join &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;oilshell.zulipchat.com&#x2F;&quot;&gt;Zulip&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Check &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;oils-for-unix&#x2F;oils&#x2F;issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22&quot;&gt;good first issues&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Clone the repo and run setup&lt;&#x2F;li&gt;
&lt;li&gt;Ask questions and have fun! 🎉&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Outsourcing your brain</title>
        <published>2025-11-30T00:00:00+00:00</published>
        <updated>2025-11-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/outsourcing-your-brain/"/>
        <id>https://daveads.github.io/writing/outsourcing-your-brain/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/outsourcing-your-brain/">&lt;p&gt;Once upon a time I used to Imagine the power one person could hold if they truly understood how technology works.&lt;&#x2F;p&gt;
&lt;p&gt;Now, that idea feels a bit shaky because thinking has been outsourced to LLMs.&lt;&#x2F;p&gt;
&lt;p&gt;But using your brain is just as important as going to the gym, it’s how you stay mentally strong.&lt;&#x2F;p&gt;
&lt;p&gt;It’s okay to be clueless or make unhealthy decisions at some point in your life, just make sure you start using your brain before it’s too late.&lt;&#x2F;p&gt;
&lt;p&gt;It’s important you take note of how new technology affects you.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Learn how to learn  &lt;em&gt;&#x2F;&#x2F;learn to push your self&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Understand how thing works on a deeper level.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Be the control freak to LLm...&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Learn to use your brain.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;At some point in the future, thinking might just be the next new thing.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>UV Python Manager</title>
        <published>2025-10-10T00:00:00+00:00</published>
        <updated>2025-10-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/uv-python-manager/"/>
        <id>https://daveads.github.io/note/uv-python-manager/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/uv-python-manager/">&lt;h2 id=&quot;setting-python-versions&quot;&gt;Setting Python Versions&lt;&#x2F;h2&gt;
&lt;hr &#x2F;&gt;
&lt;br&gt;
&lt;h3 id=&quot;create-venv-with-specific-python-version&quot;&gt;Create venv with specific Python version&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; venv .venv --python&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 3.11.6&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;pin-python-version-for-project&quot;&gt;Pin Python version for project&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; python pin&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 3.12&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;set-global-default-python-version&quot;&gt;Set global default Python version&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; python pin --global&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 3.12&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;run-script-with-specific-version-one-off&quot;&gt;Run script with specific version (one-off)&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; run --python&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 3.12&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; -- python my_script.py&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;br&gt;
&lt;h2 id=&quot;adding-uv-to-an-existing-projects&quot;&gt;Adding UV To An Existing Projects&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;initialize-uv-in-existing-project&quot;&gt;Initialize UV in existing project&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; init&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;create-and-activate-virtual-environment&quot;&gt;Create and activate virtual environment&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; venv .venv&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;source&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; .venv&#x2F;bin&#x2F;activate&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;  # Linux&#x2F;macOS&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# .venv\Scripts\activate   # Windows&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;install-dependencies-from-requirements-txt&quot;&gt;Install dependencies from requirements.txt&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; add -r requirements.txt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;sync-dependencies-pyproject-toml&quot;&gt;Sync dependencies (pyproject.toml)&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; sync&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;package-management&quot;&gt;Package Management&lt;&#x2F;h2&gt;
&lt;hr &#x2F;&gt;
&lt;h3 id=&quot;list-installed-packages&quot;&gt;List installed packages&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; pip list&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;add-new-package&quot;&gt;Add new package&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; add package-name&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;add-dev-dependency&quot;&gt;Add dev dependency&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; add --dev package-name&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;remove-package&quot;&gt;Remove package&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; remove package-name&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;update-packages&quot;&gt;Update packages&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; lock --upgrade&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; sync&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;python-version-management&quot;&gt;Python Version Management&lt;&#x2F;h2&gt;
&lt;hr &#x2F;&gt;
&lt;h3 id=&quot;install-python-version&quot;&gt;Install Python version&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; python install&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 3.12&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;list-available-python-versions&quot;&gt;List available Python versions&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; python list&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;list-installed-python-versions&quot;&gt;List installed Python versions&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; python list --only-installed&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;running-commands&quot;&gt;Running Commands&lt;&#x2F;h2&gt;
&lt;hr &#x2F;&gt;
&lt;h3 id=&quot;run-command-in-venv-without-activating&quot;&gt;Run command in venv without activating&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; run python script.py&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; run pytest&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; run uvicorn main:app --reload&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;create-new-project-from-scratch&quot;&gt;Create new project from scratch&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; init my-project&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;cd&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; my-project&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; add requests pandas numpy&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;quick-reference&quot;&gt;Quick Reference&lt;&#x2F;h2&gt;
&lt;hr &#x2F;&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Task&lt;&#x2F;th&gt;&lt;th&gt;Command&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;New project&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;uv init project-name&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Add package&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;uv add package-name&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Install deps&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;uv sync&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Run script&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;uv run python script.py&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Pin Python&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;uv python pin 3.12&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;List packages&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;uv pip list&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Update all&lt;&#x2F;td&gt;&lt;td&gt;&lt;code&gt;uv lock --upgrade &amp;amp;&amp;amp; uv sync&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h2 id=&quot;others&quot;&gt;Others&lt;&#x2F;h2&gt;
&lt;hr &#x2F;&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# Create isolated tool environments&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; tool install ruff&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; tool install black&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# Export requirements.txt from pyproject.toml&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;uv&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; pip compile pyproject.toml -o requirements.txt&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>July Reads 2025</title>
        <published>2025-07-08T00:00:00+00:00</published>
        <updated>2025-07-08T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/july-reads25/"/>
        <id>https://daveads.github.io/note/july-reads25/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/july-reads25/">&lt;h3 id=&quot;reads-for-july&quot;&gt;Reads for July&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;08-07-2025&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;yidingjiang.github.io&#x2F;blog&#x2F;post&#x2F;exploration&#x2F;&quot;&gt;The Era of Exploration&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.librariesforthefuture.bio&#x2F;p&#x2F;is-this-aging&quot;&gt;Is this aging?&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;16-07-2025&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;endler.dev&#x2F;2025&#x2F;best-programmers&#x2F;#break-down-problems&quot;&gt;The Best Programmers I Know&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;davidkimai&#x2F;Context-Engineering&quot;&gt;Context engineering&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;gwern.net&#x2F;ai-daydreaming&quot;&gt;ai-daydreaming&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;the-nerve-blog.ghost.io&#x2F;to-be-a-better-programmer-write-little-proofs-in-your-head&#x2F;&quot;&gt;To-be-a-better-programmer-write-little-proofs-in-your-head&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;blog.val.town&#x2F;vibe-code&quot;&gt;Vibe code is legacy code&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>June Reads 2025</title>
        <published>2025-06-04T00:00:00+00:00</published>
        <updated>2025-06-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/june-reads/"/>
        <id>https://daveads.github.io/note/june-reads/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/june-reads/">&lt;h3 id=&quot;reads-for-june&quot;&gt;Reads for June&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;simonwillison.net&#x2F;2025&#x2F;Mar&#x2F;19&#x2F;vibe-coding&#x2F;&quot;&gt;Not all ai-assisted programming is vibe coding&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;fly.io&#x2F;blog&#x2F;youre-all-nuts&#x2F;&quot;&gt;You&#x27;re all nuts&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ampcode.com&#x2F;how-to-build-an-agent&quot;&gt;How to build an agent&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ghuntley.com&#x2F;mirrors&#x2F;&quot;&gt;Mirrors&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;richardcsuwandi.github.io&#x2F;blog&#x2F;2025&#x2F;dgm&#x2F;&quot;&gt;AI that can improve itself&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;06-06-2025&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ghuntley.com&#x2F;mcp&#x2F;&quot;&gt;Mcp&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;time.com&#x2F;7289692&#x2F;when-ai-replaces-workers&#x2F;&quot;&gt;When ai replaces coworker&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.artfintel.com&#x2F;p&#x2F;reinforcement-learning-and-general&quot;&gt;Rl and general&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.joshuapurtell.com&#x2F;posts&#x2F;spec_eng&#x2F;&quot;&gt;Specification Engineering&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;09-06-2025&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;alloc.dev&#x2F;2025&#x2F;06&#x2F;07&#x2F;zig_optimization&quot;&gt;Optimization in zig&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.snellman.net&#x2F;blog&#x2F;archive&#x2F;2025-06-02-llms-are-cheap&#x2F;&quot;&gt;LLms are cheap&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;17-06-2025&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;simonwillison.net&#x2F;2025&#x2F;Jun&#x2F;16&#x2F;the-lethal-trifecta&#x2F;&quot;&gt;The lethal trifecta&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;themoralcircle.substack.com&#x2F;p&#x2F;live-like-you-only-have-10-years?t=lLXTEW8kyYNdOUihFmjkEw&amp;amp;s=09&quot;&gt;Live like you only have 10 years left&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;arxiv.org&#x2F;abs&#x2F;2104.00008&quot;&gt;Why is AI hard and Physics simple?&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;23-06-2025&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.high-capacity.com&#x2F;p&#x2F;chinese-industrial-maximalism&quot;&gt;Chinese industrial maximalism&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;newsletter.pragmaticengineer.com&#x2F;p&#x2F;tdd-ai-agents-and-coding-with-kent&quot;&gt;TDD, AI agents and coding with Kent Beck&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Comprehensive Music Theory Reading List</title>
        <published>2024-10-09T00:00:00+00:00</published>
        <updated>2024-10-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/reading-list/"/>
        <id>https://daveads.github.io/note/reading-list/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/reading-list/">&lt;h1 id=&quot;fundamentals-of-music-theory&quot;&gt;Fundamentals of Music Theory&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;pitch-and-notation&quot;&gt;Pitch and Notation&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Staff, Clefs, and Note Names&lt;&#x2F;li&gt;
&lt;li&gt;Ledger Lines&lt;&#x2F;li&gt;
&lt;li&gt;Accidentals (Sharps, Flats, and Naturals)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;rhythm-and-meter&quot;&gt;Rhythm and Meter&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Note Values (Whole, Half, Quarter, etc.)&lt;&#x2F;li&gt;
&lt;li&gt;Time Signatures&lt;&#x2F;li&gt;
&lt;li&gt;Simple, Compound, and Complex Meter&lt;&#x2F;li&gt;
&lt;li&gt;Syncopation and Polyrhythms&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;scales-and-modes&quot;&gt;Scales and Modes&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Major and Minor Scales&lt;&#x2F;li&gt;
&lt;li&gt;Natural, Harmonic, and Melodic Minor Scales&lt;&#x2F;li&gt;
&lt;li&gt;Pentatonic and Blues Scales&lt;&#x2F;li&gt;
&lt;li&gt;Church Modes (Ionian, Dorian, Phrygian, etc.)&lt;&#x2F;li&gt;
&lt;li&gt;Whole Tone and Chromatic Scales&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;intervals&quot;&gt;Intervals&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Perfect, Major, Minor, Augmented, and Diminished Intervals&lt;&#x2F;li&gt;
&lt;li&gt;Interval Inversion&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;harmony-and-chord-structures&quot;&gt;Harmony and Chord Structures&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;triads-and-seventh-chords&quot;&gt;Triads and Seventh Chords&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Major, Minor, Diminished, and Augmented Triads&lt;&#x2F;li&gt;
&lt;li&gt;Major 7th, Dominant 7th, Minor 7th, Half-Diminished 7th, Fully Diminished 7th&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;extended-and-altered-chords&quot;&gt;Extended and Altered Chords&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;9th, 11th, and 13th Chords&lt;&#x2F;li&gt;
&lt;li&gt;Altered Dominant Chords&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;chord-functions-and-progressions&quot;&gt;Chord Functions and Progressions&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Diatonic Harmony (Tonic, Dominant, Subdominant)&lt;&#x2F;li&gt;
&lt;li&gt;Common Chord Progressions (e.g., ii-V-I, I-IV-V)&lt;&#x2F;li&gt;
&lt;li&gt;Secondary Dominants and Leading-Tone Chords&lt;&#x2F;li&gt;
&lt;li&gt;Modulation and Key Relationships&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;counterpoint&quot;&gt;Counterpoint&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;species-counterpoint&quot;&gt;Species Counterpoint&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;First to Fifth Species&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;fugues-and-canons&quot;&gt;Fugues and Canons&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Fugue Structure (Exposition, Development, etc.)&lt;&#x2F;li&gt;
&lt;li&gt;Canon Techniques&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;form-and-analysis&quot;&gt;Form and Analysis&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;musical-forms&quot;&gt;Musical Forms&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Binary, Ternary, Rondo, and Sonata-Allegro Forms&lt;&#x2F;li&gt;
&lt;li&gt;Theme and Variations&lt;&#x2F;li&gt;
&lt;li&gt;Through-Composed Form&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;phrase-structure&quot;&gt;Phrase Structure&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Periods, Phrases, and Cadences&lt;&#x2F;li&gt;
&lt;li&gt;Antecedent and Consequent Phrases&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;advanced-concepts&quot;&gt;Advanced Concepts&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;modulation-and-key-relationships&quot;&gt;Modulation and Key Relationships&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Common and Uncommon Modulation Techniques&lt;&#x2F;li&gt;
&lt;li&gt;Pivot Chords&lt;&#x2F;li&gt;
&lt;li&gt;Enharmonic Modulation&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;circle-of-fifths&quot;&gt;Circle of Fifths&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Key Signatures and Relationships&lt;&#x2F;li&gt;
&lt;li&gt;Relative and Parallel Keys&lt;&#x2F;li&gt;
&lt;li&gt;Enharmonic Keys&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;chromaticism-and-non-diatonic-scales&quot;&gt;Chromaticism and Non-Diatonic Scales&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Chromatic Scale&lt;&#x2F;li&gt;
&lt;li&gt;Whole Tone Scale&lt;&#x2F;li&gt;
&lt;li&gt;Octatonic (Diminished) Scale&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;jazz-harmony-and-voicings&quot;&gt;Jazz Harmony and Voicings&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Jazz Chord Symbols and Nomenclature&lt;&#x2F;li&gt;
&lt;li&gt;Voicing Techniques (Drop 2, Quartal Voicing, etc.)&lt;&#x2F;li&gt;
&lt;li&gt;Improvisation and Scale Choices (Modes, Blues Scale, etc.)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;orchestration-and-instrumentation&quot;&gt;Orchestration and Instrumentation&lt;&#x2F;h1&gt;
&lt;ul&gt;
&lt;li&gt;Instrument Ranges and Characteristics&lt;&#x2F;li&gt;
&lt;li&gt;Writing for Different Ensembles
&lt;ul&gt;
&lt;li&gt;String Quartet, Wind Quintet, Brass Ensemble&lt;&#x2F;li&gt;
&lt;li&gt;Full Orchestra, Big Band&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;atonal-and-serial-music&quot;&gt;Atonal and Serial Music&lt;&#x2F;h1&gt;
&lt;p&gt;Twelve-Tone Technique
Set Theory&lt;&#x2F;p&gt;
&lt;h1 id=&quot;contemporary-music-theory&quot;&gt;Contemporary Music Theory&lt;&#x2F;h1&gt;
&lt;p&gt;Minimalism and Post-Minimalism
Electronic and Computer Music Theory&lt;&#x2F;p&gt;
&lt;h1 id=&quot;ethnomusicology&quot;&gt;Ethnomusicology&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;study-of-non-western-music-theories&quot;&gt;Study of Non-Western Music Theories&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Indian Raga and Tala&lt;&#x2F;li&gt;
&lt;li&gt;African Rhythmic Structures&lt;&#x2F;li&gt;
&lt;li&gt;Gamelan Scales and Forms&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;suggested-reading-list&quot;&gt;Suggested Reading List&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&quot;Tonal Harmony&quot; by Stefan Kostka and Dorothy Payne&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&quot;The Complete Musician&quot; by Steven G. Laitz&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&quot;Counterpoint&quot; by Fux (translated by Alfred Mann)&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&quot;Harmony&quot; by Walter Piston&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&quot;Jazz Theory Book&quot; by Mark Levine&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&quot;The Study of Orchestration&quot; by Samuel Adler&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&quot;A New Approach to Jazz Improvisation&quot; by Jamey Aebersold&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&quot;Twentieth-Century Harmony&quot; by Vincent Persichetti&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&quot;Materials and Techniques of Twentieth-Century Music&quot; by Stefan Kostka&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;&quot;Ethnomusicology: A Contemporary Reader&quot; edited by Jennifer C. Post&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>August Reads 2024</title>
        <published>2024-08-13T00:00:00+00:00</published>
        <updated>2024-08-13T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/august-reads/"/>
        <id>https://daveads.github.io/note/august-reads/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/august-reads/">&lt;h3 id=&quot;reads-for-august&quot;&gt;Reads for August&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;paulgraham.com&#x2F;fn.html&quot;&gt;Fierce nerds&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;paulgraham.com&#x2F;think.html&quot;&gt;&#x2F;think&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;transactional.blog&#x2F;blog&#x2F;2024-erasure-coding&quot;&gt;Erasure Coding&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Gospel Music Techniques and Chords</title>
        <published>2024-08-04T00:00:00+00:00</published>
        <updated>2024-08-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/gospel-music-techniques-and-chords/"/>
        <id>https://daveads.github.io/note/gospel-music-techniques-and-chords/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/gospel-music-techniques-and-chords/">&lt;h1 id=&quot;gospel-music-techniques-and-chords&quot;&gt;Gospel Music Techniques and Chords&lt;&#x2F;h1&gt;
&lt;p&gt;Gospel music is known for its rich harmonies, soulful melodies, and powerful rhythms. Here are some key techniques and chord progressions commonly used in gospel music:
&lt;br&gt;
&lt;br&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;techniques&quot;&gt;Techniques&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Call and Response&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Alternating sections between a leader and chorus or congregation&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Melismas&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Singing multiple notes on a single syllable of text&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Improvisation&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Spontaneous melodic and rhythmic variations, especially in vocals&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Rhythmic Syncopation&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Emphasizing off-beats and creating a &quot;groove&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Vamps&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Repeating short musical phrases, often with increasing intensity&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Key Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Dramatic modulations, often rising by a semitone or whole tone&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Walking Bass Lines&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Steady, stepwise bass movement, often in quarter notes&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;chords-and-progressions&quot;&gt;Chords and Progressions&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;common-chord-types&quot;&gt;Common Chord Types&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Major triads: 1 - 3 - 5&lt;&#x2F;li&gt;
&lt;li&gt;Minor triads: 1 - b3 - 5&lt;&#x2F;li&gt;
&lt;li&gt;Dominant 7th chords: 1 - 3 - 5 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Major 7th chords: 1 - 3 - 5 - 7&lt;&#x2F;li&gt;
&lt;li&gt;Minor 7th chords: 1 - b3 - 5 - b7&lt;&#x2F;li&gt;
&lt;li&gt;9th chords (especially dominant 9ths): 1 - 3 - 5 - b7 - 9&lt;&#x2F;li&gt;
&lt;li&gt;11th chords: 1 - 3 - 5 - b7 - 9 - 11&lt;&#x2F;li&gt;
&lt;li&gt;13th chords: 1 - 3 - 5 - b7 - 9 - 11 - 13&lt;&#x2F;li&gt;
&lt;li&gt;Diminished 7th chords: 1 - b3 - b5 - bb7&lt;&#x2F;li&gt;
&lt;li&gt;Augmented chords: 1 - 3 - #5&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;typical-chord-progressions&quot;&gt;Typical Chord Progressions&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;1-i-iv-i-v&quot;&gt;1. I - IV - I - V&lt;&#x2F;h4&gt;
&lt;p&gt;Example in C: C - F - C - G&lt;&#x2F;p&gt;
&lt;h4 id=&quot;2-ii-v-i&quot;&gt;2. II - V - I&lt;&#x2F;h4&gt;
&lt;p&gt;Example in C: Dm7 - G7 - C&lt;&#x2F;p&gt;
&lt;h4 id=&quot;3-i-vi-ii-v&quot;&gt;3. I - VI - II - V&lt;&#x2F;h4&gt;
&lt;p&gt;Example in C: C - Am - Dm - G&lt;&#x2F;p&gt;
&lt;h4 id=&quot;4-i-iii-iv-i&quot;&gt;4. I - III - IV - I&lt;&#x2F;h4&gt;
&lt;p&gt;Example in C: C - E - F - C&lt;&#x2F;p&gt;
&lt;h4 id=&quot;5-i-v-vi-iv&quot;&gt;5. I - V - VI - IV&lt;&#x2F;h4&gt;
&lt;p&gt;Example in C: C - G - Am - F&lt;&#x2F;p&gt;
&lt;h3 id=&quot;gospel-chord-techniques&quot;&gt;Gospel Chord Techniques&lt;&#x2F;h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cluster Chords&lt;&#x2F;strong&gt;: Close voicings, often including 2nds
Example: C(add9) voiced as C-D-E-G&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Passing Chords&lt;&#x2F;strong&gt;: Chromatic movement between main chords
Example: C - C#dim7 - Dm7 - G7&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Borrowed Chords&lt;&#x2F;strong&gt;: Using chords from parallel minor
Example: In C major, using Ab (bVI) or Fm (iv)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Extended Dominants&lt;&#x2F;strong&gt;: Using 9ths, 11ths, and 13ths on dominant chords
Example: G13 in place of G7&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Tritone Substitution&lt;&#x2F;strong&gt;: Replacing V7 with bII7
Example: Db7 instead of G7 in the key of C&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;&lt;strong&gt;Practice Tips&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Start by mastering basic progressions, then add extensions and alterations&lt;&#x2F;li&gt;
&lt;li&gt;Practice with recordings of gospel music to internalize the feel&lt;&#x2F;li&gt;
&lt;li&gt;Work on developing a strong sense of rhythm and groove&lt;&#x2F;li&gt;
&lt;li&gt;Experiment with different voicings and inversions of chords&lt;&#x2F;li&gt;
&lt;li&gt;Focus on creating smooth voice leading between chords&lt;&#x2F;li&gt;
&lt;li&gt;Practice improvising melodies over common gospel progressions&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Jazz Chord Symbols and Nomenclature</title>
        <published>2024-08-04T00:00:00+00:00</published>
        <updated>2024-08-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/jazz-chord-symbols/"/>
        <id>https://daveads.github.io/note/jazz-chord-symbols/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/jazz-chord-symbols/">&lt;h1 id=&quot;jazz-chord-symbols-and-nomenclature&quot;&gt;&lt;strong&gt;Jazz Chord Symbols and Nomenclature&lt;&#x2F;strong&gt;&lt;&#x2F;h1&gt;
&lt;p&gt;Jazz chord symbols provide a concise way to notate complex harmonic structures. Most commonly used jazz chord symbols and nomenclature.&lt;&#x2F;p&gt;
&lt;br&gt;
&lt;h3 id=&quot;basic-chords&quot;&gt;Basic Chords&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Major Chords&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C&lt;&#x2F;strong&gt;: C Major triad (C-E-G)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;CMaj7&lt;&#x2F;strong&gt; or &lt;strong&gt;C△7&lt;&#x2F;strong&gt;: C Major 7th (C-E-G-B)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Minor Chords&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cm&lt;&#x2F;strong&gt; or &lt;strong&gt;Cmin&lt;&#x2F;strong&gt;: C Minor triad (C-Eb-G)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cm7&lt;&#x2F;strong&gt; or &lt;strong&gt;Cmin7&lt;&#x2F;strong&gt;: C Minor 7th (C-Eb-G-Bb)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Dominant Chords&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C7&lt;&#x2F;strong&gt;: C Dominant 7th (C-E-G-Bb)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Half-Diminished Chords&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cm7♭5&lt;&#x2F;strong&gt; or &lt;strong&gt;Cø&lt;&#x2F;strong&gt;: C Half-Diminished 7th (C-Eb-Gb-Bb)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Diminished Chords&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cdim&lt;&#x2F;strong&gt; or &lt;strong&gt;C°&lt;&#x2F;strong&gt;: C Diminished triad (C-Eb-Gb)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cdim7&lt;&#x2F;strong&gt; or &lt;strong&gt;C°7&lt;&#x2F;strong&gt;: C Diminished 7th (C-Eb-Gb-Bbb)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;br&gt;
&lt;h3 id=&quot;extended-chords&quot;&gt;Extended Chords&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Extensions and Alterations&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;9th: C9 (dominant), Cmaj9, Cm9&lt;&#x2F;li&gt;
&lt;li&gt;11th: C11, Cmaj11, Cm11&lt;&#x2F;li&gt;
&lt;li&gt;13th: C13, Cmaj13, Cm13&lt;&#x2F;li&gt;
&lt;li&gt;Altered 5th: C(♭5), C(♯5)&lt;&#x2F;li&gt;
&lt;li&gt;Suspended: Csus4, Csus2&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Tensions and Additions&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Added tones: C6, Cadd9&lt;&#x2F;li&gt;
&lt;li&gt;Altered tensions: C7(♭9), C7(♯9), C7(♯11)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Ninth Chords&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C9&lt;&#x2F;strong&gt;: C Dominant 9th (C-E-G-Bb-D)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;CMaj9&lt;&#x2F;strong&gt; or &lt;strong&gt;C△9&lt;&#x2F;strong&gt;: C Major 9th (C-E-G-B-D)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cm9&lt;&#x2F;strong&gt; or &lt;strong&gt;Cmin9&lt;&#x2F;strong&gt;: C Minor 9th (C-Eb-G-Bb-D)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Eleventh Chords&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C11&lt;&#x2F;strong&gt;: C Dominant 11th (C-E-G-Bb-D-F)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;CMaj11&lt;&#x2F;strong&gt; or &lt;strong&gt;C△11&lt;&#x2F;strong&gt;: C Major 11th (C-E-G-B-D-F)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cm11&lt;&#x2F;strong&gt; or &lt;strong&gt;Cmin11&lt;&#x2F;strong&gt;: C Minor 11th (C-Eb-G-Bb-D-F)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Thirteenth Chords&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C13&lt;&#x2F;strong&gt;: C Dominant 13th (C-E-G-Bb-D-F-A)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;CMaj13&lt;&#x2F;strong&gt; or &lt;strong&gt;C△13&lt;&#x2F;strong&gt;: C Major 13th (C-E-G-B-D-F-A)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cm13&lt;&#x2F;strong&gt; or &lt;strong&gt;Cmin13&lt;&#x2F;strong&gt;: C Minor 13th (C-Eb-G-Bb-D-F-A)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;br&gt;
&lt;h3 id=&quot;altered-chords&quot;&gt;Altered Chords&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Altered Dominants&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C7♯5&lt;&#x2F;strong&gt; or &lt;strong&gt;C7+&lt;&#x2F;strong&gt;: C Dominant 7th with raised 5th (C-E-G#-Bb)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;C7♭5&lt;&#x2F;strong&gt;: C Dominant 7th with lowered 5th (C-E-Gb-Bb)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;C7♯9&lt;&#x2F;strong&gt;: C Dominant 7th with raised 9th (C-E-G-Bb-D#)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;C7♭9&lt;&#x2F;strong&gt;: C Dominant 7th with lowered 9th (C-E-G-Bb-Db)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;C7♯11&lt;&#x2F;strong&gt;: C Dominant 7th with raised 11th (C-E-G-Bb-F#)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;C7♭13&lt;&#x2F;strong&gt;: C Dominant 7th with lowered 13th (C-E-G-Bb-Ab)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Fully Altered Chords&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C7alt&lt;&#x2F;strong&gt;: C Dominant 7th with multiple alterations (e.g., C-E-G#-Bb-D#)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;br&gt;
&lt;h3 id=&quot;sus-chords&quot;&gt;Sus Chords&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Suspended Chords&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Csus4&lt;&#x2F;strong&gt; or &lt;strong&gt;C4&lt;&#x2F;strong&gt;: C Suspended 4th (C-F-G)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;C7sus4&lt;&#x2F;strong&gt;: C Dominant 7th Suspended 4th (C-F-G-Bb)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Csus2&lt;&#x2F;strong&gt; or &lt;strong&gt;C2&lt;&#x2F;strong&gt;: C Suspended 2nd (C-D-G)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;br&gt;
&lt;h3 id=&quot;add-chords&quot;&gt;Add Chords&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Added Tone Chords&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cadd9&lt;&#x2F;strong&gt;: C Major with added 9th (C-E-G-D)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cmadd9&lt;&#x2F;strong&gt;: C Minor with added 9th (C-Eb-G-D)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;br&gt;
&lt;h3 id=&quot;slash-chords&quot;&gt;Slash Chords&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Chords with Alternate Bass Notes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C&#x2F;G&lt;&#x2F;strong&gt;: C Major with G in the bass (G-C-E)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Am7&#x2F;G&lt;&#x2F;strong&gt;: A Minor 7th with G in the bass (G-A-C-E)&lt;&#x2F;li&gt;
&lt;li&gt;C&#x2F;E (C major with E in the bass)&lt;&#x2F;li&gt;
&lt;li&gt;Dm7&#x2F;G (D minor 7 with G in the bass)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;br&gt;
&lt;h3 id=&quot;quartal-and-quintal-chords&quot;&gt;Quartal and Quintal Chords&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Quartal Voicings&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C4&lt;&#x2F;strong&gt;: Chord built in fourths (e.g., C-F-Bb)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Quintal Voicings&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C5&lt;&#x2F;strong&gt;: Chord built in fifths (e.g., C-G-D)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;br&gt;
&lt;h3 id=&quot;poly-chords&quot;&gt;Poly Chords&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Two Chords Played Simultaneously&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C&#x2F;G&lt;&#x2F;strong&gt;: C Major triad over G Major triad (C-E-G &#x2F; G-B-D)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;br&gt;
&lt;blockquote class=&quot;callout note&quot;&gt;
    
    &lt;div class=&quot;icon&quot;&gt;
        &lt;svg xmlns=&quot;http:&#x2F;&#x2F;www.w3.org&#x2F;2000&#x2F;svg&quot; viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot;&gt;&lt;path d=&quot;M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM11 7H13V9H11V7ZM11 11H13V17H11V11Z&quot; fill=&quot;currentColor&quot;&gt;&lt;&#x2F;path&gt;&lt;&#x2F;svg&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;content&quot;&gt;
        
        &lt;p&gt;&lt;strong&gt;Common Shorthand&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
        
        &lt;ul&gt;
&lt;li&gt;△ = Major 7th&lt;&#x2F;li&gt;
&lt;li&gt;ø = Half-diminished ( Cø, Cm7(♭5) )&lt;&#x2F;li&gt;
&lt;li&gt;° = Fully diminished ( C°, Cdim )&lt;&#x2F;li&gt;
&lt;li&gt;&quot;+&quot; = Augmented ( Caug or C+ )&lt;&#x2F;li&gt;
&lt;li&gt;♭ = Flat ( C7(♭5), C7(♭9) )    &#x2F;&#x2F;Lower a Key by a Half Note&lt;&#x2F;li&gt;
&lt;li&gt;♯ = Sharp ( C7(♯5), C7(♯9) )   &#x2F;&#x2F;Raise a Key by Half Note&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Jazz Chords and Scales</title>
        <published>2024-07-20T00:00:00+00:00</published>
        <updated>2024-07-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/jazz-chords-and-scales/"/>
        <id>https://daveads.github.io/note/jazz-chords-and-scales/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/jazz-chords-and-scales/">&lt;h1 id=&quot;jazz-chords-and-scales&quot;&gt;Jazz Chords and Scales&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;chords&quot;&gt;Chords&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;triads&quot;&gt;Triads&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Major: 1 - 3 - 5&lt;&#x2F;li&gt;
&lt;li&gt;Minor: 1 - b3 - 5&lt;&#x2F;li&gt;
&lt;li&gt;Diminished: 1 - b3 - b5&lt;&#x2F;li&gt;
&lt;li&gt;Augmented: 1 - 3 - #5&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;seventh-chords&quot;&gt;Seventh Chords&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Major 7th (Maj7): 1 - 3 - 5 - 7&lt;&#x2F;li&gt;
&lt;li&gt;Dominant 7th (7): 1 - 3 - 5 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Minor 7th (m7): 1 - b3 - 5 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Half-Diminished 7th (m7b5): 1 - b3 - b5 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Fully Diminished 7th (dim7): 1 - b3 - b5 - bb7&lt;&#x2F;li&gt;
&lt;li&gt;Minor Major 7th (mMaj7): 1 - b3 - 5 - 7&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;extended-chords-and-altered-chords&quot;&gt;Extended Chords and Altered Chords&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Minor 6: 1 - b3 - 5 - 6&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;9th chords:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;add9: 1 - 3 - 5 - 9&lt;&#x2F;li&gt;
&lt;li&gt;9: 1 - 3 - 5 - b7 - 9&lt;&#x2F;li&gt;
&lt;li&gt;m9: 1 - b3 - 5 - b7 - 9&lt;&#x2F;li&gt;
&lt;li&gt;Maj9: 1 - 3 - 5 - 7 - 9&lt;&#x2F;li&gt;
&lt;li&gt;Maj6&#x2F;9: 1 - 3 - 5 - 6 - 9&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;11th chords:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;11: 1 - 3 - 5 - b7 - 9 - 11&lt;&#x2F;li&gt;
&lt;li&gt;m11: 1 - b3 - 5 - b7 - 9 - 11&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;13th chords:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;13: 1 - 3 - 5 - b7 - 9 - 11 - 13&lt;&#x2F;li&gt;
&lt;li&gt;m13: 1 - b3 - 5 - b7 - 9 - 11 - 13&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;altered-dominants&quot;&gt;Altered Dominants&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;7th chords:
&lt;ul&gt;
&lt;li&gt;Dom9: 1 - 3 - 5 - b7 - 9&lt;&#x2F;li&gt;
&lt;li&gt;Dom7(#5): 1 - 3 - #5 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Dom7(b5): 1 - 3 - b5 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Dom7(b9): 1 - 3 - 5 - b7 - b9&lt;&#x2F;li&gt;
&lt;li&gt;Dom7(#9): 1 - 3 - 5 - b7 - #9&lt;&#x2F;li&gt;
&lt;li&gt;Dom7(#11): 1 - 3 - 5 - b7 - #11&lt;&#x2F;li&gt;
&lt;li&gt;Dom7(b13): 1 - 3 - 5 - b7 - b13&lt;&#x2F;li&gt;
&lt;li&gt;7alt: 1 - 3 - b5&#x2F;#5 - b7 - b9&#x2F;#9 - b13&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;sus-chords&quot;&gt;Sus Chords&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Sus4: 1 - 4 - 5&lt;&#x2F;li&gt;
&lt;li&gt;Sus2: 1 - 2 - 5&lt;&#x2F;li&gt;
&lt;li&gt;7sus4: 1 - 4 - 5 - b7&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;scales&quot;&gt;Scales&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;basic-scales&quot;&gt;Basic Scales&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Major scale: 1 - 2 - 3 - 4 - 5 - 6 - 7&lt;&#x2F;li&gt;
&lt;li&gt;Natural minor scale: 1 - 2 - b3 - 4 - 5 - b6 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Harmonic minor scale: 1 - 2 - b3 - 4 - 5 - b6 - 7&lt;&#x2F;li&gt;
&lt;li&gt;Melodic minor scale (jazz minor): 1 - 2 - b3 - 4 - 5 - 6 - 7&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;modes-of-the-major-scale&quot;&gt;Modes of the Major Scale&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Dorian: 1 - 2 - b3 - 4 - 5 - 6 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Phrygian: 1 - b2 - b3 - 4 - 5 - b6 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Lydian: 1 - 2 - 3 - #4 - 5 - 6 - 7&lt;&#x2F;li&gt;
&lt;li&gt;Mixolydian: 1 - 2 - 3 - 4 - 5 - 6 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Aeolian: 1 - 2 - b3 - 4 - 5 - b6 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Locrian: 1 - b2 - b3 - 4 - b5 - b6 - b7&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;modes-of-the-melodic-minor&quot;&gt;Modes of the Melodic Minor&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Dorian b2: 1 - b2 - b3 - 4 - 5 - 6 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Lydian Augmented: 1 - 2 - 3 - #4 - #5 - 6 - 7&lt;&#x2F;li&gt;
&lt;li&gt;Lydian Dominant: 1 - 2 - 3 - #4 - 5 - 6 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Mixolydian b6: 1 - 2 - 3 - 4 - 5 - b6 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Locrian #2: 1 - 2 - b3 - 4 - b5 - b6 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Altered Scale (Super Locrian): 1 - b2 - b3 - b4 - b5 - b6 - b7&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;pentatonic-scales&quot;&gt;Pentatonic Scales&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Major Pentatonic: 1 - 2 - 3 - 5 - 6&lt;&#x2F;li&gt;
&lt;li&gt;Minor Pentatonic: 1 - b3 - 4 - 5 - b7&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;blues-scales&quot;&gt;Blues Scales&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Major Blues Scale: 1 - 2 - b3 - 3 - 5 - 6&lt;&#x2F;li&gt;
&lt;li&gt;Minor Blues Scale: 1 - b3 - 4 - b5 - 5 - b7&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;symmetric-scales&quot;&gt;Symmetric Scales&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Whole Tone Scale: 1 - 2 - 3 - #4 - #5 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Diminished Scale (Half-Whole): 1 - b2 - b3 - 3 - #4 - 5 - 6 - b7&lt;&#x2F;li&gt;
&lt;li&gt;Whole-Half Diminished Scale: 1 - 2 - b3 - 4 - b5 - b6 - 6 - 7&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;bebop-scales&quot;&gt;Bebop Scales&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Bebop Dominant Scale: 1 - 2 - 3 - 4 - 5 - 6 - b7 - 7&lt;&#x2F;li&gt;
&lt;li&gt;Bebop Major Scale: 1 - 2 - 3 - 4 - 5 - #5 - 6 - 7&lt;&#x2F;li&gt;
&lt;li&gt;Bebop Dorian Scale: 1 - 2 - b3 - 3 - 4 - 5 - 6 - b7&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;miscellaneous-scales&quot;&gt;Miscellaneous Scales&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Chromatic Scale: 1 - b2 - 2 - b3 - 3 - 4 - b5 - 5 - b6 - 6 - b7 - 7&lt;&#x2F;li&gt;
&lt;li&gt;Augmented Scale: 1 - b3 - 3 - 5 - #5 - 7&lt;&#x2F;li&gt;
&lt;li&gt;Lydian b7 Scale (Overtone Scale): 1 - 2 - 3 - #4 - 5 - 6 - b7&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;practice-tips&quot;&gt;Practice Tips&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Start with major and minor triads and seventh chords in all keys.&lt;&#x2F;li&gt;
&lt;li&gt;Learn scales in conjunction with their corresponding chords.&lt;&#x2F;li&gt;
&lt;li&gt;Practice chord-scale relationships (e.g., Dorian mode over m7 chords).&lt;&#x2F;li&gt;
&lt;li&gt;Work on voice leading between chords.&lt;&#x2F;li&gt;
&lt;li&gt;Use these chords and scales in the context of standard jazz progressions.&lt;&#x2F;li&gt;
&lt;li&gt;Incorporate these elements into your improvisation gradually.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;jazz-books&quot;&gt;Jazz Books&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;The Jazz Theory Book by Mark Levine&lt;&#x2F;li&gt;
&lt;li&gt;Jazz Piano Book by Mark Levine&lt;&#x2F;li&gt;
&lt;li&gt;The Jazz Harmony Book by David Berkman&lt;&#x2F;li&gt;
&lt;li&gt;Jazzology: The Encyclopedia of Jazz Theory for All Musicians by Robert Rawlins and Nor Eddine Bahha&lt;&#x2F;li&gt;
&lt;li&gt;The Jazz Guitarist&#x27;s Handbook by Andrew Green&lt;&#x2F;li&gt;
&lt;li&gt;Jazz Scales and Chords by Jeff Brent and Schell Barkley&lt;&#x2F;li&gt;
&lt;li&gt;Chord Chemistry by Ted Greene&lt;&#x2F;li&gt;
&lt;li&gt;Jazz Chord Hanon by Peter Deneff&lt;&#x2F;li&gt;
&lt;li&gt;Scales and Modes in the Beginning by Ron Middlebrook&lt;&#x2F;li&gt;
&lt;li&gt;The Jazz Piano Book by Mark Harrison&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Development Environment</title>
        <published>2024-07-20T00:00:00+00:00</published>
        <updated>2024-07-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/development-environment/"/>
        <id>https://daveads.github.io/writing/development-environment/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/development-environment/">&lt;p&gt;&lt;figure class=&quot;centered-image&quot;&gt;

    &lt;img src=&quot;&#x2F;assets&#x2F;images&#x2F;writing&amp;#x2F;dev_environment.jpg&quot;

     alt=&quot;a human programmer&quot;

     width=&quot;400&quot;
     height=&quot;400&quot; 
    loading=&quot;lazy&quot; &#x2F;&gt;

    
    &lt;figcaption&gt;a human programmer&lt;&#x2F;figcaption&gt;
    

&lt;&#x2F;figure&gt;
This post was originally intended to be about &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;neovim&#x2F;neovim&quot;&gt;Neovim&lt;&#x2F;a&gt; configuration, but changed its focus along the way.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Operating System:&lt;&#x2F;strong&gt;
I was never a big fan of Windows, though I started with it. I disliked dealing with numerous floating windows just to complete a task that can be done within the terminal window. You don&#x27;t get to choose your &lt;strong&gt;window manager&lt;&#x2F;strong&gt;, &lt;strong&gt;login manager&lt;&#x2F;strong&gt; or choose when to upgrade, etc. &lt;em&gt;You basically don&#x27;t own that computer&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Computer 0:&lt;&#x2F;strong&gt; &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;archlinux.org&#x2F;&quot;&gt;Arch Linux&lt;&#x2F;a&gt;&lt;br &#x2F;&gt;
I switch between &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;swaywm&#x2F;sway&quot;&gt;Sway&lt;&#x2F;a&gt; and &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;i3&#x2F;i3&quot;&gt;i3&lt;&#x2F;a&gt; tiling window managers, for reasons that are admittedly somewhat amusing.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Computer 1:&lt;&#x2F;strong&gt; &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ubuntu.com&#x2F;&quot;&gt;Ubuntu&lt;&#x2F;a&gt;&lt;br &#x2F;&gt;
Also equipped with i3 and Sway tiling window managers.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Computer 2:&lt;&#x2F;strong&gt; :}&lt;&#x2F;p&gt;
&lt;p&gt;I tend to gravitate towards tools written in my favorite programming languages and projects I could potentially contribute to when needed (with the exception of VSCode).&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Code Editors:&lt;&#x2F;strong&gt;&lt;br &#x2F;&gt;
I switch between Vim&#x2F;Neovim and VSCode, depending on my mood. Occasionally, I use &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lapce&#x2F;lapce&quot;&gt;Lapce&lt;&#x2F;a&gt; as well.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Neovim Configuration:&lt;&#x2F;strong&gt;
&lt;img src=&quot;&#x2F;assets&#x2F;images&#x2F;writing&#x2F;screenshot.png&quot; alt=&quot;tmux(0)&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;My Neovim configuration looks like the picture above... lol that is exactly how it looks... if you&#x27;re curious, check out my &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;daveads&#x2F;.sys_s&quot;&gt;Configs&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;For terminal emulator, I use &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;alacritty&#x2F;alacritty&quot;&gt;Alacritty&lt;&#x2F;a&gt;, and for terminal multiplexing, I primarily use &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;tmux&#x2F;tmux&quot;&gt;Tmux&lt;&#x2F;a&gt;. My shell environment is mostly Bash.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Browsers:&lt;&#x2F;strong&gt;&lt;br &#x2F;&gt;
While I prefer &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.mozilla.org&#x2F;en-US&#x2F;firefox&#x2F;&quot;&gt;Firefox&lt;&#x2F;a&gt;, I occasionally use Chrome and Brave.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Jazz Piano Fingering Exercises</title>
        <published>2024-07-15T00:00:00+00:00</published>
        <updated>2024-07-15T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/jazz-piano-fingering-exercises/"/>
        <id>https://daveads.github.io/note/jazz-piano-fingering-exercises/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/jazz-piano-fingering-exercises/">&lt;h3 id=&quot;jazz-fingering-exercises&quot;&gt;Jazz Fingering Exercises&lt;&#x2F;h3&gt;
&lt;p&gt;Exercises to improve your jazz piano technique:
&#x2F;&#x2F; Developing finger dexterity and coordination&lt;&#x2F;p&gt;
&lt;h3 id=&quot;scale-patterns&quot;&gt;Scale Patterns&lt;&#x2F;h3&gt;
&lt;p&gt;Practice major and minor scales using various fingering patterns:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;1-2-3-1-2-3-4-5 (ascending), 5-4-3-2-1-3-2-1 (descending)&lt;&#x2F;li&gt;
&lt;li&gt;1-2-3-4-1-2-3-4 (ascending), 4-3-2-1-4-3-2-1 (descending)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Example in C major:
C-D-E-C-D-E-F-G (ascending)
G-F-E-D-C-E-D-C (descending)&lt;&#x2F;p&gt;
&lt;h3 id=&quot;chord-inversions&quot;&gt;Chord Inversions&lt;&#x2F;h3&gt;
&lt;p&gt;Practice all inversions of seventh chords in all keys:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Cmaj7: C-E-G-B, E-G-B-C, G-B-C-E, B-C-E-G&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;hanon-exercises-with-swing-feel&quot;&gt;Hanon Exercises with Swing Feel&lt;&#x2F;h3&gt;
&lt;p&gt;Adapt classical Hanon exercises to jazz by playing them with a swing feel:&lt;&#x2F;p&gt;
&lt;p&gt;1-2-3-4-5-4-3-2 | 2-3-4-5-6-5-4-3 | 3-4-5-6-7-6-5-4 | etc.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;chromatic-exercise&quot;&gt;Chromatic Exercise&lt;&#x2F;h3&gt;
&lt;p&gt;Practice this chromatic pattern in all keys:&lt;&#x2F;p&gt;
&lt;p&gt;1-3-2-4-3-5-4-6-5-7-6-8&lt;&#x2F;p&gt;
&lt;p&gt;Example starting on C:
C-D-C#-E-D-F-E-G-F-A-G-B&lt;&#x2F;p&gt;
&lt;h3 id=&quot;rootless-voicing-exercise&quot;&gt;Rootless Voicing Exercise&lt;&#x2F;h3&gt;
&lt;p&gt;Practice transitioning between rootless voicings of ii-V-I progressions:&lt;&#x2F;p&gt;
&lt;p&gt;Dm7 (F-A-C-E) -&amp;gt; G7 (F-A-B-D) -&amp;gt; Cmaj7 (E-G-B-D)&lt;&#x2F;p&gt;
&lt;h3 id=&quot;triad-pairs&quot;&gt;Triad Pairs&lt;&#x2F;h3&gt;
&lt;p&gt;Practice playing triad pairs to develop coordination and harmonic thinking:&lt;&#x2F;p&gt;
&lt;p&gt;C and D triads:
C-E-G-D-F#-A-C-E-G-D-F#-A (ascending)
A-F#-D-G-E-C-A-F#-D-G-E-C (descending)&lt;&#x2F;p&gt;
&lt;h3 id=&quot;fourth-voicings&quot;&gt;Fourth Voicings&lt;&#x2F;h3&gt;
&lt;p&gt;Practice voicings in fourths to improve stretch and flexibility:&lt;&#x2F;p&gt;
&lt;p&gt;C-F-Bb-Eb | D-G-C-F | E-A-D-G | etc.&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;callout tip&quot;&gt;
    
    &lt;div class=&quot;icon&quot;&gt;
        &lt;svg xmlns=&quot;http:&#x2F;&#x2F;www.w3.org&#x2F;2000&#x2F;svg&quot; viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot;&gt;&lt;path d=&quot;M9.97308 18H11V13H13V18H14.0269C14.1589 16.7984 14.7721 15.8065 15.7676 14.7226C15.8797 14.6006 16.5988 13.8564 16.6841 13.7501C17.5318 12.6931 18 11.385 18 10C18 6.68629 15.3137 4 12 4C8.68629 4 6 6.68629 6 10C6 11.3843 6.46774 12.6917 7.31462 13.7484C7.40004 13.855 8.12081 14.6012 8.23154 14.7218C9.22766 15.8064 9.84103 16.7984 9.97308 18ZM10 20V21H14V20H10ZM5.75395 14.9992C4.65645 13.6297 4 11.8915 4 10C4 5.58172 7.58172 2 12 2C16.4183 2 20 5.58172 20 10C20 11.8925 19.3428 13.6315 18.2443 15.0014C17.624 15.7748 16 17 16 18.5V21C16 22.1046 15.1046 23 14 23H10C8.89543 23 8 22.1046 8 21V18.5C8 17 6.37458 15.7736 5.75395 14.9992Z&quot; fill=&quot;currentColor&quot;&gt;&lt;&#x2F;path&gt;&lt;&#x2F;svg&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;content&quot;&gt;
        
        &lt;p&gt;&lt;strong&gt;Practice tips&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
        
        &lt;ul&gt;
&lt;li&gt;practice these exercises slowly at first,&lt;&#x2F;li&gt;
&lt;li&gt;focus on accuracy and evenness.&lt;&#x2F;li&gt;
&lt;li&gt;Gradually increase the tempo as you become more comfortable. &lt;br&gt;
&#x2F;&#x2F; Always use a metronome to develop a solid sense of time.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Piano Chord Voicing Techniques in Jazz</title>
        <published>2024-07-15T00:00:00+00:00</published>
        <updated>2024-07-15T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/piano-chord-voicing-techniques-in-jazz/"/>
        <id>https://daveads.github.io/note/piano-chord-voicing-techniques-in-jazz/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/piano-chord-voicing-techniques-in-jazz/">&lt;p&gt;Voicing chords on the piano involves creatively arranging the notes of a chord to achieve different textures and harmonies. Common methods of voicing chords:&lt;&#x2F;p&gt;
&lt;h3 id=&quot;root-position-and-inversions&quot;&gt;Root Position and Inversions&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Root Position:&lt;&#x2F;strong&gt; The root of the chord is the lowest note.  1 - 3 - 5 - 7&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;1st Inversion:&lt;&#x2F;strong&gt; The third of the chord is the lowest note. 3 - 5 - 7 - 1&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;2nd Inversion:&lt;&#x2F;strong&gt; The fifth of the chord is the lowest note. 5 - 7 - 1 - 3&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;3rd Inversion (for 7th chords):&lt;&#x2F;strong&gt; The seventh of the chord is the lowest note. 7 - 1 - 3 - 5&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;closed-and-open-voicings&quot;&gt;Closed and Open Voicings&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Closed Voicing:&lt;&#x2F;strong&gt; All chord tones are within an octave. 1 - 3 - 5 - 7&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Open Voicing:&lt;&#x2F;strong&gt; Chord tones are spread out, often spanning more than an octave. 1 - 5 - 7 - 3&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;drop-voicings&quot;&gt;Drop Voicings&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Drop 2 Voicing:&lt;&#x2F;strong&gt; The second highest note of a closed voicing is dropped an octave.     5 - 1 - 3 - 7&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Drop 3 Voicing:&lt;&#x2F;strong&gt; The third highest note of a closed voicing is dropped an octave.      3 - 7 - 1 - 5&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Drop 2 and 4 Voicing:&lt;&#x2F;strong&gt; Both the second and fourth highest notes are dropped an octave. 3 - 5 - 7 - 1&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;quartal-and-quintal-voicings&quot;&gt;Quartal and Quintal Voicings&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Quartal Voicing:&lt;&#x2F;strong&gt; Chords built in fourths (e.g., C-F-Bb).  1 - 4 - b7 (or 1 - 4 - 7)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Quintal Voicing:&lt;&#x2F;strong&gt; Chords built in fifths (e.g., C-G-D).    1 - 5 - 9&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;cluster-voicings&quot;&gt;Cluster Voicings&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Tone Clusters:&lt;&#x2F;strong&gt; Chords with notes that are close together, often including seconds and minor seconds.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;shell-voicings&quot;&gt;Shell Voicings&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Left Hand Shells:&lt;&#x2F;strong&gt; Often used in jazz, consisting of the root, third, and seventh (or sometimes the root and seventh, or root and third).&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;upper-structure-triads&quot;&gt;Upper Structure Triads&lt;&#x2F;h3&gt;
&lt;p&gt;Combining a triad (often major or minor) over a different bass note to create complex chords (e.g., an E major triad over a C bass note for a Cmaj#11 sound).  1 - 3 - #11 - 7&lt;&#x2F;p&gt;
&lt;h3 id=&quot;so-what-voicing&quot;&gt;So What Voicing&lt;&#x2F;h3&gt;
&lt;p&gt;Based on the voicing used in the Miles Davis tune &quot;So What,&quot; consisting of a stack of fourths with a major third on top (e.g., D-G-C-F-A).  1 - 4 - 7 - 3 - 6&lt;&#x2F;p&gt;
&lt;h3 id=&quot;rootless-voicings&quot;&gt;Rootless Voicings&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rootless Left Hand Voicings:&lt;&#x2F;strong&gt; Often used in jazz, where the left hand plays the third and seventh (and possibly other tensions) while the root is implied or played by a bass player.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;guide-tone-voicings&quot;&gt;Guide Tone Voicings&lt;&#x2F;h3&gt;
&lt;p&gt;Chords reduced to their essential tones, often the third and seventh, which guide the harmony.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;practical-examples&quot;&gt;Practical Examples&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cmaj7 (root position):&lt;&#x2F;strong&gt; C-E-G-B    1 - 3 - 5 - 7&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cmaj7 (1st inversion):&lt;&#x2F;strong&gt; E-G-B-C    3 - 5 - 7 - 1&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cmaj7 (2nd inversion):&lt;&#x2F;strong&gt; G-B-C-E    5 - 7 - 1 - 3&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cmaj7 (3rd inversion):&lt;&#x2F;strong&gt; B-C-E-G    7 - 1 - 3 - 5&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cmaj7 (closed voicing):&lt;&#x2F;strong&gt; C-E-G-B   1 - 3 - 5 - 7&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cmaj7 (open voicing):&lt;&#x2F;strong&gt; C-G-B-E     1 - 5 - 7 - 3&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cmaj7 (drop 2 voicing):&lt;&#x2F;strong&gt; G-C-E-B   5 - 1 - 3 - 7&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Cmaj7 (shell voicing):&lt;&#x2F;strong&gt; C-E-B      1 - 3 - 7&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;jazz-specific-voicings&quot;&gt;Jazz-Specific Voicings&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;C7 (rootless left hand voicing):&lt;&#x2F;strong&gt; E-Bb (3rd and 7th)   3 - b7&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;C7 (upper structure triad):&lt;&#x2F;strong&gt; E-G#-C# (augmented triad over C)  3 - #5 - #1&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;blockquote class=&quot;callout tip&quot;&gt;
    
    &lt;div class=&quot;icon&quot;&gt;
        &lt;svg xmlns=&quot;http:&#x2F;&#x2F;www.w3.org&#x2F;2000&#x2F;svg&quot; viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot;&gt;&lt;path d=&quot;M9.97308 18H11V13H13V18H14.0269C14.1589 16.7984 14.7721 15.8065 15.7676 14.7226C15.8797 14.6006 16.5988 13.8564 16.6841 13.7501C17.5318 12.6931 18 11.385 18 10C18 6.68629 15.3137 4 12 4C8.68629 4 6 6.68629 6 10C6 11.3843 6.46774 12.6917 7.31462 13.7484C7.40004 13.855 8.12081 14.6012 8.23154 14.7218C9.22766 15.8064 9.84103 16.7984 9.97308 18ZM10 20V21H14V20H10ZM5.75395 14.9992C4.65645 13.6297 4 11.8915 4 10C4 5.58172 7.58172 2 12 2C16.4183 2 20 5.58172 20 10C20 11.8925 19.3428 13.6315 18.2443 15.0014C17.624 15.7748 16 17 16 18.5V21C16 22.1046 15.1046 23 14 23H10C8.89543 23 8 22.1046 8 21V18.5C8 17 6.37458 15.7736 5.75395 14.9992Z&quot; fill=&quot;currentColor&quot;&gt;&lt;&#x2F;path&gt;&lt;&#x2F;svg&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;content&quot;&gt;
        
        &lt;p&gt;&lt;strong&gt;Tips for Jazz Voicings&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
        
        &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Use Tensions:&lt;&#x2F;strong&gt; Add 9ths, 11ths, and 13ths to enrich the harmony.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Voice Leading:&lt;&#x2F;strong&gt; Smooth transitions between chords by moving the smallest distance possible.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Avoid Doubling:&lt;&#x2F;strong&gt; Especially the root and fifth, unless stylistically appropriate.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Image shortcode Test</title>
        <published>2024-07-09T00:00:00+00:00</published>
        <updated>2024-07-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/image-shortcode-test/"/>
        <id>https://daveads.github.io/note/image-shortcode-test/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/image-shortcode-test/">&lt;h2 id=&quot;my-travel-blog&quot;&gt;My Travel Blog&lt;&#x2F;h2&gt;
&lt;p&gt;Welcome to my travel blog! Here&#x27;s a picture from my recent trip to Japan:&lt;&#x2F;p&gt;
&lt;figure class=&quot;centered-image&quot;&gt;

    &lt;img src=&quot;&#x2F;assets&#x2F;images&#x2F;star-lord-marvels.jpeg&quot;

     alt=&quot;star lord pics&quot;

    
     
    loading=&quot;lazy&quot; &#x2F;&gt;

    
    &lt;figcaption&gt;star lord pics&lt;&#x2F;figcaption&gt;
    

&lt;&#x2F;figure&gt;&lt;h2 id=&quot;another-image&quot;&gt;another image&lt;&#x2F;h2&gt;
&lt;figure class=&quot;centered-image&quot;&gt;

    &lt;img src=&quot;&#x2F;assets&#x2F;images&#x2F;feynman-techn.jpg&quot;

    

     width=&quot;500&quot;
     height=&quot;700&quot; 
    loading=&quot;lazy&quot; &#x2F;&gt;

    

&lt;&#x2F;figure&gt;&lt;h3 id=&quot;resize-image&quot;&gt;Resize image&lt;&#x2F;h3&gt;

&lt;figure class=&quot;centered-image&quot;&gt;
    &lt;img src=&quot;https:&amp;#x2F;&amp;#x2F;daveads.github.io&amp;#x2F;processed_images&amp;#x2F;purple-planet-dark-background-saturn-astronomy.5bec4db239c80e62.jpg&quot; 
    
     width=&quot;500&quot;
     height=&quot;700&quot;
    loading=&quot;lazy&quot; &#x2F;&gt;
    
&lt;&#x2F;figure&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Note shortcode test</title>
        <published>2024-07-09T00:00:00+00:00</published>
        <updated>2024-07-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/note-shortcode-test/"/>
        <id>https://daveads.github.io/note/note-shortcode-test/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/note-shortcode-test/">&lt;h1 id=&quot;introduction-to-zola&quot;&gt;Introduction to Zola&lt;&#x2F;h1&gt;
&lt;p&gt;Zola is a powerful static site generator that can help you create beautiful websites quickly.&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;callout note&quot;&gt;
    
    &lt;div class=&quot;icon&quot;&gt;
        &lt;svg xmlns=&quot;http:&#x2F;&#x2F;www.w3.org&#x2F;2000&#x2F;svg&quot; viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot;&gt;&lt;path d=&quot;M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM11 7H13V9H11V7ZM11 11H13V17H11V11Z&quot; fill=&quot;currentColor&quot;&gt;&lt;&#x2F;path&gt;&lt;&#x2F;svg&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;content&quot;&gt;
        
        &lt;p&gt;&lt;strong&gt;What is a static site generator?&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
        
        &lt;p&gt;A static site generator is a tool that creates HTML websites from raw data and files. It doesn&#x27;t rely on a database or server-side processing to serve content.&lt;&#x2F;p&gt;
&lt;p&gt;Benefits include:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Faster loading times&lt;&#x2F;li&gt;
&lt;li&gt;Improved security&lt;&#x2F;li&gt;
&lt;li&gt;Easier version control&lt;&#x2F;li&gt;
&lt;li&gt;Lower hosting costs&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Tips shortcode test</title>
        <published>2024-07-09T00:00:00+00:00</published>
        <updated>2024-07-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/tips-shortcode-test/"/>
        <id>https://daveads.github.io/note/tips-shortcode-test/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/tips-shortcode-test/">&lt;h1 id=&quot;my-zola-blog-post&quot;&gt;My Zola Blog Post&lt;&#x2F;h1&gt;
&lt;p&gt;Welcome to my blog post about using Zola shortcodes!&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;callout tip&quot;&gt;
    
    &lt;div class=&quot;icon&quot;&gt;
        &lt;svg xmlns=&quot;http:&#x2F;&#x2F;www.w3.org&#x2F;2000&#x2F;svg&quot; viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot;&gt;&lt;path d=&quot;M9.97308 18H11V13H13V18H14.0269C14.1589 16.7984 14.7721 15.8065 15.7676 14.7226C15.8797 14.6006 16.5988 13.8564 16.6841 13.7501C17.5318 12.6931 18 11.385 18 10C18 6.68629 15.3137 4 12 4C8.68629 4 6 6.68629 6 10C6 11.3843 6.46774 12.6917 7.31462 13.7484C7.40004 13.855 8.12081 14.6012 8.23154 14.7218C9.22766 15.8064 9.84103 16.7984 9.97308 18ZM10 20V21H14V20H10ZM5.75395 14.9992C4.65645 13.6297 4 11.8915 4 10C4 5.58172 7.58172 2 12 2C16.4183 2 20 5.58172 20 10C20 11.8925 19.3428 13.6315 18.2443 15.0014C17.624 15.7748 16 17 16 18.5V21C16 22.1046 15.1046 23 14 23H10C8.89543 23 8 22.1046 8 21V18.5C8 17 6.37458 15.7736 5.75395 14.9992Z&quot; fill=&quot;currentColor&quot;&gt;&lt;&#x2F;path&gt;&lt;&#x2F;svg&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;content&quot;&gt;
        
        &lt;p&gt;&lt;strong&gt;Did you know?&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
        
        &lt;p&gt;Zola is a fast static site generator written in Rust. It&#x27;s known for its simplicity and speed!&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;testing&quot;&gt;Testing**&lt;&#x2F;h2&gt;
&lt;blockquote class=&quot;callout tip&quot;&gt;
    
    &lt;div class=&quot;icon&quot;&gt;
        &lt;svg xmlns=&quot;http:&#x2F;&#x2F;www.w3.org&#x2F;2000&#x2F;svg&quot; viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot;&gt;&lt;path d=&quot;M9.97308 18H11V13H13V18H14.0269C14.1589 16.7984 14.7721 15.8065 15.7676 14.7226C15.8797 14.6006 16.5988 13.8564 16.6841 13.7501C17.5318 12.6931 18 11.385 18 10C18 6.68629 15.3137 4 12 4C8.68629 4 6 6.68629 6 10C6 11.3843 6.46774 12.6917 7.31462 13.7484C7.40004 13.855 8.12081 14.6012 8.23154 14.7218C9.22766 15.8064 9.84103 16.7984 9.97308 18ZM10 20V21H14V20H10ZM5.75395 14.9992C4.65645 13.6297 4 11.8915 4 10C4 5.58172 7.58172 2 12 2C16.4183 2 20 5.58172 20 10C20 11.8925 19.3428 13.6315 18.2443 15.0014C17.624 15.7748 16 17 16 18.5V21C16 22.1046 15.1046 23 14 23H10C8.89543 23 8 22.1046 8 21V18.5C8 17 6.37458 15.7736 5.75395 14.9992Z&quot; fill=&quot;currentColor&quot;&gt;&lt;&#x2F;path&gt;&lt;&#x2F;svg&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;content&quot;&gt;
        
        &lt;p&gt;&lt;strong&gt;Pro Tip&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
        
        &lt;p&gt;You can nest Markdown within your &lt;a href=&quot;callouts&quot;&gt;callouts&lt;&#x2F;a&gt;. For example:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;strong&gt;bold&lt;&#x2F;strong&gt; for emphasis&lt;&#x2F;li&gt;
&lt;li&gt;Create lists like this one&lt;&#x2F;li&gt;
&lt;li&gt;Even add &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.getzola.org&#x2F;&quot;&gt;links&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Tips make your content more engaging and easier to read!&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;I hope this helps you understand how to use tips in your Zola site!&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Warning shortcode test</title>
        <published>2024-07-09T00:00:00+00:00</published>
        <updated>2024-07-09T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/warning-shortcode-test/"/>
        <id>https://daveads.github.io/note/warning-shortcode-test/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/warning-shortcode-test/">&lt;h1 id=&quot;important-safety-information&quot;&gt;Important Safety Information&lt;&#x2F;h1&gt;
&lt;p&gt;Before we begin, please read the following warnings carefully.&lt;&#x2F;p&gt;
&lt;blockquote class=&quot;callout warning&quot;&gt;
    
    &lt;div class=&quot;icon&quot;&gt;
        &lt;svg xmlns=&quot;http:&#x2F;&#x2F;www.w3.org&#x2F;2000&#x2F;svg&quot; viewBox=&quot;0 0 24 24&quot; width=&quot;20&quot; height=&quot;20&quot;&gt;&lt;path d=&quot;M12.865 3.00017L22.3912 19.5002C22.6674 19.9785 22.5035 20.5901 22.0252 20.8662C21.8732 20.954 21.7008 21.0002 21.5252 21.0002H2.47266C1.92037 21.0002 1.47266 20.5525 1.47266 20.0002C1.47266 19.8246 1.51886 19.6522 1.60663 19.5002L11.1329 3.00017C11.4091 2.52187 12.0206 2.358 12.4989 2.63414C12.651 2.72191 12.7772 2.84815 12.865 3.00017ZM4.20471 19.0002H19.7932L11.9989 5.50017L4.20471 19.0002ZM10.9989 16.0002H12.9989V18.0002H10.9989V16.0002ZM10.9989 9.00017H12.9989V14.0002H10.9989V9.00017Z&quot; fill=&quot;currentColor&quot;&gt;&lt;&#x2F;path&gt;&lt;&#x2F;svg&gt;
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;content&quot;&gt;
        
        &lt;p&gt;&lt;strong&gt;Electrical Safety&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
        
        &lt;p&gt;Always unplug electronic devices before attempting any repairs. Failure to do so could result in:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Electric shock&lt;&#x2F;li&gt;
&lt;li&gt;Damage to the device&lt;&#x2F;li&gt;
&lt;li&gt;Personal injury&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;If you&#x27;re unsure about any step, consult a professional.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>July Reads 2024</title>
        <published>2024-07-06T00:00:00+00:00</published>
        <updated>2024-07-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/july-reads/"/>
        <id>https://daveads.github.io/note/july-reads/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/july-reads/">&lt;h3 id=&quot;tech&quot;&gt;Tech&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;carbon-steel.github.io&#x2F;jekyll&#x2F;update&#x2F;2024&#x2F;06&#x2F;19&#x2F;abstractions.html&quot;&gt;Abstractions&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;tylerneylon.com&#x2F;a&#x2F;mind_model&#x2F;mind_model.html&quot;&gt;Mind Model&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;salykova.github.io&#x2F;matmul-cpu&quot;&gt;NumPy&#x27;s matrix multiplication in 150 lines of C code&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.vox.com&#x2F;future-perfect&#x2F;353430&#x2F;what-if-absolutely-everything-is-conscious&quot;&gt;What if absolutely everything is conscious?&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Calorie-Dense Food List</title>
        <published>2024-06-18T00:00:00+00:00</published>
        <updated>2024-06-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/increase-weight/"/>
        <id>https://daveads.github.io/note/increase-weight/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/increase-weight/">&lt;p&gt;&#x2F;&#x2F; More Food&lt;&#x2F;p&gt;
&lt;h2 id=&quot;calorie-dense-food-list&quot;&gt;Calorie-Dense Food List&lt;&#x2F;h2&gt;
&lt;p&gt;High in fat and protein:&lt;&#x2F;p&gt;
&lt;h3 id=&quot;fat&quot;&gt;Fat&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Nuts&lt;&#x2F;li&gt;
&lt;li&gt;Seeds&lt;&#x2F;li&gt;
&lt;li&gt;Avocados&lt;&#x2F;li&gt;
&lt;li&gt;Olive Oil&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;protein&quot;&gt;Protein&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Meat&lt;&#x2F;li&gt;
&lt;li&gt;Fish&lt;&#x2F;li&gt;
&lt;li&gt;Eggs&lt;&#x2F;li&gt;
&lt;li&gt;Dairy&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;carbohydrate-rich-foods&quot;&gt;Carbohydrate-Rich Foods&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;grains&quot;&gt;Grains&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;Rice&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;starchy-vegetables&quot;&gt;Starchy Vegetables&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;Potatoes&lt;&#x2F;li&gt;
&lt;li&gt;Corn&lt;&#x2F;li&gt;
&lt;li&gt;Peas&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;fruits&quot;&gt;Fruits&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Bananas&lt;&#x2F;li&gt;
&lt;li&gt;Mangoes&lt;&#x2F;li&gt;
&lt;li&gt;Dried Fruit&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Weekly Gym Workout Plan</title>
        <published>2024-06-18T00:00:00+00:00</published>
        <updated>2024-06-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/workout-plan/"/>
        <id>https://daveads.github.io/note/workout-plan/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/workout-plan/">&lt;h1 id=&quot;weekly-gym-workout-plan-for-july-ig&quot;&gt;Weekly Gym Workout Plan for July Ig&lt;&#x2F;h1&gt;
&lt;p&gt;&lt;strong&gt;&#x2F;&#x2F;It a pretty weird plan&lt;&#x2F;strong&gt; Just 1 rest Day. :]&lt;&#x2F;p&gt;
&lt;h3 id=&quot;day-1-monday-chest-shoulder-triceps&quot;&gt;Day 1 Monday (Chest, Shoulder, Triceps)&lt;&#x2F;h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Exercise&lt;&#x2F;th&gt;&lt;th&gt;Sets X Reps&lt;&#x2F;th&gt;&lt;th&gt;Muscles Groups&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Bench Press&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Chest&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Shoulder Press&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Shoulders&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Triceps Dips&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Triceps&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Incline Dumbbell Press&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Chest&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Lateral Raises&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 10-12&lt;&#x2F;td&gt;&lt;td&gt;Shoulders&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Triceps Pushdown&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Triceps&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;day-2-tuesday-back-biceps&quot;&gt;Day 2 Tuesday (Back, Biceps)&lt;&#x2F;h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Exercise&lt;&#x2F;th&gt;&lt;th&gt;Sets X Reps&lt;&#x2F;th&gt;&lt;th&gt;Muscles Groups&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Deadlift&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Back&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Pull-ups&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 6-8&lt;&#x2F;td&gt;&lt;td&gt;Back&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Barbell Rows&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Back&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Biceps Curls&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Biceps&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Lat Pulldowns&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Back&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Face Pulls&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 10-12&lt;&#x2F;td&gt;&lt;td&gt;Rear Shoulders&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Hammer Curls&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Biceps&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;day-3-wednesday-quads-hamstrings-calves&quot;&gt;Day 3 Wednesday (Quads, Hamstrings, Calves)&lt;&#x2F;h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Exercise&lt;&#x2F;th&gt;&lt;th&gt;Sets X Reps&lt;&#x2F;th&gt;&lt;th&gt;Muscles Groups&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Squats&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Quads&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Romanian Deadlift&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Hamstrings&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Leg Press&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Quads&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Leg Curls&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Hamstrings&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Calf Raises&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 10-12&lt;&#x2F;td&gt;&lt;td&gt;Calves&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Lunges&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Quads, Hamstrings&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;day-4-thursday-chest-back&quot;&gt;Day 4 Thursday (Chest, Back)&lt;&#x2F;h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Exercise&lt;&#x2F;th&gt;&lt;th&gt;Sets X Reps&lt;&#x2F;th&gt;&lt;th&gt;Muscles Groups&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Bench Press&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Chest&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Pull-ups&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 6-8&lt;&#x2F;td&gt;&lt;td&gt;Back&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Incline Dumbbell Press&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Chest&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Barbell Rows&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Back&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Dumbbell Flyes&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 10-12&lt;&#x2F;td&gt;&lt;td&gt;Chest&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Lat Pulldowns&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Back&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;day-5-friday-legs&quot;&gt;Day 5 Friday (Legs)&lt;&#x2F;h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Exercise&lt;&#x2F;th&gt;&lt;th&gt;Sets X Reps&lt;&#x2F;th&gt;&lt;th&gt;Muscles Groups&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Squats&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Quads&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Deadlift&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 6-8&lt;&#x2F;td&gt;&lt;td&gt;Hamstrings&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Leg Press&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Quads&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Bulgarian Split Squat&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Hamstrings&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Calf Raises&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 10-12&lt;&#x2F;td&gt;&lt;td&gt;Calves&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Lunges&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Quads, Hamstrings&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;day-6-saturday-shoulders-arms&quot;&gt;Day 6 Saturday (Shoulders, Arms)&lt;&#x2F;h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Exercise&lt;&#x2F;th&gt;&lt;th&gt;Sets X Reps&lt;&#x2F;th&gt;&lt;th&gt;Muscles Groups&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Shoulder Press&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Shoulders&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Lateral Raises&lt;&#x2F;td&gt;&lt;td&gt;4 sets x 10-12&lt;&#x2F;td&gt;&lt;td&gt;Shoulders&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Tricep Dips&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Triceps&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Biceps Curls&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Biceps&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Front Raises&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 10-12&lt;&#x2F;td&gt;&lt;td&gt;Shoulders&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;Hammer Curls&lt;&#x2F;td&gt;&lt;td&gt;3 sets x 8-10&lt;&#x2F;td&gt;&lt;td&gt;Biceps&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>My Approach to Resting Right from the Gym</title>
        <published>2024-06-04T00:00:00+00:00</published>
        <updated>2024-06-04T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/my-approach-to-resting-right-from-the-gym/"/>
        <id>https://daveads.github.io/writing/my-approach-to-resting-right-from-the-gym/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/my-approach-to-resting-right-from-the-gym/">&lt;p&gt;One thing you shouldn&#x27;t do when aiming to take a rest is to spend more than a month resting. You are pretty much reversing all that hard work. I am actually known as the guy that can never take a rest from the gym...&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Spoilers&lt;&#x2F;strong&gt;&lt;br&gt;
I once told &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.instagram.com&#x2F;the.afro.poet&#x2F;&quot;&gt;@soso&lt;&#x2F;a&gt; and &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Retr0ville&quot;&gt;@Retr0ville&lt;&#x2F;a&gt; that I was going to take a break from the gym for a week and ended up going to two gym sessions during the same week. Weird, right? :) &#x2F;&#x2F;There are a couple more examples.&lt;&#x2F;p&gt;
&lt;br&gt;
&lt;h3 id=&quot;how-would-i-take-a-proper-rest-assuming-i-am-willing-to-take-a-one-month-rest&quot;&gt;How would I take a proper rest assuming I am willing to take a one-month rest?&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;I would go to the gym once a week and do a 1-rep max on all my major exercises. We should probably call this &lt;strong&gt;Powerlifting&lt;&#x2F;strong&gt;, I guess.&lt;br&gt; &#x2F;&#x2F;If this isn&#x27;t an option, get two dumbbells at home.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Keep up with my normal nutrition and I would advise you to eat more.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;This is how I would take a proper rest... I actually don&#x27;t have a scientific backing for this or can give professional advice for this, but if you do have a research paper showing how this should be done properly, shoot me an email at &lt;a href=&quot;mailto:the.daveads@gmail.com&quot;&gt;the.daveads@gmail.com&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;br&gt;
Shoutout to my workout buddies:
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;prime-infinity&quot;&gt;Prime&lt;&#x2F;a&gt;  &lt;strong&gt;&#x2F;&#x2F;Optimus Prime in human form&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Itopa&lt;&#x2F;a&gt; &lt;strong&gt;&#x2F;&#x2F;He speaks to the gods!&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Fona&lt;&#x2F;a&gt; &lt;strong&gt;&#x2F;&#x2F;The Jedi Master&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Comrade Ginja&lt;&#x2F;a&gt; &lt;strong&gt;The Strong Man #general&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Wizben&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;AK&lt;&#x2F;a&gt; &lt;strong&gt;&#x2F;&#x2F;The crazy fashion designer&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;#&quot;&gt;Nehemiah&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.instagram.com&#x2F;the.afro.poet&#x2F;&quot;&gt;Soso&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Retr0ville&quot;&gt;Retr0ville&lt;&#x2F;a&gt; &lt;em&gt;&#x2F;&#x2F;He should really learn to stop avoiding leg days.&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Hello Katex</title>
        <published>2024-05-31T00:00:00+00:00</published>
        <updated>2024-05-31T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/katex-test/"/>
        <id>https://daveads.github.io/note/katex-test/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/katex-test/">&lt;h3 id=&quot;testing-out-katex&quot;&gt;Testing out katex&lt;&#x2F;h3&gt;
&lt;p&gt;&#x2F;&#x2F; using shortcodes&lt;&#x2F;p&gt;
&lt;p&gt;Here is some inline math: &lt;div class=&quot;katex-math&quot;&gt;$a^2 + b^2 = c^2$&lt;&#x2F;div&gt;
&lt;&#x2F;p&gt;
&lt;div class=&quot;katex-math&quot;&gt;$$\int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2} $$&lt;&#x2F;div&gt;
&lt;br&gt;
&lt;p&gt;&#x2F;&#x2F; Directly in the markdown&lt;&#x2F;p&gt;
&lt;p&gt;Here&#x27;s an inline equation: $E = mc^2$&lt;&#x2F;p&gt;
&lt;p&gt;$E = mc^2$&lt;&#x2F;p&gt;
&lt;p&gt;Display equation:&lt;&#x2F;p&gt;
&lt;p&gt;$$
\frac{\partial f}{\partial x} = \lim_{h \to 0} \frac{f(x + h) - f(x)}{h}
$$&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Running This locally</title>
        <published>2024-05-26T00:00:00+00:00</published>
        <updated>2024-05-26T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/run-local/"/>
        <id>https://daveads.github.io/note/run-local/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/run-local/">&lt;h3 id=&quot;using-python-s-http-server-module&quot;&gt;Using Python&#x27;s http.server module&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;cd public&#x2F;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&#x2F;&#x2F;Then run&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;python -m http.server 8000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h1 id=&quot;configuring-nginx&quot;&gt;CONFIGURING NGINX&lt;&#x2F;h1&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&#x2F;&#x2F; Add this under the http parenthesis&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;http{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    include sites-enabled&#x2F;*;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    server_names_hash_bucket_size 64;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    types_hash_max_size 4096;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;using-a-web-server-nginx-locally&quot;&gt;Using a Web Server(Nginx) Locally&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sudo mkdir -p &#x2F;etc&#x2F;nginx&#x2F;sites-available&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sudo mkdir -p &#x2F;etc&#x2F;nginx&#x2F;sites-enabled&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sudo mkdir -p &#x2F;usr&#x2F;share&#x2F;nginx&#x2F;daveads&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sudo nvim &#x2F;etc&#x2F;nginx&#x2F;sites-availabe&#x2F;daveads.com&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&#x2F;&#x2F; copy this into nvim&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;server {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    listen 127.0.0.1:8080;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    server_name localhost;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    root &#x2F;usr&#x2F;share&#x2F;nginx&#x2F;daveads;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    index index.html;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    location &#x2F; {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;        try_files $uri $uri&#x2F; =404;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&#x2F;&#x2F; create symbolic link&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sudo ln -s &#x2F;etc&#x2F;nginx&#x2F;sites-available&#x2F;daveads.com &#x2F;etc&#x2F;nginx&#x2F;sites-enabled&#x2F;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&#x2F;&#x2F;mv public files into dir &#x2F;usr&#x2F;share&#x2F;nginx&#x2F;daveads&#x2F;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&#x2F;&#x2F;change base_url to &amp;quot;&#x2F;&amp;quot; in the config file&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;zola --config config.dev.toml build&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;cd public &amp;amp;&amp;amp; cp -r * &#x2F;usr&#x2F;share&#x2F;nginx&#x2F;daveads&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;test-config&quot;&gt;Test config&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sudo nginx -t&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&#x2F;&#x2F;reload nginx &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;sudo systemctl reload nginx&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Waydroid on Arch Linux</title>
        <published>2024-05-03T00:00:00+00:00</published>
        <updated>2024-05-03T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/waydroid-on-arch-linux/"/>
        <id>https://daveads.github.io/note/waydroid-on-arch-linux/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/waydroid-on-arch-linux/">&lt;p&gt;&lt;strong&gt;Run Full Android on Arch Linux with Waydroid&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Waydroid is a container-based approach that allows you to boot a full Android system on your Arch Linux machine. Follow this guide to get started with Waydroid on Arch Linux.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Installing Waydroid&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;To install Waydroid, you can use one of the following methods:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Method 1: Using Git and Makepkg&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;git&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; clone https:&#x2F;&#x2F;aur.archlinux.org&#x2F;waydroid.git&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #F38BA8;font-style: italic;&quot;&gt;cd&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; waydroid&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;makepkg&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; -si&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Method 2: Using Yay&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;yay&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; -S waydroid&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Using LineageOS Images&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Waydroid uses LineageOS images. You can install an image using the following commands:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Automatic Image Installation&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# Install an image with default settings&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;waydroid&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; init&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# Install an image with GApps support&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;waydroid&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; init -s GAPPS&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Alternatively, you can manually download and install images from the AUR:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;aur.archlinux.org&#x2F;packages&#x2F;waydroid-image&#x2F;&quot;&gt;Waydroid Image&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;aur.archlinux.org&#x2F;packages&#x2F;waydroid-image-gapps&#x2F;&quot;&gt;Waydroid Image with GApps&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Manual Image Installation&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;If you prefer manual installation, follow these steps:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Download the LineageOS images:
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;sourceforge.net&#x2F;projects&#x2F;waydroid&#x2F;files&#x2F;images&#x2F;vendor&#x2F;waydroid_x86_64&#x2F;lineage-18.1-20240420-MAINLINE-waydroid_x86_64-vendor.zip&#x2F;download&quot;&gt;Vendor Image&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;sourceforge.net&#x2F;projects&#x2F;waydroid&#x2F;files&#x2F;images&#x2F;system&#x2F;lineage&#x2F;waydroid_x86_64&#x2F;lineage-18.1-20240420-GAPPS-waydroid_x86_64-system.zip&#x2F;download&quot;&gt;System Image with GApps&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Unzip both images and copy them to the correct location:&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; cp system.img vendor.img &#x2F;usr&#x2F;share&#x2F;waydroid-extra&#x2F;images&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Kernel and Session Manager Requirements&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;To run Waydroid, you need a kernel with the binder modules and a Wayland session manager. For example:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;# Installing linux-zen kernel&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; pacman -S linux-zen&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If you use the i3 tiling manager, consider using &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;swaywm&#x2F;sway&quot;&gt;Sway&lt;&#x2F;a&gt;, an i3-compatible Wayland compositor.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Python Environment Setup&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Before proceeding, ensure you have Python installed. You can use &lt;code&gt;pyenv&lt;&#x2F;code&gt; or the system-installed Python. Install the required packages:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;pip&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; install PyGObject==&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;3.48.1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; pyclip==&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;0.7.0&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; dbus-python==&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;1.3.2&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; Cython==&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;3.0.10&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Additionally, install &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;erfanoabdi&#x2F;gbinder-python&quot;&gt;gbinder-python&lt;&#x2F;a&gt; by following the instructions in the README.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Play Store Support on Waydroid&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;To install the Play Store on Waydroid, you can use the script provided at &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;casualsnek&#x2F;waydroid_script.git&quot;&gt;casualsnek&#x2F;waydroid_script&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Meal Plan for bulk Schedule</title>
        <published>2024-03-18T00:00:00+00:00</published>
        <updated>2024-03-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/meal-plan-bulk/"/>
        <id>https://daveads.github.io/note/meal-plan-bulk/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/meal-plan-bulk/">&lt;h3 id=&quot;consuming-meals-5-6-times-a-day&quot;&gt;Consuming Meals 5-6 Times a Day&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;em&gt;&#x2F;&#x2F; &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.instagram.com&#x2F;mukkyshic&#x2F;&quot;&gt;Jessica’s Idea&lt;&#x2F;a&gt;&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Time&lt;&#x2F;th&gt;&lt;th&gt;Meal&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;7am&lt;&#x2F;td&gt;&lt;td&gt;Breakfast (Meal 1)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;9am&lt;&#x2F;td&gt;&lt;td&gt;Mid-morning Snack (Meal 2)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;12pm&lt;&#x2F;td&gt;&lt;td&gt;Lunch (Meal 3)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;3pm&lt;&#x2F;td&gt;&lt;td&gt;Afternoon Snack (Meal 4)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;7pm&lt;&#x2F;td&gt;&lt;td&gt;Dinner (Meal 5)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;9pm&lt;&#x2F;td&gt;&lt;td&gt;Evening Snack (Meal 6)&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;&#x2F;&#x2F;Water Intake ? &#x2F;&#x2F; 3-4l&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Docker key words</title>
        <published>2023-09-22T00:00:00+00:00</published>
        <updated>2023-09-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/docker-file/"/>
        <id>https://daveads.github.io/note/docker-file/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/docker-file/">&lt;p&gt;&lt;strong&gt;Docker file note&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Certainly, here are all the commonly used Dockerfile commands along with detailed explanations:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;FROM&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Specifies the base image to use as the starting point for your Docker image.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Usage: &lt;code&gt;FROM image:tag&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Example: &lt;code&gt;FROM ubuntu:latest&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;RUN&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Executes shell commands within the image during the build process. Typically used for installing software, updating packages, or any setup tasks.&lt;&#x2F;li&gt;
&lt;li&gt;Usage: &lt;code&gt;RUN command&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Example: &lt;code&gt;RUN apt-get update &amp;amp;&amp;amp; apt-get install -y python3&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;COPY&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Copies files or directories from the host machine into the image. It&#x27;s often used to add application code and resources to the image.&lt;&#x2F;li&gt;
&lt;li&gt;Usage: &lt;code&gt;COPY source destination&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Example: &lt;code&gt;COPY app.py &#x2F;app&#x2F;&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;WORKDIR&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Sets the working directory inside the container where subsequent commands will be executed. Useful for organizing files and specifying paths.&lt;&#x2F;li&gt;
&lt;li&gt;Usage: &lt;code&gt;WORKDIR path&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Example: &lt;code&gt;WORKDIR &#x2F;app&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;EXPOSE&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Informs Docker that the container will listen on specific ports at runtime. It doesn&#x27;t actually expose the ports; it&#x27;s for documentation purposes.&lt;&#x2F;li&gt;
&lt;li&gt;Usage: &lt;code&gt;EXPOSE port(s)&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Example: &lt;code&gt;EXPOSE 8080&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;CMD&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Specifies the default command to run when a container is started from the image. You can override it when starting a container.&lt;&#x2F;li&gt;
&lt;li&gt;Usage: &lt;code&gt;CMD [&quot;executable&quot;, &quot;param1&quot;, &quot;param2&quot;]&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Example: &lt;code&gt;CMD [&quot;python3&quot;, &quot;app.py&quot;]&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;ENTRYPOINT&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Similar to CMD, it defines the default command to run when a container starts, but it&#x27;s more rigid and doesn&#x27;t allow command override. Useful for creating containerized applications that act like executables.&lt;&#x2F;li&gt;
&lt;li&gt;Usage: &lt;code&gt;ENTRYPOINT [&quot;executable&quot;, &quot;param1&quot;, &quot;param2&quot;]&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Example: &lt;code&gt;ENTRYPOINT [&quot;python3&quot;, &quot;app.py&quot;]&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;ENV&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Sets environment variables within the container. These variables can be used in subsequent Dockerfile commands or by the running application.&lt;&#x2F;li&gt;
&lt;li&gt;Usage: &lt;code&gt;ENV key=value&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Example: &lt;code&gt;ENV MY_VARIABLE=value&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;VOLUME&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Creates a mount point for external volumes or data to be shared with the container. It allows data persistence and sharing between containers.&lt;&#x2F;li&gt;
&lt;li&gt;Usage: &lt;code&gt;VOLUME &#x2F;path&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Example: &lt;code&gt;VOLUME &#x2F;data&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;USER&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Sets the user or UID (User ID) under which the container will run. It&#x27;s useful for improving security by running processes with lower privileges.&lt;&#x2F;li&gt;
&lt;li&gt;Usage: &lt;code&gt;USER username_or_UID&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Example: &lt;code&gt;USER appuser&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Revolutionary new drug stressless</title>
        <published>2023-08-06T00:00:00+00:00</published>
        <updated>2023-08-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/revolutionary-drug-stressless/"/>
        <id>https://daveads.github.io/writing/revolutionary-drug-stressless/</id>
        
        <summary type="html">&lt;h3 id=&quot;introducing-stressless-the-revolutionary-stress-relief-solution&quot;&gt;&lt;strong&gt;Introducing &lt;code&gt;STRESSLESS&lt;&#x2F;code&gt; :: The Revolutionary Stress-Relief Solution&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;</summary>
        
    </entry>
    <entry xml:lang="en">
        <title>assembly language</title>
        <published>2023-02-12T00:00:00+00:00</published>
        <updated>2023-02-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/asm-stuffs/"/>
        <id>https://daveads.github.io/note/asm-stuffs/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/asm-stuffs/">&lt;p&gt;The register is built into the cpu, it is used to store temporary data that the cpu needs to access quickly in oder to perform its operation.&lt;&#x2F;p&gt;
&lt;p&gt;Types of cpu registers&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;General-purpose registers :
These registers can be used to store any type of data, including operands for arithmetic and logic operations, pointers to memory locations, and intermediate results of calculations.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Program counter register:
This register holds the address of the next instruction to be executed by the CPU.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Stack pointer register:
This register holds the address of the top of the stack, which is a region of memory used to store function call frames and temporary data.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Status registers:
*These registers store the state of the CPU, including information about arithmetic operations, interrupt handling, and other control signals.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;**&lt;&#x2F;p&gt;
&lt;h2 id=&quot;registers&quot;&gt;registers&lt;&#x2F;h2&gt;
&lt;p&gt;rax&quot; - a large general-purpose register used for storing values and results of arithmetic operations.&lt;&#x2F;p&gt;
&lt;p&gt;&quot;rbx&quot; - another large general-purpose register.&lt;&#x2F;p&gt;
&lt;p&gt;&quot;rcx&quot; - a general-purpose register used for counting and loop operations.&lt;&#x2F;p&gt;
&lt;p&gt;&quot;rdx&quot; - a general-purpose register used for storing values and results of arithmetic operations.&lt;&#x2F;p&gt;
&lt;p&gt;&quot;rsi&quot; - a general-purpose register used as a source index register in string and array operations.&lt;&#x2F;p&gt;
&lt;p&gt;&quot;rdi&quot; - a general-purpose register used as a destination index register in string and array operations.&lt;&#x2F;p&gt;
&lt;p&gt;&quot;r8&quot; - &quot;r15&quot; - additional general-purpose registers available in the x86-64 architecture.&lt;&#x2F;p&gt;
&lt;p&gt;General-purpose registers :: rax, rbx, rcx, rdx, rbp, rsp, rsi, rdi, r8, r9, r10, r11, r12, r13, r14, r15&lt;&#x2F;p&gt;
&lt;h1 id=&quot;operation&quot;&gt;Operation&lt;&#x2F;h1&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ADD- integer add&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;SUB- subtract&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;MUL- unsigned multiply&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;IMUL- signed multiply&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;DIV- unsigned divide&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;IDIV- signed divide&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;INC- increment&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;DEC- decrement&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;NEG- negate&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;CONTROL FLOW
JE - jump if equal&lt;&#x2F;p&gt;
&lt;p&gt;JZ - jump if zero&lt;&#x2F;p&gt;
&lt;p&gt;JNE - jump if not equal&lt;&#x2F;p&gt;
&lt;p&gt;JNZ - jump if not zero&lt;&#x2F;p&gt;
&lt;p&gt;JG - jump if the first operand is greater than second&lt;&#x2F;p&gt;
&lt;p&gt;JGE - jump if the first operand is greater or equal to second&lt;&#x2F;p&gt;
&lt;p&gt;JA - the same that JG, but performs an unsigned comparison&lt;&#x2F;p&gt;
&lt;p&gt;JAE - the same that JGE, but performs an unsigned comparison&lt;&#x2F;p&gt;
&lt;p&gt;DATA TYPES
byte is eight bits
word is two bytes
doubleword is four bytes
quadword is eight bytes
double quadword is sixteen bytes (128 bits).&lt;&#x2F;p&gt;
&lt;p&gt;.DATA
+-----------+-------------------+-------------------+
| Directive |      Purpose      |   Storage Space   |
+-----------+-------------------+-------------------+
| DB        | Define Byte       | allocates 1 byte  |
| DW        | Define Word       | allocates 2 bytes |
| DD        | Define Doubleword | allocates 4 bytes |
| DQ        | Define Quadword   | allocates 8 bytes |
| DT        | Define Ten Bytes  | allocates 10 byte |
+-----------+-------------------+-------------------+&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; opertation&lt;&#x2F;p&gt;
&lt;p&gt;mov ebx, 123  ; ebx = 123
mov eax, ebx  ; eax = ebx
add ebx, ecx  ; ebx += ecx
sub ebx, edx  ; ebx -= edx
mul ebx       ; eax ***= ebx
div edx       ; eax &#x2F;= edx&lt;&#x2F;p&gt;
&lt;p&gt;; eax handles operations&lt;&#x2F;p&gt;
&lt;p&gt;data - section is used for declaring initialized data or constants
bss - section is used for declaring non initialized variables
text - section is used for code&lt;&#x2F;p&gt;
&lt;p&gt;RESB, RESW, RESD, RESQ, REST, RESO, RESY and RESZ - are used for declaring non initialized variables
INCBIN - includes External Binary Files
EQU - defines constant.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;asm&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;one &lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;equ&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>schedule to improve bench press</title>
        <published>2023-01-20T00:00:00+00:00</published>
        <updated>2023-01-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/increasing-bench-press-max/"/>
        <id>https://daveads.github.io/note/increasing-bench-press-max/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/increasing-bench-press-max/">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Pull-ups : for back muscles to help control the weight on the way down&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Push-ups&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Dumbbell shoulder&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Dips : for triceps&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Squatting&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Chord formation</title>
        <published>2022-10-16T00:00:00+00:00</published>
        <updated>2022-10-16T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/chords-formation/"/>
        <id>https://daveads.github.io/note/chords-formation/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/chords-formation/">&lt;h3 id=&quot;piano-chord-formation&quot;&gt;Piano Chord formation&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;b :- half note down&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;# :- half note up&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Maj ::
&lt;strong&gt;1 - 3 - 5&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;6th or Maj6th ::
&lt;strong&gt;1 - 3 - 5- 6&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;M7 or Maj7th ::
&lt;strong&gt;1 - 3 - 5 - 7&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;M7#11 ::
&lt;strong&gt;1- 3 - 5 - 7 - #11&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;add9 ::
&lt;strong&gt;1 - 3 - 5 - 9&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;M7&lt;sup&gt;9&lt;&#x2F;sup&gt; ::
&lt;strong&gt;1 - 3 - 7 - 9&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;6^9^ ::
&lt;strong&gt;1 - 3 - 5 - 6 - 9&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;aug ::
&lt;strong&gt;1 - 3 - #5&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;min ::
&lt;strong&gt;1 - b3 - 5&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;m6 minor6 ::
&lt;strong&gt;1 - b3 - 5 - 6&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;m7  ::
&lt;strong&gt;1 - b3 - 5 - b7&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;m7&lt;sup&gt;b5&lt;&#x2F;sup&gt; half diminish ::
&lt;strong&gt;1 - b3 - 5 - b7&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;madd9 ::
&lt;strong&gt;1 - b3 - 5 - 9&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;m7&lt;sup&gt;9&lt;&#x2F;sup&gt; ::
&lt;strong&gt;1 - b3 - 5 - b7 - 9&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;m7&lt;sup&gt;11&lt;&#x2F;sup&gt; ::
&lt;strong&gt;1 - b3 - 5 - b7 - 11&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;mM7 minorMaj7th ::
&lt;strong&gt;1 - b3 - 5 - 7&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;mM7&lt;sup&gt;9&lt;&#x2F;sup&gt; ::
&lt;strong&gt;1 - b3 - 5 - 7 - 9&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;dim ::
&lt;strong&gt;1 - b3 - b5&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;dim7 ::
&lt;strong&gt;1 - b3 - b5 - 6&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;7 or dominat chord
&lt;strong&gt;1 - 3 - 5 - b7&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;7sus4 ::
&lt;strong&gt;1 - 3 - 4 - 5 - b7&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;7&lt;sup&gt;b5&lt;&#x2F;sup&gt; ::
&lt;strong&gt;1 - 3 - b5 - b7&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;7&lt;sup&gt;9&lt;&#x2F;sup&gt; ::
&lt;strong&gt;1 - 3 - 5 - b7 - 9&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;7#11 ::
&lt;strong&gt;1 - 3 - 5 - b7 - #11&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;7&lt;sup&gt;13&lt;&#x2F;sup&gt; ::
&lt;strong&gt;1 - 3 - 5 - b7 - 13&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>heavy duty by mike mentzer</title>
        <published>2022-07-12T00:00:00+00:00</published>
        <updated>2022-07-12T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/heavy-duty/"/>
        <id>https://daveads.github.io/note/heavy-duty/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/heavy-duty/">&lt;ul&gt;
&lt;li&gt;More emphasis on carbohydrate &amp;amp;&amp;amp; intense training.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;&amp;gt;&amp;gt; The science of stimulating muscles growth&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;bodybuilders-are-confused&quot;&gt;Bodybuilders are confused!&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;wrong ideas:
&#x2F;&#x2F; contradiction if every builders, being unique requires different training program.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;12-20 sets per bodypart, for up to 2hours per session.
- for best gains two or even three sessions per day six days a week, and rest on the seventh day.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Steve michalik - 75-100sets per body part.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;blockquote&gt;
&lt;p&gt;man is not an instinctual creature whose knowledge is automatic, or &quot;hard-wired&quot; into his nervous system, but a conceptual being who must acquire and use knowledge by a volitional cognitive effort.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Concurrency vs Multi-threading vs Asynchronous Programming</title>
        <published>2022-06-29T00:00:00+00:00</published>
        <updated>2022-06-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/concurrency-vs-multi-threading-vs-asynchronous-programming/"/>
        <id>https://daveads.github.io/note/concurrency-vs-multi-threading-vs-asynchronous-programming/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/concurrency-vs-multi-threading-vs-asynchronous-programming/">&lt;ul&gt;
&lt;li&gt;Concurrency &amp;amp;&amp;amp; Parallelism&lt;&#x2F;li&gt;
&lt;li&gt;Threads (multi-threaded) &amp;amp;&amp;amp; Processes&lt;&#x2F;li&gt;
&lt;li&gt;Synchronous &amp;amp;&amp;amp; Asynchronous&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;concurrency-parallelism&quot;&gt;Concurrency &amp;amp;&amp;amp; Parallelism&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Concurrency:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Imagine a task where you have to &quot;sing and eat&quot;:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Sing for a time&lt;&#x2F;li&gt;
&lt;li&gt;Eat for a time&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;This task is performed concurrently. Concurrency is executing tasks at the same time but not necessarily simultaneously.&lt;&#x2F;p&gt;
&lt;p&gt;Concurrency is handled differently in various processors. In a single core, concurrency is handled via a process called &lt;strong&gt;context-switching&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Parallelism:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Given a task of &lt;em&gt;&lt;strong&gt;cooking and speaking to a friend over the phone&lt;&#x2F;strong&gt;&lt;&#x2F;em&gt;, these two tasks can be done simultaneously.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&quot;Parallelism means performing two or more tasks simultaneously. Parallel computing in computer science refers to the process of performing multiple calculations simultaneously.&quot;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Concurrency and parallelism refer to computer architectures focused on how tasks or computations are performed:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;In a single core, concurrency happens with tasks executing over the same time period via context switching, i.e. only one task gets executed.&lt;&#x2F;li&gt;
&lt;li&gt;In a multi-core environment, concurrency can be achieved via parallelism, in which multiple tasks are executed simultaneously.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;threads-processes&quot;&gt;Threads &amp;amp; Processes&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Threads:&lt;&#x2F;strong&gt; These are sequences of executing code that can be executed independently of one another. A program can be single-threaded or multi-threaded. It&#x27;s the smallest unit of a task that can be executed by an OS.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Processes:&lt;&#x2F;strong&gt; A program is an instance of a running program. A program can have multiple processes. A process usually starts with a single thread but down the line of execution, it can create multiple threads.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Sync and Async&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Tasks are executed one after the other, e.g. giving a task to write a letter to your mom and a letter to your friend.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Async:&lt;&#x2F;strong&gt; When one task gets executed, you could switch to a different task without waiting for the previous one to get completed.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Sync and Async are &lt;em&gt;programming models&lt;&#x2F;em&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;synchronous-and-asynchronous-in-a-single-and-multi-threaded-environment&quot;&gt;Synchronous and Asynchronous in a Single and Multi-threaded Environment&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Synchronous:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Single-threaded: Each task gets executed one after another. Each task waits for its previous task to get executed.&lt;&#x2F;li&gt;
&lt;li&gt;Multi-threaded: Tasks get executed in different threads but wait for any other executing tasks on any other thread.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Asynchronous:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Single-threaded: Tasks start executing without waiting for a different task to finish. At a given time, a single task gets executed.&lt;&#x2F;li&gt;
&lt;li&gt;Multi-threaded: Tasks get executed in different threads without waiting for any tasks and independently finish off their executions.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Concurrency and Parallelism:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The way tasks are executed.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Synchronous and Asynchronous -&amp;gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Programming models.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Single-threaded and Multi-threaded -&amp;gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The environment of task execution.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Async helps to achieve concurrency. Async in a multithread environment is a way to achieve parallelism.&lt;&#x2F;p&gt;
&lt;p&gt;Synchronously: This is how we code normally:&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&quot;You wait for an operation to finish before going to the next or moving over to the other one.&quot;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;hr &#x2F;&gt;
&lt;ul&gt;
&lt;li&gt;Concurrency: Threading, async I&#x2F;O&lt;&#x2F;li&gt;
&lt;li&gt;Parallelism: Multiprocessing&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;hr &#x2F;&gt;
&lt;p&gt;Links:
&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;medium.com&#x2F;swift-india&#x2F;concurrency-parallelism-threads-processes-async-and-sync-related-39fd951bc61d&quot;&gt;Medium Article&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>programming language shits</title>
        <published>2022-06-29T00:00:00+00:00</published>
        <updated>2022-06-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/language/"/>
        <id>https://daveads.github.io/note/language/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/language/">&lt;p&gt;Compilation strategies
Just-in-time (JIT)
Tracing just-in-time
Ahead-of-time (AOT)
Transcompilation
Recompilation&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;dynamic-compilationincremental-compilation&quot;&gt;Dynamic compilation
Incremental compilation&lt;&#x2F;h2&gt;
&lt;p&gt;boostraping compiler...........&amp;gt;&amp;gt;&amp;gt;??&lt;&#x2F;p&gt;
&lt;p&gt;Microcode ?? isa&lt;&#x2F;p&gt;
&lt;h1 id=&quot;runtimes&quot;&gt;runtimes&lt;&#x2F;h1&gt;
&lt;p&gt;Java virtual machine (JVM)
V8 and Node.js
CPython and PyPy&lt;&#x2F;p&gt;
&lt;h1 id=&quot;tool-chain&quot;&gt;Tool chain&lt;&#x2F;h1&gt;
&lt;p&gt;GNU Compiler Collection (GCC)
LLVM and Clang&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>ai related</title>
        <published>2022-06-29T00:00:00+00:00</published>
        <updated>2022-06-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/learnngai/"/>
        <id>https://daveads.github.io/note/learnngai/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/learnngai/">&lt;h2 id=&quot;math&quot;&gt;math:&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Algebra&lt;&#x2F;li&gt;
&lt;li&gt;probability&lt;&#x2F;li&gt;
&lt;li&gt;statistics&lt;&#x2F;li&gt;
&lt;li&gt;linear algebra&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;building-experience-in-end-to-end-projects&quot;&gt;&lt;strong&gt;building experience in end to end projects&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;published papers in the field.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;AI literature ???&lt;&#x2F;p&gt;
&lt;h3 id=&quot;data-ethics&quot;&gt;data-ethics ?&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;bias,&lt;&#x2F;li&gt;
&lt;li&gt;fairness,&lt;&#x2F;li&gt;
&lt;li&gt;feedback loops, and&lt;&#x2F;li&gt;
&lt;li&gt;the risks of over emphasizing metrics.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;independent researcher&lt;&#x2F;strong&gt; ?&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;read standard textbooks (machine learning, optimization, statistics etc.)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ul&gt;
&lt;li&gt;implement the latest papers of your interest&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;physics-and-maybe-biology&quot;&gt;physics and &quot;maybe biology&quot;&lt;&#x2F;h1&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Multi-threading</title>
        <published>2022-06-29T00:00:00+00:00</published>
        <updated>2022-06-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/multithreading-vs-concurrency/"/>
        <id>https://daveads.github.io/note/multithreading-vs-concurrency/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/multithreading-vs-concurrency/">&lt;p&gt;Multithreading:&lt;&#x2F;p&gt;
&lt;p&gt;Multithreading means having multiple threads of execution within the same application. Each thread is like a separate CPU executing different parts of the code simultaneously.&lt;&#x2F;p&gt;
&lt;p&gt;Reasons for using multithreading:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Better utilization of a single CPU.&lt;&#x2F;li&gt;
&lt;li&gt;Better utilization of multiple CPUs or CPU cores.&lt;&#x2F;li&gt;
&lt;li&gt;Improved user experience in terms of responsiveness.&lt;&#x2F;li&gt;
&lt;li&gt;Enhanced fairness in handling tasks.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Multitasking &amp;amp;&amp;amp; Multithreading&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;daveads.github.io&#x2F;note&#x2F;multithreading-vs-concurrency&#x2F;multiprocessing&quot;&gt;multiprocessing&lt;&#x2F;a&gt;:
Multiple processors&#x2F;CPUs executing concurrently.&lt;&#x2F;p&gt;
&lt;p&gt;Multitasking:
Multiple processes running concurrently on a single CPU. The OS handles this process by switching between tasks.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>running fast</title>
        <published>2022-06-29T00:00:00+00:00</published>
        <updated>2022-06-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/running-fast/"/>
        <id>https://daveads.github.io/note/running-fast/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/running-fast/">&lt;h3 id=&quot;language-features&quot;&gt;language features&lt;&#x2F;h3&gt;
&lt;p&gt;Concurrency and Parallelism&lt;&#x2F;p&gt;
&lt;p&gt;Parallelism: Performing multiple operations at the same time. This is hardware-related and takes advantage of the multi-core infrastructure of the CPU.&lt;&#x2F;p&gt;
&lt;p&gt;Concurrency: When two tasks can start, run, and complete in overlapping time periods. It takes advantage of CPU time slicing.&lt;&#x2F;p&gt;
&lt;p&gt;Concurrency is achieved through multithreading. Multithreading is a software implementation allowing different threads to be executed concurrently. A multithreaded program appears to be doing several things at the same time even when it&#x27;s running on a single-core machine.&lt;&#x2F;p&gt;
&lt;p&gt;Synchronous: Tasks are performed one at a time, and you need to wait for one task to finish before moving to the next.&lt;&#x2F;p&gt;
&lt;p&gt;Asynchronous: Can move to another task before the previous one finishes. This is not related to concurrency and parallelism and means that your program performs non-blocking operations.&lt;&#x2F;p&gt;
&lt;p&gt;Async I&#x2F;O: Async is a concurrent programming design, using async&#x2F;await.&lt;&#x2F;p&gt;
&lt;p&gt;Threading: This is a concurrent execution model where multiple threads take turns to execute tasks.&lt;&#x2F;p&gt;
&lt;p&gt;Terminology:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Threading&lt;&#x2F;li&gt;
&lt;li&gt;Locking&lt;&#x2F;li&gt;
&lt;li&gt;Mutex&lt;&#x2F;li&gt;
&lt;li&gt;Thread Safety&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Issues involved with multithreading:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Deadlock&lt;&#x2F;li&gt;
&lt;li&gt;Race conditions&lt;&#x2F;li&gt;
&lt;li&gt;Starvation&lt;&#x2F;li&gt;
&lt;li&gt;Livelock&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Moved site from jekyll to zola</title>
        <published>2022-06-29T00:00:00+00:00</published>
        <updated>2022-06-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/moved-site-from-jekyll-to-zola/"/>
        <id>https://daveads.github.io/writing/moved-site-from-jekyll-to-zola/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/moved-site-from-jekyll-to-zola/">&lt;p&gt;After transitioning from Jekyll to Zola, I have updated the website&#x27;s styling by loosely adapting the &lt;code&gt;Jekyll Minima&lt;&#x2F;code&gt; SCSS. Zola has proven to be an excellent choice as it seamlessly resolves many of the issues I faced with Jekyll. The fact that Zola is written in &lt;code&gt;Rust&lt;&#x2F;code&gt; and utilizes the powerful &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Keats&#x2F;tera&quot;&gt;Tera&lt;&#x2F;a&gt; template engine further enhances its appeal.&lt;&#x2F;p&gt;
&lt;p&gt;The current version of Zola that I am using is v0.15.3, and it has been performing admirably. For those interested in learning more about Zola and its capabilities, the repository can be found here: &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;getzola&#x2F;zola&quot;&gt;zola-repo&lt;&#x2F;a&gt;. Additionally, the documentation is available at &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.getzola.org&#x2F;documentation&#x2F;getting-started&#x2F;overview&#x2F;&quot;&gt;zola-doc&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;With Zola, I feel confident in the future of my website, and I am excited about exploring its features and possibilities.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>assembly language</title>
        <published>2022-06-19T00:00:00+00:00</published>
        <updated>2022-06-19T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/assemblylang/"/>
        <id>https://daveads.github.io/note/assemblylang/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/assemblylang/">&lt;p&gt;Assembly program :&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;.data section :
This section is for declaring initialized data. { filenames and buffer sizes }
DB, DW, DD, DQ and DT instructions.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;asm&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;section .data&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;		message&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; db&lt;&#x2F;span&gt;&lt;span&gt; &amp;quot;hello world&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;		msglength&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt; equ&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 12&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;		buffersize&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; dw&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1024&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ul&gt;
&lt;li&gt;.bss section :
This is where variables are been decleared.
RESB, RESW, RESD, RESQ, REST instrcutions are use to reserve uninitialized space in memory for your variables.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;asm&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;section .bss&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;		filename&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; resb&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 255&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt; ; reserve 255 bytes&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;		number&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; resb&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;     ; Reserve 1 byte&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;		bignum&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; resw&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt;     ; Reserve 1 word (1 word = 2 bytes)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;		realarray&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; resq&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 10&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt; ; Reserve an array of 10 reals&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;.text section :
This is where the actual assembly code is written.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  this section must begin with the declaration global_start,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &#x2F;&#x2F; this tells the kernel where the program execution begins. == &amp;quot;main&amp;quot; @other_languages&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>checking out martial art disciplines</title>
        <published>2022-06-14T00:00:00+00:00</published>
        <updated>2022-06-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/martial-art/"/>
        <id>https://daveads.github.io/note/martial-art/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/martial-art/">&lt;h2 id=&quot;martial-art-research&quot;&gt;martial art research&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Karate -&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Muay Thai - uses the entire body as a weapon.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Jiu-Jitsu - powerful form of martial arts that is designed so a smaller fighter has ample physical resources to successfully defend against a larger opponent.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Krav Maga&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;a href=&quot;&#x2F;note&#x2F;ncode&#x2F;testing.py&quot;&gt;python&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>bass guitar strings</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/bass-string/"/>
        <id>https://daveads.github.io/note/bass-string/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/bass-string/">&lt;p&gt;last string is G going up to D&lt;&#x2F;p&gt;
&lt;p&gt;circle of 5th &amp;amp; 4&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Being logical by D.Q. Mclnenry</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/being-logical/"/>
        <id>https://daveads.github.io/note/being-logical/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/being-logical/">&lt;p&gt;Logic is the basis of our ability to think, analyze, argue and communicate.&lt;&#x2F;p&gt;
&lt;p&gt;logic = clear and effective thinking
&#x2F;&#x2F; a science and an art.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;part-one&quot;&gt;PART ONE&lt;&#x2F;h1&gt;
&lt;h2 id=&quot;preparing-the-mind-for-logic&quot;&gt;Preparing the mind for logic&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Be attentive:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;mistake are caused by lack of paying attention, and also in familiar situations. every situation is unique.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;Attention demands an active demands, energetic response to every situations, to the persons, places, and things that make up the situation.&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Train your self to be focus on details&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;The little things are not to be ignored, for it is just the little things that lead us to the big things.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Get the Facts Straight:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;a fact is something made or done. &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Types of objective facts: Things and Events&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Building an Unorthodox Guide Making Things Worth Making (Tony Fadell)</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/build-an-unorthodox-guide-to-making-things-worth-making/"/>
        <id>https://daveads.github.io/note/build-an-unorthodox-guide-to-making-things-worth-making/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/build-an-unorthodox-guide-to-making-things-worth-making/">&lt;h3 id=&quot;interesting-authors-questions&quot;&gt;Interesting Authors questions&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;how to know if my ideas are any good.&lt;&#x2F;li&gt;
&lt;li&gt;how to think about design.&lt;&#x2F;li&gt;
&lt;li&gt;how to deal with failure.&lt;&#x2F;li&gt;
&lt;li&gt;when and how to start a business&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&#x2F;&#x2F; Company culture&lt;&#x2F;p&gt;
&lt;p&gt;Human nature doesn&#x27;t changes, regardless of what you&#x27;re building, where you live, how old you are, how wealthy or not.&lt;&#x2F;p&gt;
&lt;p&gt;A good mentor won&#x27;t hand you the answers, but they will try to help you see your problem from a new perspective.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;part-1-build-your-self&quot;&gt;PART 1 - Build your self&lt;&#x2F;h2&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;chapter 1 : adulthood:&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;&#x2F;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;making a mistake is the best way not to make that mistake again, Do, fail, learn.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;psychographics&lt;&#x2F;li&gt;
&lt;li&gt;branding&lt;&#x2F;li&gt;
&lt;li&gt;managers of process, of limits.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;General magic was making incredible products but wasn&#x27;t making product that would solve people&#x27;s problem.&lt;&#x2F;p&gt;
&lt;p&gt;A company likely to make a substantial change in the status quo has the following characteristics:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;creating a product or service that is extremely new.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;The product should solve a problem that a lot of customers experience daily, there should be an existing large market.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;the novel company can deliver on the company vision--- not just within the product but also the infrastructure, platforms, and systems that support it.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Building muscles</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/building-muscles/"/>
        <id>https://daveads.github.io/note/building-muscles/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/building-muscles/">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;primary driver of muscle growth == MECHANICAL TENSION&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Applying loads to the target muscle fiber and training them very close or all the way to muscles failure&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;keeping a log file &#x2F;&#x2F;book .... (tracking reps and sets)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;building-mistakes&quot;&gt;Building mistakes&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;centering workout around get a pump&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;relying on fatigues&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;relying on muscle soreness&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;not tracking your workouts
&#x2F;&#x2F;progressively overload &amp;amp; recording your workout&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;excessive workout variation
&#x2F;&#x2F; they respond to the degree of mechanical loads not different variation.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;improper exercise selection &#x2F;&#x2F;choosing the wrong lifts
&#x2F;&#x2F; right exercise for the right muscle groups&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;over emphasizing certain muscle groups
&#x2F;&#x2F;focusing mostly on showing muscle groups&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;intentionally creating instability during your lifts&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;performing too much high reps sets
&#x2F;&#x2F; 5 -12rep are okay&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;not resting long enough in between sets&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;performing pre workout cardio&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Workout building is based off&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;strength&lt;&#x2F;li&gt;
&lt;li&gt;building muscles&lt;&#x2F;li&gt;
&lt;li&gt;Endurance&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Do the Work: Overcome Resistance and Get Out of Your Own Way</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/do-the-work/"/>
        <id>https://daveads.github.io/note/do-the-work/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/do-the-work/">&lt;p&gt;&lt;strong&gt;ORIENTATION ENEMIES AND ALLIES&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Enemies:{&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	* resistance : fear, self-doubt, procastination, addiction, distraction, timidity, ego and narcissism, self-loathing, perfectionism, e.t.c&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	* rational thoughts&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	* friends and family&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;}&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;war of art&lt;&#x2F;strong&gt; &#x2F;&#x2F; am not reading that&lt;&#x2F;p&gt;
&lt;h2 id=&quot;resistance&quot;&gt;RESISTANCE&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;resistance is a force of nature&lt;&#x2F;li&gt;
&lt;li&gt;resistance never sleep and fear doesn&#x27;t go away&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;CODE:: THE BATTLE MUST BE FOUGHT ANEW EVERYDAY&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;rational-thought&quot;&gt;Rational thought&lt;&#x2F;h2&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;The Greeks’ greatest poet understood that genius did not reside within his&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;fallible, mortal self—but came to him instead from some source that he&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;could neither command nor control, only invoke.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;the deeper the source we work from, the better our stuff will be and the more tranformative it will be for us and for those we share it with.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;friends-and-family&quot;&gt;Friends and Family&lt;&#x2F;h2&gt;
&lt;p&gt;THOUGHTS**&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;so true, the last thing anyone would want is to remain as they are&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;our-allies&quot;&gt;OUR ALLIES&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;Stupidity&lt;&#x2F;li&gt;
&lt;li&gt;Stubbornness&lt;&#x2F;li&gt;
&lt;li&gt;Blind faith&lt;&#x2F;li&gt;
&lt;li&gt;Passion&lt;&#x2F;li&gt;
&lt;li&gt;Assistance (the opposite of Resistance)&lt;&#x2F;li&gt;
&lt;li&gt;Friends and family&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;&lt;strong&gt;STAY STUPID&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;A child has no trouble believing the unbelievable, nor does the genius or the madman. It’s only you and I, with our big brains and our tiny hearts, who doubt and overthink and hesitate.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ul&gt;
&lt;li&gt;Don&#x27;t think act &lt;strong&gt;We can always revise and revisit once we’ve acted. But we can accomplish&lt;&#x2F;strong&gt;
nothing until we act.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Be Stubborn&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;One we commit to action, the worst thing we can do is stop.
&#x2F;** stubborness keeps us for stopping **&#x2F;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;we will sink our junkyard-dog teeth into resistance&amp;#39;s ass and not let go, no matter how hard he kicks.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;BLIND FAITH&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Our mightiest ally (our indispensable ally) is belief&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;in something we cannot see, hear, touch, taste, or&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;feel.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Imagine a box with a lid. Hold the box in your hand. Now open it.&lt;&#x2F;p&gt;
&lt;p&gt;What’s inside?&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;with unshakeable faith that there will always be something in the box.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;PASSION&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;fear saps passion&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Friends and Family&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; This part seems very important&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;When art and inspiration and success and fame and money have come and&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;gone, who still loves us—and whom do we love?&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;**Only two things will remain with us across the river: our inhering genius and the hearts we love.**&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;what we do and whom we do it for. ?&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Chapter 1&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;BEGINNING&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;Start before you are ready&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;don&#x27;t prepare begin&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; our enemy is not lack of preparation;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; it’s not the difficulty of the project or the state of the&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; marketplace or the emptiness of our bank account.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The enemy is the resistance. &lt;strong&gt;The enemy is our chatting brain&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;when we start before we are ready we show &lt;em&gt;huevos&lt;&#x2F;em&gt; , our blood heats up, courage begets more courae.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Until one is committed, there is hesitancy, chance to draw back, always ineffectiveness.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; Concerning all acts of initiative (and creation),&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; there is one elementary truth, the ignorance of which kills countless&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; ideas and splendid plans: that the moment one definitely commits&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; oneself, then Providence moves too.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Goethe’s couplets: “Whatever you can do or dream you can, begin it. Boldness has genius, power and magic in it.” Begin it now.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-research-diet&quot;&gt;A Research Diet&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Research can become Resistance. We want to work, not prepare to work.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;stay primitive:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; The creative act is primitive. Its principles are of birth and genesis.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &amp;quot;&amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; Babies are born in blood and chaos; stars and&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; galaxies come into being amid the release of massive&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; primordial cataclysms.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &amp;quot;&amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; * it better to be primitive than to be sophisticated, and better to be stupid than smart.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &amp;quot;&amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; The most highly cultured mother gives birth&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; sweating and dislocated and cursing like a sailor.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &amp;quot;&amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; That’s the place we inhabit as artists and innovators. It’s the place we must become comfortable with.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; **The hospital room may be spotless and sterile, but birth itself will always take place amid chaos, pain ,and blood.**&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Swing for the seats&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; * dont work small&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &amp;quot;&amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; Start playing from power. We can always dial it back later. If we don’t&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; swing for the seats from the start, we’ll never be able to drive a fastball into&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; the upper deck.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; &amp;quot;&amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Lunch with my Mentor&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; * don&amp;#39;t overthink&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; * don&amp;#39;t overprepare&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; * Don’t let research become Resistance.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; * Don’t spend six months compiling shits*&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; Discipline yourself to boil down your story&#x2F;new business&#x2F;philanthropic enterprise to a single page.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;How Leonardo Did It&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; 1. Supper table stretching across the width of the canvas.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; 2. Jesus standing in the center, apostles arrayed in various postures left and right.	&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; 3. Perspective and background tailing off behind.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt; *That’s all Mr. Da V needed to start. The rest is details.*&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h2 id=&quot;that-s-why-they-call-it-rewriting&quot;&gt;&lt;strong&gt;That’s Why They Call It Rewriting&lt;&#x2F;strong&gt;&lt;&#x2F;h2&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;There is no such thing as writing, only rewriting. &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Get your idea down on paper. you can always tweak it later&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;start-at-the-end&quot;&gt;start at the end&lt;&#x2F;h2&gt;
&lt;p&gt;E.g.
* focus on the users experience
* major required features&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;If you’re preparing a seduction, determine the state of mind you want the process of romancing to bring your lover to.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	&amp;quot;&amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	Figure out where you want to go; then work&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	backwards from there.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	&amp;quot;&amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;thoughts-and-chatter&quot;&gt;Thoughts and Chatter&lt;&#x2F;h2&gt;
&lt;p&gt;Chatter:
when you shift your consciousness to a witnessing mode and to watch thoughts arise, float across your awareness, and then drift away, to be replaced by the next thought and the thought after that.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Don’t think : according the writers means don’t listen to the chatter. Pay no attention to those rambling, disjointed images and notions that drift across the movie screen of your mind.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;chatter == resistance&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Ready to Rock and Roll&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Stay primitive.&lt;&#x2F;li&gt;
&lt;li&gt;Trust the soup.&lt;&#x2F;li&gt;
&lt;li&gt;Swing for the seats.&lt;&#x2F;li&gt;
&lt;li&gt;Be ready for Resistance.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Chapter 2&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-universe-is-not-indifferent&quot;&gt;The Universe is not indifferent&lt;&#x2F;h2&gt;
&lt;p&gt;when we decide to crate anything----------science, tech or to advance in the direction of a higher , nobler version of ourselves, we uncork from the universe, ineluctably, an equal and opposite reaction.&lt;&#x2F;p&gt;
&lt;p&gt;That reaction is Resistance&lt;&#x2F;p&gt;
&lt;p&gt;&quot;&quot;&quot;
Resistance is an active, intelligent, protean malign force---tireless, relentles whose sole object is to stop us from becoming our best selves and from achieving our higher goals.
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;The universe is not indifferant. it is actively hostile.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;We can never eliminate Resistance. It will never&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;go away. But we can outsmart it, and we can enlist&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;allies that are as powerful as it is.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;One thing not permited to do is take resistance lightly&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;fill-in-the-gaps&quot;&gt;FILL IN THE GAPS&lt;&#x2F;h2&gt;
&lt;p&gt;&quot;&quot;&quot;
Any project or enterprise can be broken down into
beginning, middle, and end. Fill in the gaps; then fill
in the gaps between the gaps.
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;cover-the-canvas&quot;&gt;Cover the Canvas&lt;&#x2F;h2&gt;
&lt;p&gt;&quot;&quot;&quot;
One rule for first full working drafts: get them
done ASAP.
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Don’t worry about quality. Act, don’t reflect. Momentum is everything.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Get the first version of your project done from A to Z as fast as you can.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;suspend-all-self-judgment&quot;&gt;Suspend All Self-Judgment&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Unless you’re building a sailboat or the Taj Mahal, I give you a free pass to screw up as much as you like.&lt;&#x2F;strong&gt;
&#x2F;&#x2F;This seems more like software&lt;&#x2F;p&gt;
&lt;p&gt;&quot;&quot;&quot;
Only one thing matters in this initial draft: get SOMETHING done,
however flawed or imperfect.
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;p&gt;perfectionism == &quot;resistance&quot;&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;thoughts&quot;&gt;THOUGHTS&lt;&#x2F;h2&gt;
&lt;p&gt;&#x2F;**
Fucking perfection&lt;&#x2F;p&gt;
&lt;p&gt;But&lt;&#x2F;p&gt;
&lt;p&gt;This can&#x27;t be possible for all cases e.g. working on a [security, health, space] related software&lt;&#x2F;p&gt;
&lt;p&gt;i guess that&#x27;s why testing is important or some sort of stimulation
**&#x2F;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-crazier-the-better&quot;&gt;The Crazier the better&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;suspending self-judjement doesn&#x27;t just mean blowing off the the &quot;you suck&quot; voice means libration from conventional expectation&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Stay stupid. Follow your unconventional, crazy&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;heart.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;ideas-do-not-come-linearly&quot;&gt;Ideas Do Not Come Linearly&lt;&#x2F;h2&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Ideas come according to their own logic. That&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;logic is not rational. It’s not linear. We may get the&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;middle before we get the end. We may get the end&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;before we get the beginning. Be ready for this. Don’t&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;resist it.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Nothing is more fun than turning on the recorder&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;and hearing your own voice telling you a fantastic&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;idea that you had completely forgotten you had.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;the-process&quot;&gt;The Process&lt;&#x2F;h2&gt;
&lt;p&gt;the idea generation process is in two stages&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Action&lt;&#x2F;li&gt;
&lt;li&gt;Reflection&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&#x2F;&#x2F; never act and reflect at the same time&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-definition-of-action-and-reflection&quot;&gt;The Definition of Action and Reflection&lt;&#x2F;h2&gt;
&lt;p&gt;In writing, “action” means putting words on paper. &#x2F;&#x2F;writing the code&lt;&#x2F;p&gt;
&lt;p&gt;“Reflection” means evaluating what we have on paper. &#x2F;&#x2F; testing&lt;&#x2F;p&gt;
&lt;p&gt;“Stay Stupid,” :: mean don’t self-censor, don’t indulge in self-doubt, don’t permit self-judgment.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Forget rational thought. Play. Play like a child.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&quot;&quot;&quot;
Our job is not to control our idea; our job is to
figure out what our idea is (and wants to be)—and
then bring it into being.
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Bob Dylan’s Chronicles&lt;&#x2F;strong&gt; ????&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-answer-is-always-yes&quot;&gt;The Answer Is Always Yes&lt;&#x2F;h2&gt;
&lt;p&gt;When an idea pops into our head and we think, “No, this is too crazy,”
… that’s the idea we want.&lt;&#x2F;p&gt;
&lt;p&gt;When we think, “This notion is completely off the wall … should I even
take the time to work on this?”
… the answer is yes.&lt;&#x2F;p&gt;
&lt;p&gt;Never doubt the soup. Never say no.
The answer is always yes.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-opposite-of-resistance&quot;&gt;The Opposite of Resistance&lt;&#x2F;h2&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;The universe is also actively benevolent. You&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;should be feeling this now. You should be feeling a&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;tailwind.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;The opposite of Resistance is Assistance.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;A work-in-progress generates its own energy field.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;You, the artist or entrepreneur, are pouring love into&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;the work; you are suffusing it with passion and&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;intention and hope. This is serious juju. The universe&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;responds to this. It has no choice.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&quot;&quot;&quot;
Your work-in-progress produces its own gravitational field, created by your
will and your attention. This field attracts like-spirited entities into its orbit.
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;ideas&quot;&gt;ideas&lt;&#x2F;h2&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Assistance is the universal, immutable force of&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;creative manifestation, whose role since the Big Bang&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;has been to translate potential into being, to convert&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;dreams into reality.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;keep-working&quot;&gt;Keep Working&lt;&#x2F;h2&gt;
&lt;hr &#x2F;&gt;
&lt;p&gt;How much time can you spare each day?&lt;&#x2F;p&gt;
&lt;h2 id=&quot;for-that-interval-close-the-door-and-short-of-a-family-emergency-or-theoutbreak-of-world-war-iii-don-t-let-anybody-in&quot;&gt;For that interval, close the door and—short of a family emergency or the
outbreak of World War III—don’t let ANYBODY in.&lt;&#x2F;h2&gt;
&lt;h2 id=&quot;keep-working-part-two&quot;&gt;Keep Working, Part Two&lt;&#x2F;h2&gt;
&lt;p&gt;&#x27;&#x27;&#x27;
Ignore false negatives. Ignore false positives. Both are Resistance.
&#x27;&#x27;&#x27;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;act-reflect-part-two&quot;&gt;Act&#x2F;Reflect, Part Two&lt;&#x2F;h2&gt;
&lt;p&gt;Keep refining your understanding of the theme; keep narrowing it down&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Pause and reflect. “What is this project&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;about?” “What is its theme?” “Is every element serving that theme?”&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;fill-in-the-gaps-part-two&quot;&gt;Fill in the Gaps, Part Two&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Ask yourself what’s missing. Then fill that void.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;now-we-re-rolling&quot;&gt;Now We’re Rolling&lt;&#x2F;h2&gt;
&lt;p&gt;&#x27;&#x27;&#x27;
weeks into projects when this start getting interesting
&#x27;&#x27;&#x27;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;THE WALL&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; when we hit the wall &lt;strong&gt;no progress&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&quot;&quot;&quot;
That “You suck” voice is back, howling in our
head.
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;p&gt;&quot;&quot;&quot;
We’re poised at the brink of a creative
breakthrough and we can’t stand it. The prospect of
success looms. We freak. Why did we start this
project? We must have been insane. Who encouraged
us? We want to wring their necks. Where are they
now? Why can’t they help us?
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-belly-of-the-beast&quot;&gt;THE BELLY OF THE BEAST&lt;&#x2F;h2&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	**WELCOME TO HELL**&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;principle-number-one-there-is-an-enemy&quot;&gt;Principle Number One: There Is an Enemy&lt;&#x2F;h2&gt;
&lt;p&gt;There is an enemy. There is an intelligent, active,
malign force working against us.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Step one is to recognize this.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;This recognition alone is enormously powerful. It
saved my life, and it will save yours.&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; i don&#x27;t know where this is headed yet&lt;&#x2F;p&gt;
&lt;h2 id=&quot;principle-number-two-this-enemy-is-implacable&quot;&gt;principle Number Two: This Enemy is Implacable&lt;&#x2F;h2&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Its aim is not to obstruct or to hamper or to&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;impede. Its aim is to kill.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;principle-number-three-this-enemy-is-inside-you&quot;&gt;principle number Three: This Enemy is Inside you&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;&quot;peripheral opponents.&quot;&lt;&#x2F;strong&gt; : ~according to a former coach of the Laker &lt;strong&gt;pat riley&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;is fame and ego (not to mention crazed fans, the press, agents, sponsors and ex-wives) works against the players chances for on-court success.&lt;&#x2F;p&gt;
&lt;p&gt;&quot;&quot;&quot;
Resistance is not a peripheral opponent. It does not arise from rivals,
bosses, spouses, children, terrorists, lobbyists, or political adversaries.
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;All this comes from us&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;principle-number-four-the-enemy-is-inside-you-but-it-is-not-you&quot;&gt;Principle Number Four: The Enemy Is Inside You, But It Is Not You&lt;&#x2F;h2&gt;
&lt;p&gt;&quot;&quot;
What does that mean? It means you are not to
blame for the voices of Resistance you hear in your
head.
&quot;&quot;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;If you’ve got a head, you’ve got a voice of Resistance inside it.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;principle-number-five-the-real-you-must-duel-the-resistance-you&quot;&gt;Principle Number Five: The “Real You” Must Duel the “Resistance You”&lt;&#x2F;h2&gt;
&lt;p&gt;You are the knight.&lt;&#x2F;p&gt;
&lt;p&gt;Resistance is the dragon.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;principle-number-six-resistance-arises-second&quot;&gt;Principle Number Six: Resistance Arises Second&lt;&#x2F;h2&gt;
&lt;p&gt;The sixth principle of Resistance (and the key to overcoming it) is that
Resistance arises second.&lt;&#x2F;p&gt;
&lt;p&gt;&quot;&quot;&quot;
What comes first is the idea, the passion, the
dream of the work we are so excited to create that it
scares the hell out of us.
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;p&gt;Resistance is the response of the frightened, petty, small-time ego to the
brave, generous, magnificent impulse of the creative self.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;It means that before the dragon of Resistance&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;reared its ugly head and breathed fire into our faces,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;there existed within us a force so potent and life-&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;affirming that it summoned this beast into being,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;perversely, to combat it.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Resistance is more like the pain-in-the-ass schoolteacher who won’t let us climb that tree in the playground&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&quot;&quot;&quot;
Love for the material, love for the work, love for
our brothers and sisters to whom we will offer our
work as a gift.
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;In Greek, the word is eros. Life force. Dynamis, creative drive.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;&#x2F;&#x2F; when face with resistance remember why you started&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Principle Number Seven: The Opposite of Resistance Is Assistance&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F;stuffs that could cross your mind #resistance&lt;&#x2F;p&gt;
&lt;p&gt;&quot;&quot;&quot;
“You’re too young, you’re too inexperienced; you’ve got no credentials, no
credibility. Everyone who’s tried this has failed and you will, too. It can’t be
done. Your plane will crash, you’re going to drown, you’re a madman who
is attempting the impossible and you deserve whatever dire fate befalls
you!”
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;love the idea&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;The seventh principle of Resistance is that we can align ourselves with&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;these universal forces of Assistance—this dream, this passion to make the&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;unmanifest manifest—and ride them into battle against the dragon.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;resistance-s-two-tests&quot;&gt;Resistance’s Two Tests&lt;&#x2F;h2&gt;
&lt;p&gt;Test number one :&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;how bad do you want it ?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&quot;&quot;&quot;
Dabbling • Interested • Intrigued but Uncertain • Passionate • Totally
Committed
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;p&gt;Test Number Two :&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;why do you want it ?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;hr &#x2F;&gt;
&lt;ol&gt;
&lt;li&gt;For the babes (or the dudes)&lt;&#x2F;li&gt;
&lt;li&gt;The money&lt;&#x2F;li&gt;
&lt;li&gt;For fame&lt;&#x2F;li&gt;
&lt;li&gt;Because I deserve it&lt;&#x2F;li&gt;
&lt;li&gt;For power&lt;&#x2F;li&gt;
&lt;li&gt;To prove my old man (or ex-spouse, mother, teacher, coach) wrong&lt;&#x2F;li&gt;
&lt;li&gt;To serve my vision of how life&#x2F;mankind ought to be&lt;&#x2F;li&gt;
&lt;li&gt;For fun or beauty&lt;&#x2F;li&gt;
&lt;li&gt;Because I have no choice&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;hr &#x2F;&gt;
&lt;p&gt;8,9&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-attitude-adjustment-chamber&quot;&gt;The Attitude Adjustment Chamber&lt;&#x2F;h2&gt;
&lt;p&gt;Things you don&#x27;t get to keep :&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Your ego&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Your sense of entitlement&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Your impatience&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Your fear&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Your hope&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Your anger&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;All grievances related to aspects of yourself dependent on the accident of birth.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;All sense of personal exceptionalness dependent on the accident of birth.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;The only items you get to keep are love for the&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;work, will to finish, and passion to serve the ethical&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h1 id=&quot;ch-3&quot;&gt;ch 3&lt;&#x2F;h1&gt;
&lt;h3 id=&quot;the-big-crash&quot;&gt;THE BIG CRASH&lt;&#x2F;h3&gt;
&lt;p&gt;&quot;&quot;&quot;
The Big Crash is so predictable, across all fields of
enterprise, that we can practically set our watches by
it.
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;ringing-the-bell&quot;&gt;Ringing The Bell&lt;&#x2F;h3&gt;
&lt;p&gt;Just like the Navy silly training &#x2F;&#x2F; US military, we also have a bell hanging over us&lt;&#x2F;p&gt;
&lt;p&gt;&quot;&quot;&quot;
Ring the bell if ready to quit or drop out
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;p&gt;There’s a difference between Navy SEAL training and what you and I are facing now.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Our ordeal is harder. Because we&#x27;re alone&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;crashes-are-good&quot;&gt;CRASHES ARE GOOD&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Crashes are hell, but in the end they’re good for us.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;A crash means we have failed. We gave it everything we had and we came up short. A crash does not mean we are losers.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;a crash mean we have to grow&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;a crash means we are at the threshold of learning something &#x2F;&#x2F;means we&#x27;re getting better, aquiring the wisdom of our craft.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;it compels us to figure what works and what does&#x27;nt , and to understand the diff&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&quot;&quot;&quot;
We got ourselves into this mess by mistakes we made at the start. How?
Were we lazy? Inattentive? Did we mean well but forget to factor in human
nature? Did we assess reality incorrectly?
&quot;&quot;&quot;&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;whatever-the-cause-the-big-crash-compels-us-togo-back-now-and-solve-the-problem-that-we-eithercreated-directly-or-set-into-motion-unwittingly-at-theoutset&quot;&gt;Whatever the cause, the Big Crash compels us to
go back now and solve the problem that we either
created directly or set into motion unwittingly at the
outset.&lt;&#x2F;h2&gt;
&lt;h2 id=&quot;panic-is-good&quot;&gt;Panic Is Good&lt;&#x2F;h2&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Docker key words</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2023-09-15T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/docker/"/>
        <id>https://daveads.github.io/note/docker/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/docker/">&lt;ul&gt;
&lt;li&gt;develop&lt;&#x2F;li&gt;
&lt;li&gt;ship&lt;&#x2F;li&gt;
&lt;li&gt;run&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;to-run-docker-images&quot;&gt;&lt;strong&gt;To run docker images&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;hr &#x2F;&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;markdown&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;docker run &lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;image&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;to-show-docker-images&quot;&gt;&lt;strong&gt;To show docker images&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;hr &#x2F;&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;docker images&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;pull-docker-images&quot;&gt;&lt;strong&gt;pull docker images&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;code&gt;docker pull &amp;lt;image&amp;gt;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;docker-status&quot;&gt;&lt;strong&gt;Docker status&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;code&gt;systemctl status docker&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;current-running-container&quot;&gt;&lt;strong&gt;current running container&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;code&gt;docker ps&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;runned-container&quot;&gt;&lt;strong&gt;runned container&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;code&gt;docker ps -a&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;iteractive-tty-container&quot;&gt;&lt;strong&gt;iteractive tty @container&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;code&gt;docker run -it &amp;lt;image&amp;gt; sh&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;cleaning-up-containters&quot;&gt;&lt;strong&gt;cleaning up containters&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;docker rm &amp;lt;container id&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;docker rm $(docker ps -a -q -f status=exited)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;docker container prune&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;view-exposed-image-ports&quot;&gt;&lt;strong&gt;view exposed image ports&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;code&gt;docker port &amp;lt;image&amp;gt;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;to-stop-a-detached-container&quot;&gt;&lt;strong&gt;To stop a detached container&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;code&gt;docker stop &amp;lt;image&amp;gt;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h4 id=&quot;docker-images&quot;&gt;&lt;strong&gt;DOCKER IMAGES&lt;&#x2F;strong&gt;&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Base images : images with no parent image, usually images with an os like ubuntu, busybox &amp;amp;&amp;amp; debian&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Child images : images build on base images&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;offical images : made by folks at docker&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;user images : user&#x2F;image-name by users&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;search for images with&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;docker search&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h4 id=&quot;delete-images&quot;&gt;&lt;strong&gt;Delete images&lt;&#x2F;strong&gt;&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;docker rmi &amp;lt;image_id&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&#x2F;&#x2F; forcefully remove an image&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;docker rmi -f &amp;lt;image_id&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;interactive-shell-session&quot;&gt;Interactive shell session&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;docker run -it ubuntu bash &#x2F;&#x2F; exit&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&#x2F;&#x2F; Keep running when exited &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;- docker run -itd ubuntu bash&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;- docker attach CONTAINER_ID&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;creating-a-docker-image&quot;&gt;Creating a docker image&lt;&#x2F;h3&gt;
&lt;hr &#x2F;&gt;
&lt;p&gt;&lt;code&gt;docker build -t daveads&#x2F;flask_py .&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>using i3 multiple monitors @xrandr</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/external-monitor/"/>
        <id>https://daveads.github.io/note/external-monitor/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/external-monitor/">&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;xrandr&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;eDP1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 340mm x 190mm
1366x768      60.00*+&lt;&#x2F;p&gt;
&lt;p&gt;HDMI1 connected 1080x1920+1366+0 left (normal left inverted right x axis y axis) 470mm x 300mm
1920x1080     60.00*+  59.94&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;p&gt;position out right of primary screen&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; horizontal position
xrandr --output HDMI1 --auto --right-of eDP1&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; vertical position
xrandr --output HDMI1 --rotate left --right-of eDP1&lt;&#x2F;p&gt;
&lt;h2 id=&quot;xrandr-output-hdmi1-rotate-left-auto-right-of-edp1&quot;&gt;xrandr --output HDMI1 --rotate left --auto --right-of eDP1&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;edit-configs-to-add-moving-workspaces-between-screens&quot;&gt;Edit configs to add moving workspaces between screens&lt;&#x2F;h3&gt;
&lt;p&gt;.config&#x2F;i3&#x2F;config&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;bindsym-mod-p-move-workspace-to-output-right&quot;&gt;bindsym $mod+p move workspace to output right&lt;&#x2F;h2&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>How innovation works</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/how-innovation-works/"/>
        <id>https://daveads.github.io/note/how-innovation-works/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/how-innovation-works/">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Innovation is potentially infinite because even if it runs out of new things to do, it can always find ways to do the same things more quickly or for less energy.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>i3 tilling window manager</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/i3-wm/"/>
        <id>https://daveads.github.io/note/i3-wm/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/i3-wm/">&lt;p&gt;$mod by default == &quot;windows key&quot;&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F;modifier&lt;&#x2F;p&gt;
&lt;p&gt;$mod + ENTER = &quot;new terminal&quot;&lt;&#x2F;p&gt;
&lt;p&gt;$mod + 1 || 2 = &quot;switches to a new window&quot;&lt;&#x2F;p&gt;
&lt;p&gt;$mod + shift + 1 = &quot;moves a window to another workspace&quot;&lt;&#x2F;p&gt;
&lt;p&gt;$mod + shift + q = &quot;to exit a window&quot;&lt;&#x2F;p&gt;
&lt;p&gt;$mod + shift + space = &quot;to make a window float&quot;&lt;&#x2F;p&gt;
&lt;p&gt;$mod + shift + e = &quot;logout&quot;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;black-light&quot;&gt;black light&lt;&#x2F;h1&gt;
&lt;p&gt;&#x2F;sys&#x2F;class&#x2F;backlight&#x2F;intel_backlight&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;**
need to figure out how to automate this
**&#x2F;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>muscle groups</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/muscles-groups/"/>
        <id>https://daveads.github.io/note/muscles-groups/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/muscles-groups/">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Trapezius&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Latissimus&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Gleutous&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Biceps&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Triceps&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>mysql &gt;&gt; mariadb note</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/mysql/"/>
        <id>https://daveads.github.io/note/mysql/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/mysql/">&lt;h3 id=&quot;local-development&quot;&gt;Local development&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;mysql -u root -p&lt;&#x2F;code&gt;  Connect to the MySQL server using the &lt;code&gt;mysql&lt;&#x2F;code&gt; command-line client and provide the root user credentials when prompted&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;SHOW DATABASES;&lt;&#x2F;code&gt; See all the databases available on the MySQL server&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;USE database_name;&lt;&#x2F;code&gt; To move in to the database&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;SHOW TABLES;&lt;&#x2F;code&gt; View all the tables within the selected database&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;DESCRIBE table_name;&lt;&#x2F;code&gt;  To view the structure (columns and data types) of a specific table&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;CREATE DATABASE new_database_name;&lt;&#x2F;code&gt; To create a new database&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;source &#x2F;home&#x2F;ubuntu&#x2F;schema.sql&lt;&#x2F;code&gt; To run a SQL script file like &lt;code&gt;schema.sql&lt;&#x2F;code&gt; in SQL shell&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;DROP DATABASE my_database;&lt;&#x2F;code&gt; Delete a database&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>starting postgres sql</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/postgresql/"/>
        <id>https://daveads.github.io/note/postgresql/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/postgresql/">&lt;h2 id=&quot;postgresql-local-development-setup&quot;&gt;Postgresql Local development setup&lt;&#x2F;h2&gt;
&lt;p&gt;There are no users in PostgreSQL, only roles.&lt;&#x2F;p&gt;
&lt;p&gt;postgres account is created by default&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;sudo -i -u postgres&lt;&#x2F;code&gt; : To switch in the postgress account then &lt;code&gt;psql&lt;&#x2F;code&gt; to start postgresql interactive terminal&lt;&#x2F;p&gt;
&lt;p&gt;OR&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;sudo -u postgres psql&lt;&#x2F;code&gt; : This log you directly into postgres&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;THIS COMMANDS CAN BE RUN WITH THE POSTGRESS ACCOUNT&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;\du&lt;&#x2F;code&gt; : List all user accounts or roles&lt;&#x2F;p&gt;
&lt;h2 id=&quot;creating-a-new-role&quot;&gt;Creating a new role&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;code&gt;createuser --interactive&lt;&#x2F;code&gt;: Within the postgres account&lt;&#x2F;p&gt;
&lt;p&gt;Or&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;sudo -u postgres createuser --interactive&lt;&#x2F;code&gt; without switching in the postgres account first&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Within the postgresql interactive terminal&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;SELECT datname FROM pg_database;&lt;&#x2F;code&gt; or  &lt;code&gt;&#x2F;list&lt;&#x2F;code&gt; See all database in PostgreSQL&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;SELECT rolname FROM pg_roles;&lt;&#x2F;code&gt; To list all roles&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;DROP ROLE &amp;lt;role&amp;gt;;&lt;&#x2F;code&gt; : To remove  role&lt;&#x2F;p&gt;
&lt;h2 id=&quot;to-add-login&quot;&gt;to add login&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;code&gt;CREATE ROLE &quot;&amp;lt;role&amp;gt;&quot;;&lt;&#x2F;code&gt; WITH LOGIN&lt;&#x2F;p&gt;
&lt;h2 id=&quot;quit-the-postgresqlq&quot;&gt;quit the postgresqlq&lt;&#x2F;h2&gt;
&lt;p&gt;\q : quit&lt;&#x2F;p&gt;
&lt;p&gt;[psql postgres -U User]&lt;&#x2F;p&gt;
&lt;h2 id=&quot;&quot;&gt;&lt;&#x2F;h2&gt;
&lt;h2 id=&quot;creating-role-with-login-password&quot;&gt;creating role with login password&lt;&#x2F;h2&gt;
&lt;p&gt;CREATE ROLE &lt;role&gt; WITH LOGIN PASSWORD &#x27;&lt;password&gt;&#x27;;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;alternative-way&quot;&gt;alternative way&lt;&#x2F;h2&gt;
&lt;p&gt;CREATE USER &lt;role&gt; LOGIN PASSWORD &#x27;&lt;password&gt;&#x27;;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;adding-a-role-attribute-to-a-role&quot;&gt;adding a role attribute to a role&lt;&#x2F;h2&gt;
&lt;p&gt;ALTER ROLE &lt;role&gt; WITH LOGIN;&lt;&#x2F;p&gt;
&lt;p&gt;##built in role attributes&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;login&#x2F;nologin : allow (or not) to login postgresql&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;SUPERUSER&#x2F;NOSUPERUSER : a db superuser will bypass other permission checks, excepts for LOGIN.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;CREATEDB : allows the ability to create db&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;CREATEUSER&#x2F;NOCREATE USER : allow (or not) the ability to create new uses.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;INHERIT&#x2F; NOINHERIT : ability to make privileges inheritable.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;REPLICATION&#x2F; NOREPLICATION : ??&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;switch-datbase&quot;&gt;switch datbase&lt;&#x2F;h2&gt;
&lt;p&gt;\connect &amp;lt;db_name&amp;gt;&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;exprimented-with-this&quot;&gt;exprimented with this&lt;&#x2F;h2&gt;
&lt;p&gt;CREATE ROLE testing WITH LOGIN  Superuser Createrole Createdb Replication BypassRls;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Blogroll</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-18T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/programming-blogs/"/>
        <id>https://daveads.github.io/note/programming-blogs/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/programming-blogs/">&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;rachelbythebay.com&#x2F;w&#x2F;&quot;&gt;Rachel Kroll&lt;&#x2F;a&gt;
Software, technology, sysadmin war stories&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;xania.org&#x2F;&quot;&gt;Matt godbolt&#x27;s blog&lt;&#x2F;a&gt;
c++, rust&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;pvk.ca&#x2F;&quot;&gt;PAUL KHUONG&lt;&#x2F;a&gt;
: SOME LISP&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.windytan.com&#x2F;&quot;&gt;Oona Raisanen&lt;&#x2F;a&gt;
a blog about sound &amp;amp; signals&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;tonsky.me&#x2F;&quot;&gt;Nikita Prokopov&lt;&#x2F;a&gt;
programming and UI design&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;nicole.express&#x2F;listing.html&quot;&gt;Nicole Express&lt;&#x2F;a&gt;
Explorations on old systems&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;idea.popcount.org&#x2F;&quot;&gt;Marek Majkowski&lt;&#x2F;a&gt;
random experiments&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;brooker.co.za&#x2F;blog&#x2F;&quot;&gt;Marc Brooker&lt;&#x2F;a&gt;
A mix of theory and wisdom from a distributed systems engineer&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;lindzey.github.io&#x2F;index.html&quot;&gt;Laura Lindzey&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;aphyr.com&#x2F;&quot;&gt;Kyle Kingsbury&lt;&#x2F;a&gt;
distributed system&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.snellman.net&#x2F;blog&#x2F;&quot;&gt;Juho Snellman&#x27;s Weblog&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;blog.regehr.org&#x2F;&quot;&gt;John Regehr&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;check out =&amp;gt; &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;blog.regehr.org&#x2F;archives&#x2F;213&quot;&gt;A Guide to Undefined Behavior in C and C++, Part 1&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;preshing.com&#x2F;&quot;&gt;Jeff Preshing&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;blogs.whitman.edu&#x2F;countingfromzero&#x2F;&quot;&gt;Janet Davis&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.scattered-thoughts.net&#x2F;&quot;&gt;Jamie Brandon&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.akalin.com&#x2F;&quot;&gt;Fred Akalin&lt;&#x2F;a&gt;
Notes on math, tech, and everything in between&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;fabiensanglard.net&#x2F;&quot;&gt;Fabien Sanglard&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;fgiesen.wordpress.com&#x2F;&quot;&gt;Fabian Giesen&lt;&#x2F;a&gt;
Emphasis on computer architecture, compression, graphics, and signal processing&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;eli.thegreenplace.net&#x2F;&quot;&gt;Eli Bendersky&#x27;s website&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.chrisfenton.com&#x2F;&quot;&gt;Chris Fenton&lt;&#x2F;a&gt;
Hardware&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;jakob.space&#x2F;&quot;&gt; Jakob&lt;&#x2F;a&gt;
computer security&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;blog.jse.li&#x2F;&quot;&gt;Jesse Li&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;acha.ninja&#x2F;&quot;&gt;andrew chambers&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.xn--hrdin-gra.se&#x2F;&quot;&gt;Tomas&#x27; place in cyber­space&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.gwern.net&#x2F;index&quot;&gt;Gwern Branwen&lt;&#x2F;a&gt;
psychology, statistics, and technology&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;beepb00p.xyz&#x2F;&quot;&gt;karlicoss&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;danluu.com&#x2F;&quot;&gt;danluu&lt;&#x2F;a&gt;
hardware and programming&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;mrale.ph&#x2F;&quot;&gt;mroleph&lt;&#x2F;a&gt;
a compiler engineer&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;stevelosh.com&#x2F;&quot;&gt;Steve&lt;&#x2F;a&gt;
programmer&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.evanmiller.org&#x2F;&quot;&gt;Evan Miller&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;nullprogram.com&#x2F;&quot;&gt;Chris-Wellons&lt;&#x2F;a&gt;
software engineer&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;baturin.org&#x2F;&quot;&gt;Daniil Baturin&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;bernsteinbear.com&#x2F;&quot;&gt;Max Bernstein&lt;&#x2F;a&gt;
Languages *****&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;blog.kingcons.io&#x2F;&quot;&gt;Brit Butler&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;blog.demofox.org&#x2F;&quot;&gt;The blog at the bottom of the sea&lt;&#x2F;a&gt;
crypto, game-development, graphics, math, programming, video-games&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;darksi.de&#x2F;&quot;&gt;Fedor Indutny&#x27;s Blog&lt;&#x2F;a&gt;
binary-exploitation, c++, crypto, programming, security&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;bradhodge.ca&#x2F;blog&#x2F;&quot;&gt;Brad&#x27;s Blog&lt;&#x2F;a&gt; -hardware&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;technomancy.us&#x2F;list&quot;&gt;Technomancy&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.philipzucker.com&#x2F;&quot;&gt; Philip Zucker&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;blog.benwiener.com&#x2F;&quot;&gt;You&#x27;ve Reached the Center of the Internet&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.declanoller.com&#x2F;&quot;&gt;declan&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;hardware&quot;&gt;HARDWARE&lt;&#x2F;h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;cowlark.com&#x2F;&quot;&gt;David Given&lt;&#x2F;a&gt; - hardware, compiler&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;randomascii.wordpress.com&#x2F;&quot;&gt;Random ASCII – tech blog of Bruce Dawson&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ancientelectronics.wordpress.com&#x2F;&quot;&gt;ancientelectronics&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;thestone.zone&#x2F;&quot;&gt;The Stone Zone&lt;&#x2F;a&gt; hardware, lisp, programming, reversing&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;wargio.github.io&#x2F;about&#x2F;&quot;&gt;&#x2F;dev&#x2F;ram0&lt;&#x2F;a&gt; Cryptography, Reverse Engineering&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;travisgoodspeed.blogspot.com&#x2F;&quot;&gt;TRAVIS GOODSPEED&#x27;S BLOG&lt;&#x2F;a&gt; hardware&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;retro.moe&#x2F;&quot;&gt;RETRO.MOE&lt;&#x2F;a&gt; - hardware&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.rtl-sdr.com&#x2F;&quot;&gt;rtl-sdr.com&lt;&#x2F;a&gt; ham-radio, hardware, programming&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;nickcano.com&#x2F;&quot;&gt;Nick Cano&lt;&#x2F;a&gt; capture-the-flag, game-hacking, hardware, programming, reversing, video-games&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;nick.zoic.org&#x2F;&quot;&gt;... and another thing ...&lt;&#x2F;a&gt;
capture-the-flag, game-hacking, hardware, programming, reversing, video-games&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;jamchamb.net&#x2F;&quot;&gt;jamchamb&#x27;s blog&lt;&#x2F;a&gt; - c, hardware, programming, retro-tech, reversing&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;reversing&quot;&gt;Reversing&lt;&#x2F;h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.shelliscoming.com&#x2F;&quot;&gt;Shell is coming...&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.codersnotes.com&#x2F;notes&#x2F;&quot;&gt;Notes On Programming&lt;&#x2F;a&gt; hardware, programming&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;shell-storm.org&#x2F;&quot;&gt;Jonathan Salwan&lt;&#x2F;a&gt; low-level computing, program analysis, reverse engineering, bugs exploitation.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;radareorg.github.io&#x2F;blog&#x2F;&quot;&gt;The radare team&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;j00ru.vexillium.org&#x2F;&quot;&gt;jooru&#x2F;&#x2F;vx tech blog&lt;&#x2F;a&gt; Windows, reversing and low-level security&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;gynvael.coldwind.pl&#x2F;?blog=1&amp;amp;lang=en&quot;&gt;Gynvael Coldwind&lt;&#x2F;a&gt;
capture-the-flag, game-development, programming, reversing, security, video-games&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;faehnri.ch&#x2F;&quot;&gt;faehnri.ch&lt;&#x2F;a&gt; c, c++, game-hacking, reversing, video-games&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;christine.website&#x2F;blog&quot;&gt;Christine Dodrill&#x27;s Blog&lt;&#x2F;a&gt; *nix, programming, rust&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;thume.ca&#x2F;&quot;&gt;Tristans Site&lt;&#x2F;a&gt; capture-the-flag, compilers, programming, reversing, rust, security&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;eta.st&#x2F;posts.html&quot;&gt;η (eta)&lt;&#x2F;a&gt; *nix, programming, rust&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;rufflewind.com&#x2F;&quot;&gt;Rufflewind&#x27;s Scratchpad&lt;&#x2F;a&gt; functional-programming, haskell, *nix, programming, rust&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;norasandler.com&#x2F;&quot;&gt;Nora Sandler&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;marioslab.io&#x2F;posts&#x2F;&quot;&gt;Marios Lab&lt;&#x2F;a&gt; compilers, programming&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;gpfault.net&#x2F;&quot;&gt;General Protection Fault&lt;&#x2F;a&gt; c++, compilers, graphics, programming&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;bluishcoder.co.nz&#x2F;&quot;&gt;BLUISH CODER&lt;&#x2F;a&gt; PROGRAMMING LANGUAGES&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;zeux.io&#x2F;&quot;&gt;Bits, pixels, cycles and more&lt;&#x2F;a&gt; c++, graphics, programming&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;fabiensanglard.net&#x2F;&quot;&gt;Fabien Sanglard&#x27;s Website&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;hshrzd.wordpress.com&#x2F;&quot;&gt;hasherezade&#x27;s 1001 nights&lt;&#x2F;a&gt; RE &amp;amp;&amp;amp; malware analysis&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;text.causal.agency&#x2F;&quot;&gt;text.causal.agency&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;operating-system&quot;&gt;operating system&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;people.kernel.org&#x2F;read&quot;&gt;people.kernel.org &lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;outflux.net&#x2F;blog&#x2F;&quot;&gt;codeblog&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;math&quot;&gt;Math&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;datakinds.github.io&#x2F;&quot;&gt;datakind&#x27;s blog&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;nickdrozd.github.io&#x2F;&quot;&gt;Something Something Programming&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;infinityplusonemath.wordpress.com&#x2F;&quot;&gt;Infinity Plus One&lt;&#x2F;a&gt; - math&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;erkaman.github.io&#x2F;index.html&quot;&gt;Eric Arnebäck&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.evanmiller.org&#x2F;&quot;&gt; Evan Miller’s &lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;michaelnielsen.org&#x2F;blog&#x2F;&quot;&gt;Michael Nielsen&lt;&#x2F;a&gt; cogsci, math, practices, programming&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;asawicki.info&#x2F;&quot;&gt;Adam Sawicki&lt;&#x2F;a&gt;
c++, game-development, graphics, math, programming, video-games, windows&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;[]&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;others&quot;&gt;Others&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;geohot.github.io&#x2F;blog&#x2F;&quot;&gt;george hotz&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;vitalik.ca&#x2F;&quot;&gt;Vitalik Buterin&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;blog.gregbrockman.com&#x2F;&quot;&gt;GREG BROCKMAN&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;karpathy.ai&#x2F;&quot;&gt;Andrej Karpathy&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;tech-news&quot;&gt;Tech News&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;news.ycombinator.com&#x2F;&quot;&gt;Hacker news&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;ctf-s&quot;&gt;CTF&#x27;s&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ctftime.org&#x2F;&quot;&gt;ctf time&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.hackthebox.com&#x2F;&quot;&gt;Hack the box&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Redis</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/redis-server/"/>
        <id>https://daveads.github.io/note/redis-server/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/redis-server/">&lt;p&gt;&lt;strong&gt;start redis&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;redis-server&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&#x2F;&#x2F; don&#x27;t know how this works yet&lt;&#x2F;p&gt;
&lt;p&gt;CONFIG GET CONFIG_SETTING_NAME&lt;&#x2F;p&gt;
&lt;p&gt;methods = GET AND SET&lt;&#x2F;p&gt;
&lt;p&gt;CONFIG GET *
&#x2F;&#x2F; this gets all config&lt;&#x2F;p&gt;
&lt;p&gt;update config by redis.conf or CONFIG SET&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F;strings&lt;&#x2F;p&gt;
&lt;p&gt;SET name &quot;using redis&quot;&lt;&#x2F;p&gt;
&lt;p&gt;GET name &#x2F;&#x2F; outputs stored string&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; Hashes&lt;&#x2F;p&gt;
&lt;p&gt;HMSET user:1 username password&lt;&#x2F;p&gt;
&lt;p&gt;HGETALL user:1&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F;Lists&lt;&#x2F;p&gt;
&lt;p&gt;lpush dbs mysql
lpush dbs mariadb
lpush dbs sqlite&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;gets the inserted list out&lt;&#x2F;em&gt;
lrange dbs 0 2&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F;Sets - unordered collection of strings&lt;&#x2F;p&gt;
&lt;p&gt;sadd check me
sadd check data
sadd check email
sadd check her&lt;&#x2F;p&gt;
&lt;p&gt;get the sets
smemebers checks&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F;sorted sets&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>sqlite 3</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/sqlite/"/>
        <id>https://daveads.github.io/note/sqlite/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/sqlite/">&lt;h3 id=&quot;followed-tutorials-from-https-www-sqlitetutorial-net-sqlite-limit&quot;&gt;FOLLOWED TUTORIALS FROM https:&#x2F;&#x2F;www.sqlitetutorial.net&#x2F;sqlite-limit&#x2F;&lt;&#x2F;h3&gt;
&lt;p&gt;open database from terminal&lt;&#x2F;p&gt;
&lt;p&gt;.open name.db&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;.mode &quot;to change way at which datbase is display on the terminal&quot;&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;.tables&lt;&#x2F;code&gt; &#x2F;&#x2F; shows tables available in the terminal&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;SELECT&lt;&#x2F;code&gt; &#x2F;&#x2F; This is use for query data from a one or more table&lt;&#x2F;p&gt;
&lt;h3 id=&quot;select&quot;&gt;&lt;strong&gt;SELECT&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;code&gt;SELECT column, cloumn, e.t.c FROM tracks == #table;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;selecting column in ascending order&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;SELECT name, milliseconds, albumid FROM tracks ORDER BY albumid ASC;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;selecting column and then filtering (albumid like the above) and milliseconds in descending order&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;SELECT name, milliseconds, albumid FROM tracks ORDER BY albumid ASC, milliseconds DESC;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; ORDER BY with column position instead of column name&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;SELECT name, albumid FROM tracks ORDER BY 3 ASC, 2 DESC;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; ORDER BY clause to sort tracks by composers&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;SELECT TrackId, Name, Composer FROM tracks ORDER BY Composer;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;select-distinct-examples&quot;&gt;SELECT DISTINCT examples&lt;&#x2F;h2&gt;
&lt;p&gt;&#x2F;*
Distincy clasue allows you to remove the duplicate rows in the result set.
*&#x2F;&lt;&#x2F;p&gt;
&lt;p&gt;E.g.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;SELECT city FROM customers ORDER BY city;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;result of city would contain duplicates
e.g. city = london, city = london&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;remove duplicates by using distinct&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;SELECT DISTINCT city FROM customers ORDER BY city;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;applying DISTINCT on multiple column&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;SELECT DISTINCT city, country FROM customers ORDER BY county;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;where-clause&quot;&gt;WHERE CLAUSE&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;code&gt;SELECT column_list FROM table WHERE search_condition;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; WHERE caluse is use to SELECT statement to filter rows returned by query.&lt;&#x2F;p&gt;
&lt;p&gt;E.g.&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;WHERE&lt;&#x2F;span&gt;&lt;span&gt; column_1 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 100&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;WHERE&lt;&#x2F;span&gt;&lt;span&gt; column_2 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;IN&lt;&#x2F;span&gt;&lt;span&gt; (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;2&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;3&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;WHERE&lt;&#x2F;span&gt;&lt;span&gt; column_3 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;LIKE&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;An%&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;WHERE&lt;&#x2F;span&gt;&lt;span&gt; column_4 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;BETWEEN&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 10&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; AND&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 20&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&#x2F;&#x2F; can be use in the UPDATE and DELETE STATEMENT&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; comparison operators can also be used&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;= , &amp;lt; , &amp;gt; , &amp;lt;= e.t.c.&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;logical operators&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; no boolean data type in sqlite so True = 1 and false = 0&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;Operator | Meaning&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;All | &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;returns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; if&lt;&#x2F;span&gt;&lt;span&gt; all expressions are &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;AND&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;returns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; if both&lt;&#x2F;span&gt;&lt;span&gt; expressions are &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;1&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;and&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; if&lt;&#x2F;span&gt;&lt;span&gt; one of the expressions &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;is&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;ANY |&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;returns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; if&lt;&#x2F;span&gt;&lt;span&gt; any one of a &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;set&lt;&#x2F;span&gt;&lt;span&gt; of comparisons &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;is&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;BETWEEN&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;returns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; if&lt;&#x2F;span&gt;&lt;span&gt; a &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;value is within&lt;&#x2F;span&gt;&lt;span&gt; a &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;range&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;EXISTS&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;return&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; if&lt;&#x2F;span&gt;&lt;span&gt; a sbuquery contains any &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;rows&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;IN&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;returns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; if&lt;&#x2F;span&gt;&lt;span&gt; a vlaues &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;is in&lt;&#x2F;span&gt;&lt;span&gt; a list of &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;values&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;LIKE&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;returns&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; if&lt;&#x2F;span&gt;&lt;span&gt; a &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;value&lt;&#x2F;span&gt;&lt;span&gt; matches a pattern.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;NOT&lt;&#x2F;span&gt;&lt;span&gt;  | reverses the &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;value&lt;&#x2F;span&gt;&lt;span&gt; of other operators such &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;as NOT EXISTS&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;NOT IN&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;NOT BETWEEN&lt;&#x2F;span&gt;&lt;span&gt; e.t.c&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;OR&lt;&#x2F;span&gt;&lt;span&gt; | &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;returns&lt;&#x2F;span&gt;&lt;span&gt; ture &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;if&lt;&#x2F;span&gt;&lt;span&gt; either expression &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;is&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;sqlite WHERE clause examples&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;SELECT name&lt;&#x2F;span&gt;&lt;span&gt;, milliseconds, bytes, albumid &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;FROM&lt;&#x2F;span&gt;&lt;span&gt; tracks &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;WHERE&lt;&#x2F;span&gt;&lt;span&gt; ALBUMID &lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;SELECT name&lt;&#x2F;span&gt;&lt;span&gt;, milliseonds, albumid &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;FROM&lt;&#x2F;span&gt;&lt;span&gt; tracks &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;WHERE&lt;&#x2F;span&gt;&lt;span&gt; albumid &lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; AND&lt;&#x2F;span&gt;&lt;span&gt; milliseconds &lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 250000&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;SELECT name&lt;&#x2F;span&gt;&lt;span&gt;,albumid, composer &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;FROM&lt;&#x2F;span&gt;&lt;span&gt; tracks &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;WHERE&lt;&#x2F;span&gt;&lt;span&gt; composer &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;LIKE&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; &amp;#39;%Smith%&amp;#39;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; ORDER BY&lt;&#x2F;span&gt;&lt;span&gt; albumid;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;SELECT name&lt;&#x2F;span&gt;&lt;span&gt;, albumid, mediatypeid &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;FROM&lt;&#x2F;span&gt;&lt;span&gt; tracks &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;WHERE&lt;&#x2F;span&gt;&lt;span&gt; mediatypid &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;IN&lt;&#x2F;span&gt;&lt;span&gt; (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;2&lt;&#x2F;span&gt;&lt;span&gt; ,&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;3&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;sqlite-limit-clause&quot;&gt;sqlite limit clause&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;code&gt;SELECT column_list FROM table LIMIT row_count;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; limit clause is use to constrain the number of rows returned by the query...&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;SELECT trackid, name FROM tracks LIMIT 10;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;To get the first 10 rows starting from the 10th row&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;use&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;SELECT&lt;&#x2F;span&gt;&lt;span&gt; column_list &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;FROM table LIMIT&lt;&#x2F;span&gt;&lt;span&gt; offset, row_count&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;SELECT&lt;&#x2F;span&gt;&lt;span&gt; trackid, &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;FROM&lt;&#x2F;span&gt;&lt;span&gt; tracks &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;LIMIT&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 10&lt;&#x2F;span&gt;&lt;span&gt; OFFSET &lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;10&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;insert-in-sqlite&quot;&gt;INSERT IN SQLITE&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;INSERT INTO table&lt;&#x2F;span&gt;&lt;span&gt; (column1, column2) &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;VALUES&lt;&#x2F;span&gt;&lt;span&gt; (value1, value2);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;e.g.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;INSERT INTO&lt;&#x2F;span&gt;&lt;span&gt; playlists (playlistid, &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;) &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;VALUES&lt;&#x2F;span&gt;&lt;span&gt; (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;24&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;#39;brime buk&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;inserting multiple rows into a table&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;INSERT INTO&lt;&#x2F;span&gt;&lt;span&gt; table1 (column1, column2,....) &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;VALUES&lt;&#x2F;span&gt;&lt;span&gt; (value1 , value2,), (value1, value2 );&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;e.g.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;INSERT INTO&lt;&#x2F;span&gt;&lt;span&gt; playlists (playlistid, &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;name&lt;&#x2F;span&gt;&lt;span&gt;) &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;VALUES&lt;&#x2F;span&gt;&lt;span&gt; (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;30&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;#39;faith&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;), (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;34&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;#39;favour&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;), (&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt;36&lt;&#x2F;span&gt;&lt;span&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;#39;gift&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;update-statement&quot;&gt;UPDATE STATEMENT&lt;&#x2F;h3&gt;
&lt;p&gt;&#x2F;&#x2F; to update an existing data in a table, you use sqlite UPDATE
statment&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;sql&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;UPDATE table SET&lt;&#x2F;span&gt;&lt;span&gt; column_1 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt; new_value_1, column_2 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span&gt; new_value_2 &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;WHERE&lt;&#x2F;span&gt;&lt;span&gt; search_condition;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;##&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; DELETE statement&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;DELETE FROM table WHERE&lt;&#x2F;span&gt;&lt;span&gt; search_condition&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;e.g.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;DELETE FROM&lt;&#x2F;span&gt;&lt;span&gt; playlists &lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;WHERE&lt;&#x2F;span&gt;&lt;span&gt; playlistid &lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 36&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>terminal folder manager apps</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/terminal-files/"/>
        <id>https://daveads.github.io/note/terminal-files/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/terminal-files/">&lt;ul&gt;
&lt;li&gt;nnn&lt;&#x2F;li&gt;
&lt;li&gt;ranger&lt;&#x2F;li&gt;
&lt;li&gt;mc&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>The Talent code</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/the-talent-code/"/>
        <id>https://daveads.github.io/note/the-talent-code/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/the-talent-code/">&lt;p&gt;riff and lick&#x27;s&lt;&#x2F;p&gt;
&lt;p&gt;Neural insulator called &lt;strong&gt;myelin&lt;&#x2F;strong&gt;............???&lt;&#x2F;p&gt;
&lt;p&gt;Human Skills are created by chains of nerve fibers carrying a tiny electrical impulse.. &lt;strong&gt;myelin wraps those nerve fibers&lt;&#x2F;strong&gt;, making the signal stronger and faster preventing leakage.&lt;&#x2F;p&gt;
&lt;p&gt;When we fire our circuits the right way --when we practice playing that notes&lt;br&gt;
Our myelin responds by wrapping layers of insulation around that neural circuit, each new layer adding a bit more skill and speed.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>think again the power of knowing what you dont know</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/think-again-the-power-of-knowing-what-you-dont-know/"/>
        <id>https://daveads.github.io/note/think-again-the-power-of-knowing-what-you-dont-know/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/think-again-the-power-of-knowing-what-you-dont-know/">&lt;h2 id=&quot;rethink-is-a-skill-set-but-also-a-mindset&quot;&gt;rethink is a skill set but also a mindset...&lt;&#x2F;h2&gt;
&lt;p&gt;Mike Lazaridis.........??&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;p&gt;&lt;strong&gt;we often slip into the mindsets of three dff professions:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Preachers - when our sarcred belefs are in jeopardy&lt;&#x2F;li&gt;
&lt;li&gt;prosecutors - when we recognize flaws in other people&#x27;s reasoning&lt;&#x2F;li&gt;
&lt;li&gt;politicians - when we&#x27;re seeking to win over an audience.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;not-thinging-about-our-own-views&quot;&gt;&#x2F;&#x2F; not thinging about our own views...&lt;&#x2F;h2&gt;
&lt;h2 id=&quot;intelligence&quot;&gt;Intelligence:&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;is traditionally viewed as the ability to think and learn&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;the ability to rethink and unlearn&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;first-instinct fallacy.....??&lt;&#x2F;p&gt;
&lt;h2 id=&quot;we-hesitate-at-the-very-idea-of-rethinking&quot;&gt;we hesitate at the very idea of rethinking....&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;causes...::&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;cognitive laziness...&lt;&#x2F;li&gt;
&lt;li&gt;questioning ourseles make the world unpredictable.&lt;&#x2F;li&gt;
&lt;li&gt;it requires us to admit that the facts might have changed.&lt;&#x2F;li&gt;
&lt;li&gt;reconsidering something we belive deeply can threaten our identity.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;seizing and freezing..........??(Psychologist)&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-different-pair-of-goggles&quot;&gt;A different pair of goggles&lt;&#x2F;h2&gt;
&lt;p&gt;&#x2F;&#x2F; rethinking is fundamental to &lt;strong&gt;scientist&lt;&#x2F;strong&gt; profession.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;paid to constantly aware the limits of your understanding&lt;&#x2F;li&gt;
&lt;li&gt;expected to doubt what you know, be curious about what you don’t know, and update your views based on new data.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&#x2F;&#x2F; This is a way of thinking that differ from p^3&lt;&#x2F;p&gt;
&lt;p&gt;&#x2F;&#x2F; &lt;strong&gt;sometimes even great scientist need to think more like scientists...&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-smarter-they-are-the-harder-they-fail&quot;&gt;The smarter they are, the harder they fail...&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Mental horsepower doesn’t guarantee mental dexterity.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;the smarter you are the more you might struggle to update your beliefs.
&lt;strong&gt;Two bias that drives this pattern&lt;&#x2F;strong&gt;
- confirmation bias : seeing what you expect.
- desirability bias : seeing what we want..
{ giving reasons to preach, prosecute and winning people over.. P^3 }&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  &#x2F;&#x2F; and unaware of resulting flaws in our thinking...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Thinking like a scientist involves being actively open-minded.
&#x2F;&#x2F; requires search for reasons why we might be wrong and not right...&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ul&gt;
&lt;li&gt;preacher mode -: changing minds is a mark of moral weakness.&lt;&#x2F;li&gt;
&lt;li&gt;scientist mode -: a sign of intellectual integrity, a step towards truth.&lt;&#x2F;li&gt;
&lt;li&gt;prosecutor mode -: allowing oneselve to be persuaded is admitting defeat.&lt;&#x2F;li&gt;
&lt;li&gt;politician mode -:&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ul&gt;
&lt;li&gt;purpose of learning is&#x27;nt to affirm our beliefs; it&#x27;s to evolve our beliefs..&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;presidential-greatness&quot;&gt;presidential greatness&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;what set great presidents apart was their intellectual curiosity and openness and how widely they read&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;don-t-stop-unbelieving&quot;&gt;Don&#x27;t Stop unbelieving&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;rethinking starts with intellectual humillity - knowing what we don&#x27;t know. &amp;amp; and should be able to make a long list of areas where we are ignorant.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;hr &#x2F;&gt;
&lt;ul&gt;
&lt;li&gt;as we question our current understanding we become curious about information we are missing.. this leads us to new discoveries. which in turn maintain our humility by reinforcing how much we still have to learn.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;hr &#x2F;&gt;
&lt;ul&gt;
&lt;li&gt;scientific thinking favors humilty over pride, doubt ovrer certainty, curiosity over closure.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&#x2F;&#x2F;Thinking different != rethinking....&lt;&#x2F;p&gt;
&lt;h2 id=&quot;things-people-say-instead-of-rethinking&quot;&gt;Things people say instead of rethinking...&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;that will never work&lt;&#x2F;li&gt;
&lt;li&gt;that&#x27;s not what my exprience has shown..&lt;&#x2F;li&gt;
&lt;li&gt;that&#x27;s too complicated let not over think it..&lt;&#x2F;li&gt;
&lt;li&gt;that&#x27;s the way we have always done it...&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&#x2F;&#x2F; research shows that when people are resistance to change, it helps to reinforce what will stay the same..&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;The curse of knowlegde is that it closes our mind to what we don&#x27;t know.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;chapter-2&quot;&gt;CHAPTER 2&lt;&#x2F;h3&gt;
&lt;h1 id=&quot;the-armchair-quarter-back-and-the-imposter&quot;&gt;THE Armchair Quarter back and the imposter...&lt;&#x2F;h1&gt;
&lt;p&gt;Anton’s syndrome...............??&lt;&#x2F;p&gt;
&lt;h1 id=&quot;the-ignorance-of-arrogance&quot;&gt;THE IGNORANCE OF ARROGANCE&lt;&#x2F;h1&gt;
&lt;p&gt;&lt;strong&gt;Dunning-Kruger effect....??&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;“The first rule of the Dunning-Kruger club is you don’t know you’re a member of the Dunning-Kruger club.&quot;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;what-i-know&quot;&gt;What i know&lt;&#x2F;h1&gt;
&lt;p&gt;&lt;strong&gt;When we lack the knowledge and skills to achieve excellence, we sometimes lack the knowledge and skills to judge excellence.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Advancing from novice to amateur can break the rethinking cycle. as we gain experince, we lose some of our humility.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;confidence is a measure of how much you believe in yourself.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;evidence shows that&#x27;s distinct from how much you believe in your methods.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&#x2F;&#x2F; we become blinded by arrogance when we&#x27;re utterly convinced of our strengths and our strategies.&lt;&#x2F;p&gt;
&lt;p&gt;inferiority complex....???&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;what-we-should-attain-is-confident-humility-having-faith-in-our-capability-while-appreciating-that-we-may-not-have-the-right-solution-or-even-be-addressing-the-right-problem&quot;&gt;What we should attain is &lt;strong&gt;&quot;Confident humility&quot;&lt;&#x2F;strong&gt; : having faith in our capability while appreciating that we may not have the right solution or even be addressing the right problem&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;the-confidence-seet-spot&quot;&gt;THE CONFIDENCE SEET SPOT&lt;&#x2F;h3&gt;
&lt;p&gt;&#x2F;&#x2F; having confidence in the capacity to learn..&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Notes on vim</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/vimtutor/"/>
        <id>https://daveads.github.io/note/vimtutor/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/vimtutor/">&lt;h2 id=&quot;decided-to-try-this-out-after-months-of-using-vim&quot;&gt;Decided to try this out after months of using Vim&lt;&#x2F;h2&gt;
&lt;p&gt;&#x2F;&#x2F; Started with Vim by just Googling the basic commands...&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Mistakes I have made in the past&lt;&#x2F;strong&gt;
1.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;moving&quot;&gt;Moving&lt;&#x2F;h2&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;         ^&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;         k&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;   &amp;lt;  h       l&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;         &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;         j&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;         v&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h2 id=&quot;exiting-vim&quot;&gt;Exiting Vim&lt;&#x2F;h2&gt;
&lt;p&gt;Press &lt;code&gt;&amp;lt;ESC&amp;gt;&lt;&#x2F;code&gt;
Use &lt;code&gt;:q!&lt;&#x2F;code&gt; to discard any changes you have made and exit forcefully.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;text-editing-delete&quot;&gt;Text Editing - Delete&lt;&#x2F;h2&gt;
&lt;p&gt;Press &lt;code&gt;&amp;lt;ESC&amp;gt;&lt;&#x2F;code&gt; to enter normal mode.
To delete a character, move to the character and press &lt;code&gt;x&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;text-editing-insert&quot;&gt;Text Editing - Insert&lt;&#x2F;h2&gt;
&lt;p&gt;Press &lt;code&gt;i&lt;&#x2F;code&gt; to start inserting text at the cursor position.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;text-editing-appending&quot;&gt;Text Editing - Appending&lt;&#x2F;h2&gt;
&lt;p&gt;Press &lt;code&gt;a&lt;&#x2F;code&gt; to append text after the cursor position.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;editing-a-file&quot;&gt;Editing a File&lt;&#x2F;h2&gt;
&lt;p&gt;Use &lt;code&gt;:wq&lt;&#x2F;code&gt; to save and exit a file.
Press &lt;code&gt;&amp;lt;ESC&amp;gt;&lt;&#x2F;code&gt; to return to normal mode or to cancel unwanted and partially completed commands.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;deletion-commands&quot;&gt;Deletion Commands&lt;&#x2F;h2&gt;
&lt;p&gt;In normal mode, move to the beginning of a word and type &lt;code&gt;dw&lt;&#x2F;code&gt; to delete until the start of the next word.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;more-deletion-commands&quot;&gt;More Deletion Commands&lt;&#x2F;h2&gt;
&lt;p&gt;Type &lt;code&gt;d$&lt;&#x2F;code&gt; to delete to the end of the line, including the last character.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;on-operators-and-motions&quot;&gt;On Operators and Motions&lt;&#x2F;h2&gt;
&lt;p&gt;Commands involving manipulating text are made from an operator and a motion.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Delete Operator: &lt;code&gt;d&lt;&#x2F;code&gt; motion&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;d&lt;&#x2F;code&gt; is the delete operator, and motion specifies what the operator will operate on.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;short-list-of-motions&quot;&gt;Short List of Motions&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;w&lt;&#x2F;code&gt;: Move until the start of the next word, excluding its first character.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;e&lt;&#x2F;code&gt;: Move to the end of the current word, including the last character.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;$&lt;&#x2F;code&gt;: Move to the end of the line, including the last character.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;using-a-count-for-a-motion&quot;&gt;Using a Count for a Motion&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;2w&lt;&#x2F;code&gt;: Move the cursor two words forward.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;3e&lt;&#x2F;code&gt;: Move the cursor to the end of the third word forward.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;0&lt;&#x2F;code&gt;: Move to the start of the line.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;3w&lt;&#x2F;code&gt;: Move the cursor three words forward.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;using-a-count-to-delete-more&quot;&gt;Using a Count to Delete More&lt;&#x2F;h2&gt;
&lt;p&gt;Typing a number with an operator repeats it that many times. For example, &lt;code&gt;d2w&lt;&#x2F;code&gt; deletes the first two words in the line.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;operating-on-lines&quot;&gt;Operating on Lines&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;dd&lt;&#x2F;code&gt;: Delete a whole line.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;2dd&lt;&#x2F;code&gt;: Delete two lines.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;the-undo-command&quot;&gt;The Undo Command&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;u&lt;&#x2F;code&gt;: Undo the last command.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;CTRL-R&lt;&#x2F;code&gt;: Redo commands.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;the-put-command&quot;&gt;The PUT Command&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;p&lt;&#x2F;code&gt;: Put previously deleted text after the cursor.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;dd&lt;&#x2F;code&gt; deletes the line and stores it in a Vim register.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;the-replace-command&quot;&gt;The Replace Command&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Press &lt;code&gt;rx&lt;&#x2F;code&gt; to replace the character under the cursor with &lt;code&gt;x&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Press &lt;code&gt;r&lt;&#x2F;code&gt; then the character which should be there.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;the-change-operator&quot;&gt;The Change Operator&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ce&lt;&#x2F;code&gt;: Change until the end of a word.&lt;&#x2F;li&gt;
&lt;li&gt;For example, &lt;code&gt;hello wors&lt;&#x2F;code&gt; becomes &lt;code&gt;hello world&lt;&#x2F;code&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;more-changes-using-c&quot;&gt;More Changes Using c&lt;&#x2F;h2&gt;
&lt;p&gt;The change operator &lt;code&gt;c&lt;&#x2F;code&gt; can be used with the same motions as delete.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;c [number] motion&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;cursor-location-and-file-status&quot;&gt;Cursor Location and File Status&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CTRL-g&lt;&#x2F;code&gt;: Shows file name and position in the file.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;gg&lt;&#x2F;code&gt;: Move you to the start of the file.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;G&lt;&#x2F;code&gt;: Move you to the bottom of the file.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;code&gt;[number]G&lt;&#x2F;code&gt;: Move you to a specific line.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;the-search-command&quot;&gt;The Search Command&lt;&#x2F;h2&gt;
&lt;p&gt;In normal mode, type &lt;code&gt;&quot;&#x2F;&quot;&lt;&#x2F;code&gt; followed by the character you want to search.
To search the same phrase again, type &lt;code&gt;n&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>wifi connection</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2024-01-02T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/wifi/"/>
        <id>https://daveads.github.io/note/wifi/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/wifi/">&lt;p&gt;&lt;strong&gt;Show current network connections&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;nmcli&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; connection show&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;List available Wi-Fi networks&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;nmcli&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; device wifi list&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Connect to a network using its UUID (replace &lt;code&gt;UUID&lt;&#x2F;code&gt; with the actual UUID)&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;nmcli&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; c up uuid e0bda955-475c-4625-b19b-4a1f2339d9db --ask&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;New devices&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;nmcli&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; device wifi connect&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; &amp;lt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;name ssi&lt;&#x2F;span&gt;&lt;span&gt;d&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; --ask&lt;&#x2F;span&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Enable Wi-Fi (if disabled)&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; rfkill unblock wifi&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;nmcli&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; networking on&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;BLUETOOTH&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Turn on Bluetooth&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;bluetoothctl&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; power on&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Enter Bluetooth control interface&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;bluetoothctl&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Start scanning for nearby Bluetooth devices&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;scan&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; on&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Connect to a Bluetooth device with the specified MAC address (replace &lt;code&gt;&amp;lt;tecno square1&amp;gt;&lt;&#x2F;code&gt; with the actual MAC address)&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;connect&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; 14:A6:8E:AE:9F:51&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Show status of devices and their rfkill (Radio Frequency Kill) status&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;rfkill&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt; list&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Additional Bluetooth commands:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Show connected devices&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;devices&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Show paired devices&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;paired-devices&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Workout terminology</title>
        <published>2022-06-11T00:00:00+00:00</published>
        <updated>2022-06-11T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/note/workout-terminology/"/>
        <id>https://daveads.github.io/note/workout-terminology/</id>
        
        <content type="html" xml:base="https://daveads.github.io/note/workout-terminology/">&lt;p&gt;sets ?
reps ?&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Testing</title>
        <published>2022-06-10T00:00:00+00:00</published>
        <updated>2022-06-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/paper/test/"/>
        <id>https://daveads.github.io/paper/test/</id>
        
        <content type="html" xml:base="https://daveads.github.io/paper/test/">&lt;h1 id=&quot;coming-soon&quot;&gt;Coming soon&lt;&#x2F;h1&gt;
&lt;p&gt;This is a test of the p page&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Programming language resources</title>
        <published>2022-05-31T00:00:00+00:00</published>
        <updated>2024-07-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/programming-language-resources/"/>
        <id>https://daveads.github.io/writing/programming-language-resources/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/programming-language-resources/">&lt;p&gt;For a comprehensive list, I highly recommend checking out &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;bernsteinbear.com&#x2F;pl-resources&#x2F;&quot;&gt;Max Bernstein&#x27;s PL Resources&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;favorite-resources-for-getting-started-with-pl&quot;&gt;&lt;strong&gt;Favorite Resources for Getting Started with PL&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;craftinginterpreters.com&#x2F;&quot;&gt;Crafting Interpreters&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;3982016118&quot;&gt;Writing An Interpreter In Go&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;398201610X&quot;&gt;Writing A Compiler In Go&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;additional-curated-lists&quot;&gt;Additional curated lists:&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;aalhour&#x2F;awesome-compilers&quot;&gt;Awesome Compilers Resources&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;danistefanovic&#x2F;build-your-own-x#build-your-own-programming-language&quot;&gt;Build Your Own Programming Language&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;operating-systems&quot;&gt;Operating Systems&lt;&#x2F;h2&gt;
&lt;p&gt;Resources for learning about and building operating systems:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;wiki.osdev.org&#x2F;Main_Page&quot;&gt;OSDev Wiki&lt;&#x2F;a&gt; - Comprehensive wiki for OS development&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.linuxfromscratch.org&#x2F;&quot;&gt;Linux From Scratch&lt;&#x2F;a&gt; - Step-by-step guide to building your own Linux system&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;os.phil-opp.com&#x2F;&quot;&gt;Writing an OS in Rust&lt;&#x2F;a&gt; - Blog series on creating an OS using Rust&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;littleosbook&#x2F;littleosbook&#x2F;&quot;&gt;Little OS Book&lt;&#x2F;a&gt; - Concise guide to OS development&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;cfenollosa&#x2F;os-tutorial&quot;&gt;OS from Scratch&lt;&#x2F;a&gt; - Hands-on tutorial for building a simple OS&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;codecrafters-io&#x2F;build-your-own-x#build-your-own-operating-system&quot;&gt;Build Your Own Operating System&lt;&#x2F;a&gt; - Curated list of OS development resources&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.nand2tetris.org&#x2F;&quot;&gt;Nand to Tetris Courses&lt;&#x2F;a&gt; - Build a modern computer system from the ground up&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;assembly-language&quot;&gt;Assembly Language&lt;&#x2F;h2&gt;
&lt;p&gt;Resources for learning assembly language:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;pacman128.github.io&#x2F;pcasm&#x2F;&quot;&gt;PC Assembly Language Programming&lt;&#x2F;a&gt; - Guide to 32-bit x86 assembly&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;0xAX&#x2F;asm&quot;&gt;Learning Assembly for Linux-x64&lt;&#x2F;a&gt; - Tutorial series for x86-64 assembly&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.cs.princeton.edu&#x2F;courses&#x2F;archive&#x2F;spring04&#x2F;cos217&#x2F;&quot;&gt;Introduction to Programming Systems&lt;&#x2F;a&gt; - Princeton University course materials&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;skilldrick.github.io&#x2F;easy6502&#x2F;index.html&quot;&gt;Easy 6502&lt;&#x2F;a&gt; - Interactive tutorial for 6502 assembly&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.xorpd.net&#x2F;pages&#x2F;x86_adventures.html&quot;&gt;Assembly Language Adventures&lt;&#x2F;a&gt; - In-depth x86 assembly course&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;gist.github.com&#x2F;muff-in&#x2F;ff678b1fda17e6188aa0462a99626121&quot;&gt;Assembly Language &#x2F; Reversing &#x2F; Malware Analysis &#x2F; Game Hacking Resources&lt;&#x2F;a&gt; - Comprehensive list of assembly-related resources&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.cs.virginia.edu&#x2F;~evans&#x2F;cs216&#x2F;guides&#x2F;x86.html&quot;&gt;x86 Assembly Guide&lt;&#x2F;a&gt; - Concise guide to x86 assembly&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;mikeroyal&#x2F;Assembly-Guide&quot;&gt;Assembly Guide&lt;&#x2F;a&gt; - Extensive guide covering various assembly topics&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Lost someone close recently</title>
        <published>2020-11-06T00:00:00+00:00</published>
        <updated>2020-11-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/lost-someone-recently/"/>
        <id>https://daveads.github.io/writing/lost-someone-recently/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/lost-someone-recently/">&lt;p&gt;He was more like a Grand father, Family friend... though i don&#x27;t see&#x2F;view things the same way.. &lt;strong&gt;Died at 78&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;This got me thinking about some sort of questions like. :&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;what will you be remember for..?&lt;&#x2F;li&gt;
&lt;li&gt;what problems or wrong are you willing to change..?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;blockquote&gt;
&lt;p&gt;“Remembering that i’ll be dead soon is the most important tool i’ve ever encountered to help me make the big choices in life. because almost everything - all external expectations, all pride, all fear of embarrassment or failure - these things just fall away in the face of death, leaving only what is truly important”
~Steve Jobs&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>How thinking while walking helps in fixing bugs</title>
        <published>2020-10-27T00:00:00+00:00</published>
        <updated>2020-10-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/thinking-while-walking/"/>
        <id>https://daveads.github.io/writing/thinking-while-walking/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/thinking-while-walking/">&lt;p&gt;Having been experiencing writer’s block since the last time i wrote &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;daveads.github.io&#x2F;personal&#x2F;2020&#x2F;03&#x2F;01&#x2F;New-resolution.html&quot;&gt;new resolution&lt;&#x2F;a&gt;, Recently i was asked why i preferred walking to driving or using the public transport, i was unable to give a straight answer to that, Though i had reasons i just don&#x27;t know why it happens.&lt;&#x2F;p&gt;
&lt;p&gt;E.g:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Walking helped me fix more bugs than i could imagine&lt;&#x2F;strong&gt;..&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;I do most of my best thinking while walking alone*.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;It helps me calm my nerves…&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Yet i was unable to put the whole piece together,the question fired up more unanswered questions, so i did some &lt;strong&gt;googling&lt;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;the-science-behind-it&quot;&gt;&lt;strong&gt;The Science behind it:&lt;&#x2F;strong&gt;&lt;&#x2F;h1&gt;
&lt;blockquote&gt;
&lt;p&gt;When we go for a walk, the heart pumps faster, circulating more blood and oxygen not just to the muscles but to all the organs—including the brain,  Walking on a regular basis also promotes new connections between brain cells, staves off the usual withering of brain tissue that comes with age, increases the volume of the hippocampus (a brain region crucial for memory), and elevates levels of molecules that both stimulate the growth of new neurons and transmit messages between them.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;br&gt;
&lt;h1 id=&quot;benefit-of-walking&quot;&gt;Benefit of walking :&lt;&#x2F;h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Walking boost creativity.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Walking sparks connections between brain cells.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;It strengthens your hippocampus.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Walking increases blood flow in your brain&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;br&gt;
&lt;h1 id=&quot;articles&quot;&gt;Articles&lt;&#x2F;h1&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;news.stanford.edu&#x2F;2014&#x2F;04&#x2F;24&#x2F;walking-vs-sitting-042414&#x2F;&quot;&gt;walking Vs sitting&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.newyorker.com&#x2F;tech&#x2F;annals-of-technology&#x2F;walking-helps-us-think&#x2F;amp&quot;&gt;walking helps us think&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.forbes.com&#x2F;sites&#x2F;daviddisalvo&#x2F;2016&#x2F;10&#x2F;30&#x2F;six-reasons-why-walking-is-the-daily-brain-medicine-we-really-need&#x2F;#5c22978252b8&quot;&gt;benfits of walking&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.bustle.com&#x2F;p&#x2F;8-ways-walking-changes-your-brain-for-the-better-according-to-science-10077769&quot;&gt;ways walking changes your brain&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Two mind blowing articles i read today</title>
        <published>2020-10-27T00:00:00+00:00</published>
        <updated>2020-10-27T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/two-mind-blowing-articles/"/>
        <id>https://daveads.github.io/writing/two-mind-blowing-articles/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/two-mind-blowing-articles/">&lt;p&gt;&lt;strong&gt;Articles on Startups and Success&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;blog.samaltman.com&#x2F;how-to-be-successful&quot;&gt;How To Be Successful&lt;&#x2F;a&gt; &lt;br&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;blog.samaltman.com&#x2F;hard-startups&quot;&gt;Hard Startups&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;How to be successful :&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Everyone has a different definition of success, irrespective of those beliefs we all do have a specific goal in mind that is to be successful.
Meaning we do all have to put in the hard work, sleepless night and also working smart.&lt;&#x2F;p&gt;
&lt;p&gt;Sam altman actually explained, so I won&#x27;t go into full details you can always read the articles.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Self belief&lt;&#x2F;strong&gt;:
Not believing in yourself makes the whole process even &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=gFE-Tdz24hM&amp;amp;feature=youtu.be&quot;&gt;harder&lt;&#x2F;a&gt;, this made me remember one of steve job&#x27;s quote..&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&quot;&lt;strong&gt;The people who are crazy enough to think they can change the world are the one who do.&lt;&#x2F;strong&gt;&quot;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;Learning to think independently&lt;&#x2F;strong&gt;:
There is always a solution to every problem, &lt;strong&gt;success is actually 99% failure and 1% success&lt;&#x2F;strong&gt;, one thing i learn to do is treat every failed attempt as an experiment or a learning process...&lt;&#x2F;p&gt;
&lt;br&gt;
&lt;p&gt;&lt;strong&gt;Focus&lt;&#x2F;strong&gt;:&lt;br &#x2F;&gt;
This is one of the quality i currently lack, According to Steve Jobs,&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;“&lt;strong&gt;People think focus means saying yes to the thing you&#x27;ve got to focus on. But that&#x27;s not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I&#x27;m actually as proud of the things we haven&#x27;t done as the things I have done.&lt;&#x2F;strong&gt;&quot;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;br&gt;
&lt;h1 id=&quot;others-i-consider-important&quot;&gt;Others i consider important&lt;&#x2F;h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;becoming hard to compete with&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;be bold&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;be internally driven&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Taking risks&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;be good at sales&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;build a network&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;You get rich by owning things&lt;&#x2F;strong&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;hard-startups&quot;&gt;&lt;strong&gt;Hard startups&lt;&#x2F;strong&gt;&lt;&#x2F;h1&gt;
&lt;p&gt;Everyone has a different perspective to this, I like the writer&#x27;s perspective and also belief startup founders should have a long-term commitment. This made me curious &lt;strong&gt;what should startup in developing countries focus on...?&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Knowledge worker</title>
        <published>2020-10-25T00:00:00+00:00</published>
        <updated>2020-10-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/knowledge-workers/"/>
        <id>https://daveads.github.io/writing/knowledge-workers/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/knowledge-workers/">&lt;p&gt;Glancing through the book &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.amazon.com&#x2F;gp&#x2F;product&#x2F;1455586692&#x2F;ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1455586692&amp;amp;linkCode=as2&amp;amp;tag=daveads-20&amp;amp;linkId=383da9e80b4b22401dcdef4c58418841&quot;&gt;Deep work&lt;&#x2F;a&gt;, the term &quot;knowledge workers&quot; caught my attention, this is something i do without actually knowing what kind of work it is classified as.&lt;&#x2F;p&gt;
&lt;p&gt;Did some research on &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;corporatefinanceinstitute.com&#x2F;resources&#x2F;knowledge&#x2F;other&#x2F;knowledge-workers&#x2F;&quot;&gt;knowledge worker&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;According to that article, knowledge workers are said to think for a living, unlike manual labourers who are paid for performing a physical tasks, and according to wiki knowledge workers are workers whose main capital is knowledge.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Which got me thinking about the types of workers actually available........??&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;br&gt;
&lt;h2 id=&quot;back-to-the-article&quot;&gt;Back to the article:&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;&quot;knowledge worker&quot;&lt;&#x2F;strong&gt; was first coined by peter drucker in
his book &quot;The Land of Tomorrow&quot;...  the knowledge worker are differentiated by their ability to solve complex problems or to develop new products or services in their fields of expertise.. &quot;which his a clear definition of an actual computer programmer&#x27;s job&quot;&lt;&#x2F;p&gt;
&lt;p&gt;knowledge workers can be programmers, architects, engineers, marketers, design thinkers, public accountants, lawyers, and academics, and essentially any other white-collar worker who uses judgement and critical thinking in their role.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;important-facts&quot;&gt;Important facts :&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;To stay relevant learning process is continuous&lt;&#x2F;li&gt;
&lt;li&gt;They spend 38% of their time searching for information
&lt;br&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;more-info&quot;&gt;More info :&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Knowledge_worker&quot;&gt;wiki: knowledge worker&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;corporatefinanceinstitute.com&#x2F;resources&#x2F;knowledge&#x2F;other&#x2F;knowledge-workers&#x2F;&quot;&gt;corporate-finance-institute: knowledge workers&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;medium.com&#x2F;snipply&#x2F;knowledge-workers-information-life-cycles-and-content-silos-oh-my-a4263eed427&quot;&gt;medium: knowledge workers&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>A quick introduction to tmux(0)</title>
        <published>2020-04-30T00:00:00+00:00</published>
        <updated>2020-04-30T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/introduction-to-tmux/"/>
        <id>https://daveads.github.io/writing/introduction-to-tmux/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/introduction-to-tmux/">&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;images&#x2F;tmux0.png&quot; alt=&quot;tmux(0)&quot; &#x2F;&gt;&lt;br&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Prerequisite:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Have a basic understanding of the linux &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;daveads.github.io&#x2F;tools&#x2F;linux&#x2F;2020&#x2F;04&#x2F;25&#x2F;The-Linux-Command-Line.html&quot;&gt;command line&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Install tmux&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Goal:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Learn what tmux is&lt;&#x2F;li&gt;
&lt;li&gt;Get a quick feel of tmux&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;tmux&quot;&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Tmux&quot;&gt;Tmux&lt;&#x2F;a&gt;...?&lt;&#x2F;h3&gt;
&lt;p&gt;If you are anything like me then you probably have about &lt;code&gt;&amp;gt;= 5&lt;&#x2F;code&gt; terminal windows open on your computer when working, And you have a hard time navigating through those terminal (windows) and keeping track of them.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;tmux&#x2F;tmux&quot;&gt;tmux&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt; is a terminal multiplexer that helps creates and keep track of termianls from a single screen and does alot more than that, it makes multitasking much easier.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;using-tmux&quot;&gt;Using Tmux:&lt;&#x2F;h3&gt;
&lt;p&gt;For now, the major focus is to get acquainted with tmux as qucikly as possible before understanding the way it works.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Open your terminal and type &lt;code&gt;tmux&lt;&#x2F;code&gt; if available should open a default window like the pics below.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;images&#x2F;tmux0_a.png&quot; alt=&quot;tmux0_a.png&quot; &#x2F;&gt;&lt;br&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Press  &lt;code&gt;ctrl + b&lt;&#x2F;code&gt; and key at the same time and then release it and then &lt;code&gt;shift + &quot;&lt;&#x2F;code&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;This split the screen into two top and bottom&lt;&#x2F;strong&gt;, the splitted screens are called pane.
&lt;img src=&quot;&#x2F;assets&#x2F;images&#x2F;tmux0_a.png&quot; alt=&quot;tmux0_a.png&quot; &#x2F;&gt;&lt;br&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;To navigate between the splitted screen &lt;code&gt;ctrl + b&lt;&#x2F;code&gt; which open the prefix then &lt;code&gt;o&lt;&#x2F;code&gt; key&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;keywords-in-tmux&quot;&gt;keywords in tmux&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;window&lt;&#x2F;li&gt;
&lt;li&gt;pane&lt;&#x2F;li&gt;
&lt;li&gt;sessions&lt;&#x2F;li&gt;
&lt;li&gt;server&lt;&#x2F;li&gt;
&lt;li&gt;client&lt;&#x2F;li&gt;
&lt;li&gt;prefix&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&#x2F;&#x2F; will talk more on this on the next article&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;tmux&#x2F;tmux&quot;&gt;tmux source code&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>The Linux Command line interface(0)</title>
        <published>2020-04-25T00:00:00+00:00</published>
        <updated>2023-08-06T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/the-linux-command-line/"/>
        <id>https://daveads.github.io/writing/the-linux-command-line/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/the-linux-command-line/">&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;gifs&#x2F;cmd.gif&quot; alt=&quot;cmd&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I spend 90% of my time in the Terminal emulator (not really sure about that tho), for me it offer&#x27;s great flexibility and control than the GUI, and it can be really intimidating at first but it worth your time.&lt;&#x2F;p&gt;
&lt;p&gt;Prerequisites: unix or unix-like operating system.&lt;&#x2F;p&gt;
&lt;p&gt;Goals:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Learn what a command line is and how to use it&lt;&#x2F;li&gt;
&lt;li&gt;Learn common useful commands and what they mean&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;what-a-command-line-interface&quot;&gt;What a &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Command-line_interface&quot;&gt;command line interface&lt;&#x2F;a&gt;?&lt;&#x2F;h3&gt;
&lt;p&gt;when talking about the command line we are actually refering to &lt;strong&gt;The Shell&lt;&#x2F;strong&gt;. The shell is a program that takes in Commands or #keywords and passes them to the operating system to carry out. it&#x27;s a way of interacting with the computer os, similiar to the &lt;strong&gt;GUI&lt;&#x2F;strong&gt; but faster and more powerful. The program which handles this commands in the terminal emulator is the &lt;strong&gt;Command-line interpreter&lt;&#x2F;strong&gt; (shell).&lt;&#x2F;p&gt;
&lt;h3 id=&quot;shell-scripting&quot;&gt;Shell Scripting:&lt;&#x2F;h3&gt;
&lt;p&gt;As earlier said a Unix shell or shell is a command-line interpreter but also a programming language, the programming language features allows us to combine commands or (utilities) together in a file and run them as a scripts, and yea you can also call it a &lt;strong&gt;Script language&lt;&#x2F;strong&gt; for now the major focus is getting you to understand the command line and having the feels of it without getting intimidated.. will write more on Shell script on &lt;strong&gt;Using The Linux Command Line(1)&lt;&#x2F;strong&gt; or probably the next.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;running-the-termainal-emulator&quot;&gt;Running the Termainal emulator:&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Computer_terminal&quot;&gt;Computer terminal&lt;&#x2F;a&gt;:&lt;&#x2F;strong&gt;&lt;br&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;images&#x2F;terminal.png&quot; alt=&quot;termainal&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Before delving into what the Terminal emulator actually is, it&#x27;s important to know where it all started decades ago. Computers had no GUI for accessing or modifying data; the computer terminal was the only means of entering, displaying, and printing data. These terminals were physical computing devices like IBM 3270, VT100, and many others. For more details, check out &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Computer_terminal&quot;&gt;computer terminal &amp;gt;&amp;gt; wiki&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;What&#x27;s a Terminal emulator:&lt;&#x2F;strong&gt;
The Terminal emulator is a software designed to replicate the functions of a computer terminal. It is a GUI application needed to access the Unix shell environment, providing an interface to invoke commands, scripts, and programs available on your system. It also allows you to view and browse through the contents of directories, just like you would with a FILE MANAGER APPLICATION.&lt;&#x2F;p&gt;
&lt;p&gt;Every Linux distro comes with a default terminal emulator. For instance, Ubuntu and Fedora come with Gnome terminal emulator, and other Linux distros have their own defaults. The first thing you see in the terminal emulator is the &quot;command prompt,&quot; which shows $, %, #, or &amp;gt;, indicating the current working directory, the current user, and the readiness of the shell to accept commands from you.&lt;&#x2F;p&gt;
&lt;p&gt;The default shell for most Unix or Unix-like systems is the &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Bash_(Unix_shell)&quot;&gt;bash shell&lt;&#x2F;a&gt;. Other shells include sh, zsh, csh, and more. To find out the available shells on your system, use the command:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;cat &#x2F;etc&#x2F;shells&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;display-content-in-your-file-directory&quot;&gt;Display content in your file directory&lt;&#x2F;h3&gt;
&lt;p&gt;The &lt;code&gt;ls&lt;&#x2F;code&gt; command is used to print out the current directory on the terminal emulator screen, giving the same result as the File Manager.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;gifs&#x2F;ls_cmd.gif&quot; alt=&quot;ls_cmd&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;images&#x2F;file_m.png&quot; alt=&quot;file_manager&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;To find out what a command means through the command line, type:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;whatis ls&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;You can also make use of the system&#x27;s manual pager for the full documentation:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;man ls&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To print your current working directory, use the command &lt;code&gt;pwd&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;images&#x2F;pwd.png&quot; alt=&quot;pwd&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;code&gt;pwd&lt;&#x2F;code&gt; is a built-in command within the bash shell itself. Type &lt;code&gt;help&lt;&#x2F;code&gt; to find out more about built-in commands.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;time-for-experiments&quot;&gt;Time for Experiments&lt;&#x2F;h3&gt;
&lt;p&gt;Here are some common commands:&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Command&lt;&#x2F;th&gt;&lt;th&gt;Meaning&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;ls&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;List files and directories in the current directory.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;cd&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Change the current working directory.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;pwd&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Print the current working directory.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;mkdir&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Create a new directory (folder).&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;rmdir&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Remove a directory (folder).&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;cp&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Copy files or directories.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;mv&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Move or rename files or directories.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;rm&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Remove (delete) files or directories.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;cat&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Concatenate and display file content.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;more&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Display file content one screen at a time.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;less&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Display file content with backward navigation.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;head&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Display the beginning lines of a file.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;tail&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Display the ending lines of a file.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;grep&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Search for a pattern in files.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;find&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Search for files and directories.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;chmod&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Change file permissions.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;chown&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Change file ownership.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;ps&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Display information about running processes.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;kill&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Terminate processes.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;ssh&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Secure Shell - remote login to a server.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;wget&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Download files from the web.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;tar&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Archive files using tar.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;zip&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;Package and compress files.&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;Please note that this is not an exhaustive list, but it includes some commonly used commands and their primary meanings. Additionally, the meaning of some commands may vary based on their options and arguments. Always refer to the manual (&lt;code&gt;man&lt;&#x2F;code&gt; command) for a comprehensive understanding of each command.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Resources&lt;&#x2F;strong&gt;
&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;missing.csail.mit.edu&#x2F;&quot;&gt;The Missing Semester of Your CS Education By Mit&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Technological Innovation in developing countries</title>
        <published>2020-04-14T00:00:00+00:00</published>
        <updated>2020-04-14T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/innovation-in-developing-countries/"/>
        <id>https://daveads.github.io/writing/innovation-in-developing-countries/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/innovation-in-developing-countries/">&lt;p&gt;&lt;b&gt;Note:&lt;&#x2F;b&gt; These are based on my views on factors affecting the rate of innovation in developing countries. I might be wrong, but at the same time, I might be right.&lt;&#x2F;p&gt;
&lt;p&gt;Writing this article feels a little weird for me; it seems like something I should not write about, but I also have the feeling that I should do it anyway. &lt;strong&gt;Keeping this as short as possible, I won&#x27;t be able to cover all areas.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;People in developing countries seem to believe that the governing entities are solely responsible for bringing about technological innovation &lt;strong&gt;(this is done indirectly)&lt;&#x2F;strong&gt;, which is something I &lt;strong&gt;strongly disagree with&lt;&#x2F;strong&gt;. I guess I am not expressing this in the right way; coming from a tech background, there is a lot I don&#x27;t fully understand about politics. It&#x27;s not an excuse, but rather than complaining, that energy should be directed towards something else.&lt;&#x2F;p&gt;
&lt;p&gt;Secondly, the mindset (culture) and beliefs of the people are really mind-blowing. I love this quote: &lt;cite&gt;&quot;You are what you believe in.&quot;&lt;&#x2F;cite&gt; It&#x27;s really funny how, at the age of 20-25 in most cases, you are still considered incapable of making decisions that could cause a serious change in society, down to individual families, and this becomes a loop.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;It makes me wonder what the adults spend their youthful age doing in their 20&#x27;s....???&lt;&#x2F;strong&gt; This makes me want to give examples of Bill Gates, Steve Jobs, Mark Zuckerberg...&lt;&#x2F;p&gt;
&lt;p&gt;To a point, you can&#x27;t entirely blame society for this; many youths spend their time in the most unproductive ways you could ever think of, involving themselves in internet fraud and other criminal activities, etc.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;There is a lot at play here:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Lack of knowledge, even in a major field (poor education background, mostly outdated curriculum).&lt;&#x2F;li&gt;
&lt;li&gt;Lack of infrastructure, etc.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Technological innovation can be brought about by innovative individuals (Tech Visionaries) who:&lt;&#x2F;p&gt;
&lt;p&gt;x. See things differently.&lt;br&gt;
x. Have a serious, intense passion for what they do.&lt;br&gt;
x. Are ready to take action no matter the odds.&lt;br&gt;
x. Are tired of doing things the old way (with low outcomes).&lt;br&gt;
x. Are highly curious (question everything) and have the ability to connect the dots.&lt;br&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Don&#x27;t get me wrong, one person can&#x27;t actually change the world; you are going to work together with intelligent humans and people who think alike to actually make a mark.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>New resolution</title>
        <published>2020-03-01T00:00:00+00:00</published>
        <updated>2020-03-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/new-resolution/"/>
        <id>https://daveads.github.io/writing/new-resolution/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/new-resolution/">&lt;h2 id=&quot;my-new-resolution-covid-19&quot;&gt;my new resolution (covid-19)&lt;&#x2F;h2&gt;
&lt;p&gt;To be honest right now i feel down because i am unable to do anything meaningful to help during critical moment, makes me feel stupid but i have a very strong feeling this is the last time this is going to happen to me.&lt;&#x2F;p&gt;
&lt;p&gt;Don&#x27;t get me wrong staying at home actually helps but to me it does not, should be able to help by working together with health professional or providing finical asistance... Still can&#x27;t shake that feeling of my head that there is still alot i have to do and am not fully commited to it..&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;My resolution&lt;&#x2F;strong&gt; is to write one article once a week or probably everyday if possible, this is going to be really hard for me but i feel optimistic about it.&lt;&#x2F;p&gt;
&lt;div&gt;
	&lt;li&gt;I know am currently the world worst writer and i hope this changes soon&lt;&#x2F;li&gt;
	&lt;&#x2F;div&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Computer science research papers</title>
        <published>2020-01-29T00:00:00+00:00</published>
        <updated>2020-01-29T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/computer-science-research-papers/"/>
        <id>https://daveads.github.io/writing/computer-science-research-papers/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/computer-science-research-papers/">&lt;p&gt;&lt;strong&gt;Easy access for my personal use&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;paperswelove.org&#x2F;&quot;&gt;papers we over&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Respostiory on github &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;papers-we-love&#x2F;papers-we-love&quot;&gt;papers-we-love&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;dl.acm.org&#x2F;search&#x2F;advanced&quot;&gt;ACM Digital Library&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ieeexplore.ieee.org&#x2F;Xplore&#x2F;home.jsp&quot;&gt;IEEE Xplore Digital Library&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;dblp.uni-trier.de&#x2F;&quot;&gt;dblp computer science bibliography&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;academic.microsoft.com&#x2F;home&quot;&gt;Microsoft Academic&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;link.springer.com&#x2F;search?facet-series=%22558%22&quot;&gt;Springer Lecture Notes in Computer Science (LNCS)&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;check-out-this-also&quot;&gt;Check out this also&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;citeseerx.ist.psu.edu&#x2F;index&quot;&gt;citeseerx&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;en.m.wikipedia.org&#x2F;wiki&#x2F;List_of_important_publications_in_computer_science&quot;&gt;wiki (list of important publications in computer science)&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;scholar.google.com&#x2F;&quot;&gt;google-scholar&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.academia.edu&#x2F;&quot;&gt;academia&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.researchgate.net&#x2F;&quot;&gt;reasearchgate #microsoft&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;arxiv.org&#x2F;archive&#x2F;cs&quot;&gt;arXiv.org&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.semanticscholar.org&#x2F;&quot;&gt;semantic scholar&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.acm.org&#x2F;media-center&#x2F;2019&#x2F;march&#x2F;sigcse-top-10-papers&quot;&gt;Ten Computer Science Education Research Papers of the Last&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.aresearchguide.com&#x2F;30-computer-science-research-paper-topics.html&quot;&gt;30 great research pappers&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;mit&quot;&gt;MIT&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;news.mit.edu&#x2F;topic&#x2F;computers&quot;&gt;MIT News&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.csail.mit.edu&#x2F;research&quot;&gt;MIT Computer Science &amp;amp; Artificial Intelligence Lab&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.eecs.mit.edu&#x2F;research&quot;&gt;research mit eecs&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Tech blogs i find interesting</title>
        <published>2020-01-29T00:00:00+00:00</published>
        <updated>2022-09-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/interesting-tech-blogs/"/>
        <id>https://daveads.github.io/writing/interesting-tech-blogs/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/interesting-tech-blogs/">&lt;h3 id=&quot;a-list-of-cs-programmers-blogs-i-find-interesting&quot;&gt;&lt;strong&gt;A list of Cs&#x2F;Programmers blogs i find interesting&lt;&#x2F;strong&gt;&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;matt.might.net&#x2F;&quot;&gt;Matt Might&lt;&#x2F;a&gt; Professor of Internal Medicine and Computer Science&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;lambda-the-ultimate.org&#x2F;&quot;&gt;Lambda the Ultimate&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;lemire.me&#x2F;blog&#x2F;&quot;&gt;Daniel Lemire&#x27;s blog&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;jeremykun.com&#x2F;&quot;&gt;Math ∩ Programming&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;flaviocopes.com&#x2F;&quot;&gt;flavio copes&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.nayuki.io&#x2F;&quot;&gt;Project Nayuki&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;www.paulgraham.com&#x2F;index.html&quot;&gt;paul-graham&lt;&#x2F;a&gt; -Startup&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;overreacted.io&#x2F;&quot;&gt;Overreacted&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;norvig.com&#x2F;&quot;&gt;Peter Norvig&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;eli.thegreenplace.net&#x2F;&quot;&gt;Eli Bendersky&#x27;s website&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;blog.jessfraz.com&#x2F;&quot;&gt;Ramblings from Jessie&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;jvns.ca&#x2F;&quot;&gt;Julia Evans&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;cliffle.com&#x2F;&quot;&gt;cliffle&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;blog.samaltman.com&#x2F;&quot;&gt;Sam Altman&lt;&#x2F;a&gt; - Startup&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;journal.stuffwithstuff.com&#x2F;&quot;&gt;Bob Nystrom&lt;&#x2F;a&gt; -language&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;steveklabnik.com&#x2F;&quot;&gt;steve&lt;&#x2F;a&gt; -rust&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;coertvonk.com&#x2F;&quot;&gt;coertvonk&lt;&#x2F;a&gt; - Embedded Software Engineer&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;zserge.com&#x2F;&quot;&gt;Serge Zaitsev&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;br&gt;
&lt;h2 id=&quot;related-list&quot;&gt;Related list&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;&#x2F;note&#x2F;programming-blogs&#x2F;&quot;&gt;programming blogs&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Indentation in Python</title>
        <published>2020-01-17T00:00:00+00:00</published>
        <updated>2020-01-17T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/indentation-in-python/"/>
        <id>https://daveads.github.io/writing/indentation-in-python/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/indentation-in-python/">&lt;h2 id=&quot;what-is-indentation&quot;&gt;what is indentation:&lt;&#x2F;h2&gt;
&lt;p&gt;According to &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Indentation_(typesetting)&quot;&gt;wikipedia - indentation&lt;&#x2F;a&gt; indent is an empty space at the beginning of a line to signal the start of a new paragraph.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;assets&#x2F;images&#x2F;indent.png&quot; alt=&quot;indent&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;In Python indentation refers to the (spaces and tabs) that are used at the beginning of a statement, it is a way of telling the interpreter this part of the code belongs to the same group,in programming language like c, c++, java, kotlin.. curly braces {} are use to indicate the start and end of a block of code..&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;indentation in java&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;java&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;public class&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F9E2AF;font-style: italic;&quot;&gt; indentation&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;{&lt;&#x2F;span&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;	public static void&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt; main&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;String&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;[]&lt;&#x2F;span&gt;&lt;span style=&quot;color: #EBA0AC;font-style: italic;&quot;&gt; args&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;		{&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt; &#x2F;&#x2F; shows this is the body of the main method&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;		&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;		Scanner&lt;&#x2F;span&gt;&lt;span&gt; input&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt; new&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt; Scanner&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;System&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;in&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;		out&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;input a valid password&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;		String&lt;&#x2F;span&gt;&lt;span&gt; user_input&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; input&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;next&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;();&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;		if&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt; (&lt;&#x2F;span&gt;&lt;span&gt;user_input&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;equals&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;evad&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)){&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt; &#x2F;&#x2F; if statement body     &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;			out&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;logged in &lt;&#x2F;span&gt;&lt;span style=&quot;color: #F5C2E7;&quot;&gt;\n&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;		}&lt;&#x2F;span&gt;&lt;span&gt;  &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;		else&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;			out&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt;println&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;incorrect password&lt;&#x2F;span&gt;&lt;span style=&quot;color: #F5C2E7;&quot;&gt;\n&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;);&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;		}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;	}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt; &#x2F;&#x2F;end of the main method&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;}&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;font-style: italic;&quot;&gt; &#x2F;&#x2F;end of the of the porgramm &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Question:&lt;&#x2F;strong&gt; what&#x27;s the whole point of indentation ?&lt;br&gt;
&lt;strong&gt;Answer:&lt;&#x2F;strong&gt; glance through the example below and tell me what you think about it.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;The coherence theory states that a proposition is true if and only if that proposition coheres with the other propositions that one believes. . . . The problem with the coherence theory is that a belief could be consistent with my other beliefs and yet the whole lot could be false. —Colin McGinn (2015a, p. 148) According to the coherence theory of truth (see Young 2018), a set of propositions (or beliefs, or sentences) is true iff:they are mutually consistent, and 2.they are supported by, or consistent with, all available evidence; that is, they “cohere” with each other and with all evidence. Note that observation statements (that is, descriptions of what we observe in the world around us) are among the claims that must be mutually consistent, so this is
not (necessarily) a “pie-in-the-sky” theory that doesn’t have to relate to the way things
really are. It just says that we don’t have to have independent access to “reality” in
order to determine truth.
2.4.3Correspondence vs. Coherence Which theory is correct? Well, for one thing, there are more than two theories: There
are several versions of each kind of theory, and there are other theories of truth that
don’t fall under either category. The most important of the other theories is the “prag-
matic” theory of truth (see Glanzberg 2016, §3; Misak and Talisse 2019). Here is one
version: [T]he pragmatic theory of truth . . . is that a proposition is true if and only
[if] it is useful [that is, “pragmatic”, or practical] to believe that proposi-
tion. (McGinn, 2015a, p. 148, my interpolated brackets)
Another version states that a belief, proposition, or sentence is true iff it continues to
be accepted at the limit of inquiry:
Truth is that to which a belief would tend were it to tend indefinitely to a fixed
belief. (Edwin Martin, Jr., paraphrasing C.S. Peirce; lectures on the theory of
knowledge,Spring 1973; for more on Peirce, see §2.6.1.3,below.)46&lt;br&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Indentation in python is very important because with out proper indenting you will end up seeing &lt;strong&gt;IndentationError:&lt;&#x2F;strong&gt; examples as seen below&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;if&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; True&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;yea true&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;else&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt;print&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;not true&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;In python when defining statement for functions and loops you do this using four white spaces or a single tab according to python indentation rules&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #CDD6F4; background-color: #1E1E2E;&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;def&lt;&#x2F;span&gt;&lt;span style=&quot;color: #89B4FA;font-style: italic;&quot;&gt; print_statement&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;():&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt;    print&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;indented under print_statement&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt;    print&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;same&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FAB387;font-style: italic;&quot;&gt;    print&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color: #A6E3A1;&quot;&gt;&amp;quot;same&amp;quot;&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;a&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;b&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 10&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #CBA6F7;&quot;&gt;while&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;(&lt;&#x2F;span&gt;&lt;span&gt;a&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; &amp;lt;=&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 10&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;):&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #89B4FA;&quot;&gt;    print_statement&lt;&#x2F;span&gt;&lt;span style=&quot;color: #9399B2;&quot;&gt;()&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    a&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; =&lt;&#x2F;span&gt;&lt;span&gt; a&lt;&#x2F;span&gt;&lt;span style=&quot;color: #94E2D5;&quot;&gt; +&lt;&#x2F;span&gt;&lt;span style=&quot;color: #FAB387;&quot;&gt; 1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Importants of indentation:&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;div&gt;
	&lt;li&gt;helps to properly structure the code&lt;&#x2F;li&gt;
	&lt;li&gt;makes the code beautiful (human readable)&lt;&#x2F;li&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Python&#x27;s Style guide &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.python.org&#x2F;dev&#x2F;peps&#x2F;pep-0008&#x2F;#indentation&quot;&gt;pep8&lt;&#x2F;a&gt;&lt;br&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Daveads&#x2F;indentation&quot;&gt;source code&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Letter to my Older self</title>
        <published>2019-08-10T00:00:00+00:00</published>
        <updated>2019-08-10T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/letter-to-my-older-self/"/>
        <id>https://daveads.github.io/writing/letter-to-my-older-self/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/letter-to-my-older-self/">&lt;h3 id=&quot;do-not-read-this&quot;&gt;Do Not Read This&lt;&#x2F;h3&gt;
&lt;p&gt;I think it&#x27;s important to write this up as a letter or reminder to myself.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Don&#x27;t ever give up.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Always remember your goals.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;You don&#x27;t need to know everything, but you can #cs_math.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Read a lot of books and read widely.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Learn to read scientific papers and also contribute.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Code every day.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Learn not to give a f*ck about what people say or think when they don&#x27;t actually know where you are headed.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Languages are just tools.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Be yourself.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Don&#x27;t be a perfectionist. &#x2F;&#x2F; I think I am already.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Remember you are awesome and special.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Listen to what everyone processes it and see which is useful to you.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;I know you are already curious; I don&#x27;t have to tell you to be.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Remember the WORD.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Practice, practice, practice.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;It&#x27;s &quot;OK&quot; not to follow the crowd; don&#x27;t feel left out.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Respect your parents.&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Always check this out (LOOP_THIS IF POSSIBLE).&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.entrepreneur.com&#x2F;article&#x2F;253737&quot;&gt;The Gift of Obsession&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.entrepreneur.com&#x2F;article&#x2F;244198&quot;&gt;A True Goal Needs to Become an Obsession&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Computer Science resources -curious</title>
        <published>2019-07-07T00:00:00+00:00</published>
        <updated>2020-01-21T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/computer-science-resources/"/>
        <id>https://daveads.github.io/writing/computer-science-resources/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/computer-science-resources/">&lt;blockquote&gt;
&lt;p&gt;I love this particual line made by &lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Alan_Kay&quot;&gt;Alan kay&lt;&#x2F;a&gt;
&lt;cite&gt;At some age you need to take responsibility for your own education&lt;&#x2F;cite&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;&lt;strong&gt;CS Resources &amp;amp;&amp;amp; important articles&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;cs-curriculum&quot;&gt;CS Curriculum&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;electrical-engineering-and-computer-science&#x2F;&quot;&gt;MIT OPEN COURSE WARE EE &amp;amp; CS courses&lt;&#x2F;a&gt; IMP 6-2&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;catalog.mit.edu&#x2F;degree-charts&#x2F;computer-science-engineering-course-6-3&#x2F;&quot;&gt;For a more direct Cs majors&lt;&#x2F;a&gt; chart 6-3&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ossu&#x2F;computer-science&quot;&gt;Open Source Society University&lt;&#x2F;a&gt; self-taught education in Computer Science&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;functionalcs.github.io&#x2F;curriculum&#x2F;&quot;&gt;A Self-Learning, Modern Computer Science Curriculum&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;mvillaloboz&#x2F;open-source-cs-degree&quot;&gt;open-source-cs-degree&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;matt.might.net&#x2F;articles&#x2F;what-cs-majors-should-know&#x2F;&quot;&gt;What CS Major Should Know&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;others&quot;&gt;OTHERS&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;mathematics&#x2F;&quot;&gt;Mit math courses&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;physics&#x2F;&quot;&gt;Mit physcis Courses&lt;&#x2F;a&gt; courses of interest&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.edx.org&#x2F;&quot;&gt;Edx&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.coursera.org&#x2F;&quot;&gt;Coursera&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;mtdvio&#x2F;every-programmer-should-know&quot;&gt;Every Programmer Should Know&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;datasciencemasters&#x2F;go&quot;&gt;The Open Source Date Science masters&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;humanwhocodes&#x2F;computer-science-in-javascript&quot;&gt;computer science in javascript&lt;&#x2F;a&gt; collection of classic computer science paradigms, algorithms, and approaches written in JavaScript&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;teachyourselfcs.com&#x2F;&quot;&gt;Teach yourself computer science&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.nand2tetris.org&#x2F;&quot;&gt;Nand to Tetris&lt;&#x2F;a&gt; Building a Modern Computer From First Principles&lt;&#x2F;p&gt;
&lt;h2 id=&quot;cs-coursers&quot;&gt;CS COURSERS&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Developer-Y&#x2F;cs-video-courses&quot;&gt;List of Computer Science courses with video lectures&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;P1xt&#x2F;p1xt-guides&quot;&gt;Programming curricula&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;prakhar1989&#x2F;awesome-courses&quot;&gt;Awesome CS Courses&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;bootcamp.berkeley.edu&#x2F;coding&#x2F;&quot;&gt;Berkeley Coding Boot Camp&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;alogrithms&quot;&gt;Alogrithms&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;keon&#x2F;algorithms&quot;&gt;algorithms&lt;&#x2F;a&gt; algorithms using python&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;mandliya&#x2F;algorithms_and_data_structures&quot;&gt;algorithms and data structures&lt;&#x2F;a&gt; Algorithm &amp;amp; Data Structure Problems using C++&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;TheAlgorithms&#x2F;C-Plus-Plus&quot;&gt;all algorithms implemented in c++&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;jeffgerickson&#x2F;algorithms&quot;&gt;Algorithms by Jeff Erickson&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;important&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;http:&#x2F;&#x2F;norvig.com&#x2F;21-days.html&quot;&gt;Teach Yourself Programming in Ten Years&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;&#x2F;writing&#x2F;interesting-programming-and-cs-books.html&quot;&gt;Books&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Interesting programming and cs books</title>
        <published>2019-07-07T00:00:00+00:00</published>
        <updated>2020-10-25T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://daveads.github.io/writing/interesting-programming-and-cs-books/"/>
        <id>https://daveads.github.io/writing/interesting-programming-and-cs-books/</id>
        
        <content type="html" xml:base="https://daveads.github.io/writing/interesting-programming-and-cs-books/">&lt;p&gt;&#x2F;&#x2F; Books i find interesting.... Many of the textbooks are freely available online&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;www.amazon.com&#x2F;gp&#x2F;product&#x2F;1848000693&#x2F;ref=as_li_tl?ie=UTF8&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1848000693&amp;amp;linkCode=as2&amp;amp;tag=daveads-20&amp;amp;linkId=c915e2b83b5454a99aa5661d1c72bf7a&quot;&gt;The Algorithm Design Manual by Steven S. Skiena&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;3oqTpPp&quot;&gt;Algorithms by Robert Sedgewick and Kevin Wayne&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;35tICM0&quot;&gt;Introduction to algorithms Thomas H.cormen&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;34rrpmY&quot;&gt;Grokking Algorithms by Aditya Y.Bhargava&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;35woNUb&quot;&gt;Algorithms by Jeff Erickson&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;31Igpjj&quot;&gt;The art of computer programming DONALD E. KNUTH&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;3e2f7of&quot;&gt;Computer organization and architecture designing for performance by william stallings&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;37L1kS5&quot;&gt;Computer Systems:a programmer&#x27;s perspective Bryant. O&#x27;hallaron&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;3kug4rI&quot;&gt;Clean Code by Robert C. Martin&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;3mlYN4A&quot;&gt;Structure and interpretation of Computer programs (SICP)&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;2HCGKs4&quot;&gt;Types and Programming Languages by Benjamin C.Pierce&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;2HDuebq&quot;&gt;Language Implementation patterns by Terence parr&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;2J4rG7b&quot;&gt;Artificial Intelligence A Modern Approach by Stuart J.Russell and Peter Norvig&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;3jvHEDI&quot;&gt;Concrete mathematics by ronald l. Graham, Donald E. knuth&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;37zMKg2&quot;&gt;Hacker&#x27;s Delight Henry S. Warren, jr.&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;35rxzTq&quot;&gt;The Annotated Turing by charles Petzold&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;3dTRKx0&quot;&gt;Algorithms to Live By: The Computer Science of Human Decisions Brian Christian and Tom Griffiths&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;31Fkepj&quot;&gt;Code: The Hidden Language of Computer Hardware and Software Charles Petzold&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;2TnI5p5&quot;&gt;The Mythical Man-Month by Fred Brooks&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;2J5LZkD&quot;&gt;Design Patterns: Elements of Reusable Object-Oriented Software Erich Gamma&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;35AGSAm&quot;&gt;Compilers: Principles, Techniques, and Tools by Alfred V.Aho, Ravi Sethi&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a class=&quot;external&quot; rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;amzn.to&#x2F;35u8PtG&quot;&gt;Refactoring: Improving the Design of Existing Code by kent Beck and Martin Fowler&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        
    </entry>
</feed>
