This user has been banned.

Bio

╭ (o⌣o) 🖑 ┌bio*──────────⊟⊡⊠┐ │ i like bash, ts, js │ │ i use vscodium │ │ femboy expert │ └───────────────┘

Stats

3
Projects
21
Devlogs
72
Votes
3
Ships

Coding Time

All Time: 35h 36m
Today: 0h 0m

Member Since

July 09, 2025

Badges

2
🚢
Maiden Voyage
you shipped your first project! the journey begins...
Ballot Stuffer
vote 100 times.

Projects

3
barbucket

barbucket

Shipped
5 devlogs 3 months ago
html-element-whiteboard
9 devlogs 4 months ago
Illustrative Math Archiver
7 devlogs 4 months ago

Activity

Just finished fixing SVGs on Chrome! Now I'm going to a full test run and then I'll probably ship. Miraculously, mv "./accessim.org/" "./accessim.org/.svg" and the search pattern 's//.svg/g' (for sed) are both non destructive, which means I can skip checking whether or not the array is empty (much more difficult than it sounds :sob:) and silence the errors instead.

Update attachment

I did some housekeeping for the code (cleaning up stuff, maintaining best practice, etc.). I used a program called shellcheck to analyze my code. Before, I had ~22 warnings! But now I have zero.

Update attachment

