June 18, 2025
HOMECLIP DEVLOG#15
I'm NGL I forgot what I changed😭. I havent touched this in nearly 2 weeks!
Jade DEVLOG #6
- Now using the crossbeam_channel crate which is MPMC instead of MPSC which reduces alot of complexity.
- Added back the queue thread, whenever the music-player thread detects it's sink is empty. It will send a request to the queue for a new song, which then sends a signal to the UI to remove the first value in the queue vector.
- Moved the config.toml file to the users .config folder.
- Split up all rendering areas (songs,queue,info) into different files.
HOMECLIP DEVLOG#14
HOMECLIP DEVLOG#13
Jade DEVLOG #3 Added full music playing functions. A sink is spawned in a separate thread upon launch and the channel transmitter is cloned and given to the run function. This allows for all the song functions. Will now begin on improving the UI and getting the file metadata to display on the right side of the screen!
PiStation DEVLOG #1
Setup the layout of the application (Left side is the list of songs and the right is the song information) Setup the config file where users can define where the music location is, the volume is also saved. Currently working on making the songs display in a list
Setup the pages for tags/folders and their individual pages.
Removed all repeated Navbar code and put it into a js file. Whenever a page is loaded it prepends the divs onto the body of the html, reducing the file size and increasing performance.
Setup the logic behind the search page, it gets the query parameters from the current URL and passes it onto a javascript function that fetches data from an API endpoint based on the type of search (title,tag,folder).
Changed the database LIKE comparison to %value% in order to improve the searching.
HOMECLIP DEVLOG#9
Search suggestions fully working(both tag: and folder:). Implemented a search page which will get the values based on a query in the url. Updated the docker file with a python alpine image as the debian image was not needed. Also updated the README for setup of the docker file
PiStation DEVLOG #10
Setup pressure sensor and rain sensor on the esp32. Ive also reset the database in order to accept these new values. The JSON is perfect, it works on the browser and curl.... HOWEVER! python just doesn't like the JSON. This is most likely bad code I've written.
PiStation DEVLOG #5
Website Link:
https://pistation.xyz/
PiStation DEVLOG #3
Setup the project on the raspberry pi using a rsync script that automatically updates files when changed on my pc. Fixed the databaseAdd.py script to now get data from the sensor and add it to the database. Now going to improve how the homepage looks because its quite bland.
PiStation DEVLOG #2
I setup the flask project with tailwind v4(Definitely didn't spend 1 hour wondering why the classes weren't being added until i finally added --watch to the command). Ive decided to get the sensor data every 10 minutes, by running a separate python file that appends data to a SQLite database.
On the client side whenever the user first opens the page it calls a function that gets the latest added temperature/humidity from the SQLite database.
Also the DHT11 sensor got too hot and fried itself🤦.
PiStation DEVLOG #1
I had problems with the AdafruitCircuitPythonDHT library in my code as it would try and use the Jetson.GPIO to get data from the pin. I fixed this by adding
(from adafruitblinka.microcontroller.genericlinux.rpigpiopin import Pin) to the (except ImportError) when it trys to import the pin.
The code now successfully gets the temperature/humidity and i can now work on the flask side of things.
DarkShell Devlog #1 19/06/2025
At this point DarkShell has basic functionality. It features simple commands like ls,cd,pwd,exit,clear. More complicated commands are handled externally, however only simple commands that return instantly work e.g. fastfetch.
I am currently working on piping commands, as I am writing this I have successfully made the input split into a vector based on where the pipe is (supports multiple). These commands will then be handled externally and there output will be the input for the next command, I don't know how im going to achieve this. Most likely will be with stdin/stdout.
This was widely regarded as a great move by everyone.