Add git.voussoir.net mirror.

This commit is contained in:
voussoir 2023-09-11 21:12:18 -07:00
parent 10e4a80d2e
commit b2c04aef0c
2 changed files with 12 additions and 9 deletions

View file

@ -2,6 +2,8 @@ https://voussoir.net
## Mirrors ## Mirrors
https://git.voussoir.net/voussoir/voussoir.net
https://github.com/voussoir/voussoir.net https://github.com/voussoir/voussoir.net
https://gitlab.com/voussoir/voussoir.net https://gitlab.com/voussoir/voussoir.net

View file

@ -426,7 +426,7 @@ body.start_eating_that_trashcan .cvitem_details
<div class="cvitem_details"> <div class="cvitem_details">
<p>trkpt is a 24/7 GPS recorder that shows me where I've been.</p> <p>trkpt is a 24/7 GPS recorder that shows me where I've been.</p>
<p><a href="https://voussoir.net/writing/obsessed_with_gpx">https://voussoir.net/writing/obsessed_with_gpx</a></p> <p><a href="https://voussoir.net/writing/obsessed_with_gpx">https://voussoir.net/writing/obsessed_with_gpx</a></p>
<p><a href="https://github.com/voussoir/trkpt">https://github.com/voussoir/trkpt</a></p> <p><a href="https://git.voussoir.net/voussoir/trkpt">https://git.voussoir.net/voussoir/trkpt</a></p>
</div> </div>
<img class="cvitem_logo" style='background-color: transparent !important' src="./cv/trkpt.png"/> <img class="cvitem_logo" style='background-color: transparent !important' src="./cv/trkpt.png"/>
</div> </div>
@ -436,7 +436,7 @@ body.start_eating_that_trashcan .cvitem_details
<div class="cvitem_details"> <div class="cvitem_details">
<p>BringRSS is an RSS client and newsreader with a web interface, made with Flask and SQLite3. RSS is a great way to keep up with your favorite forums, bloggers, podcasts, and newspapers since all the new posts come straight to you in a single place. BringRSS can send news objects to your own Python scripts, allowing for powerful automation like podcast downloading, email notifications, and other more niche features that would be outside the scope of the BringRSS application itself.</p> <p>BringRSS is an RSS client and newsreader with a web interface, made with Flask and SQLite3. RSS is a great way to keep up with your favorite forums, bloggers, podcasts, and newspapers since all the new posts come straight to you in a single place. BringRSS can send news objects to your own Python scripts, allowing for powerful automation like podcast downloading, email notifications, and other more niche features that would be outside the scope of the BringRSS application itself.</p>
<p><a href="https://bringrss.voussoir.net">Live demo</a></p> <p><a href="https://bringrss.voussoir.net">Live demo</a></p>
<p><a href="https://github.com/voussoir/bringrss">https://github.com/voussoir/bringrss</a></p> <p><a href="https://git.voussoir.net/voussoir/bringrss">https://git.voussoir.net/voussoir/bringrss</a></p>
</div> </div>
<img class="cvitem_logo" src="./cv/bringrss.png"/> <img class="cvitem_logo" src="./cv/bringrss.png"/>
</div> </div>
@ -445,7 +445,7 @@ body.start_eating_that_trashcan .cvitem_details
<h3 class="cvitem_title" id="ycdl">YCDL</h3> <h3 class="cvitem_title" id="ycdl">YCDL</h3>
<div class="cvitem_details"> <div class="cvitem_details">
<p>YoutubeChannelDownloader was born out of a dissatisfaction with YouTube's own interface for keeping track of which videos I have already watched, as well as a desire to integrate with youtube-dl. YCDL makes it easy for me to watch through a channel's catalog of videos, picking which ones I'd like to download while ignoring the others. Plus, as it creates an offline database, it will retain metadata about videos even after they are removed or deleted from the original YouTube channel.</p> <p>YoutubeChannelDownloader was born out of a dissatisfaction with YouTube's own interface for keeping track of which videos I have already watched, as well as a desire to integrate with youtube-dl. YCDL makes it easy for me to watch through a channel's catalog of videos, picking which ones I'd like to download while ignoring the others. Plus, as it creates an offline database, it will retain metadata about videos even after they are removed or deleted from the original YouTube channel.</p>
<p><a href="https://github.com/voussoir/ycdl">https://github.com/voussoir/ycdl</a></p> <p><a href="https://git.voussoir.net/voussoir/ycdl">https://git.voussoir.net/voussoir/ycdl</a></p>
</div> </div>
<img class="cvitem_logo" src="./cv/ycdl.png"/> <img class="cvitem_logo" src="./cv/ycdl.png"/>
</div> </div>
@ -456,7 +456,7 @@ body.start_eating_that_trashcan .cvitem_details
<p>Etiquette is a tag-based file organization system with a web interface, built with Flask and SQLite3. Tag-based systems solve problems that a traditional folder hierarchy can't: <em>which folder should a file go in if it equally belongs in both?</em> and <em>how do I make my files searchable without littering the filenames themselves with keywords?</em></p> <p>Etiquette is a tag-based file organization system with a web interface, built with Flask and SQLite3. Tag-based systems solve problems that a traditional folder hierarchy can't: <em>which folder should a file go in if it equally belongs in both?</em> and <em>how do I make my files searchable without littering the filenames themselves with keywords?</em></p>
<p>Etiquette is unique because the tags themselves are hierarchical. By tagging one of your vacation photos with the <code>family.parents.dad</code> tag, it will automatically appear in searches for <code>family.parents</code> and <code>family</code> as well. A traditional folder system, here called albums, is available to bundle files that always belong together without creating a bespoke tag to represent that bundle. Regardless, the files on disk are never modified.</p> <p>Etiquette is unique because the tags themselves are hierarchical. By tagging one of your vacation photos with the <code>family.parents.dad</code> tag, it will automatically appear in searches for <code>family.parents</code> and <code>family</code> as well. A traditional folder system, here called albums, is available to bundle files that always belong together without creating a bespoke tag to represent that bundle. Regardless, the files on disk are never modified.</p>
<p><a href="https://etiquette.voussoir.net">Live demo</a></p> <p><a href="https://etiquette.voussoir.net">Live demo</a></p>
<p><a href="https://github.com/voussoir/etiquette">https://github.com/voussoir/etiquette</a></p> <p><a href="https://git.voussoir.net/voussoir/etiquette">https://git.voussoir.net/voussoir/etiquette</a></p>
</div> </div>
<img class="cvitem_logo" src="./cv/etiquette.png"/> <img class="cvitem_logo" src="./cv/etiquette.png"/>
</div> </div>
@ -466,7 +466,7 @@ body.start_eating_that_trashcan .cvitem_details
<div class="cvitem_details"> <div class="cvitem_details">
<p>Timesearch is a package of tools for archiving data from reddit.com. Subreddits, user posts, comments, CSS files, and community wiki files can be downloaded and easily updated.</p> <p>Timesearch is a package of tools for archiving data from reddit.com. Subreddits, user posts, comments, CSS files, and community wiki files can be downloaded and easily updated.</p>
<p>Originally, it used the <code>timestamp</code> query parameter of reddit's elasticsearch, but since that feature's removal Timesearch instead queries the third-party pushshift.io database for preliminary data, then queries reddit for updated information about each item.</p> <p>Originally, it used the <code>timestamp</code> query parameter of reddit's elasticsearch, but since that feature's removal Timesearch instead queries the third-party pushshift.io database for preliminary data, then queries reddit for updated information about each item.</p>
<p><a href="https://github.com/voussoir/timesearch">https://github.com/voussoir/timesearch</a></p></div> <p><a href="https://git.voussoir.net/voussoir/timesearch">https://git.voussoir.net/voussoir/timesearch</a></p></div>
<img class="cvitem_logo" src="./cv/timesearch.png"/> <img class="cvitem_logo" src="./cv/timesearch.png"/>
</div> </div>
@ -474,7 +474,7 @@ body.start_eating_that_trashcan .cvitem_details
<h3 class="cvitem_title" id="voussoirkit">voussoirkit</h3> <h3 class="cvitem_title" id="voussoirkit">voussoirkit</h3>
<div class="cvitem_details"> <div class="cvitem_details">
<p>The voussoirkit library contains code that I have found useful to include in my other projects. Everything from <code>bytestring</code> that converts integer numbers of bytes into "3.145 MiB" strings, to <code>pathclass</code> and <code>spinal</code> which provide object-oriented file and directory operations and copy routines. Some modules like <code>winglob</code> boost cross-compatibility by smoothing over differences between Windows and Unix. This way I can easily deploy new features and bug fixes to all my programs.</p> <p>The voussoirkit library contains code that I have found useful to include in my other projects. Everything from <code>bytestring</code> that converts integer numbers of bytes into "3.145 MiB" strings, to <code>pathclass</code> and <code>spinal</code> which provide object-oriented file and directory operations and copy routines. Some modules like <code>winglob</code> boost cross-compatibility by smoothing over differences between Windows and Unix. This way I can easily deploy new features and bug fixes to all my programs.</p>
<p><a href="https://github.com/voussoir/voussoirkit">https://github.com/voussoir/voussoirkit</a></p> <p><a href="https://git.voussoir.net/voussoir/voussoirkit">https://git.voussoir.net/voussoir/voussoirkit</a></p>
</div> </div>
<img class="cvitem_logo" src="./cv/voussoirkit.png"/> <img class="cvitem_logo" src="./cv/voussoirkit.png"/>
</div> </div>
@ -483,7 +483,7 @@ body.start_eating_that_trashcan .cvitem_details
<h3 class="cvitem_title" id="hnarchive">HN Archive</h3> <h3 class="cvitem_title" id="hnarchive">HN Archive</h3>
<div class="cvitem_details"> <div class="cvitem_details">
<p>hnarchive is a tool that downloads all submissions and comments on <a href="https://news.ycombinator.com">Hacker News</a>. HN is a forum that is mostly focused on technology and entrepreneurship. Although I am not entirely sure if all participants are <a href="https://voussoir.net/writing/cyborgs_on_hn">human</a>, it is a knowledgebase of considerable quality and in my opinion worth preserving.</p> <p>hnarchive is a tool that downloads all submissions and comments on <a href="https://news.ycombinator.com">Hacker News</a>. HN is a forum that is mostly focused on technology and entrepreneurship. Although I am not entirely sure if all participants are <a href="https://voussoir.net/writing/cyborgs_on_hn">human</a>, it is a knowledgebase of considerable quality and in my opinion worth preserving.</p>
<p><a href="https://github.com/voussoir/hnarchive">https://github.com/voussoir/hnarchive</a></p> <p><a href="https://git.voussoir.net/voussoir/hnarchive">https://git.voussoir.net/voussoir/hnarchive</a></p>
</div> </div>
<img class="cvitem_logo" src="./cv/hnarchive.png"/> <img class="cvitem_logo" src="./cv/hnarchive.png"/>
</div> </div>
@ -493,8 +493,8 @@ body.start_eating_that_trashcan .cvitem_details
<div class="cvitem_details"> <div class="cvitem_details">
<p>I use the wonderful program Sigil to edit epub files. Sigil has a python plugin system for which I have written a few modules. But, since the plugins can only operate on one book at a time while it is open in Sigil, I needed something a little different to edit epub files en masse.</p> <p>I use the wonderful program Sigil to edit epub files. Sigil has a python plugin system for which I have written a few modules. But, since the plugins can only operate on one book at a time while it is open in Sigil, I needed something a little different to edit epub files en masse.</p>
<p>Epubfile is a simple library for automatically processing epubs. It comes with a number of builtin routines for what I do most often: merging multiple epubs into a single file, normalizing the internal file structure, and renaming the cover image file to leverage CBXShell so I get thumbnails in Windows Explorer.</p> <p>Epubfile is a simple library for automatically processing epubs. It comes with a number of builtin routines for what I do most often: merging multiple epubs into a single file, normalizing the internal file structure, and renaming the cover image file to leverage CBXShell so I get thumbnails in Windows Explorer.</p>
<p><a href="https://github.com/voussoir/epubfile">https://github.com/voussoir/epubfile</a></p> <p><a href="https://git.voussoir.net/voussoir/epubfile">https://git.voussoir.net/voussoir/epubfile</a></p>
<p><a href="https://github.com/voussoir/sigilplugins">https://github.com/voussoir/sigilplugins</a></p> <p><a href="https://git.voussoir.net/voussoir/sigilplugins">https://git.voussoir.net/voussoir/sigilplugins</a></p>
</div> </div>
<img class="cvitem_logo" src="./cv/epub.png"/> <img class="cvitem_logo" src="./cv/epub.png"/>
</div> </div>
@ -551,6 +551,7 @@ body.start_eating_that_trashcan .cvitem_details
<h3 class="cvitem_title" id="gitmirrors">Git mirrors</h3> <h3 class="cvitem_title" id="gitmirrors">Git mirrors</h3>
<div class="cvitem_details"> <div class="cvitem_details">
<p>Eggs. Baskets.</p> <p>Eggs. Baskets.</p>
<p><a href="https://git.voussoir.net">https://git.voussoir.net</a></p>
<p><a href="https://github.com/voussoir">https://github.com/voussoir</a></p> <p><a href="https://github.com/voussoir">https://github.com/voussoir</a></p>
<p><a href="https://codeberg.org/voussoir">https://codeberg.org/voussoir</a></p> <p><a href="https://codeberg.org/voussoir">https://codeberg.org/voussoir</a></p>
<p><a href="https://gitlab.com/voussoir">https://gitlab.com/voussoir</a></p> <p><a href="https://gitlab.com/voussoir">https://gitlab.com/voussoir</a></p>