Diego Cabello

Hi, I'm Diego Cabello. This website is my public-facing professional portfolio for tech job applications. I also sometimes host files to send to people on this website. Currently I work as a software engineer at XRGeneralHospital in Ann Arbor, MI.

This website was designed with a minimalist aesthetic, and more about those design choices are detailed in these essays. Although, I am also very capable at designing more modern and complicated web interfaces that look good (see).

ENTS: Extendable Nested Tagging Specification

Coding Projects

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 curl http://diegocabello.com/sculblog/install.sh. Create a Python venv in your home directory using 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...

B.E.R.T (XRGeneralHospital)

Code (Pastebin)

Arduino LCD1602 Boolean Calculator

Code (Pastebin) Video

Spotify Lyrics Scraper

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

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

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...

Essays

Sculblog Design Choices

My previous work with web development, including with React and Next.js, was not exhaustive, but it was enough for me to realize that what these frameworks are usually used to build is not what I think the internet should be. These “interactive web applications” that have been popular as of late have detracted from what the internet was originally intended to be: a codified protocol to share information and documents between computers.1 These “interactive web applications”, with their bells and whistles, fancy animations, scroll-hijacking, chatbots, and 3d effects, are a huge waste of effort and generate nowhere near as much economic value as much effort is poured into it. So, I want to build a framework that brings the internet back to what it was originally intended to be - a framework that focuses less on interactivity, and more on simply communicating information. I want to see people write. The internet for its existence thus far has been a catalyst for niche ideologies and groups to form and then spread into the mainstream (looksmaxxing, peating, microplastics awareness, to quickly name a few). (If I want people to write more, it might more worth my efforts to make a syntactical tool to make ideas expressed as concisely as grammatically possible without losing any information… And perhaps a suite to determine if something is “worth reading” or not according to some arbitrary criterion… to prevent pollution of the ...

What I learned from my First Startup

From November 2022 to September 2023, I was involved in a startup Wonder Clothing while I attended LSU in Baton Rouge, Louisiana. So far, I learned more in that experience than just about any other experience I have had. Even two years removed from it, it is a lot to reflect on holistically, so I will be writing about five things I learned from Wonder Clothing. 1. Team I recall this tweet by Paul Graham. If you’re less than 23 and your startup has more than 4 founders, the reason is probably not because you needed that many but because you had a big group of friends and didn’t want to exclude anyone. I met these two guys who said they wanted me to join their clothing startup, I agreed, and then they recruited two more. I ended up being the first co-founder to exit. With five, it became confusing what was delegated to who, with multiple roles split up between people such as social media presence. As a result, our social media presence was lacking. It frequent where there would be a lot of talk of what was to be done, but it would fall between the cracks between all the people. Incorporation took a very long time because one of the co-founders was located in another state. Design was split between me and another person, but that actually proved to be a good thing because I think we both learned a lot from each other about design. 2. Mission Streetwear clothing was already an oversat...

Made with Sculblog