Pages
NetDoc
Date: 2025 Oct 30
Words: 684
Draft: 1 (Most recent)
AS YOU MAY BE ABLE TO TELL BY THE MARKDOWN STYLE, THIS WAS GENERATED BY CLAUDE. WAS A SUMMARY OF A BRAINSTORMING SESH. I AM CAPABLE OF MAKING MY OWN SPECIFICATIONS (SEE ENTS). THIS IS A Q-A-D (“QUICK AND DIRTY”. EVERYONE SHOULD KNOW WHAT THAT STANDS FOR) SPEC Vision NetDoc reimagines social platforms around documents instead of posts. It’s “Plan 9 for the internet” - everything is a document - combined with Project Xanadu’s vision of transclusion and bidirectional linking. Core Philosophy Profiles as Curated Wikis: Instead of activity streams showing “posted 3 hours ago,” profiles are enduring intellectual landscapes. Your profile is a wiki of “favorite things of all time” - what you think matters, what you’ve annotated, how you organize knowledge. Friction as Feature: Like Tor’s slowness encourages intentional browsing, NetDoc’s wiki-centric design encourages thoughtful engagement. Making a wiki requires investment, filtering out low-effort content. You don’t doomscroll wikis, you navigate them. No Likes, Only Substance: Without reactions, engagement must be substantial - write a reply document, fork and improve, annotate with commentary. Discovery becomes “whose canon do I trust?” rather than “what’s trending?” Live Feed Megawiki: All pers...
Glass
Date: 2025 Oct 13
Words: 54
Draft: 1 (Most recent)
G.L.A.S.S. (Graphic List and Select System) is a TUI file browser
written in C with ncurses.
Commands
q - quit without saving
x - save and quit
t - toggle between tags and files
s - save changes
v - split screen
Shift - intensify selection by 10
Ctrl - intensify selection by 5
Enter - Select and move down
Space - Select
Sculblog
Design
Sculblog is written in Python and built on top of
pre-existing technologies - Debian, Apache, HTML, CSS, PHP, SQLite,
browsers. These technologies are established, reliable, and easily
customizable, perfect for building a lightweight blogging framework on
top of.
Versioning
Sculblog 0.1.6 is for an Apache server running on Debian. Future
versions will support Nginx
Installation
On a fresh Debian instance, run install.sh,
or run curl https://diegocabello.com/sculblog/install.sh |
bash.
There are two ways to install the Sculblog Python package.
Create a Python venv in your home directory using
python -m venv sculblog; run
source sculblog/bin/activate to install and each following
time you start a session; and run pip install sculblog to
install in the venv
Install it with
pip install sculblog --break-system-packages. This way is
the suggested way
Features
Root Directory Structure
All posts are written in Markdown or HTML, are converted to HTML if
necessary, and put in the database.
The files in the server root directory /var/www/html/
are linked to templates stored in the ‘resources’ folder in the server
directory.
The templates connect to the database. ...
Spotify Lyrics Scraper
Date: Nov 2020
Words: 95
Draft: 1 (Most recent)
During quarantine I wanted to see the lyrics to the songs I was listening to. This was before spotify added lyrics. I am keeping this in the portfolio even though I made it over four years ago because it was pretty inventive, for me being in high school. Github How it Works Get song I am listening to using offical Spotify API and auth Check if song has had lyrics saved before, if so then return those and break Send request to official Genius API with song title and artist Save text response and return
Twitter Tools
Date: 31 Mar 2025
Words: 439
Draft: 1 (Most recent)
I am building a suite of tools to automate Twitter functions outside the paid API. Bookmarks Scraper (July 2024) Github I wanted to download all my bookmarked images and posts from Twitter and index them, but it costed $100/mo to do this with the official Twitter API. So, I built a cost-effective workaround. The Method Scraping the data log into twitter on the browser, go to the page you want to scrape from, and locate one of the GET method connections for https://x.com/i/graphql/$PAGE in the browser network tab copy the cookies and request headers and paste them as arguments for a curl command run the command in python using the subprocess library within a while loop write the JSON responses to a text file for later parsing extract the bottom cursor from the last response and then use that as an argument for the next iteration this will run about 90 times returning 20 posts each until it times out and blocks you Analyzing the data parse each response for all the information about the posts, their authors, and media content store parsed data in an sqlite database download the images or videos using the python requests library Areas for Expansion and Improvement This scraper is an ongoing project with potential research-level scaleability (as the paid API effectively limits a lot of researchers). Improvements include: improved cookie management and potential...
Hue Adjuster in Uiua
Date: 31 Mar 2025
Words: 2400
Draft: 1 (Most recent)
1. Intro Uiua (docs) is a glyph-based array oriented language written in Rust language created by Kai Schmidt. I found out about it through this post. I decided to do a project to make an image one hue, something that photoshop does not natively support, to learn the language. Here is what happened. 2. Method I had an image, the lebron james pear image, that I wanted to hue shift. First I converted it into bitmap using an online converter. Using hex editor (ImHex by WerWolf), I determined where the header data stopped and the image data stopped. Bitmap files have a sign in the 9th bit position that tells where the image data starts and the rest of the header stops, and the image data is rgb hex values. (Wikipedia, BMP File Format) I wrote a function that shifts rgb by hue, and applied it to each pixel in the main function. The starting image The image was made with Dalle-3 with the prompt something like “Lebron james as a pear with jpeg artifacts”. Note: Uiua is read from right to left in R-P Notation. 2.1 Hue adjusting function In the hue adjusting function, I had to Convert RGB to HSV Change the Hue value in HSV Convert back to RGB 2.1.1 Convert RGB to HSV ...