By using this site, you agree to have cookies stored on your device, strictly for functional purposes, such as storing your session and preferences.

Dismiss

More

roundabout,
created on Monday, 29 April 2024, 11:32:51 (1714390371), received on Monday, 29 April 2024, 11:33:25 (1714390405)
Author identity: vlad <vlad.muntoiu@gmail.com>

42eb5c94d16f2811f0afb6cbe5099dae65128489

articles/markdown-testing.html

@@ -1,80 +0,0 @@

                                
                                
                                
                            
                                
                                    
                                        
                                        <!DOCTYPE html>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <html lang="en">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <head>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <meta charset="UTF-8">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <title>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            Markdown testing
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </title>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <link rel="stylesheet" href="/static/style.css">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <meta name="viewport" content="width=device-width, initial-scale=1.0">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </head>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <body>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <header>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <nav>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="/">Home</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="/projects">Projects</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="/index">Index</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="https://roundabout-host.com/roundabout">Roundabout-host</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    </ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="mailto:root@roundabout-host.com" id="mail-link">root@roundabout-host.com</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    </ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                </nav>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </header>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <main>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <h1>Markdown testing</h1>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <div id="article-date">2024-04-29, 09:42:03</div>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <article class="content-area">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <h1>Header 1</h1><h2>Header 2</h2><h3>Header 3</h3><h4>Header 4</h4><h5>Header 5</h5><h6>Header 6</h6><p><em class="emphasis-1">emphasis 1</em>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <strong class="emphasis-2">emphasis 2</strong>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <strong class="emphasis-2 emphasis-1">emphasis 3</strong>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <strong class="emphasis-3">emphasis 4</strong>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <strong class="emphasis-3 emphasis-1">emphasis 5</strong>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <strong class="emphasis-3 emphasis-2">emphasis 6</strong>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <strong class="emphasis-3 emphasis-2 emphasis-1">emphasis 7</strong>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><ul><li><p>list item 1
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>list item 2
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><ul><li><p>list item 2.1
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>list item 2.2
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><ul><li><p>list item 2.2.1
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>list item 2.2.2
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ul></li><li><p>list item 2.3
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ul></li></ul><ol><li><p>list item 1
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><ol><li><p>list item 1.1
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>list item 1.2
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><ol><li><p>list item 1.2.1
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>list item 1.2.2
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>list item 1.2.3
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ol></li><li><p>list item 1.3
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ol></li><li><p>list item 2
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>list item 3
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>list item 4
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><ol><li><p>list item 4.1
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>list item 4.2
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ol></li></ol><pre data-language="python">if __name__ == "__main__":
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                           print("Hello, world!")
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        ``
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        &gt; blockquote 1
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        &gt; blockquote 2
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        ...
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        &gt; ### Test
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        &gt; **Hello?**
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        [link](https://wikipedia.org)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        ![image](https://www.wikipedia.org/portal/wikipedia.org/assets/img/Wikipedia-logo-v2@2x.png)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        `inline code`
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </pre>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </article>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </main>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <footer>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 09:45:48</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>&copy; Roundabout developer</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </footer>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </body>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </html>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                            
                                

articles/moved-to-a-roundabout.html

@@ -25,7 +25,7 @@

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                <main>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                <h1>Moved to a roundabout</h1>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <div id="article-date">2024-04-29, 09:42:03</div>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <div id="article-date">2024-04-29, 13:58:23</div>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                <article class="content-area">
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                    <p>Welcome to my new website! I've moved from GitHub to a git software I've developed,
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            <a href="https://roundabout-host.com/roundabout/roundabout">a roundabout</a>. To go along with
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        

@@ -36,14 +36,16 @@ roundabout itself.

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p><p>I've also moved all my projects to the roundabout. You can find them at
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            <a href="https://roundabout-host.com/roundabout">my profile</a>. I will keep the GitHub repositories
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            for now, but they will not be updated except for a notice explaining about the move.
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        There are some inactive, not archived repositories on GitHub that haven't been moved
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        yet, but I will move them in the future when I get back to them.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p><p><img alt="Moved!" src="https://private-user-images.githubusercontent.com/74449186/315608390-21cd38d3-a42c-4d3e-bccb-7bbc6aa2fade.svg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTM2MjY2MjAsIm5iZiI6MTcxMzYyNjMyMCwicGF0aCI6Ii83NDQ0OTE4Ni8zMTU2MDgzOTAtMjFjZDM4ZDMtYTQyYy00ZDNlLWJjY2ItN2JiYzZhYTJmYWRlLnN2Zz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA0MjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNDIwVDE1MTg0MFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFjNTdiZjA1ZmJiNDI3NjJkYzFiMDdjOGUzNzc0OTc4ZGE0ZWJjMWQ5NDEzMDg0YzgyZDhmODVmNjAwYzJjMTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.q_c1VAhb_7JHoCGeL9u8oe0Z5LH1wvfEzYiK_bBHBTs"></img>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                </article>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                </main>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                <footer>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 09:45:48</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>&copy; Roundabout developer</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 14:32:39</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p xmlns:cc="http://creativecommons.org/ns#" >This work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC0 1.0 Universal</a> (🄍). No rights reserved.</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                </footer>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </body>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </html>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                            
                                

index.html

@@ -37,17 +37,11 @@ roundabout itself.

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></p>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                    </article>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <article class="content-area">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <h2><a href="/articles/markdown-testing.html" class="article-title">Markdown testing</a></h2>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <div class="home-article-date">2024-04-29</div>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <p><h1>Header 1</h1><h2>Header 2</h2><h3>Header 3</h3><h4>Header 4</h4><h5>Header 5</h5><h6>Header 6</h6></p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                </article>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                </main>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                <footer>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 09:45:48</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>&copy; Roundabout developer</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 14:32:39</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p xmlns:cc="http://creativecommons.org/ns#" >This work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC0 1.0 Universal</a> (🄍). No rights reserved.</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                </footer>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </body>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </html>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                            
                                

projects/ampoule.html

@@ -68,6 +68,8 @@ and <strong class="emphasis-2">Jinja2</strong> all at once.

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            to publish.
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>If you see fit, it's easy to <strong class="emphasis-2">convert</strong> to a dynamic site. A <strong class="emphasis-2">Flask implementation</strong> is
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            planned.
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Clear and <strong class="emphasis-2">magic-free</strong>. You can see exactly what's happening and why. No magic, no
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        configuration files, no hidden behaviour. The code is so short you can read it.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li></ul><h2>Minimal example</h2><pre data-language="python">import string
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            from datetime import datetime
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            import string
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        

@@ -136,18 +138,35 @@ site.add_from_index(

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            site.build()
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </pre><h2>More information</h2><h3>Name origin</h3><p>An ampoule is smaller than a flask. Because it is related to Flask (it uses Jinja2) but is
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            a much smaller static version of it, the name makes sense.
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h3>Why not use Jekyll, Hugo, or Pelican?</h3><h4>Jekyll</h4><p>Jekyll is Ruby, and it's very much Ruby, in fact, it's 17,000 lines of Ruby. Configuration
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        is done only in YAML. It's hard to extend, and the plugin and theme systems are
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        overengineered. It's also limited (no OOP, not even multiple index directories). And for the
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        Flask users like me, it uses a template language that is very similar to Jinja2, but it's
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        not Jinja2, so templates aren't reusable. I've actually used Jekyll, and it's not nice.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h4>Hugo</h4><p>Hugo is actually pretty interesting, but it's not as flexible, because it's not scriptable,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        and a compiled language is not appropriate for this. Did I mention it also has an
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        overengineered theme system? And it's even larger, a whooping 133,000 lines of Go!
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        You can never know it all.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h4>Pelican</h4><p>Pelican is opinionated and relies on plugins for everything. It's extremely limited, in
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        fact it can only do blogs. It also can't be portable and implemented in Flask.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h3>Why even use a static site generator?</h3><p>You've got two other options. Let's examine them.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h3>What about the other static site generators?</h3><p>There are many static site generators out there, but they all have their own problems.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        In particular, I haven't seen one that uses code to describe the site, rather than a
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        configuration file. This makes it much more flexible and powerful.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>Also, Ampoule is familiar to Python programmers, because it's written in Python and uses
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        Jinja2, a templating engine that is also used in Flask. It's even the smallest static site
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        generator:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><ol><li><p>Hugo: written in Go, uses go html/template, and it has 133k lines of Go, not counting
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Jekyll: written in Ruby, uses Liquid, and it has 17300 lines of Ruby, not counting
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        Interestingly, it's got more Markdown than Ruby.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Gatsby: they call it a framework, and rightfully so, because it's overkill for actually
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        e. for publishing content) sites, even though JS people use it for precisely that
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        t's written in JavaScript, uses React, and it's git 380k lines of JavaScript and
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        combined. (For comparison, it's over 1/100 of Linux itself, which is HUGE considering
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        high-level language and only has to do so much.)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Pelican: written in Python, uses Jinja2, and it has 12400 lines of Python, not counting
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Docusaurus: written in TypeScript, uses React (of course, because it's made by Facebook),
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>VuePress: written in JavaScript, uses Vue, and it has 11k lines of JavaScript, Vue and
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Zola: written in Rust, uses Tera, and it has 17k lines of Rust, not counting comments or
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        Also, it's designed to be monolithic and not extensible at all.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ol><p>Whereas I have only got 750 lines of Python, not counting comments or blanks. Add the script
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        to generate the site, and it's still under 1000 lines.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>I don't want to criticise other static site generators, they all do some things well, but
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        they're not what I want. I want a simple, small, flexible and versatile static site generator
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        that is low-maintenance and easy to use. I don't know about you, but maybe you want the same
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        thing.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>The JS-based ones are particularly unsuitable for most people, because they're slow, bloated,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        hard to install, and most often actually generate an SPA, which is not what you want for a
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        blog or documentation or web book or anything like that.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h3>Why generated static sites?</h3><p>If you don't want generated static sites, you've got two other options.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p><h4>Dynamic sites</h4><ul><li><p>bloated;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>slow;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>requires smart server;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        

@@ -164,7 +183,8 @@ fact it can only do blogs. It also can't be portable and implemented in Flask.

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>no support for metadata;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>markup languages must be manually converted;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li></ul><p>With a <em class="emphasis-1">generated</em> static site, you get the best of both worlds. It's the best publishing
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        platform, because it's just files.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        platform, because it's just files, but it still provides the convenience of just writing
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        content and having it magically appear on the site and formatted correctly.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p><h2>How to install</h2><p>Please note that this is not yet available on PyPI. For now you'll need to download the code
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            (ideally using git) and install it with <code>pip</code> as a local package by giving it the path to the
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            directory containing <code>setup.py</code>.
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        

@@ -186,8 +206,10 @@ that name.

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            one argument, the value to be filtered, and return the filtered value.
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p><h4>def <code>test(self, name: str)</code></h4><p>A decorator that registers a test function with the site. The function should take at least
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            one argument, the value to be tested, and return a boolean.
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h4>def <code>build(self)</code></h4><p>Build (save) the site to the build directory it was constructed with. This will create the
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h4>def <code>build(self, dont_delete: typing.Optional[list[str]] = None)</code></h4><p>Build (save) the site to the build directory it was constructed with. This will create the
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            directory if it does not exist, clear it (but not delete it) and then write all the pages.
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        You can set <code>dont_delete</code> to a list of files that should not be deleted when the directory
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        is cleared, for example, the <code>.git</code>.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p><h4><code>context: dict[str, typing.Any]</code></h4><p>A dictionary containing names that are available to all pages. It can be overriden by the
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            page's context or modified at any time.
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p><h3>class <code>ampoule_ssg.Page(str)</code></h3><p><code>Page</code> is a class that represents a single page on the site. A page is composed of a
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        

@@ -240,8 +262,8 @@ behaves like a dictionary.

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                </main>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                <footer>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 09:45:48</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>&copy; Roundabout developer</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 14:32:39</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p xmlns:cc="http://creativecommons.org/ns#" >This work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC0 1.0 Universal</a> (🄍). No rights reserved.</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                </footer>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </body>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </html>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                            
                                

projects/echo.html

@@ -0,0 +1,63 @@

                                
                                
                                
                            
                                
                                    
                                        
                                        <!DOCTYPE html>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <html lang="en">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <head>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <meta charset="UTF-8">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <title>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            Echo
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </title>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <link rel="stylesheet" href="/static/style.css">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <meta name="viewport" content="width=device-width, initial-scale=1.0">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </head>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <body>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <header>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <nav>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="/">Home</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="/projects">Projects</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="/index">Index</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="https://roundabout-host.com/roundabout">Roundabout-host</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    </ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="mailto:root@roundabout-host.com" id="mail-link">root@roundabout-host.com</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    </ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                </nav>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </header>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <main>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <h1 class="project-title">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <span>Echo</span>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <a href="https://roundabout-host.com/roundabout/itec24-echo">Repository</a>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </h1>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <article class="content-area">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Echo is a very basic status tracker for web endpoints. I don't recommend you use it. It was
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        made for a programming competition (hackathon) organised by the Automation and Computing faculty
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        of the Politehnica University of Timișoara, in 3 days, alone. I decided to publish it because
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        it might be useful for someone and doesn't hurt me to have it online, and the contest encourages
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        publishing the works.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>It uses Flask, SQLAlchemy and PostgreSQL. I wanted to use htmx, but I didn't have time to learn it,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        because one of the contest mentors recommended it to me 2 hours before the end of the contest.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        Therefore, there is really no JS, it's form-based.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>The app won the 7th place out of 24 teams.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>Luckily I did learn about htmx and now I will use it in my other projects.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h2>Features</h2><ul><li><p>User registration
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>User login/logout
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>App and endpoint creation
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Endpoint status change
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Endpoint status history
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Pinging endpoints
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Customisable ping interval and stability threshold (since when must all endpoints be OK to consider the app OK)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>... and that's it
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ul><h2>Licence</h2><p>Copyright 2024.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>Use of the works is permitted provided that this instrument is retained with the works, so that
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        any entity that uses the works is notified of this instrument.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p><strong class="emphasis-2">DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.</strong>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </article>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </main>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <footer>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 14:32:39</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p xmlns:cc="http://creativecommons.org/ns#" >This work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC0 1.0 Universal</a> (🄍). No rights reserved.</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </footer>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </body>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </html>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                            
                                

projects/index.html

@@ -32,20 +32,47 @@ It uses Jinja2 for templating.

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></p>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                    </article>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <article class="content-area">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <h2><a href="/projects/echo.html" class="article-title">Echo</a></h2>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <p><p>Echo is a very basic status tracker for web endpoints. I don't recommend you use it. It was
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        made for a programming competition (hackathon) organised by the Automation and Computing faculty
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        of the Politehnica University of Timișoara, in 3 days, alone. I decided to publish it because
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        it might be useful for someone and doesn't hurt me to have it online, and the contest encourages
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        publishing the works.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                </article>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                    <article class="content-area">
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                        <h2><a href="/projects/roundabout.html" class="article-title">The roundabout</a></h2>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                        <p><p>The roundabout is a <strong class="emphasis-2">git repository hosting</strong> server software. It is designed to be a complete
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            alternative to GitHub, GitLab, BitBucket, Gogs/Gitea/Forgejo, and other similar services. It
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        is still in development and not yet ready for production use. As of version 0.2.0 development
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        is still in development and not yet ready for production use. As of version 0.3.0 development
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            stage, it supports:
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></p>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                    </article>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <article class="content-area">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <h2><a href="/projects/waste.html" class="article-title">Waste detection</a></h2>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <p><p>An YOLO model specifically trained to detect waste in images. We collected a custom dataset of waste,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        classified and annotated it, and trained the model using YOLOv8 on Keras. The model is able to detect
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        the position and class of waste in images. It can separate the following classes of waste:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                </article>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <article class="content-area">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <h2><a href="/projects/wordle.html" class="article-title">Teletype Wordle</a></h2>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <p><p>Just like the original Wordle, you have to guess a 5-letter word in 6 tries and it tells you
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        how many letters are correct and in the right position, how many are correct but in the wrong
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        position, and how many are not in the word at all. The only difference is that this one is
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        played in the terminal. It's a great SSH toy for when you're bored.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                </article>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                </main>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                <footer>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 09:45:48</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>&copy; Roundabout developer</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 14:32:39</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p xmlns:cc="http://creativecommons.org/ns#" >This work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC0 1.0 Universal</a> (🄍). No rights reserved.</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                </footer>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </body>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </html>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                            
                                

projects/roundabout.html

@@ -31,7 +31,7 @@

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                <article class="content-area">
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                    <p>The roundabout is a <strong class="emphasis-2">git repository hosting</strong> server software. It is designed to be a complete
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            alternative to GitHub, GitLab, BitBucket, Gogs/Gitea/Forgejo, and other similar services. It
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        is still in development and not yet ready for production use. As of version 0.2.0 development
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        is still in development and not yet ready for production use. As of version 0.3.0 development
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            stage, it supports:
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p><ul><li><p>User registration
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>Repository creation
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        

@@ -45,42 +45,69 @@ stage, it supports:

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>Favourite repositories (subscriptions)
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>Commit views and diffs
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>Themeing
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ul><p>For now, it doesn't support, but certainly will before the 1.0.0 release:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Static site hosting
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Really basic search
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Markdown, but only for files (see below)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ul><p>For now, it doesn't support, but certainly <strong class="emphasis-2">will</strong> before the 1.0.0 release:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p><ul><li><p>Code review features (like comments on commits, for now you'll use the forum), something
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            like Google Docs comments is planned
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Static site hosting
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>CI/CD
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Wiki
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>API
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Native clients
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Git over SSH or other protocols
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Repository metadata
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Repository metadata (licence, topics, language, etc.)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>Decentralization
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>Packaging
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>Code syntax highlighting
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Any kind of search
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>Any kind of statistics
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>Web-based code editing
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Any kind of integration with other services
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>Users changing passwords
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li><li><p>Admin panel
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Forum labels
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>User mentions
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Markdown comments (we just need to cache the HTML so it won't be too slow)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ul><p>It won't support:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><ul><li><p>Wikis (why have another interface just for markdown, when you can use your own repo and publish
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        it as a static site?)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Issues (forum does it already)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ul><p>I'm still not sure about:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><ul><li><p>Project boards (what about making label grouping instead?)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Advertising (don't worry, instances could disable it, and logged-in users could also disable it
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        for free, and it won't track anyone, no video, animation, sound, popups, overlays, or JS)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Paste service (does it really work well with Git? Couldn't you just use a repo for that?)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Git over SSH or other protocols (do people need it? HTTPS does the same things, and it's easier
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        to set up; doesn't require daemons)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Native clients (Android development is hard, iOS is hostile, and on desktop it's not needed,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        there are GUI git clients that work with any server, for social features web is fine)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>IDE plugins (sounds good, but it's hard work)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p></li></ul><p>The roundabout is written in flask, a Python web framework. It uses SQLAlchemy for database
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        management. For light UI interactivity it uses htmx.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>The official instance of the roundabout, roundabout-host, is hosted at
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        management. For light UI interactivity it uses htmx and some vanilla JS. It does some GitPython
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        calls for basic operations, but mostly calls git with subprocess. Repositories are non-bare
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        because this allows the server to understand the repository and can lead to some performance
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        gains since querying git is not required. The server is designed to be run on a single machine
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        but decentralisation will be added in the future, but it won't be automatic, you'll have to
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        choose a server to use.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h2>roundabout-host.com</h2><p>The official instance of the roundabout, roundabout-host, is hosted at
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            <a href="https://roundabout-host.com">roundabout-host.com</a>. Anyone can register and create repositories
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            there. However, we ask that you do not rely on it and always keep your repos locally as well.
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        In the future it may require payment for some features, but <strong class="emphasis-2">the program it runs will always
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        Uptime is not guaranteed, and data loss is possible. The server is not backed up.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>In the future it may require payment for some features, but <strong class="emphasis-2">the program it runs will always
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            be free</strong>. Payment will not be required to lift artificial limitations, but to support
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        server-intensive features like CI/CD.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        server-intensive features like CI/CD. Some free usage for useful projects will always be
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        provided on demand.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>Additionally, we may have advertising on the site. It will be unobtrusive and not track you.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        Logged-in users will be able to disable it for free. We will never have video, animation, sound,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        popups, overlays, or JS ads. Ads will be relevant to the content of the site, but they won't
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        be personalised or use cookies. This just means no car, insurance, supermarket, or other
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        unrelated ads. Most likely we will use EthicalAds, which is itself free software.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p><p>The roundabout program is licensed under the AGPL licence, version 3.0 or, at your option, any
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        later version.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        later version. Whatever I decide to do for roundabout-host, I can't pull the rug from under
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        you, you can always run your own instance.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </p>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                </article>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                </main>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                <footer>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 09:45:48</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>&copy; Roundabout developer</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 14:32:39</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p xmlns:cc="http://creativecommons.org/ns#" >This work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC0 1.0 Universal</a> (🄍). No rights reserved.</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                </footer>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </body>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            </html>
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                            
                                

projects/waste.html

@@ -0,0 +1,122 @@

                                
                                
                                
                            
                                
                                    
                                        
                                        <!DOCTYPE html>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <html lang="en">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <head>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <meta charset="UTF-8">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <title>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            Waste detection
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </title>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <link rel="stylesheet" href="/static/style.css">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <meta name="viewport" content="width=device-width, initial-scale=1.0">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </head>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <body>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <header>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <nav>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="/">Home</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="/projects">Projects</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="/index">Index</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="https://roundabout-host.com/roundabout">Roundabout-host</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    </ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="mailto:root@roundabout-host.com" id="mail-link">root@roundabout-host.com</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    </ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                </nav>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </header>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <main>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <h1 class="project-title">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <span>Waste detection</span>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <a href="https://roundabout-host.com/roundabout/waste-detection">Repository</a>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </h1>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <article class="content-area">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>An YOLO model specifically trained to detect waste in images. We collected a custom dataset of waste,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        classified and annotated it, and trained the model using YOLOv8 on Keras. The model is able to detect
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        the position and class of waste in images. It can separate the following classes of waste:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><ul><li><p>Plastic
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Metal
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Paper
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Glass
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Organic
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Wood
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Textile
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Medical
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Electronic
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>Other
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ul><p>There are actually over 90 classes, but they are grouped into these ones because there is only
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        a small amount (in the 1-2 digits) of samples for each class. The model is able to detect multiple
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        classes in the same image, or acknowledge that there is no waste in the image.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>YOLO is used pretrained on the COCO dataset, and then fine-tuned on our dataset. This is until
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        there are enough samples for each class to train the model from scratch.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>Contributions are welcome. If you have a dataset of waste, please share it with us. We will
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        annotate it (if it's not already) and train the model on it.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>You don't need technical knowledge to contribute. If you can take photos with a phone and make
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        a ZIP of them, you can contribute. If you can draw rectangles around objects with the mouse,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        you can contribute. If you can drop photos into folders corresponding to their class, you can
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        contribute.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>Of course, if you do have technical knowledge, you can help with the model training, testing, and
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        optimisation. You can also improve the training code and better process the dataset.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h2>Licence</h2><p>Unless otherwise stated, the software (source code) in this repository is licenced under the GNU Affero General Public License,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        with an additional permission in section 7.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        A copy of the licence is located in the file <code>LICENCE-GNU-AGPL.md</code> in this directory.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><blockquote><p>This program is free software, you can redistribute it and/or modify
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        it under the terms of GNU Affero General Public License
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        as published by the Free Software Foundation, either version 3
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        of the License, or (at your option) any later version.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>This program is distributed in the hope that it will be useful,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        but WITHOUT ANY WARRANTY; without even the implied warranty of
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        or FITNESS FOR A PARTICULAR PURPOSE.  See the
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        General Public License for more details.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>You should have received a copy of the the GNU Affero
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        General Public License, along with this program. If not, see
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        &lt;https://www.gnu.org/licenses/&gt;.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h5>Additional permission under the GNU Affero GPL version 3 section 7:</h5><p>If you modify this program, or any covered work, by linking or
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        combining it with other code, such other code is not for that reason
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        alone subject to any of the requirements of the GNU Affero GPL
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        version 3.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></blockquote><p>Unless otherwise stated, the annotations in this repository are dual-licensed under either of these licences:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><ul><li><p><a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution Share-Alike 4.0</a>.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        To view a copy of this license, read the <code>LICENCE-CC-BY-SA.md</code> file, visit http://creativecommons.org/licenses/by-sa/4.0/
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p><a href="https://creativecommons.org/licenses/by-nc/4.0/">Creative Commons Attribution Non-Commercial 4.0</a>.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        To view a copy of this license, read the <code>LICENCE-CC-BY-NC.md</code> file, visit http://creativecommons.org/licenses/by-nc/4.0/
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ul><p>You do not have to comply with the terms of both licences. Choose one and comply only with it.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>The images in the repository are licensed depending on their source:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><ul><li><p>If the file name has the <code>original</code> prefix (or no prefix at all), the images are licenced under the same terms as the annotations (see above).
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>If the file name has the <code>trash-detection</code> prefix, it comes from https://universe.roboflow.com/nora-slimani/trash-detection-otdmj and is licensed under <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0</a>.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>If the file name has the <code>ffml</code> prefix, it comes from https://www.kaggle.com/datasets/cristeaioan/ffml-dataset and is licensed under <a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution Share-Alike 4.0</a>.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>If the file name has the <code>dwc</code> prefix, it comes from https://www.kaggle.com/datasets/arkadiyhacks/drinking-waste-classification and is public domain.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li><li><p>If the file name has the <code>hitl</code> prefix, it comes from https://www.kaggle.com/datasets/humansintheloop/recycling-dataset and is public domain.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></li></ul><p>I hope I didn't infringe on any licences or miss any sources. If you think there is a problem,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        please send me an email at &lt;mailto:root@roundabout-host.com&gt; and I'll remove the infringing files.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>The VIA application shipped in this repository (located at the <code>/via</code> path) is licensed under the BSD licence.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><blockquote><p>Copyright (c) 2016-2021, Abhishek Dutta, Visual Geometry Group, Oxford University and VIA Contributors.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        All rights reserved.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        Redistribution and use in source and binary forms, with or without
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        modification, are permitted provided that the following conditions are met:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>Redistributions of source code must retain the above copyright notice, this
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        list of conditions and the following disclaimer.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>Redistributions in binary form must reproduce the above copyright notice,
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        this list of conditions and the following disclaimer in the documentation
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        and/or other materials provided with the distribution.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        POSSIBILITY OF SUCH DAMAGE.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p></blockquote>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </article>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </main>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <footer>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 14:32:39</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p xmlns:cc="http://creativecommons.org/ns#" >This work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC0 1.0 Universal</a> (🄍). No rights reserved.</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </footer>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </body>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </html>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                            
                                

projects/wordle.html

@@ -0,0 +1,75 @@

                                
                                
                                
                            
                                
                                    
                                        
                                        <!DOCTYPE html>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <html lang="en">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <head>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <meta charset="UTF-8">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <title>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            Teletype Wordle
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </title>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <link rel="stylesheet" href="/static/style.css">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <meta name="viewport" content="width=device-width, initial-scale=1.0">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </head>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        <body>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <header>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <nav>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="/">Home</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="/projects">Projects</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="/index">Index</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="https://roundabout-host.com/roundabout">Roundabout-host</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    </ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    <ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                        <li><a href="mailto:root@roundabout-host.com" id="mail-link">root@roundabout-host.com</a></li>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                    </ul>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                </nav>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </header>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <main>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <h1 class="project-title">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <span>Teletype Wordle</span>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <a href="https://roundabout-host.com/roundabout/tty-wordle">Repository</a>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </h1>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <article class="content-area">
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Just like the original Wordle, you have to guess a 5-letter word in 6 tries and it tells you
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        how many letters are correct and in the right position, how many are correct but in the wrong
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        position, and how many are not in the word at all. The only difference is that this one is
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        played in the terminal. It's a great SSH toy for when you're bored.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>The game is written in Python and uses the <code>termcolor</code> library for coloured output. Since it
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        uses <code>colorama</code>, it works on Windows as well as Unix-like systems.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p><img alt="A game of teletype Wordle" src="/static/photos/wordle.png"></img>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>You can also customise the game quite a bit. You can change the number of tries, the list of
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        words to guess from (and length will be inferred from that), and the list of words to randomly
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        choose an answer from. You can also enable the analyser, which shows all the letters that have
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        been found so far. Let's make someone play it with the full dictionary :)
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>There is also a hard mode, where you must use all the letters that have been found in your
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        guesses.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><pre data-language="">usage: tty-wordle [-h] [-a] [-x] [--delay DELAY] [-l WORDS] [-n ANSWERS] [-t GUESSES]
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        A Wordle for your console.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        options:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                         -h, --help            show this help message and exit
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                         -a, --analyser        add the analyser, a row of all found letters
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                         -x, --hard            enable hard Wordle: you must use all found letters in your guesses
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                         --delay DELAY         time to show error messages for, in seconds
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                         -l WORDS, --list WORDS
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                               file to pull allowed guesses from
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                         -n ANSWERS, --answers ANSWERS
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                               file to pull a random answer from
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                         -t GUESSES, --tries GUESSES
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                               number of tries
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </pre><p>Also, this is how the analyser looks like:
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p><img alt="The analyser in teletype Wordle" src="/static/photos/wordle-analyser.png"></img>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><p>If you press ^C it asks you whether you want to give up or not. If you do, it shows you the
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        answer. If you don't, it continues the game. You can press ^C again to close it and never see
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        the answer.
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p><h2>Licence</h2><p>Apache 2.0
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </article>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </main>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            <footer>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p>Page generated on Monday, 29 April 2024 at 14:32:39</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                <p xmlns:cc="http://creativecommons.org/ns#" >This work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC0 1.0 Universal</a> (🄍). No rights reserved.</p>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            </footer>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </body>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        </html>
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                            
                                

static/photos/wordle-analyser.png

static/photos/wordle.png

static/style.css

@@ -81,7 +81,9 @@ nav {

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                justify-content: space-between;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                align-items: center;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                box-sizing: border-box;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            height: 4rem;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            min-height: 4rem;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            padding: 1rem 0;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            margin: 0 0.5rem;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            }
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            nav > ul {
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        

@@ -98,6 +100,29 @@ nav > ul {

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                text-transform: uppercase;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            }
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        @media (max-width: 576px) {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            nav > ul {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                flex-flow: row wrap;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                justify-content: center;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                row-gap: 0.5rem;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            nav {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                flex-direction: column;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                gap: 1rem;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            header {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                position: static;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        @media (max-width: 720px) {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            nav {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                flex-direction: column;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                padding: 0.5rem;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                gap: 0.5rem;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            nav > ul > li > a {
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                font-weight: normal;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                text-decoration: none;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        

@@ -243,6 +268,19 @@ pre {

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                transition: 400ms;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            }
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        @media (max-width: 512px) {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            .project-title {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                flex-direction: column;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                align-items: center;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            .project-title > a {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                min-height: 1.5lh;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                margin: auto;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                                padding: 0 2rem;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            .project-title > a:hover {
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                border-width: 8px;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                            }
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        

@@ -269,4 +307,26 @@ strong, em {

                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                font-feature-settings: "zero" on;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                font-weight: 625;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            
                                                text-align: center;
                                        
                                        
                                            
                                            
                                            
                                            
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        blockquote {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            font-family: "Source Serif", serif;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            font-weight: 350;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            border-top: 0.5px solid #009688;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            border-bottom: 0.5px solid #009688;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            padding: 0.5rem 2rem;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            margin: 0;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        blockquote > p:first-child {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            margin-top: 0;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        blockquote > p:last-child {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            margin-bottom: 0;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        }
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        img {
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            max-width: 100%;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                            height: auto;
                                        
                                        
                                        
                                    
                                
                                
                                
                            
                                
                                    
                                        
                                        }