Pages
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 source
.
Create a Python venv in your home directory using
curl http://diegocabello.com/sculblog/install.sh
python -m venv sculblog
Run source sculblog/bin/activate
to activate the
venv
Run pip install sculblog
Features
Root Directory Structure
All posts are written in Markdown or HTML, are converted to html if
neccassary, 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. Templates are written in php
by default
The database is stored in the ‘database’ folder in the server
directory.
Compared to alternatives like Hugo, this configuration is much
simpler and doesn’t require lear...
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 This...