|
47962
|
linux mass installer by @blenderuploads | Stardanc linux mass installer by @blenderuploads | Stardance...
|
blenderuploads
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: linux mass installer by @blenderuploads | S Title: linux mass installer by @blenderuploads | Stardance...
|
1793202991.243421
|
1793807791.243421
|
|
57295
|
linux stream deck by @sudaimiqbal | Stardance
|
sudaimiqbal
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: linux stream deck by @sudaimiqbal | Stardan Title: linux stream deck by @sudaimiqbal | Stardance...
|
1793426159.2155852
|
1794030959.2155852
|
|
26122
|
linux-cup by @nia- | Stardance
|
nia-
|
0
|
1.25
|
0
|
[]
|
[{"post_id": 16046, "ts": "202 [{"post_id": 16046, "ts": "2026-06-26T02:19:03Z", "hours": 1.2544, "text": "I’m conducting research on adding context to the Linux scheduler and introducing capabilities. Stay tuned!"}]...
|
Title: linux-cup by @nia- | Stardance
Devlogs:
I’ Title: linux-cup by @nia- | Stardance
Devlogs:
I’m conducting research on adding context to the Linux scheduler and introducing capabilities. Stay tuned!...
|
1793263932.975536
|
1793868732.975536
|
|
61454
|
linuxanywhere by @codeeleven | Stardance
|
codeeleven
|
1
|
6.0
|
49
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-01T18:17:06Z", "hours": 6.0, "multiplier": 8.52, "payout": 49, "blessing": "neutral", "text": "this is linuxanywhere (or a bochs version optimized for browser environments with x64 linux booting capabilities). it can run VMs on the browser (but really slowly). check it out! will improve it more and will add the features i wrote on my github page! i hope you enjoy this :)", "repo": "https://github.com/codeeleven0/linuxanywhere", "demo": "https://codeeleven0.github.io/linuxanywhere/dist/"}]...
|
[{"post_id": 75948, "ts": "202 [{"post_id": 75948, "ts": "2026-10-01T18:14:11Z", "hours": 0.2947, "text": "last devlog before shipping. i have added the project to github and i will take a break from it to focus on more projects and school (obviously!)"}, {"post_id": 75668, "ts": "2026-09-30T18:09:46Z", "hours": 0.3644, "text": "linux is really anywhere! i added link time optimizations with -O3 and -flto, the boot takes 2 minutes on a generic x86_64 kernel in firefox. will minify the kernel and the os to have an actually usable system"}, {"post_id": 73227, "ts": "2026-09-24T17:00:12Z", "hours": 0.3047, "text": "switched to tinycore (or just ‘core’ x64 port), fixed stack sizes (both emscripten and asyncify), and pings to non-restricted and websocket enabled domains work now. the only thing left is implementing an interconnect daemon with a web proxy"}, {"post_id": 72732, "ts": "2026-09-23T16:41:50Z", "hours": 0.4706, "text": "dynamic heap resize works, finally got the network adapter to compile and we can finally see OpenRC booting!"}, {"post_id": 70182, "ts": "2026-09-18T17:07:19Z", "hours": 0.3158, "text": "fixed compiling flags, replaced the BIOS implementation and now we can boot alpine linux 64-bit on a tab!"}, {"post_id": 67336, "ts": "2026-09-13T12:30:32Z", "hours": 1.3339, "text": "working?"}, {"post_id": 67270, "ts": "2026-09-13T10:39:35Z", "hours": 1.2314, "text": "bugs and bugs, got bochs to compile and load files properly but stack size and recursion is a problem right now"}, {"post_id": 66901, "ts": "2026-09-12T21:04:43Z", "hours": 1.4203, "text": "closing the day, added a building system and fixes will publish repo tmrw"}]...
|
Title: linuxanywhere by @codeeleven | Stardance
D Title: linuxanywhere by @codeeleven | Stardance
Devlogs:
closing the day, added a building system and fixes will publish repo tmrw
bugs and bugs, got bochs to compile and load files properly but stack size and recursion is a problem right now
working?
fixed compiling flags, replaced the BIOS implementation and now we can boot alpine linux 64-bit on a tab!
dynamic heap resize works, finally got the network adapter to compile and we can finally see OpenRC booting!
switched to tinycore (or just ‘core’ x64 port), fixed stack sizes (both emscripten and asyncify), and pings to non-restricted and websocket enabled domains work now. the only thing left is implementing an interconnect daemon with a web proxy
linux is really anywhere! i added link time optimizations with -O3 and -flto, the boot takes 2 minutes on a generic x86_64 kernel in firefox. will minify the kernel and the os to have an actually usable system
last devlog before shipping. i have added the project to github and i will take a break from it to focus on more projects and school (obviously!)
Ships:
this is linuxanywhere (or a bochs version optimized for browser environments with x64 linux booting capabilities). it can run VMs on the browser (but really slowly). check it out! will improve it more and will add the features i wrote on my github page! i hope you enjoy this :)...
|
1793591249.5792224
|
1793677649.5792224
|
|
19549
|
liqvideo by @adityanavale | Stardance
|
adityanavale
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: liqvideo by @adityanavale | Stardance
|
1792900141.7011404
|
1793764141.7011404
|
|
48715
|
list by @flyingfish | Stardance
|
flyingfish
|
1
|
112.62
|
787
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T03:02:48Z", "hours": 106.0, "multiplier": 7.45, "payout": 787, "blessing": "neutral", "text": "i have used a lot of different lists apps but all of them are so coprate and suck so i made my own i have never used sql before so it was a learning experience i also have never used any time library before but this was fun there is a lot of features i want able to add becouse of time and scope reasons so the code is built in a way that it can updated really easly", "repo": "https://github.com/dinotiger01/list", "demo": "https://github.com/dinotiger01/list/releases/tag/idktag_or_smth"}]...
|
[{"post_id": 68433, "ts": "202 [{"post_id": 68433, "ts": "2026-09-15T03:39:48Z", "hours": 6.6206, "text": "windows works now i had like 20 commits before all of this"}, {"post_id": 59962, "ts": "2026-09-02T01:16:48Z", "hours": 9.9725, "text": "i finished all the git action things and all of the last minute changes ie small bug fixes i am now reddy to ship"}, {"post_id": 58674, "ts": "2026-08-31T05:48:43Z", "hours": 5.9939, "text": "tons of styleing updates i have spent the past 6 hurs strait styling and validating inputs however it is finally done i just need to do the git hub things and add compatability how ever thats tomarow s problem"}, {"post_id": 58463, "ts": "2026-08-30T21:42:23Z", "hours": 7.7864, "text": "ahhhhhh i did like ui things i am going insane"}, {"post_id": 57864, "ts": "2026-08-30T05:35:55Z", "hours": 5.1236, "text": "this is my third devlog today 10hr logg to day btw :teird: a fileter bredet edit deleate and add new people"}, {"post_id": 57703, "ts": "2026-08-29T23:00:01Z", "hours": 4.9544, "text": "jank i have made the ability to add and remove types i will refine later ngl edit: like 10 minits after i posted this i got the code to work where the type updates all the list that already exist"}, {"post_id": 57430, "ts": "2026-08-29T16:03:12Z", "hours": 6.0314, "text": "filter the audio on the video is like really bad my main mic stopped working so i taped a web cam to my face :idk_man: core filtering the filrering works by when a task isbeing loaded to the page it will go to a function that will check if it can be used the filter function will check baised of 4 variables stored in the c++ then the qml sends new variables over then i also spent like hours on this but i made it so it wont check any filter if nothing is selected filter by name this is a simple it will just send a string over then check is filter string is contained in the task name filter by person this uses a vector of intigers it will loop through both then if if there is a the same intiger in booth it will show btw peple are stored by index filter by type the type is stored as a vector of strings it does te same and loops through the filter strings and if the task type is equal it will allow the task filter by date this was defenetly the most dificalt one and it is stored av a vector<time_t> there are 2 text boxes the first one is a lower limit the seconed is an uper limit if eather is blank it will not check it if the second one has a date it will only show dates on or before that onee if the second one has a date it will only show tasks after that date if both have dates it will check in betewwn them"}, {"post_id": 56777, "ts": "2026-08-28T17:51:02Z", "hours": 5.8836, "text": "really quick little devlog i just added the abiltiy to edit tasks it works by opening the place wheree you create task then sets all the value manualy it was like supper hard to make it so you can edit a task then create a task then go back to editing becouse if a variable was not assined by acident it would all crash"}, {"post_id": 56195, "ts": "2026-08-27T20:49:57Z", "hours": 8.5181, "text": "recuring there is a lot (btw i already wrote all of this and acidently deleated it ) reacuring check types on load when the code realoads it will go through and check if any items need to be updated i made it so if it finds a task that needs to be updated it will reafrech and start over so a task can be updated multible times if needed on mark off this will only check one task when you mark off a task this will aslo by pass the alow multi alow multi * this will make it so when a task is duplicated it will either set the old task to 0 or just deleate it * this is marked in the code as the higher of 2 numbers while checking rec type rec types normal this is a type that will not recure and is the only one able to be fully deleated this is marked by a 0 in the code this will be skipped by both reacuring types by due date this to to make a task the will eather run every day or every other day this types has a second variabe called delay witch changes how often the task will show up ie dalay =1 means every day, delay =2 means every other day this is marked as 1 or 2 in the code on the on load check this will check if (due date + delay) < current date if it is it will duplicate the task to due date + delay on mark off for this task will just duplicate teh task to due date + delay on compleate this is used for task that just need to be done betwenn compleations this is marked as 3 in the code becouse it canot have multibles this also have a number called delay this is skiped by the on load check on mark off this task will just duplicate it self to current date + delay on week day this is for tasks that need to be compleated on specifice week days this task has a number that is between 0-127 insted of a delay because it can be converted in to a 7 digit binary string that means reapeate on dayes with 1 and not on 0 this is marked as 4 or 5 on load it will task the due date then search for the next valid date and then will check if the date is before the current date if it is before it will duplicate its self there on mark off works the same just it doent check if the date is before current on month day this is for tasks thatneed to happen on a month by month basses this stores a number from 1-28 witch is the date that it will apere on the month this is marked in the code as 6 or 7 this work in a very simmilar way to the on week day it will take the due date then add one untill it finds a valid date and if it is onload it will check if the current date ia after the new date in the futre i might make it so that if you put 0 in the date it will just run the last day of the month perminat delete each tsk has a button to open the edit menu and you can deteate a task from the edit menu witch will skip all duplicating"}, {"post_id": 54860, "ts": "2026-08-26T01:42:57Z", "hours": 5.1708, "text": "ui- validation i spent like littery 5 hours on ui and validation ui reccuring if you set to reacuring it opens the drop dwon to select what type rec on due select i allow multible select number rec on comp select number rec on week day select i allow multible select week day rec on month day select i allow multible select number validation i havent actually finish the validation fully nut you can not have a blank pryority you can not have a blank list type you can not have ’ or ; in notes or name you can not have a blank name you can not have a invalid date format"}, {"post_id": 54528, "ts": "2026-08-25T15:35:37Z", "hours": 10.2064, "text": "i just be doing stuff ngl i just kinda locked in and forgot to dev log pryoritys you can now set pryoritys the pryoritys are created dynamicly bassed on a sql data base each priority can be collapsed and expanded they will have a number i just havent got to it yet bugges i ran in to a really anoying bug where i had to add the tasks dynamicly inside the pryoritys that are also scaled dynamicly delleate it is simple when a task is closed it doesn’t show up and is droped from the db bugges this delete was causeing like 1000 runtime errors because the tasks are considered separate qml so i cant link to anything out the task and it was like making new backed files and it was dumb date ctime is like really complicated if you have no clue what you are doing i made it so that the task show how many days away the task is due bugges i think i ran it to all the buggees with ctime the most memorable one is when the ctime would just return random times for som reason dynamic tasks i made the notes section scale with the height of the notes in side of it i also added the full date the the task is due in the notes"}, {"post_id": 53189, "ts": "2026-08-23T17:01:43Z", "hours": 9.2897, "text": "i really hope this dont break last dev log so the last devlog like crashed my entire computer or something and now i cant edit it to change the mesasge to i am going to wright all of it here i added an sql data base the data base simply pulls all of the tasks from the .db fle then converts them in to tjhe structs i menaced before then it loads them to the qml page sql sql mage nooooo sence i might just be stuppid but this took like 6 hr aklone to figgure out how to wright to a db file current devlog initializer qml really dont like to run before the c++ howver i needed to just the function that loads all the task affter the qml loads becouse the qml needs to tell the c++ where the tasks need to be so after a long time reaserching and trying things i found that qt has a way to do what i needed and now the code can run the script at the right time add task i made a way to add a task basicly you click a + button then you select al the things you want then it send those to the c++ witch sends them to the sql then it oulls the sql and realoded all the task you might be wondering why doo all of that when it would be easier to just add the task in the qml and to that i say yeah you probly right idk what i am doing"}, {"post_id": 51777, "ts": "2026-08-21T16:48:07Z", "hours": 8.7489, "text": "sql"}, {"post_id": 50050, "ts": "2026-08-19T02:41:09Z", "hours": 8.9317, "text": "we be doing a logic drop down these menus were a pain in the ass there was a bug where the top pixel of the menu was viable contently and it took genuinely 2 hours to fix logic i created a struct that has all the data needed for a task i then took the code for a qml task added it as a widgit or somthing idk what is called then the c++ reads thriugh a list of all the struct task and adds them to the page"}, {"post_id": 48613, "ts": "2026-08-17T02:32:59Z", "hours": 9.1361, "text": "we be doing some ui this is a list i am making for my family to track chores and stuff tab bar on the left this is going to be the place where you can select what page you want to be on so like if you wan to edit what people you have or stuff top filter this is so you can filter the tasks so you can only focus one one you need to do main veiw the tasks each hold * taks name * all the people assined to the task * thwe type * date * notes pryoritys the task list will have a bunch of pryoritys that can open expand and colapes for easier viewing the total will just show how many tasks there are in total timer we have a system where every one has to do 2hr of work each day so i figuerd i would just add that here"}]...
|
Title: list by @flyingfish | Stardance
Devlogs:
w Title: list by @flyingfish | Stardance
Devlogs:
we be doing some ui this is a list i am making for my family to track chores and stuff tab bar on the left this is going to be the place where you can select what page you want to be on so like if you wan to edit what people you have or stuff top filter this is so you can filter the tasks so you can only focus one one you need to do main veiw the tasks each hold * taks name * all the people assined to the task * thwe type * date * notes pryoritys the task list will have a bunch of pryoritys that can open expand and colapes for easier viewing the total will just show how many tasks there are in total timer we have a system where every one has to do 2hr of work each day so i figuerd i would just add that here
we be doing a logic drop down these menus were a pain in the ass there was a bug where the top pixel of the menu was viable contently and it took genuinely 2 hours to fix logic i created a struct that has all the data needed for a task i then took the code for a qml task added it as a widgit or somthing idk what is called then the c++ reads thriugh a list of all the struct task and adds them to the page
sql
i really hope this dont break last dev log so the last devlog like crashed my entire computer or something and now i cant edit it to change the mesasge to i am going to wright all of it here i added an sql data base the data base simply pulls all of the tasks from the .db fle then converts them in to tjhe structs i menaced before then it loads them to the qml page sql sql mage nooooo sence i might just be stuppid but this took like 6 hr aklone to figgure out how to wright to a db file current devlog initializer qml really dont like to run before the c++ howver i needed to just the function that loads all the task affter the qml loads becouse the qml needs to tell the c++ where the tasks need to be so after a long time reaserching and trying things i found that qt has a way to do what i needed and now the code can run the script at the right time add task i made a way to add a task basicly you click a + button then you select al the things you want then it send those to the c++ witch sends them to the sql then it oulls the sql and realoded all the task you might be wondering why doo all of that when it would be easier to just add the task in the qml and to that i say yeah you probly right idk what i am doing
i just be doing stuff ngl i just kinda locked in and forgot to dev log pryoritys you can now set pryoritys the pryoritys are created dynamicly bassed on a sql data base each priority can be collapsed and expanded they will have a number i just havent got to it yet bugges i ran in to a really anoying bug where i had to add the tasks dynamicly inside the pryoritys that are also scaled dynamicly delleate it is simple when a task is closed it doesn’t show up and is droped from the db bugges this delete was causeing like 1000 runtime errors because the tasks are considered separate qml so i cant link to anything out the task and it was like making new backed files and it was dumb date ctime is like really complicated if you have no clue what you are doing i made it so that the task show how many days away the task is due bugges i think i ran it to all the buggees with ctime the most memorable one is when the ctime would just return random times for som reason dynamic tasks i made the notes section scale with the height of the notes in side of it i also added the full date the the task is due in the notes
ui- validation i spent like littery 5 hours on ui and validation ui reccuring if you set to reacuring it opens the drop dwon to select what type rec on due select i allow multible select number rec on comp select number rec on week day select i allow multible select week day rec on month day select i allow multible select number validation i havent actually finish the validation fully nut you can not have a blank pryority you can not have a blank list type you can not have ’ or ; in notes or name you can not have a blank name you can not have a invalid date format
recuring there is a lot (btw i already wrote all of this and acidently deleated it ) reacuring check types on load when the code realoads it will go through and check if any items need to be updated i made it so if it finds a task that needs to be updated it will reafrech and start over so a task can be updated multible times if needed on mark off this will only check one task when you mark off a task this will aslo by pass the alow multi alow multi * this will make it so when a task is duplicated it will either set the old task to 0 or just deleate it * this is marked in the code as the higher of 2 numbers while checking rec type rec types normal this is a type that will not recure and is the only one able to be fully deleated this is marked by a 0 in the code this will be skipped by both reacuring types by due date this to to make a task the will eather run every day or every other day this types has a second variabe called delay witch changes how often the task will show up ie dalay =1 means every day, delay =2 means every other day this is marked as 1 or 2 in the code on the on load check this will check if (due date + delay) < current date if it is it will duplicate the task to due date + delay on mark off for this task will just duplicate teh task to due date + delay on compleate this is used for task that just need to be done betwenn compleations this is marked as 3 in the code becouse it canot have multibles this also have a number called delay this is skiped by the on load check on mark off this task will just duplicate it self to current date + delay on week day this is for tasks that need to be compleated on specifice week days this task has a number that is between 0-127 insted of a delay because it can be converted in to a 7 digit binary string that means reapeate on dayes with 1 and not on 0 this is marked as 4 or 5 on load it will task the due date then search for the next valid date and then will check if the date is before the current date if it is before it will duplicate its self there on mark off works the same just it doent check if the date is before current on month day this is for tasks thatneed to happen on a month by month basses this stores a number from 1-28 witch is the date that it will apere on the month this is marked in the code as 6 or 7 this work in a very simmilar way to the on week day it will take the due date then add one untill it finds a valid date and if it is onload it will check if the current date ia after the new date in the futre i might make it so that if you put 0 in the date it will just run the last day of the month perminat delete each tsk has a button to open the edit menu and you can deteate a task from the edit menu witch will skip all duplicating
really quick little devlog i just added the abiltiy to edit tasks it works by opening the place wheree you create task then sets all the value manualy it was like supper hard to make it so you can edit a task then create a task then go back to editing becouse if a variable was not assined by acident it would all crash
filter the audio on the video is like really bad my main mic stopped working so i taped a web cam to my face :idk_man: core filtering the filrering works by when a task isbeing loaded to the page it will go to a function that will check if it can be used the filter function will check baised of 4 variables stored in the c++ then the qml sends new variables over then i also spent like hours on this but i made it so it wont check any filter if nothing is selected filter by name this is a simple it will just send a string over then check is filter string is contained in the task name filter by person this uses a vector of intigers it will loop through both then if if there is a the same intiger in booth it will show btw peple are stored by index filter by type the type is stored as a vector of strings it does te same and loops through the filter strings and if the task type is equal it will allow the task filter by date this was defenetly the most dificalt one and it is stored av a vector<time_t> there are 2 text boxes the first one is a lower limit the seconed is an uper limit if eather is blank it will not check it if the second one has a date it will only show dates on or before that onee if the second one has a date it will only show tasks after that date if both have dates it will check in betewwn them
jank i have made the ability to add and remove types i will refine later ngl edit: like 10 minits after i posted this i got the code to work where the type updates all the list that already exist
this is my third devlog today 10hr logg to day btw :teird: a fileter bredet edit deleate and add new people
ahhhhhh i did like ui things i am going insane
tons of styleing updates i have spent the past 6 hurs strait styling and validating inputs however it is finally done i just need to do the git hub things and add compatability how ever thats tomarow s problem
i finished all the git action things and all of the last minute changes ie small bug fixes i am now reddy to ship
windows works now i had like 20 commits before all of this
Ships:
i have used a lot of different lists apps but all of them are so coprate and suck so i made my own i have never used sql before so it was a learning experience i also have never used any time library before but this was fun there is a lot of features i want able to add becouse of time and scope reasons so the code is built in a way that it can updated really easly...
|
1793573612.23159
|
1793660012.23159
|
|
35202
|
listhist by @staneko | Stardance
|
staneko
|
0
|
20.76
|
0
|
[]
|
[{"post_id": 39239, "ts": "202 [{"post_id": 39239, "ts": "2026-08-02T02:33:44Z", "hours": 9.9197, "text": "Welcome back to my listening history tracking project! You are now reading the third entry, and I’ve achieved a great milestone - the listening history tracking actually works. You can query your listening history and it will be fed back to you in JSON, supporting specific queries like a start date, an end date, a limit on the number of entries, etc. (i actually ran out of examples.) This JSON history endpoint does something that was very cool to implement; it gets the history entries, but obviously, those entries aren’t everything that a client needs to display them to the user. They consist merely of an entry ID, a track ID, and a date. The client would need to fetch the track details, then the album details, and then the artist details on its own, which would make for a lot of requests, considering that people usually listen to more than one track per day. So this would mean that, had the client not implemented some sort of caching, if you listened to, say, 25 tracks in a day and then queried your history, you would end up at a beautiful n_entries * len([\"track\", \"album\", \"artist\"]) = 25 * 3 = 75 requests! Which is insane. This listening history endpoint reduces this number to 1 . Yes, ONE request. This is done by directly including the necessary tracks, albums, and artists in the response, and the client can just iterate over the arrays of these resources and parse them into a hashmap keyed by their respective IDs. Pretty neat! So had you listened to a track, like “Keep The Streets Empty For Me” by Fever Ray from their album Fever Ray, the (prettified) response from the endpoint would look like this: { \"entries\" : [ { \"id\" : 3 , \"track_id\" : 8 , \"date\" : \"2026-08-02T02:27:13.727572Z\" } ], \"tracks\" : [ { \"id\" : 8 , \"title\" : \"Keep The Streets Empty For Me\" , \"artist_id\" : 2 , \"album_id\" : 4 , \"genre\" : \"Electronic\" } ], \"albums\" : [ { \"id\" : 4 , \"name\" : \"Fever Ray\" , \"artist_id\" : 2 } ], \"artist\" : [ { \"id\" : 2 , \"name\" : \"Fever Ray\" } ] } Looking at this, I’ve just realized that I probably need to make the genre column an array, since tracks usually exhibit properties of many different genres at once… that’s a problem for future me Obviously I’ve improved the code a bit here and there, the Compose configuration now actually makes the backend wait for the database so there isn’t a race condition (which may have been there for a few weeks…), and the data schema has changed a bit so that it makes more sense. There is now also a web app, but that is far from finished as it stands and so instead I’ve included a screenshot of the Firefox devtools I used to poke at my API and the successful response I finally got in the end."}, {"post_id": 31408, "ts": "2026-07-19T19:02:34Z", "hours": 8.4661, "text": "Welcome to my second devlog regarding listhist! Since the last entry, I’ve rewritten the shared client code to take advantage of the Rust type system much more. I’ve written quite a bit of Haskell in the past few weeks and I love the strong type system of the language; however, monadic I/O and especially the mixture of pure and impure exceptions makes my head hurt, which is why I decided to instead write this project mostly in Go and Rust. Either way, this means that without logging in, you can’t query endpoints which require an access token; so, for example, in order to create an album in the system, you have to do something like this: let client = listhist_client :: Client :: new ( \"your_base_url\" ); Now, client is of type Client<Unauthorized> . You can then call Client::login : let client = client .login ( \"username\" , \"password\" ) .await ? ; Now client is of type Client<Authorized> and you can actually create an album! let album = client .create_album ( ... ) .await ? ; Oh yeah, the client is now also asynchronous and therefore much more flexible… but that’s not as exciting. The other exciting thing that I managed to add to the repo is a Containerfile and a Compose file, so spinning up an instance, whether for testing or “for real” is super easy. So in this regard, I think I’ve achieved what I wrote about in the last entry. Now, the next step is polishing the existing code, resolving the TODO / FIXME items I have left for myself, adding some tests, etc. It’s boring work, but I believe that if I do it sooner than later, it will come back around and I can catch some of the more annoying bugs early on. And then I want to make a web interface for easy viewing of the data. The CLI should be the main way to enter listening history entries into the system, automatically of course (probably through MPRIS, custom player hooks and some Windows-specific mechanism), but viewing of the data should be possible from any device, without having to install the CLI. So, the web interface will be a relatively simple, fully client-sided web application, probably written with something like Preact. I have a lot of things planned for listhist, maybe even a friends system, which would be very exciting to have! Stay tuned for upcoming updates."}, {"post_id": 29623, "ts": "2026-07-16T17:55:24Z", "hours": 2.3742, "text": "Hi, I’m making a project to track my listening history over all the devices I use to listen to music because I don’t use Spotify or YouTube Music. Think something like last.fm if you’ve ever used it, but a little simpler. please just imagine that you’ve been following along for a while now, i may or may not have forgotten to set up hackatime and log my work ; _ ; Anyways, the project is written in Go for the backend and Rust for the client library and the CLI that currently uses it. I’ve so far fleshed out the basic structure of what the data should look like, I have a database schema, yada yada… I also had FFI bindings so that I could use the client library from other code like WebAssembly so that I could have a web client! However… I’m currently going over the code, resolving some of the // TODO comments that I left for myself and kind of realized that the FFI is… completely… and utterly… out of date… So I deleted it. And I’m also going to rewrite parts of the FFI interface which just sort of duplicated the Rust-native structures with derive macros, which I’ve been wanting to learn for a long, long time now! …That is, when I get to it. For now, I’m going to try to get listhist into a functional state so that you (yes, YOU!) can try it out for yourself. Don’t worry, I won’t make you download anything, unless you decide you want to use listhist (wink wink) One of the main goals of the project is to make it easily self-hostable, so while I will provide an instance of my own, if you really like listhist, you will be able to do so easily with an OCI-compliant container image and maybe a Compose file. Thank you for reading this first devlog and I hope to see you here again!"}]...
|
Title: listhist by @staneko | Stardance
Devlogs:
Title: listhist by @staneko | Stardance
Devlogs:
Hi, I’m making a project to track my listening history over all the devices I use to listen to music because I don’t use Spotify or YouTube Music. Think something like last.fm if you’ve ever used it, but a little simpler. please just imagine that you’ve been following along for a while now, i may or may not have forgotten to set up hackatime and log my work ; _ ; Anyways, the project is written in Go for the backend and Rust for the client library and the CLI that currently uses it. I’ve so far fleshed out the basic structure of what the data should look like, I have a database schema, yada yada… I also had FFI bindings so that I could use the client library from other code like WebAssembly so that I could have a web client! However… I’m currently going over the code, resolving some of the // TODO comments that I left for myself and kind of realized that the FFI is… completely… and utterly… out of date… So I deleted it. And I’m also going to rewrite parts of the FFI interface which just sort of duplicated the Rust-native structures with derive macros, which I’ve been wanting to learn for a long, long time now! …That is, when I get to it. For now, I’m going to try to get listhist into a functional state so that you (yes, YOU!) can try it out for yourself. Don’t worry, I won’t make you download anything, unless you decide you want to use listhist (wink wink) One of the main goals of the project is to make it easily self-hostable, so while I will provide an instance of my own, if you really like listhist, you will be able to do so easily with an OCI-compliant container image and maybe a Compose file. Thank you for reading this first devlog and I hope to see you here again!
Welcome to my second devlog regarding listhist! Since the last entry, I’ve rewritten the shared client code to take advantage of the Rust type system much more. I’ve written quite a bit of Haskell in the past few weeks and I love the strong type system of the language; however, monadic I/O and especially the mixture of pure and impure exceptions makes my head hurt, which is why I decided to instead write this project mostly in Go and Rust. Either way, this means that without logging in, you can’t query endpoints which require an access token; so, for example, in order to create an album in the system, you have to do something like this: let client = listhist_client :: Client :: new ( "your_base_url" ); Now, client is of type Client<Unauthorized> . You can then call Client::login : let client = client .login ( "username" , "password" ) .await ? ; Now client is of type Client<Authorized> and you can actually create an album! let album = client .create_album ( ... ) .await ? ; Oh yeah, the client is now also asynchronous and therefore much more flexible… but that’s not as exciting. The other exciting thing that I managed to add to the repo is a Containerfile and a Compose file, so spinning up an instance, whether for testing or “for real” is super easy. So in this regard, I think I’ve achieved what I wrote about in the last entry. Now, the next step is polishing the existing code, resolving the TODO / FIXME items I have left for myself, adding some tests, etc. It’s boring work, but I believe that if I do it sooner than later, it will come back around and I can catch some of the more annoying bugs early on. And then I want to make a web interface for easy viewing of the data. The CLI should be the main way to enter listening history entries into the system, automatically of course (probably through MPRIS, custom player hooks and some Windows-specific mechanism), but viewing of the data should be possible from any device, without having to install the CLI. So, the web interface will be a relatively simple, fully client-sided web application, probably written with something like Preact. I have a lot of things planned for listhist, maybe even a friends system, which would be very exciting to have! Stay tuned for upcoming updates.
Welcome back to my listening history tracking project! You are now reading the third entry, and I’ve achieved a great milestone - the listening history tracking actually works. You can query your listening history and it will be fed back to you in JSON, supporting specific queries like a start date, an end date, a limit on the number of entries, etc. (i actually ran out of examples.) This JSON history endpoint does something that was very cool to implement; it gets the history entries, but obviously, those entries aren’t everything that a client needs to display them to the user. They consist merely of an entry ID, a track ID, and a date. The client would need to fetch the track details, then the album details, and then the artist details on its own, which would make for a lot of requests, considering that people usually listen to more than one track per day. So this would mean that, had the client not implemented some sort of caching, if you listened to, say, 25 tracks in a day and then queried your history, you would end up at a beautiful n_entries * len(["track", "album", "artist"]) = 25 * 3 = 75 requests! Which is insane. This listening history endpoint reduces this number to 1 . Yes, ONE request. This is done by directly including the necessary tracks, albums, and artists in the response, and the client can just iterate over the arrays of these resources and parse them into a hashmap keyed by their respective IDs. Pretty neat! So had you listened to a track, like “Keep The Streets Empty For Me” by Fever Ray from their album Fever Ray, the (prettified) response from the endpoint would look like this: { "entries" : [ { "id" : 3 , "track_id" : 8 , "date" : "2026-08-02T02:27:13.727572Z" } ], "tracks" : [ { "id" : 8 , "title" : "Keep The Streets Empty For Me" , "artist_id" : 2 , "album_id" : 4 , "genre" : "Electronic" } ], "albums" : [ { "id" : 4 , "name" : "Fever Ray" , "artist_id" : 2 } ], "artist" : [ { "id" : 2 , "name" : "Fever Ray" } ] } Looking at this, I’ve just realized that I probably need to make the genre column an array, since tracks usually exhibit properties of many different genres at once… that’s a problem for future me Obviously I’ve improved the code a bit here and there, the Compose configuration now actually makes the backend wait for the database so there isn’t a race condition (which may have been there for a few weeks…), and the data schema has changed a bit so that it makes more sense. There is now also a web app, but that is far from finished as it stands and so instead I’ve included a screenshot of the Firefox devtools I used to poke at my API and the successful response I finally got in the end....
|
1793490621.801794
|
1794095421.801794
|
|
5861
|
litEval by @razvan | Stardance
|
razvan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: litEval by @razvan | Stardance
|
1793472822.2604294
|
1794077622.2604294
|
|
56374
|
liteNgine by @AzzyAzimuth | Stardance
|
AzzyAzimuth
|
0
|
146.62
|
0
|
[]
|
[{"post_id": 65253, "ts": "202 [{"post_id": 65253, "ts": "2026-09-10T08:01:55Z", "hours": 7.1728, "text": "I’m cooking up a storm. The storm is leaking memory. Both sentences can be true without detracting from the skill I genuinely do not possess. My copy and paste Keys have been obliterated and my commits have become more and more loose with their terms due to the decreasing amounts of awareness I possess about what the heck I’m doing. Current progress indicates some developments in terms of plugin loading but at this point who knows anymore.Do not delete the vkDevice I beg"}, {"post_id": 58593, "ts": "2026-08-31T02:03:34Z", "hours": 139.4519, "text": "Out with the old, in with the new. A big gripe i had with the engine was it’s long compile times. Thus by compartmentalising it into multiple dll modules, it’s smaller and gets me faster build times! Besides, you can develop your own features using the ABI. Pic unrelated (Inverse kinematics demo)"}]...
|
Title: liteNgine by @AzzyAzimuth | Stardance
Devl Title: liteNgine by @AzzyAzimuth | Stardance
Devlogs:
Out with the old, in with the new. A big gripe i had with the engine was it’s long compile times. Thus by compartmentalising it into multiple dll modules, it’s smaller and gets me faster build times! Besides, you can develop your own features using the ABI. Pic unrelated (Inverse kinematics demo)
I’m cooking up a storm. The storm is leaking memory. Both sentences can be true without detracting from the skill I genuinely do not possess. My copy and paste Keys have been obliterated and my commits have become more and more loose with their terms due to the decreasing amounts of awareness I possess about what the heck I’m doing. Current progress indicates some developments in terms of plugin loading but at this point who knows anymore.Do not delete the vkDevice I beg...
|
1793379352.753888
|
1793984152.753888
|
|
7691
|
litter cam by @tyler_durden | Stardance
|
tyler_durden
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: litter cam by @tyler_durden | Stardance
|
1793451119.2934656
|
1794055919.2934656
|
|
44637
|
little brother fucker by @sayguluzakova | Stardanc little brother fucker by @sayguluzakova | Stardance...
|
sayguluzakova
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: little brother fucker by @sayguluzakova | S Title: little brother fucker by @sayguluzakova | Stardance...
|
1793285649.0982304
|
1793890449.0982304
|
|
70374
|
little elephant that rides on a star by @aadhii | little elephant that rides on a star by @aadhii | Stardance...
|
aadhii
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: little elephant that rides on a star by @aa Title: little elephant that rides on a star by @aadhii | Stardance...
|
1793620557.19008
|
1794225357.19008
|
|
30961
|
little robot guy by @Ryan_Kainth | Stardance
|
Ryan_Kainth
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: little robot guy by @Ryan_Kainth | Stardanc Title: little robot guy by @Ryan_Kainth | Stardance...
|
1793382581.3111975
|
1793987381.3111975
|
|
45291
|
little web by @Pepisko02 | Stardance
|
Pepisko02
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: little web by @Pepisko02 | Stardance
|
1793324947.2603285
|
1793929747.2603285
|
|
61154
|
littleone by @fiddletwo | Stardance
|
fiddletwo
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T19:58:48Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This slack bot has some commands such as a command that lets you see the league standings of Europe’s top five football leagues. The most important thing I took away from this project was learning how to host via a server.", "repo": "https://github.com/fiddletwo/littleone", "demo": "https://hackclub.enterprise.slack.com/archives/C0P5NE354"}]...
|
[{"post_id": 66927, "ts": "202 [{"post_id": 66927, "ts": "2026-09-12T22:01:33Z", "hours": 1.3317, "text": "Added a football league standings command. Currently only shows the points the club has. Working with the API was somewhat difficult because the stats were put into an array. Also added a help command that lists all commands."}, {"post_id": 66680, "ts": "2026-09-12T15:32:50Z", "hours": 1.4892, "text": "basic bot setup reminds me of the discord bot development i used to do, but i digress anyways i made a little dice rolling command"}]...
|
Title: littleone by @fiddletwo | Stardance
Devlog Title: littleone by @fiddletwo | Stardance
Devlogs:
basic bot setup reminds me of the discord bot development i used to do, but i digress anyways i made a little dice rolling command
Added a football league standings command. Currently only shows the points the club has. Working with the API was somewhat difficult because the stats were put into an array. Also added a help command that lists all commands.
Ships:
This slack bot has some commands such as a command that lets you see the league standings of Europe’s top five football leagues. The most important thing I took away from this project was learning how to host via a server....
|
1793588251.8359172
|
1793674651.8359172
|
|
61203
|
live elbow angle detection by @madheysh | Stardanc live elbow angle detection by @madheysh | Stardance...
|
madheysh
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-15T15:22:29Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "so my first serious python project working with camera feeds, it detects your elbow angle live and displays it on the top left corner. This took way more time than it should have (I didn’t know what mediapipe was at first) so yea, feel free to try this lil thing out ( also streamlit was a DRAG)", "repo": "https://github.com/Madheysh/Elbow-angles", "demo": "https://elbow-angles-fg5f7dpb8qpqsebeatmb4v.streamlit.app/"}]...
|
[{"post_id": 79816, "ts": "202 [{"post_id": 79816, "ts": "2026-10-15T15:06:15Z", "hours": 0.3331, "text": "got a live demo"}, {"post_id": 79037, "ts": "2026-10-12T13:46:20Z", "hours": 0.9381, "text": "its working (forgot to post this omg)"}, {"post_id": 66578, "ts": "2026-09-12T12:41:07Z", "hours": 5.0678, "text": "A code to detect my hands, and elbows, eventually displaying my elbow angles in the video i upload i wanted to detect elbows but for sume reason it detected hands???? i fixed it but what was that about"}]...
|
Title: live elbow angle detection by @madheysh | S Title: live elbow angle detection by @madheysh | Stardance
Devlogs:
A code to detect my hands, and elbows, eventually displaying my elbow angles in the video i upload i wanted to detect elbows but for sume reason it detected hands???? i fixed it but what was that about
its working (forgot to post this omg)
got a live demo
Ships:
so my first serious python project working with camera feeds, it detects your elbow angle live and displays it on the top left corner. This took way more time than it should have (I didn’t know what mediapipe was at first) so yea, feel free to try this lil thing out ( also streamlit was a DRAG)...
|
1793581221.5615056
|
1793667621.5615056
|
|
8240
|
live in space by @clara | Stardance
|
clara
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: live in space by @clara | Stardance
|
1793537669.7362084
|
1794142469.7362084
|
|
67667
|
live-stop by @pwohlfahrt | Stardance
|
pwohlfahrt
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: live-stop by @pwohlfahrt | Stardance
|
1793112766.7068121
|
1793717566.7068121
|
|
33116
|
livefetch by @WilGulf | Stardance
|
WilGulf
|
2
|
55.0
|
627
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-13T12:37:52Z", "hours": 23.0, "multiplier": 17.51, "payout": 395, "blessing": "neutral", "text": "This is the second ship of livefetch. From the previous ship livefetch has gotten much more features working on linux that previously only worked on macOS. The two difference between livefetch on macOS and Linux is almost zero. But what I am more proud of for this ship is the spinning logo. It wasn’t easy and I had to learn the math behind calculating the new position of a point after rotating a X degrees of a angle. But in the end the spinning looks AWESOME, in my opinion. So for anyone trying this: there are multiple ways of installing on different distros or OS, and all instructions are in the readme. And also livefetch hasn’t been tested on a wide amount of different hardware, so if you find a issue please let me know, thank you!", "repo": "https://github.com/WilGulf/livefetch", "demo": "https://github.com/WilGulf/livefetch/releases/tag/v2.2.2"}, {"ship_num": 2, "ts": "2026-07-25T19:44:27Z", "hours": 32.0, "multiplier": 7.41, "payout": 232, "blessing": "neutral", "text": "I have made my own system monitoring tool like fastfetch except the system information shown will always be live and updated. Many of the functions used for getting that info was using apples APIs and that made it very challenging to code. I am now very proud that this can be installed like any other cli tool using homebrew and it feels like a real tool. For any user that wants to try this I want you to know that this tool has been written and tested for macos. Some things may work on linux too but dont expect the same functionality.", "repo": "https://github.com/WilGulf/livefetch", "demo": "https://github.com/WilGulf/livefetch/releases/tag/v2.2.2"}]...
|
[{"post_id": 46276, "ts": "202 [{"post_id": 46276, "ts": "2026-08-13T12:22:10Z", "hours": 0.4942, "text": "Devblog 12 Last devblog before ship, gotta get this half hour counted. This time has just been used for some fixes for the different repositories and als testing livefetch on multiple distros. – WilGulf"}, {"post_id": 46203, "ts": "2026-08-13T08:29:01Z", "hours": 5.6628, "text": "Devblog 11 First i completed all information on linux, but it isn’t much to show. Livefetch on Linux now works like on macOS. But as macOS got a homebrew tap I though Linux needed it’s own. I found a tool called “nfpm” that with one configuration can build packages for multiple distros, really recommend it! But maintaining multiple package repositories looked like a lot of work so I then programmed my own shell script that takes the latest version of livefetch and publish it to all repositories. Took some work but it is now easier for anyone to install livefetch. In the image you can see livefetch being installed with apt on debian. – WilGulf"}, {"post_id": 43348, "ts": "2026-08-08T15:35:26Z", "hours": 4.7919, "text": "Devblog 10 I have been working on some small improvments that togther can add up and make livefetch a bit easier to understand and use. The help message has been updated and improved. Then i have this new option that prints the available modules for your system. I have also been working on the README to be up to date and more useful. I have also been working on getting livefetch to the aur, but the website hasn’t been working for me. Trying to register a account on the aur just gives me a 503 error. I hope that gets fixed so next ship can be installed using yay. –WilGulf – WilGulf"}, {"post_id": 41302, "ts": "2026-08-05T13:19:38Z", "hours": 4.2653, "text": "Devblog 9 I didn’t have access to my linux machine, so I needed to work on something else. And this is a large update for livefetch. Livefetch now has a –spin-logo true option that spins the logo around it’s y-axis. It took a while to get the math right and place all the ascii characters at the right place and right Z-level. Sometimes the logo disappeard, sometimes the color was wrong, sometimes the logo didn’t even show. But now the spinning works, at least for the logos I have tested it with. –WilGulf"}, {"post_id": 40950, "ts": "2026-08-04T20:01:50Z", "hours": 3.0542, "text": "Devblog 8 Now you may notice the devblogs are much closer, why? Well getting system info on linux is so much easier when it is just reading a file. But now I have come to the final task, GPU and display info. The way of getting that info is different from every GPU manufacturer, and from what I seen for Nvidia you have to use their tool to do it, but that isnt garanteed to be install on a linux system with a Nvidia card. I guess if fastfetch could do it then so should I. –WilGulf"}, {"post_id": 40219, "ts": "2026-08-03T16:59:47Z", "hours": 2.1647, "text": "Devblog 7 First of, we got some memory bars on linux. Yes now livefetch can display your linux systems ram and swap, even disks! Now lets address the elephant in the room, the logo. The logo isn’t actually predetermined, now I have livefetch parsing the /etc/os-release to get the distro and use it’s logos. For the parsing I had to learn some new C string functions and try my way to get the os name out of the file, but i got there in the end! –WilGulf"}, {"post_id": 40024, "ts": "2026-08-03T11:28:05Z", "hours": 2.1403, "text": "Devblog 6 Now livefetch is getting support for linux. I plan on making every module on macos work on linux but currently we just need the printing to work. MacOS and linux are close but not enough for everything to work so most functions need a rewrite. –WilGulf"}, {"post_id": 34785, "ts": "2026-07-25T19:37:16Z", "hours": 0.5875, "text": "Devblog 5 Livefetch is being shipped. Now that version output shows the version of livefetch being the full release. I have updated it for homebrew and the README is complete. Now any mac user will be able to use this system monitor. –WilGulf"}, {"post_id": 34738, "ts": "2026-07-25T18:24:20Z", "hours": 4.3378, "text": "Devblog 4 I know I said the info was done, but here comes more. Using many of apples APIs we now can get the GPU model, battery and display stats. Livefetch also supports homebrew as the package manager you can install livefetch on your own system with, but also livefetch can track the amount of packages installed with homebrew. Hope to soon ship! –WilGulf"}, {"post_id": 28281, "ts": "2026-07-14T13:08:36Z", "hours": 11.1519, "text": "Info complete Now i have got so much system info on macos. Memory, swap, disk, local-ip, system locale and much more. But that i got working after much much time. Soon ready for first release for macos. –WilGulf"}, {"post_id": 26766, "ts": "2026-07-11T19:12:22Z", "hours": 6.9325, "text": "Real info Finally all info shown is the real data from the system. Now it is now you can see how the updating works. And no i do not use RHEL i just like the tuff logo. –WilGulf"}, {"post_id": 25947, "ts": "2026-07-10T13:51:21Z", "hours": 9.3881, "text": "livefetch When larping a linux distro you always need fastfetch/neofetch open. But the problem with those are that the info displayed gets outdated, after just a minute the ram usage could be completely wrong. This fastfetch like project shows the info live and that darker line looping through is what updates the info. Now both the info and logo shown is just a test and not real system information. This is just for testing. In the background there is a config read when starting the program that determines the logo and if that darker line should be shown. Later comes actually implementing a way to get that information on all the different operating systems. –WilGulf"}]...
|
Title: livefetch by @WilGulf | Stardance
Devlogs: Title: livefetch by @WilGulf | Stardance
Devlogs:
livefetch When larping a linux distro you always need fastfetch/neofetch open. But the problem with those are that the info displayed gets outdated, after just a minute the ram usage could be completely wrong. This fastfetch like project shows the info live and that darker line looping through is what updates the info. Now both the info and logo shown is just a test and not real system information. This is just for testing. In the background there is a config read when starting the program that determines the logo and if that darker line should be shown. Later comes actually implementing a way to get that information on all the different operating systems. –WilGulf
Real info Finally all info shown is the real data from the system. Now it is now you can see how the updating works. And no i do not use RHEL i just like the tuff logo. –WilGulf
Info complete Now i have got so much system info on macos. Memory, swap, disk, local-ip, system locale and much more. But that i got working after much much time. Soon ready for first release for macos. –WilGulf
Devblog 4 I know I said the info was done, but here comes more. Using many of apples APIs we now can get the GPU model, battery and display stats. Livefetch also supports homebrew as the package manager you can install livefetch on your own system with, but also livefetch can track the amount of packages installed with homebrew. Hope to soon ship! –WilGulf
Devblog 5 Livefetch is being shipped. Now that version output shows the version of livefetch being the full release. I have updated it for homebrew and the README is complete. Now any mac user will be able to use this system monitor. –WilGulf
Devblog 6 Now livefetch is getting support for linux. I plan on making every module on macos work on linux but currently we just need the printing to work. MacOS and linux are close but not enough for everything to work so most functions need a rewrite. –WilGulf
Devblog 7 First of, we got some memory bars on linux. Yes now livefetch can display your linux systems ram and swap, even disks! Now lets address the elephant in the room, the logo. The logo isn’t actually predetermined, now I have livefetch parsing the /etc/os-release to get the distro and use it’s logos. For the parsing I had to learn some new C string functions and try my way to get the os name out of the file, but i got there in the end! –WilGulf
Devblog 8 Now you may notice the devblogs are much closer, why? Well getting system info on linux is so much easier when it is just reading a file. But now I have come to the final task, GPU and display info. The way of getting that info is different from every GPU manufacturer, and from what I seen for Nvidia you have to use their tool to do it, but that isnt garanteed to be install on a linux system with a Nvidia card. I guess if fastfetch could do it then so should I. –WilGulf
Devblog 9 I didn’t have access to my linux machine, so I needed to work on something else. And this is a large update for livefetch. Livefetch now has a –spin-logo true option that spins the logo around it’s y-axis. It took a while to get the math right and place all the ascii characters at the right place and right Z-level. Sometimes the logo disappeard, sometimes the color was wrong, sometimes the logo didn’t even show. But now the spinning works, at least for the logos I have tested it with. –WilGulf
Devblog 10 I have been working on some small improvments that togther can add up and make livefetch a bit easier to understand and use. The help message has been updated and improved. Then i have this new option that prints the available modules for your system. I have also been working on the README to be up to date and more useful. I have also been working on getting livefetch to the aur, but the website hasn’t been working for me. Trying to register a account on the aur just gives me a 503 error. I hope that gets fixed so next ship can be installed using yay. –WilGulf – WilGulf
Devblog 11 First i completed all information on linux, but it isn’t much to show. Livefetch on Linux now works like on macOS. But as macOS got a homebrew tap I though Linux needed it’s own. I found a tool called “nfpm” that with one configuration can build packages for multiple distros, really recommend it! But maintaining multiple package repositories looked like a lot of work so I then programmed my own shell script that takes the latest version of livefetch and publish it to all repositories. Took some work but it is now easier for anyone to install livefetch. In the image you can see livefetch being installed with apt on debian. – WilGulf
Devblog 12 Last devblog before ship, gotta get this half hour counted. This time has just been used for some fixes for the different repositories and als testing livefetch on multiple distros. – WilGulf
Ships:
I have made my own system monitoring tool like fastfetch except the system information shown will always be live and updated. Many of the functions used for getting that info was using apples APIs and that made it very challenging to code. I am now very proud that this can be installed like any other cli tool using homebrew and it feels like a real tool. For any user that wants to try this I want you to know that this tool has been written and tested for macos. Some things may work on linux too but dont expect the same functionality.
This is the second ship of livefetch. From the previous ship livefetch has gotten much more features working on linux that previously only worked on macOS. The two difference between livefetch on macOS and Linux is almost zero. But what I am more proud of for this ship is the spinning logo. It wasn’t easy and I had to learn the math behind calculating the new position of a point after rotating a X degrees of a angle. But in the end the spinning looks AWESOME, in my opinion. So for anyone trying this: there are multiple ways of installing on different distros or OS, and all instructions are in the readme. And also livefetch hasn’t been tested on a wide amount of different hardware, so if you find a issue please let me know, thank you!...
|
1793620364.6034849
|
1793706764.6034849
|
|
22747
|
liverTV by @not-willem | Stardance
|
not-willem
|
0
|
1.7
|
0
|
[]
|
[{"post_id": 14153, "ts": "202 [{"post_id": 14153, "ts": "2026-06-23T04:13:41Z", "hours": 1.6958, "text": "Trying to make the decoder is proving to be quite difficult. Im sure i’ll get it soon. Anyway i’ve made the encoding and it works good."}]...
|
Title: liverTV by @not-willem | Stardance
Devlogs Title: liverTV by @not-willem | Stardance
Devlogs:
Trying to make the decoder is proving to be quite difficult. Im sure i’ll get it soon. Anyway i’ve made the encoding and it works good....
|
1793465563.315389
|
1794070363.315389
|
|
56020
|
liz is cool by @lizstrut1 | Stardance
|
lizstrut1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: liz is cool by @lizstrut1 | Stardance
|
1793361229.66555
|
1793966029.66555
|
|
19075
|
lizard runner by @ReaSevicke-jones | Stardance
|
ReaSevicke-jones
|
1
|
15.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-11T11:16:43Z", "hours": 15.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Hey guys I have made a game called lizard runner where the objective is to survive and not die to the predators. There is also a multiplayer gamemode where you can play against other players, however this one may be a little hard to test due to another player would need to be online, with multiplayer we have two servers one based in the us and one in Singapore. One main challage i faced in getting this beta ready for you guys to test was my two servers as one i have running on aws and the other on a node js hosting platform called render, this is intended like this so that the global server on aws has more resources and can sustain a larger number of players. Anyways thanks for reading all that i hope you enjoy it", "repo": "https://github.com/axolotldevstudio/lizardrunner/", "demo": "https://lizardrunnerdev.pages.dev"}]...
|
[{"post_id": 45089, "ts": "202 [{"post_id": 45089, "ts": "2026-08-11T11:11:34Z", "hours": 5.0058, "text": "Beta is now out (with working multiplayer and single player, we currently have two servers for multiplayer a Singapore one and one based in the us."}, {"post_id": 32809, "ts": "2026-07-22T06:19:40Z", "hours": 5.5592, "text": "i currently have begun development on multiplayer which currently is working but may not be when you go to test it and there are also two leaderboards now and a lot of items in the store."}, {"post_id": 12469, "ts": "2026-06-20T11:12:36Z", "hours": 4.0328, "text": "i have been adding more menus and a store and basically changed the game to 2d"}, {"post_id": 9521, "ts": "2026-06-15T21:54:23Z", "hours": 0.8764, "text": "currently working on improving the graphics and movement ( so the tuatara actually looks like a tuatara ) this old version was quickly changed to a 2d game as you can see in the net devlog"}]...
|
Title: lizard runner by @ReaSevicke-jones | Starda Title: lizard runner by @ReaSevicke-jones | Stardance
Devlogs:
currently working on improving the graphics and movement ( so the tuatara actually looks like a tuatara ) this old version was quickly changed to a 2d game as you can see in the net devlog
i have been adding more menus and a store and basically changed the game to 2d
i currently have begun development on multiplayer which currently is working but may not be when you go to test it and there are also two leaderboards now and a lot of items in the store.
Beta is now out (with working multiplayer and single player, we currently have two servers for multiplayer a Singapore one and one based in the us.
Ships:
Hey guys I have made a game called lizard runner where the objective is to survive and not die to the predators. There is also a multiplayer gamemode where you can play against other players, however this one may be a little hard to test due to another player would need to be online, with multiplayer we have two servers one based in the us and one in Singapore. One main challage i faced in getting this beta ready for you guys to test was my two servers as one i have running on aws and the other on a node js hosting platform called render, this is intended like this so that the global server on aws has more resources and can sustain a larger number of players. Anyways thanks for reading all that i hope you enjoy it...
|
1793602522.8162405
|
1793688922.8162405
|
|
54414
|
lkudfzghj by @ECoder | Stardance
|
ECoder
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lkudfzghj by @ECoder | Stardance
|
1793541075.9481103
|
1794145875.9481103
|
|
54415
|
lkudfzghj by @ECoder | Stardance
|
ECoder
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lkudfzghj by @ECoder | Stardance
|
1793541077.7550523
|
1794145877.7550523
|
|
7442
|
llama on rails by @Lazyllama | Stardance
|
Lazyllama
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: llama on rails by @Lazyllama | Stardance
|
1793166861.7136025
|
1793771661.7136025
|
|
48002
|
load cell racing pedal set by @PHELIX | Stardance
|
PHELIX
|
0
|
15.07
|
0
|
[]
|
[{"post_id": 65321, "ts": "202 [{"post_id": 65321, "ts": "2026-09-10T12:14:31Z", "hours": 2.0181, "text": "i coded the logic section for pedals, handbrake and shifter"}, {"post_id": 52843, "ts": "2026-08-23T06:16:24Z", "hours": 0.35, "text": "fixed some sizing mistakes and made it more easier to find new size parts than old one(not big diference in sizes)"}, {"post_id": 48742, "ts": "2026-08-17T08:41:17Z", "hours": 12.7069, "text": "almost finished making the 3d model of simracing pedal set tha t you will be able print on 3d printer"}]...
|
Title: load cell racing pedal set by @PHELIX | Sta Title: load cell racing pedal set by @PHELIX | Stardance
Devlogs:
almost finished making the 3d model of simracing pedal set tha t you will be able print on 3d printer
fixed some sizing mistakes and made it more easier to find new size parts than old one(not big diference in sizes)
i coded the logic section for pedals, handbrake and shifter...
|
1793206379.326162
|
1793811179.326162
|
|
7094
|
loadstone by @alexarthur | Stardance
|
alexarthur
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: loadstone by @alexarthur | Stardance
|
1793566477.137715
|
1794171277.137715
|
|
71064
|
local AI by @md_salim | Stardance
|
md_salim
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: local AI by @md_salim | Stardance
|
1793516133.0230875
|
1794120933.0230875
|
|
50356
|
local ai studio by @savanth | Stardance
|
savanth
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: local ai studio by @savanth | Stardance
|
1792918179.8429153
|
1793782179.8429153
|
|
66969
|
local by @astaa | Stardance
|
astaa
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: local by @astaa | Stardance
|
1793105480.393627
|
1793710280.393627
|
|
37336
|
local file manager by @flicker_1311 | Stardance
|
flicker_1311
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: local file manager by @flicker_1311 | Stard Title: local file manager by @flicker_1311 | Stardance...
|
1793551874.15182
|
1794156674.15182
|
|
48010
|
lock in app by @bort2441 | Stardance
|
bort2441
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lock in app by @bort2441 | Stardance
|
1792939928.6979294
|
1793803928.6979294
|
|
47471
|
lock in os by @Tony1292 | Stardance
|
Tony1292
|
0
|
0.82
|
0
|
[]
|
[{"post_id": 47194, "ts": "202 [{"post_id": 47194, "ts": "2026-08-14T22:36:39Z", "hours": 0.8169, "text": "This turned out so good. I am so happy how the loading screen turned out. This looks like the apple loading screen. I meant add a loading screen.I will make this a ultra focus os to get stuff done. This os will kind of be like linux. with the terminal, so there is no apps that are going to distract you."}]...
|
Title: lock in os by @Tony1292 | Stardance
Devlog Title: lock in os by @Tony1292 | Stardance
Devlogs:
This turned out so good. I am so happy how the loading screen turned out. This looks like the apple loading screen. I meant add a loading screen.I will make this a ultra focus os to get stuff done. This os will kind of be like linux. with the terminal, so there is no apps that are going to distract you....
|
1793184543.2252822
|
1793789343.2252822
|
|
5307
|
lockie by @hex_hacker | Stardance
|
hex_hacker
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lockie by @hex_hacker | Stardance
|
1793476369.6010087
|
1794081169.6010087
|
|
5757
|
lockin extension by @epain | Stardance
|
epain
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lockin extension by @epain | Stardance
|
1793454519.7946446
|
1794059319.7946446
|
|
21938
|
lockrs by @confused-ace-noises | Stardance
|
confused-ace-noises
|
2
|
49.0
|
865
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-23T18:19:09Z", "hours": 16.0, "multiplier": 15.58, "payout": 249, "blessing": "neutral", "text": "This ship adds some new functionality! Namely, the ability to take a screenshot of the lockscreen (if you dont want this, it can be disabled through the disabling of the default screenshot feature), new builtin widgets, and some stuff buried a bit more deeply in the logic, such as adding a worker thread for slow operations, fixing some bad output-dependant handling and adding support for more keyboard keys. The most challenging thing about this ship was trying to understand how to make vulkan play nice with ext_session_lock_v1 when setting the buffer scaling, it took me a long time for like- no reason TuT. Anyways, here’s two screenshots of lockscreens i made while developing lockrs:", "repo": "https://github.com/confused-ace-noises/lockrs/", "demo": "https://crates.io/crates/lockrs"}, {"ship_num": 2, "ts": "2026-06-30T14:45:51Z", "hours": 33.0, "multiplier": 18.69, "payout": 616, "blessing": "neutral", "text": "Lockrs is a library that aims to make Wayland screen lockers as customizable as possible. First of all, it’s written in the Rust language, and it’s essentially an implementation of the egui crate for lock screen surfaces; This means it can be truly used for anything (or well, anything egui can possibly do). This project was born out of frustration of the little customizability that other projects offer, relying at most on a simple config file to define everything. It is based on the wayland-client, wgpu and egui crates, which make it compatible with practically any modern Wayland compositor (to be specific, all compositors implementing the ext-session-lock-v1 protocol); using wayland-client was quite hard, as it was really my first time making something that supports graphics and juggling communications with an outside application in the meantime. I think this project was very successful in helping me learn about how Wayland works, and a little bit of how rendering works too. Overall, I’m quite proud of how it turned out, and i have already made my own lock screen (see picture below).", "repo": "https://github.com/confused-ace-noises/lockrs/", "demo": "https://crates.io/crates/lockrs"}]...
|
[{"post_id": 72759, "ts": "202 [{"post_id": 72759, "ts": "2026-09-23T17:56:49Z", "hours": 0.5272, "text": "Reviewed the code before the ship! noting much to report, i’ll just put the new lockscreen again"}, {"post_id": 71234, "ts": "2026-09-20T14:25:17Z", "hours": 10.2025, "text": "A lot of big changes! these 10 hours of coding felt like a constant rabbit hole, but i finally fixed all the things i found TuT. First of all, i made some new widgets: namely, a text input for the password that reserves space for the “login failed” failure text, an uptime widget and widget that fetches the default network interface. While making an example lock screen using these new widgets, i noticed that taking a screenshot was just a huge pain; One had to go do gpu texture copying magic and it was just A Bad Time in general. So, i decided to bake that functionality into lockrs itself, so now there’s a screenshot feature (enabled by default) which makes it able to save screenshots. But while implementing the screenshot feature, i noticed that there were some inconsistencies in the multiple output logic and in the buffer scaling logic, so i fixed those (this took surprisingly long :p). After implementing that, i went to take that screenshot, and noticed that the UI would freeze for a bit while the disk I/O of saving the image was running. This was quite annoying, so i also decided to make a whole ass worker thread that handles password checking (which also used to hang the UI thread, albeit for a short time) and to save the screenshot. Anyways, after this journey of a few days of coding, here’s the example screenshot, finally: P.S.: while trying to put an image here, firefox crashed and i had to rewrite this whole thing… to anyone seeing this, save your devlogs somewhere before adding pics :p"}, {"post_id": 61515, "ts": "2026-09-04T13:55:26Z", "hours": 5.4758, "text": "Well, im at it again with this project. I took quite a long break to make another project, and now have had the time to come back to this. I’ve finally written some in-depth docs, and will review them later today with a fresh mind to be sure that they’re as right as possible. I also fixed a design flaw, but im not very sure if how i did it really fixed it. Before, this is the old way it’s doing it: app .ui (| _ , ui | { // put stuff inside some ui levels egui :: CentralPanel :: default () .frame ( egui :: Frame :: NONE ) .show ( ui , | ui | { // maybe make new ui levels // inside the levels, return TryExit TryExit :: Force }) .inner.inner.inner //as many .inner as ui levels // TryExit is in, because you need to return the inner TryExit }) this felt extremely clunky. So, i solved it like this: // mutable reference to a TryExit app .ui (| _ , ui , exit : & mut TryExit | { // as many levels as you want egui :: CentralPanel :: default () .frame ( egui :: Frame :: NONE ) .show ( ui , | ui | { // instead of returning it, mutate the passed-in reference * exit = TryExit :: Force ; }); // no need to return anything, so no .inner }) this feels a bit better, but idrk still. For the time being, the API will be the latter. Anyways, have a look at the new docs:"}, {"post_id": 19151, "ts": "2026-06-30T12:13:07Z", "hours": 5.495, "text": "After taking a small break, i finally finished this project. I decided to turn it into a library instead of a really customizable lockscreen, because what would be the purpose in making something that could very well work in any number of ways and then limiting it to a few widgets? I’m quite satisfied with how it turned out, even if there are a few rough spots. Also, i decided to license it under MIT or Apache 2.0, as per convention for rust libraries. In the end, i’ll be definitely using lockrs, and i hope some other people will too."}, {"post_id": 15087, "ts": "2026-06-24T14:53:06Z", "hours": 3.2564, "text": "I managed to add PAM authentication. I also tried to add support for shaders and in general gpu work, and discovering i bit off way more than i can chew, i just decided not to. So, i tried to add a background, but i stumbled upon an obstacle which sent me diving into egui’s source code, because it kept claiming that it couldn’t load images with side bigger than 2048px; turns out this is only a limitation of the WebGPU API, that, as the name suggests, runs on browsers, not on desktops. Anyways, after a lot of fiddling with egui’s components, i managed to make it use images with sides up to 8000px. Now i’ll probably customize the bar a little, and maybe make a few egui widgets for it."}, {"post_id": 14354, "ts": "2026-06-23T13:37:48Z", "hours": 9.2189, "text": "After wrecking my mind unnecessarily over how to handle pointer events for a ridiculous amount of time, I finally got something that somehow works; now i also have a working text input! It just prints the input to the terminal for now, but I’ll be messing with PAM a bit to do authentication now. wish me luck!"}, {"post_id": 12838, "ts": "2026-06-21T00:42:13Z", "hours": 8.1453, "text": "I finally got the keyboard to work! for now, it just exits as soon as a key is pressed, but i’m working on implementing full functionality. also, now the code is much much cleaner, properly divided in functions instead of being all chucked into main. I don’t really have a way to display this with a screenshot, so i’ll just reuse an old one unfortunately :p"}, {"post_id": 11926, "ts": "2026-06-19T13:25:36Z", "hours": 2.0419, "text": "Well, i managed to render to the lock screen with egui instead of using the raw buffer; for now, it’s still a mess of spaghetti code that barely works and will turn into a footgun very quickly if i don’t get working on the lower level part of it instead of throwing stuff at the wall and seeing if it sticks. The next step is tidying the code up instead of throwing everything into main, so that i can get some customization going. Also, i should probably add the authentication part of the lock screen instead of having it unlock after a few seconds."}, {"post_id": 11649, "ts": "2026-06-19T00:01:07Z", "hours": 4.8064, "text": "I finished a first proof of concept for wl-lock; right now, it locks the user out for two seconds while displaying a mauve screen. For now, it’s still fully cpu rendered, but i plan on adding gpu-accelerated background blur and general effects. The next step is hooking egui into it!"}]...
|
Title: lockrs by @confused-ace-noises | Stardance
Title: lockrs by @confused-ace-noises | Stardance
Devlogs:
I finished a first proof of concept for wl-lock; right now, it locks the user out for two seconds while displaying a mauve screen. For now, it’s still fully cpu rendered, but i plan on adding gpu-accelerated background blur and general effects. The next step is hooking egui into it!
Well, i managed to render to the lock screen with egui instead of using the raw buffer; for now, it’s still a mess of spaghetti code that barely works and will turn into a footgun very quickly if i don’t get working on the lower level part of it instead of throwing stuff at the wall and seeing if it sticks. The next step is tidying the code up instead of throwing everything into main, so that i can get some customization going. Also, i should probably add the authentication part of the lock screen instead of having it unlock after a few seconds.
I finally got the keyboard to work! for now, it just exits as soon as a key is pressed, but i’m working on implementing full functionality. also, now the code is much much cleaner, properly divided in functions instead of being all chucked into main. I don’t really have a way to display this with a screenshot, so i’ll just reuse an old one unfortunately :p
After wrecking my mind unnecessarily over how to handle pointer events for a ridiculous amount of time, I finally got something that somehow works; now i also have a working text input! It just prints the input to the terminal for now, but I’ll be messing with PAM a bit to do authentication now. wish me luck!
I managed to add PAM authentication. I also tried to add support for shaders and in general gpu work, and discovering i bit off way more than i can chew, i just decided not to. So, i tried to add a background, but i stumbled upon an obstacle which sent me diving into egui’s source code, because it kept claiming that it couldn’t load images with side bigger than 2048px; turns out this is only a limitation of the WebGPU API, that, as the name suggests, runs on browsers, not on desktops. Anyways, after a lot of fiddling with egui’s components, i managed to make it use images with sides up to 8000px. Now i’ll probably customize the bar a little, and maybe make a few egui widgets for it.
After taking a small break, i finally finished this project. I decided to turn it into a library instead of a really customizable lockscreen, because what would be the purpose in making something that could very well work in any number of ways and then limiting it to a few widgets? I’m quite satisfied with how it turned out, even if there are a few rough spots. Also, i decided to license it under MIT or Apache 2.0, as per convention for rust libraries. In the end, i’ll be definitely using lockrs, and i hope some other people will too.
Well, im at it again with this project. I took quite a long break to make another project, and now have had the time to come back to this. I’ve finally written some in-depth docs, and will review them later today with a fresh mind to be sure that they’re as right as possible. I also fixed a design flaw, but im not very sure if how i did it really fixed it. Before, this is the old way it’s doing it: app .ui (| _ , ui | { // put stuff inside some ui levels egui :: CentralPanel :: default () .frame ( egui :: Frame :: NONE ) .show ( ui , | ui | { // maybe make new ui levels // inside the levels, return TryExit TryExit :: Force }) .inner.inner.inner //as many .inner as ui levels // TryExit is in, because you need to return the inner TryExit }) this felt extremely clunky. So, i solved it like this: // mutable reference to a TryExit app .ui (| _ , ui , exit : & mut TryExit | { // as many levels as you want egui :: CentralPanel :: default () .frame ( egui :: Frame :: NONE ) .show ( ui , | ui | { // instead of returning it, mutate the passed-in reference * exit = TryExit :: Force ; }); // no need to return anything, so no .inner }) this feels a bit better, but idrk still. For the time being, the API will be the latter. Anyways, have a look at the new docs:
A lot of big changes! these 10 hours of coding felt like a constant rabbit hole, but i finally fixed all the things i found TuT. First of all, i made some new widgets: namely, a text input for the password that reserves space for the “login failed” failure text, an uptime widget and widget that fetches the default network interface. While making an example lock screen using these new widgets, i noticed that taking a screenshot was just a huge pain; One had to go do gpu texture copying magic and it was just A Bad Time in general. So, i decided to bake that functionality into lockrs itself, so now there’s a screenshot feature (enabled by default) which makes it able to save screenshots. But while implementing the screenshot feature, i noticed that there were some inconsistencies in the multiple output logic and in the buffer scaling logic, so i fixed those (this took surprisingly long :p). After implementing that, i went to take that screenshot, and noticed that the UI would freeze for a bit while the disk I/O of saving the image was running. This was quite annoying, so i also decided to make a whole ass worker thread that handles password checking (which also used to hang the UI thread, albeit for a short time) and to save the screenshot. Anyways, after this journey of a few days of coding, here’s the example screenshot, finally: P.S.: while trying to put an image here, firefox crashed and i had to rewrite this whole thing… to anyone seeing this, save your devlogs somewhere before adding pics :p
Reviewed the code before the ship! noting much to report, i’ll just put the new lockscreen again
Ships:
Lockrs is a library that aims to make Wayland screen lockers as customizable as possible. First of all, it’s written in the Rust language, and it’s essentially an implementation of the egui crate for lock screen surfaces; This means it can be truly used for anything (or well, anything egui can possibly do). This project was born out of frustration of the little customizability that other projects offer, relying at most on a simple config file to define everything. It is based on the wayland-client, wgpu and egui crates, which make it compatible with practically any modern Wayland compositor (to be specific, all compositors implementing the ext-session-lock-v1 protocol); using wayland-client was quite hard, as it was really my first time making something that supports graphics and juggling communications with an outside application in the meantime. I think this project was very successful in helping me learn about how Wayland works, and a little bit of how rendering works too. Overall, I’m quite proud of how it turned out, and i have already made my own lock screen (see picture below).
This ship adds some new functionality! Namely, the ability to take a screenshot of the lockscreen (if you dont want this, it can be disabled through the disabling of the default screenshot feature), new builtin widgets, and some stuff buried a bit more deeply in the logic, such as adding a worker thread for slow operations, fixing some bad output-dependant handling and adding support for more keyboard keys. The most challenging thing about this ship was trying to understand how to make vulkan play nice with ext_session_lock_v1 when setting the buffer scaling, it took me a long time for like- no reason TuT. Anyways, here’s two screenshots of lockscreens i made while developing lockrs:...
|
1793598691.0791268
|
1793685091.0791268
|
|
71355
|
loki themed clock by @Lasyak | Stardance
|
Lasyak
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: loki themed clock by @Lasyak | Stardance
|
1793602354.4295616
|
1794207154.4295616
|
|
48408
|
lol by @shimijakrishnan | Stardance
|
shimijakrishnan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lol by @shimijakrishnan | Stardance
|
1793228116.036316
|
1793832916.036316
|
|
56684
|
lol white is here!!!! by @whitedeathkl | Stardance
|
whitedeathkl
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lol white is here!!!! by @whitedeathkl | St Title: lol white is here!!!! by @whitedeathkl | Stardance...
|
1793393739.0626907
|
1793998539.0626907
|
|
68265
|
lola by @adel | Stardance
|
adel
|
0
|
1.05
|
0
|
[]
|
[{"post_id": 77363, "ts": "202 [{"post_id": 77363, "ts": "2026-10-06T17:47:21Z", "hours": 1.0456, "text": "Today I built the basic lolOS desktop interface.I added the top bar, dock, live clock, Terminal, Notes and About windows.I also made the windows draggable using JavaScript.Next I want to make the apps interactive and improve the terminal."}]...
|
Title: lola by @adel | Stardance
Devlogs:
Today I Title: lola by @adel | Stardance
Devlogs:
Today I built the basic lolOS desktop interface.I added the top bar, dock, live clock, Terminal, Notes and About windows.I also made the windows draggable using JavaScript.Next I want to make the apps interactive and improve the terminal....
|
1793119885.1186373
|
1793724685.1186373
|
|
44370
|
lola by @lolansanchez | Stardance
|
lolansanchez
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lola by @lolansanchez | Stardance
|
1793271104.3590994
|
1793875904.3590994
|
|
44373
|
lola by @lolasanchez | Stardance
|
lolasanchez
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lola by @lolasanchez | Stardance
|
1793271108.152762
|
1793875908.152762
|
|
64039
|
lollo by @rrm | Stardance
|
rrm
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lollo by @rrm | Stardance
|
1793058541.5563595
|
1793663341.5563595
|
|
15379
|
lolwtfbytesofc by @kylie | Stardance
|
kylie
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lolwtfbytesofc by @kylie | Stardance
|
1793371667.997592
|
1793976467.997592
|
|
37892
|
loom by @aikyaam | Stardance
|
aikyaam
|
0
|
13.35
|
0
|
[]
|
[{"post_id": 32209, "ts": "202 [{"post_id": 32209, "ts": "2026-07-21T07:08:38Z", "hours": 13.3475, "text": "1. The Core Problem Legacy codecs (FLAC, WAV, ALAC) compress multitrack audio stems in isolation, creating three major inefficiencies: Multitrack Redundancy: Compressing 20+ stems individually duplicates shared timing, transients, and microphone leakage across files. Destructive Edits: Simple DAW edits (fades, mutes) force slow, destructive re-rendering of entire audio files to disk. Version Bloat: Saving project revisions ( Mix_v1 , Mix_v2 ) duplicates identical, unmodified audio tracks. 2. What We Built loom-core (Rust Engine): Single-track FLAC-compatible encoder (Fixed 0-4, Burg MEM LPC, Levinson-Durbin, NLMS adaptive filtering, 5/3 CDF Wavelets, IntMDCT, Golomb-Rice, rANS, tANS) + session-aware multitrack container with inter-stem residual prediction coupling, KLT covariance matrices, and DAG topologies. Non-Destructive Edit Overlays: On-the-fly rendering of linear, sigmoidal, exponential, and cosine fades, gain automation, and mute regions during decoding ($O(1)$ header updates). Frame Version Diffing: PCM frame MD5 fingerprinting and delta compression ( encode_diff / apply_diff ). loom-cli & loom-bench : 17 CLI subcommands, 28 passing test suites ( cargo test ), and Criterion empirical benchmark runner. research/ Platform: 24 publication-grade academic research manuscripts covering DSP math and information theory. 3. Key Issues Fixed During Development Problem / Bug Technical Root Cause Fix Implemented LaTeX '_' allowed only in math mode Raw underscores inside \\text{...} blocks exited math mode in KaTeX/MathJax. Replaced text underscores with hyphens (e.g., \\text{track-meta-m} ). Broken GitHub Math Formatting GitHub Markdown required empty lines surrounding $$...$$ blocks. Automated spacing script to insert blank lines around display math blocks. Broken Table of Contents Anchors Inline LaTeX math inside Markdown headers broke link anchors. Converted header math titles to clean text (e.g., (O(log K)) ). Mid-Side Reconstruction Rounding Signed right shift ( >> 1 ) caused off-by-one errors on negative odd integers. Applied bit-exact math: left = mid + ((side + 1) >> 1) and right = mid - (side >> 1) . SIMD Hardware Acceleration Serial dot-product loops constrained predictor throughput. Integrated 256-bit AVX2/SSE2 and AArch64 ARM NEON ( autocorr_neon ) vector intrinsics. 4. Empirical Benchmark Highlights Multitrack Session Savings: 8-stem DAW session compresses to 488,503 bytes (13.85% ratio) in Loom vs 647,112 bytes (18.34% ratio) for 8 separate FLAC files ( 24.51% higher storage savings ). Decoding Throughput: 176.83 MB/s for drum transients; 141.29 MB/s for silence backfill. Seek Latency: 4.42 ms range extraction latency for a 1-second slice."}]...
|
Title: loom by @aikyaam | Stardance
Devlogs:
1. T Title: loom by @aikyaam | Stardance
Devlogs:
1. The Core Problem Legacy codecs (FLAC, WAV, ALAC) compress multitrack audio stems in isolation, creating three major inefficiencies: Multitrack Redundancy: Compressing 20+ stems individually duplicates shared timing, transients, and microphone leakage across files. Destructive Edits: Simple DAW edits (fades, mutes) force slow, destructive re-rendering of entire audio files to disk. Version Bloat: Saving project revisions ( Mix_v1 , Mix_v2 ) duplicates identical, unmodified audio tracks. 2. What We Built loom-core (Rust Engine): Single-track FLAC-compatible encoder (Fixed 0-4, Burg MEM LPC, Levinson-Durbin, NLMS adaptive filtering, 5/3 CDF Wavelets, IntMDCT, Golomb-Rice, rANS, tANS) + session-aware multitrack container with inter-stem residual prediction coupling, KLT covariance matrices, and DAG topologies. Non-Destructive Edit Overlays: On-the-fly rendering of linear, sigmoidal, exponential, and cosine fades, gain automation, and mute regions during decoding ($O(1)$ header updates). Frame Version Diffing: PCM frame MD5 fingerprinting and delta compression ( encode_diff / apply_diff ). loom-cli & loom-bench : 17 CLI subcommands, 28 passing test suites ( cargo test ), and Criterion empirical benchmark runner. research/ Platform: 24 publication-grade academic research manuscripts covering DSP math and information theory. 3. Key Issues Fixed During Development Problem / Bug Technical Root Cause Fix Implemented LaTeX '_' allowed only in math mode Raw underscores inside \text{...} blocks exited math mode in KaTeX/MathJax. Replaced text underscores with hyphens (e.g., \text{track-meta-m} ). Broken GitHub Math Formatting GitHub Markdown required empty lines surrounding $$...$$ blocks. Automated spacing script to insert blank lines around display math blocks. Broken Table of Contents Anchors Inline LaTeX math inside Markdown headers broke link anchors. Converted header math titles to clean text (e.g., (O(log K)) ). Mid-Side Reconstruction Rounding Signed right shift ( >> 1 ) caused off-by-one errors on negative odd integers. Applied bit-exact math: left = mid + ((side + 1) >> 1) and right = mid - (side >> 1) . SIMD Hardware Acceleration Serial dot-product loops constrained predictor throughput. Integrated 256-bit AVX2/SSE2 and AArch64 ARM NEON ( autocorr_neon ) vector intrinsics. 4. Empirical Benchmark Highlights Multitrack Session Savings: 8-stem DAW session compresses to 488,503 bytes (13.85% ratio) in Loom vs 647,112 bytes (18.34% ratio) for 8 separate FLAC files ( 24.51% higher storage savings ). Decoding Throughput: 176.83 MB/s for drum transients; 141.29 MB/s for silence backfill. Seek Latency: 4.42 ms range extraction latency for a 1-second slice....
|
1792806647.956806
|
1793670647.956806
|
|
59330
|
loom web os by @realguyxgammer | Stardance
|
realguyxgammer
|
0
|
2.35
|
0
|
[]
|
[{"post_id": 65446, "ts": "202 [{"post_id": 65446, "ts": "2026-09-10T16:11:09Z", "hours": 0.8628, "text": "coded alot of new things yeah it may look ai cause i did the ui by codex and gemini but coded the backend and frontend by myself. I added tab management to it, search bar, and a feature to connect with people and have some fun too right i am working on making a 1m parameter ai that would take abit of space from that expensive storage and ram but would run locally i saw a tutorial how to do it but lets see if i can code it cause i am newbie lol nvm this is what i have added here"}, {"post_id": 64778, "ts": "2026-09-09T13:06:58Z", "hours": 0.3397, "text": "just made the dashboard for loom os and added few features like notes date and time and also custome wallpapers and cursors i want it be very user friendly as a windows user lol"}, {"post_id": 64157, "ts": "2026-09-08T11:27:29Z", "hours": 1.15, "text": "just made the logging screen for my os this thing took longer than expected but i am new to html so yeah pls leave a suggestion down there so i can add things in it cause my brain is just potatoes lol"}]...
|
Title: loom web os by @realguyxgammer | Stardance
Title: loom web os by @realguyxgammer | Stardance
Devlogs:
just made the logging screen for my os this thing took longer than expected but i am new to html so yeah pls leave a suggestion down there so i can add things in it cause my brain is just potatoes lol
just made the dashboard for loom os and added few features like notes date and time and also custome wallpapers and cursors i want it be very user friendly as a windows user lol
coded alot of new things yeah it may look ai cause i did the ui by codex and gemini but coded the backend and frontend by myself. I added tab management to it, search bar, and a feature to connect with people and have some fun too right i am working on making a 1m parameter ai that would take abit of space from that expensive storage and ram but would run locally i saw a tutorial how to do it but lets see if i can code it cause i am newbie lol nvm this is what i have added here...
|
1792939748.4731548
|
1793803748.4731548
|
|
24191
|
loomi by @aryandeulkar | Stardance
|
aryandeulkar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: loomi by @aryandeulkar | Stardance
|
1793263928.4090922
|
1793868728.4090922
|
|
64920
|
lore by @zeph_g2009 | Stardance
|
zeph_g2009
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lore by @zeph_g2009 | Stardance
|
1793069433.0748155
|
1793674233.0748155
|
|
12489
|
lorenzo by @antee | Stardance
|
antee
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lorenzo by @antee | Stardance
|
1793270846.2703166
|
1793875646.2703166
|
|
62838
|
lory by @denis | Stardance
|
denis
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: lory by @denis | Stardance
|
1793047825.4672985
|
1793652625.4672985
|