I just fixed the issue that caused an error on Chromium-based browsers! What I had to do was not only block JavaScript, but all <script> tags that fetched JavaScript (which I didn't catch before because of my request blocker). Next up is fixing SVGs!

I think it's ready to ship! Just setting up hosting—unfortunately it seems the site I'm using has a watermark =(. Maybe my next project will have something to do with hosting static sites (I'm thinking something that packs them into bookmarklets) 😄

Update attachment

Okay, I'm still working on the UI but I took a short break to add a copy button. This was a little difficult because of how copying works in JavaScript—I need to make a deep copy, which is different from a normal one. Luckily, there is the node.cloneNode() function, which does exactly what I want. Side note—check out the new add menu!

I'm in the process of updating the UI (again)! I decided it would be better to design whole elements in Inkscape rather than just icons, this way they will stay the same on different browsers.

Update attachment

Designed the banner for the README and SoM page! side note does anybody actually know how to properly use the filter editor in Inkscape or are you just supposed to stack effects until it works

Update attachment

Just wrote a setup guide! Now, I'm probably going to have someone else install it without explaining anything, and iterate on the README based on their understanding of the app. I'm also going to make a banner for the SoM page :D

Update attachment
will
will worked on barbucket
1h 11m 3 months ago

I just finished the collection viewer! It allows you to pick a board and then view all elements in it, and quickly copy them. I was originally going to have adding, editing, and deleting—but it felt unnecessary considering it's just raw text. If you really want to mass edit the thoughts, just open them in a text editor, right 😅? Next is writing the setup guide, and after that, bug fixing.

I just added support for command line arguments, that let you set a given location (and even text, if you want) for a thought, so you can skip the board/collection selection. The reason it's done in the command line is so you can make a bind send all output to a specified file if you want.

will
will worked on barbucket
1h 30m 3 months ago

Okay, I just finished the prototype for the shortcut. Pretty much all of it is subject to change, but I'd say I'm quite happy with how snappy it is to use. Maybe not as fast as a CLI (future idea?) but I'd say its looks makes up for that. I'm using a tool called zenity for the GUI and it is unbelievably easy to use. Next, I will probably make more modifications to this shortcut and start working on the viewer. Also I will get started on the installation instructions/installer for it.

will
will created a project
96d ago

barbucket

Barbucket is a utility for catching thoughts before they skitter away—like quick-access virtual sticky notes, but without the hassle of setting up organization. Here's how it works: there's one script that's designed to capture ideas as quickly as possible, and another to view these ideas. Great for those one-liners you'd put on Tumblr if you had a Tumblr account. Inspired by Pinterest and its browser extension for quick saving.

barbucket
5 devlogs 0 followers Shipped

This update took the longest by far! It's a major update to the property editor. First, I vastly improved the code for setting values—before, it was terrible. Then, I added code to get all of the properties, so you could set more than just the ones listed. But since there are ~1000, I was far from happy with it. With the time it takes to get to the attribute you wanted, you could've just used the console to set it! So, I added code for a search bar. In the video demo, I used the search feature to set the style.fontFamily to one I have installed on my computer and then set the font size to 45px. I'm quite proud of how snappy the property editor is. Originally, I wanted to have it update whenever a property was changed, but I decided I should just have it update when an element is clicked or when the search text changes. Next up is probably importing/exporting unless I find a more pressing issue.

Overhauled the entire UI! First, I designed some icons in LibreOffice Draw (I thought it would be easier than figuring out the licensing for the Material Design icons). Then, I fiddled around with CSS—a LOT—until I came up with something that I was happy enough with. I will probably have to redo it when I add custom properties (actually—maybe I should just use the built in window.prompt() method to get info because that seems like the most efficient while being non-intrusive from an aesthetic standpoint)

I implemented the basic property editor! You can change basic things, like the text in a text element, or advanced things like z-index. However, I'm far from happy with it. There's still no scripting, and you can't change properties not already added to the property editor. I'd like to have different tags have different 'default properties' set up for quick changing, and I'd like to add a feature that lets you set any property of them with HTML. Scripting, however, will have to wait a little longer.

Update attachment

The first prototype is done! You can add text & buttons, drag them around, and move between states. The elements persist their properties (aside from drag-ability) when moving between states, and they're currently stored in a simple array which should make implementing importing/exporting much easier. Next up is the property editor, which will let you actually change things about the elements.

Basic UI is done! I also added some code to change between the two states (editing and playing). Next is programming basic functionality!

I just thought of the basic idea for this project—an interactive whiteboard-style playground with HTML elements. The main use case would be for giving demonstrations or explaining concepts in videos. The idea is there's two modes: editing and playing. In the editing environment, you can drag and drop elements in and edit them depending on your needs for the demo. In play mode, the elements' positions are locked and you interact with them how you would with normal HTML elements.

Update attachment
will
will created a project
124d ago

html-element-whiteboard

html-element-whiteboard is a live playground for HTML elements to be used in demonstrations—or for those times when you want to use MS Paint but you know it won't quite cut it. Designed for showing off concepts quickly & mutable content.

html-element-whiteboard
9 devlogs 0 followers Shipped

Made a demo video!

I figured since there's no demo (command only works on Linux and maybe macOS) I'd show a little about how it works. First, you go to the github repo and copy the command that runs the script. After running the command, you are greeted by a cow (see devlog notes) and prompted to select a course group. Once you do, it fetches all the courses in that course group. Then, simply select the course you want to archive and the rest is automated. It downloads the entire course to your computer (a course is typically one grade level's worth of work). Once it's done, it will tell you where the files are.

[ACTUAL DEVLOG STARTS HERE] I added two quick things in this devlog: it now has a little cow that says the name of it, and it tells you where the downloaded lessons are on your computer. I also made a basic cover for the project (attached).

Update attachment

The first release is finished! I fixed both of the issues that occured in the previous devlog. Here's how I solved each:

  1. The CLI. I fixed this by adding a function that takes in the option selected and the valid options. If the option selected isn't part of the valid options, it exits the program.
  2. The images. This problem was significantly harder to fix, but I just had to break it into steps. The first step was to identify what assets needed to be downloaded. I found out all the images came from a specific URL, so I used a grep command to get a list of assets that needed to be downloaded. Then, I looped through each URL and curl'd them into the asset/ folder in the accessim.org directory. The last step uses a sed command to replace all the links that led to online resources with links that led to the assets folder.

While I was at it I made it rename the files to remove the URL parameter.

I also polished up the readme and added a single command you can use to run it. Attached is a pic of what happens when you run the command.

I will probably do one more devlog adding extra features and then ship it. 2 doesn't feel like enough and even 3 feels like not enough but then again this is a small project.

Update attachment

The first prototype is done! It has a basic CLI, supports (I think) all courses, and has mostly working webpages!

Here are the two main issues I need to fix next:
1. The CLI does not enforce the options it gives you. If you type in random gibberish, it will still carry out the rest of the code as if it's a normal answer. This may cause unwanted behavior.

  1. The webpages -- while appearing to work as if they were online -- are actually missing a few elements. If you open the HTML pages in Firefox and use the Disable cache feature and block 'http://' and 'https://' features (to simulate a fully offline and unused experience), you'll see the images on the site will be replaced with their accessibility labels. This is demonstrated in the attached picture. This is because (I assume) the images are not properly downloaded for offline viewing. The reason it shows it before you do this is the offline site makes a web request to get the image from the online server. Even if you turn your internet off, it may still show the images as your browser caches them-- meaning it downloads them somewhere on your computer (intended to make pages load faster).

In the next update, I'd like to both fix these two issues and update the CLI. Later, I will make it download the pages faster and add better error handling as well as Windows support.

Update attachment
will
will created a project
127d ago

Illustrative Math Archiver

A bash (Linux console) script that automatically archives math courses from Illustrative Mathematics' accessim.org

Illustrative Math Archiver
7 devlogs 0 followers Shipped
will
will joined Summer of Making
129d ago

This was widely regarded as a great move by everyone.