Package: gddns Version: 2.5.0-1 Architecture: amd64 Maintainer: Julian Andrews Installed-Size: 5545 Depends: libssl3 (>= 3.0.0~~alpha1), libc6 (>= 2.34) Filename: pool/main/gddns_2.5.0-1_amd64.deb Size: 1599948 MD5sum: a5f591be95c2f37a75bee791744a0428 SHA1: a4ebb0ba829c3db0124f7914742c904dc840d917 SHA256: 266cc516bb5abeca8943bb8b13cca38505ad6f3016abdfdddde09db80e577c4d Priority: optional Description: Dynamic DNS client Dynamic DNS update client. . Generic client for updating dynamic DNS. gddns is tested on Google Domains and No-IP, but should work on any dynamic DNS service using the standard dynamic DNS update API. Vcs-Browser: https://github.com/julianandrews/gddns Vcs-Git: https://github.com/julianandrews/gddns Package: markovpass Version: 2.0.1 Architecture: amd64 Maintainer: Julian Andrews Installed-Size: 1309 Depends: libc6 (>= 2.34) Filename: pool/main/markovpass_2.0.1_amd64.deb Size: 459532 MD5sum: 4a0bd03898c42507ee2f6ff32b897f84 SHA1: d5df33586f5671a7ecdc26a0904edde1477816a0 SHA256: bb19bb719c4d1fb471467be62bed8da417c5bd4e791fcfe7eb24f61830160230 Priority: optional Description: Markov chain based passphrase generator A markov chain based passphrase generator. . Generates randomized passphrases based on a Markov chain along with the total Shannon entropy of the nodes traversed. Long random sequences of characters are difficult to remember. Shorter, or less random sequences are bad passphrases. Long sequences of words (xkcd style passphrases) are relatively easy to remember but take a long time to type. Markovpass generates human sounding phrases, which aim to strike a balance between ease of memorization, length, and passphrases quality. The passphrases produced look something like: . soluttingle misfy curther requenturn . or: . beforeing licting stroducted shall . By default, markovpass is distributed with a corpus of public domain selections from Jane Austen, H.P. Lovecraft, and P.G. Wodehouse. See the builtin help for information on customizing your corpus. Vcs-Browser: https://github.com/julianandrews/markovpass Vcs-Git: https://github.com/julianandrews/markovpass Package: mediarss Version: 0.4.2 Architecture: amd64 Maintainer: Julian Andrews Installed-Size: 6996 Depends: libc6 (>= 2.34), libssl3 (>= 3.0.0) Filename: pool/main/mediarss_0.4.2_amd64.deb Size: 1917628 MD5sum: 9c82a74fa6343d73e17c3b395c6ed48a SHA1: 3c8b300b9cb58359ff4c8219766d2f4472732235 SHA256: 03a8cd405589368db265b5f552ce0220971051c3a12b25f5ec9430f827bfcfa3 Priority: optional Description: [generated from Rust crate mediarss] Package: page-status Version: 1.0.2-1 Architecture: amd64 Maintainer: Julian Andrews Installed-Size: 3596 Depends: libc6 (>= 2.34), libssl3t64 (>= 3.0.0) Filename: pool/main/page-status_1.0.2-1_amd64.deb Size: 1088364 MD5sum: cb5ef54d8fc94a4f85467d323ea2722c SHA1: 2e3cb69540124dedfdfb85cb4335c06ffb38c71f SHA256: 338d398e6aea002692708bf9d848ea18ef7b59ec02de64ad05501e5914d979e8 Priority: optional Homepage: https://github.com/julianandrews/page-status Description: Light-weight service to poll webpages for status codes Light-weight service designed to poll web pages for their status codes and write the result to disk. . I made page-status to use with a simple xmobar status script to alert me on my local desktop if one of my sites was down. It makes no attempt to do monitoring or alerting beyond recording the status codes from the configured websites. It is a simple single purpose tool intended to provide data useful for some other monitoring or alerting solution. . By default output is written to `/var/cache/page-status` with one file per page. Files will either contain the http status code of the last request, or the output of the last error to occur for that page. Package: ponysay Version: 3.0.3+20210327-1 Architecture: all Bugs: mailto:vcheng@debian.org Maintainer: Vincent Cheng Installed-Size: 12207 Depends: python3 Filename: pool/main/ponysay_3.0.3+20210327-1_all.deb Size: 1282540 MD5sum: 4a160624402c0a80a2fead5a4be6a0e1 SHA1: cdc148e1edd20d6d7078a80ca60c5d3be7f14ede SHA256: efab3bb536098f1d1d6a47eec580ec97ad103cde4b0465d92559c74bc644f7ab Section: misc Priority: optional Homepage: https://github.com/erkin/ponysay Description: pony re-implementation of cowsay Ponysay displays an image of a "My Little Pony: Friendship is Magic" (MLP:FiM) pony saying a message provided by the user in a terminal. It can also be used in conjunction with fortunes (similarly to cowsay). Historically ponysay was a wrapper for cowsay, but has since become an independent reimplementation of cowsay. Package: selenite-lamp Version: 0.2.4-1 Architecture: amd64 Maintainer: Julian Andrews Installed-Size: 1536 Depends: libc6 (>= 2.34) Filename: pool/main/selenite-lamp_0.2.4-1_amd64.deb Size: 530508 MD5sum: 7dd9c4266028f6822f6560c4dde0abbe SHA1: ff67f2127b24d1429d1ba00010c371922951da0e SHA256: 6692e4a71fe120f2438c265108a6d668b4b7f31bc06f086d74e744080d71b166 Priority: optional Description: CLI to control an LED array for my selenite lamp # Selenite Lamp . USB powered/controlled LED base to light up a Selenite crystal (or other transparent object) preprogrammed with a range of routines. . TODO: Add video of lamp . ## Hardware . The unit is just a [Neopixel Jewel 7](https://www.adafruit.com/product/2226) connected to an Arduino Nano. I used solid core 22 AWG wire and mounted it to a piece of craft wood with thumb tacks, and added a layer of [foam padding](https://www.amazon.com/gp/product/B091NT395Z) underneath. Solid core wires are a good choice since they're stiff enough to hold the Neopixel board in place. . ![Circuit](images/circuit.jpg) . I happened to have an enclosure from a cheap base I'd bought before. All you really need is an enclosure with a gap for the USB port and a transparent top. . ![Lamp Base](images/lamp-base.jpg) . ## Installation . ### Arduino sketch . Install `selenite.ino` on your Arduino. Depending on how you wired your circuit, you may need to adjust `PIN` to the number of whichever data pin you wired the Neopixel to. . Installation with `arduino-cli`: . ``` arduino-cli compile --fqbn arduino:avr:nano arduino-cli upload --fqbn arduino:avr:nano -p /dev/selenite-lamp ``` . ### CLI . Currently the CLI depends on nightly Rust (see rust-lang/rust#60553). Build with cargo: . ``` cargo build --release ``` . This will generate a standalone binary at `target/release/selenite-lamp`. . ## CLI Usage . ``` selenite-lamp 0.2.1 . USAGE: selenite-lamp [OPTIONS] . ARGS: Serial port to connect to. Something like `/dev/ttyUSB0` or `COM1` [env: SELENITE_PORT=/dev/selenite-lamp] . OPTIONS: -v, --verbose Print verbose output -h, --help Print help information -V, --version Print version information . SUBCOMMANDS: query Query the current command state stop Turn off the lights cycle-hues Cycle through the rainbow pulse-hue Pulse a specific hue show-rgb Show a specific RGB color gleam Randomly pulse groups of leds to create a gleaming effect watch-file Watch the provided file for json, and update when it changes help Print this message or the help of the given subcommand(s) ``` . Most subcommands take parameters. Use `selenite-lamp help ` for details. . Instead of providing the serial port as an argument, you can set the `SERIAL_PORT` environment variable which you can then set in `~/.bashrc` (or configuration file for whatever shell you use). . ### Examples . ``` selenite-lamp /dev/ttyUSB0 query ``` . ``` selenite-lamp /dev/selenite-lamp gleam 20000 0.004 ``` . ``` SELENITE_PORT=/dev/ttyUSB0 selenite-lamp cycle-hues ``` . ## udev symlink . On systems with `udev` (most modern Linux systems), you can create a `udev` rule to configure the USB port and create a named symlink when the lamp is plugged in. This way you can have the device at a consistent location (say `/dev/selenite-lamp`). . The `udev` rule should look something like: . ``` /etc/udev/rules.d/99-selenite-lamp.rules . SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", SYMLINK+="selenite-lamp", RUN+="/bin/stty -F /dev/selenite-lamp -hupcl" ``` . where the vendor and product ids are the actual values from your Arduino (I'm using a cheap Arduino clone, your values will probably be different!). You can find those values by running: . ``` sudo dmesg | grep usb ``` . with the lamp plugged in, and looking for your Arduino's values. . Note that the `udev` rules need to be reloaded before new rules take effect: . ``` sudo udevadm control --reload-rules ``` Package: selenite-lamp-updater Version: 0.1.1-1 Architecture: amd64 Maintainer: Julian Andrews Installed-Size: 2039 Depends: libc6 (>= 2.34) Filename: pool/main/selenite-lamp-updater_0.1.1-1_amd64.deb Size: 708528 MD5sum: 65642f3b185fd390c9b8f0830924ac5b SHA1: c888968a16b804a3facce2b02589c86c239b0e34 SHA256: 459a6bea998060e5385a1cef06510c7afbacaf72efbfb124f73c1a3b52ed4b25 Priority: optional Homepage: https://github.com/julianandrews/selenite-lamp-updater Description: Updater for my selenite lamp project Package: sgf-render Version: 3.3.1 Architecture: amd64 Maintainer: Julian Andrews Installed-Size: 4765 Depends: libc6 (>= 2.35) Filename: pool/main/sgf-render_3.3.1_amd64.deb Size: 1549228 MD5sum: 8caba84bdb283fc73ce990bdc311ef87 SHA1: bd9844eb5e5e7642e7587f5c56ab2e633a921f80 SHA256: de16f95e65c599d42069dab8526c8f017bc70e2bbc2697ad62294c81ebdac5c1 Priority: optional Description: CLI to generate diagrams of Go games from SGF game records sgf-render is suitable for generating diagrams to illustrate board positions, sequences, tsumego problems and solutions, or whole game kifu. Most SGF markup and properties are supported. Default output is clean and easily customizable SVG. Vcs-Browser: https://github.com/julianandrews/sgf-render/ Vcs-Git: https://github.com/julianandrews/sgf-render/ Package: worksheet-generator Version: 0.1.0-1 Architecture: amd64 Maintainer: Julian Andrews Installed-Size: 2992 Depends: libc6 (>= 2.39) Filename: pool/main/worksheet-generator_0.1.0-1_amd64.deb Size: 964268 MD5sum: b673e4cfdd2ca1833c6a967ddfa792fd SHA1: 10d456acfd390bb254c3a771fe2bb98ece640418 SHA256: 91942ff632f1453f4c256d21255fa134c55e18e44b9ad9a3cecb4a7013d7f6d1 Priority: optional Description: Generate PDF worksheets from markdown # Worksheet Generator . A CLI tool for generating printable PDF worksheets from Markdown files. Perfect for weekly planning, fitness routines, self-care checklists, or any other structured documentation you want in a printable format. . ## Features . - Markdown to PDF conversion using WeasyPrint - Customizable CSS styling - Flexible configuration via YAML files or command-line arguments - Page breaks between multiple input files . ## Installation . ### Prerequisites . - Rust toolchain (install via [rustup](https://rustup.rs/)) - `weasyprint` (if outputting to PDF) . ### Building from Source . ```bash git clone https://github.com/julianandrews/worksheet-generator cd worksheet-generator cargo build --release cp target/release/worksheet-generator ~/.local/bin/ ``` . ## Usage . ### Command-Line Only . ```bash worksheet-generator --pages workout.md --pages self-care.md --stylesheet custom.css -o workout.pdf ``` . ### With Config File . ```bash worksheet-generator config.yaml ``` . ### Generate HTML instead of a PDF . ```bash worksheet-generator --format html config.yaml ``` . ### Path Resolution . - CLI paths are relative to the current working directory - Config file paths are relative to the config file's directory - Absolute paths are supported in both contexts . ### Git-Based Workflow . This tool works perfectly with version-controlled Markdown repositories. Just store your config and stylesheet with the markdown files: . ``` fitness-repo/ ├── config.yaml ├── styles.css ├── weekly-workout.md └── progress-tracker.md ``` . ## Config File . ### Minimal . ```yaml pages: - weekly-workout.md ``` . ### Full . ```yaml pages: - weekly-workout.md - progress-tracker.md stylesheet: styles.css output_file: workout.pdf output_format: pdf ``` . ## Custom Styling . Create a `style.css` file to customize the PDF appearance. The generator automatically wraps each section in `div` elements with CSS classes based on your heading hierarchy, making it easy to target specific parts of your document. For example, content under a `## Monday` heading gets the `monday` class. Use `--format html` to generate an HTML preview for testing your styles before creating the final PDF. . ```css @page { size: Letter; margin: 0.5in 0.5in; } . body { font-family: 'Inter', sans-serif; font-size: 10pt; } . h1 { font-size: 1.8em; } . table { border-collapse: collapse; width: 100%; } . th, td { border: 1px solid #666; padding: 5px; } . /* Style Monday headings with extra energy! */ .monday h2 { color: #ff6b6b; } . .monday table { border-color: #ff6b6b; /* Coordinated tables */ } ``` Package: yablocks Version: 0.5.0-1 Architecture: amd64 Maintainer: Julian Andrews Installed-Size: 10320 Depends: libc6 (>= 2.39), libpulse0 (>= 0.99.4), libsensors5 (>= 1:3.5.0) Filename: pool/main/yablocks_0.5.0-1_amd64.deb Size: 1897004 MD5sum: e8ff4356287eccef6f3d7cdb96727766 SHA1: 2111c78aabd0bc4a1f442aa54c71f382fc5e8aa7 SHA256: fdd230b4e439b45eb450647dcaef610b008c64076c481544f9cadf3c0a4c4457 Priority: optional Homepage: https://github.com/julianandrews/yablocks Description: Yet another block-based status bar generator Yet another block-based status generator. . Generate templated status bar output for bars like dzen2, lemonbar or xmobar.