|
9222
|
SAM32: Super Awesome Machine 32-Bit by @sammme | S SAM32: Super Awesome Machine 32-Bit by @sammme | Stardance...
|
sammme
|
0
|
49.79
|
0
|
[]
|
[{"post_id": 49383, "ts": "202 [{"post_id": 49383, "ts": "2026-08-18T05:29:11Z", "hours": 1.7172, "text": "SystemVerilog Update I haven’t had too much time to work on my project lately, but I have some updates: SystemVerilog is officially done! The project, at it’s current state (I got a lot of stuff planned to add later) is officially done! The CPU is Turing Complete , and can do all of your basic operations, read/write to/from memory, and even has a BIOS mode that redirects memory reads to ROM to load an actual BIOS! This means I can program an OS to be loaded by the BIOS! Inputs and Outputs can now be provided to the CPU by the user! Previously, if you wanted to, for example, see the output of an instruction or provide dynamic data to the CPU, you would have to rewrite the ENTIRE program and hardcode those details into it. Now, with the new UART transciever that runs at a measly Baud Rate of 9600, things like ASCII characters can be both send or recieved to/from the CPU! A bunch of minor upgrades, such as (but not limited to): MMIO (no uses as of right now, but the wiring exists in the CPU), CPU stalls (so that you don’t accidentally read memory that hasn’t been written), an entire interrupt system (with a hardware timer interrupt!), etc. Things I have planned: A Standard Library (as of right now, still on paper :(. Making a list of modules and functions) More MMIO uses (a display output!) VGA drivers (part of the goal for a display output) Emulator Update (for UART experiments) USB drivers? (zero progress currently, but maybe a far-off goal; UART is good enough for now)"}, {"post_id": 25101, "ts": "2026-07-09T02:55:01Z", "hours": 15.2797, "text": "Update: C Compiler and SystemVerilog Done! I’ve been working on my SystemVerilog, and just happened to work on the C– (C-Minus-Minus) compiler on the side! The C compiler is able to take actual C-like code (with a couple caveats) and turn it into assembly code that can then be compiled fully into machine code and run on a SAM32 Chip!"}, {"post_id": 9717, "ts": "2026-06-16T04:18:22Z", "hours": 3.0428, "text": "I’m officially working on my SystemVerilog. I finished the ALU, PC Register, and the Register File, with tests for all of them using AMD Vivado (I plan on flashing to an Artix 7). They have a cool new dark mode, which is way easier on my eyes. I’ve also done a lot of research, specifically on the DMAC, which I plan to add. It’s basically a really small and specialized mini-core of sorts, and its sole purpose is to read from storate and write to memory, then interrupt, and vice versa (this way, the CPU doesn’t waste millions of cycles for the slow hard drive). I’ve already thought about how I want to make mine, and have started drawing one out."}, {"post_id": 8912, "ts": "2026-06-14T20:45:53Z", "hours": 22.9897, "text": "I’ve officially finished the emulator for my CPU! It also includes many debug tools that make developing on my ISA/CPU much easier. The assembler rewrite also supports directives, list files, and is faster overall. You can try it on the web (just a quick emscripten, prob very buggy): https://sam32.samhithe.dev/"}, {"post_id": 3825, "ts": "2026-06-06T21:41:42Z", "hours": 3.275, "text": "I made the Assembler for my CPU! The assembler takes assembly instructions and turns it into actual machine code! I know I said I would work on the SystemVerilog, but I needed a way to test everything first, so I need an emulator and an assembler first…"}, {"post_id": 3267, "ts": "2026-06-06T03:40:29Z", "hours": 3.4894, "text": "I finished my CPU design! I used Digital by Hneemann to wireframe my 32-bit CPU out, the next step is SystemVerilog!"}]...
|
Title: SAM32: Super Awesome Machine 32-Bit by @sam Title: SAM32: Super Awesome Machine 32-Bit by @sammme | Stardance
Devlogs:
I finished my CPU design! I used Digital by Hneemann to wireframe my 32-bit CPU out, the next step is SystemVerilog!
I made the Assembler for my CPU! The assembler takes assembly instructions and turns it into actual machine code! I know I said I would work on the SystemVerilog, but I needed a way to test everything first, so I need an emulator and an assembler first…
I’ve officially finished the emulator for my CPU! It also includes many debug tools that make developing on my ISA/CPU much easier. The assembler rewrite also supports directives, list files, and is faster overall. You can try it on the web (just a quick emscripten, prob very buggy): https://sam32.samhithe.dev/
I’m officially working on my SystemVerilog. I finished the ALU, PC Register, and the Register File, with tests for all of them using AMD Vivado (I plan on flashing to an Artix 7). They have a cool new dark mode, which is way easier on my eyes. I’ve also done a lot of research, specifically on the DMAC, which I plan to add. It’s basically a really small and specialized mini-core of sorts, and its sole purpose is to read from storate and write to memory, then interrupt, and vice versa (this way, the CPU doesn’t waste millions of cycles for the slow hard drive). I’ve already thought about how I want to make mine, and have started drawing one out.
Update: C Compiler and SystemVerilog Done! I’ve been working on my SystemVerilog, and just happened to work on the C– (C-Minus-Minus) compiler on the side! The C compiler is able to take actual C-like code (with a couple caveats) and turn it into assembly code that can then be compiled fully into machine code and run on a SAM32 Chip!
SystemVerilog Update I haven’t had too much time to work on my project lately, but I have some updates: SystemVerilog is officially done! The project, at it’s current state (I got a lot of stuff planned to add later) is officially done! The CPU is Turing Complete , and can do all of your basic operations, read/write to/from memory, and even has a BIOS mode that redirects memory reads to ROM to load an actual BIOS! This means I can program an OS to be loaded by the BIOS! Inputs and Outputs can now be provided to the CPU by the user! Previously, if you wanted to, for example, see the output of an instruction or provide dynamic data to the CPU, you would have to rewrite the ENTIRE program and hardcode those details into it. Now, with the new UART transciever that runs at a measly Baud Rate of 9600, things like ASCII characters can be both send or recieved to/from the CPU! A bunch of minor upgrades, such as (but not limited to): MMIO (no uses as of right now, but the wiring exists in the CPU), CPU stalls (so that you don’t accidentally read memory that hasn’t been written), an entire interrupt system (with a hardware timer interrupt!), etc. Things I have planned: A Standard Library (as of right now, still on paper :(. Making a list of modules and functions) More MMIO uses (a display output!) VGA drivers (part of the goal for a display output) Emulator Update (for UART experiments) USB drivers? (zero progress currently, but maybe a far-off goal; UART is good enough for now)...
|
1793407700.0095432
|
1794012500.0095432
|
|
23920
|
Untitled by @Kika | Stardance
|
Kika
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Kika | Stardance
|
1793407697.9409351
|
1794012497.9409351
|
|
27238
|
LiRover by @yasashvee | Stardance
|
yasashvee
|
0
|
0.83
|
0
|
[]
|
[{"post_id": 18125, "ts": "202 [{"post_id": 18125, "ts": "2026-06-29T04:16:07Z", "hours": 0.8333, "text": "I have begun work on my project, LiRover! I, along with a few friends, will be a creating an RC car with a LiDAR sensor (hence the name LiRover) that will hopefully create a 2D “minimap” of its surroundings. We will be utilizing a Raspberry Pi Zero 2 W, some sensors, arduinos, the LiDAR sensor (obviously), an IMU, all attached to a 3D-printed custom built chassis! The PCB and CAD shall commence in the near future…"}]...
|
Title: LiRover by @yasashvee | Stardance
Devlogs: Title: LiRover by @yasashvee | Stardance
Devlogs:
I have begun work on my project, LiRover! I, along with a few friends, will be a creating an RC car with a LiDAR sensor (hence the name LiRover) that will hopefully create a 2D “minimap” of its surroundings. We will be utilizing a Raspberry Pi Zero 2 W, some sensors, arduinos, the LiDAR sensor (obviously), an IMU, all attached to a 3D-printed custom built chassis! The PCB and CAD shall commence in the near future…...
|
1793407697.0016565
|
1794012497.0016565
|
|
31
|
Serv0 by @RR | Stardance
|
RR
|
0
|
31.92
|
0
|
[]
|
[{"post_id": 22641, "ts": "202 [{"post_id": 22641, "ts": "2026-07-05T06:03:39Z", "hours": 2.9081, "text": "ITS FINALLY DONE Finished up the panels and then shipped the thing"}, {"post_id": 21473, "ts": "2026-07-03T13:18:57Z", "hours": 3.4169, "text": "ITS SO CLOSEEEEEEEEEEEEEEEEEEE. Anyway, I made tensioners and just general random things. Skirts are done, electronics cover is done, the motor mounts actually have a way to attach to the frame in a solid way, I setup the bed heater drawing, and had a decent time. I also did a little bit of looking into panel costs and, apparently, I could put 1/8” steel panels all around this thing for like $100 total. Pretty nice!"}, {"post_id": 21353, "ts": "2026-07-03T07:42:24Z", "hours": 3.8003, "text": "Toolhead :3 Honestly, I don’t hate it. Managed to leave Lookout paused for 2 hours of this because I’m a bit dum, of which I just tweaked the ducts over and over. They’re pretty much as large as I could get them and I like them. The tips are eh, I’ll be changing it to sweep front to back Eventually ™️ This is potentially the thinnest CPAP compatible UHF toolhead, too? It’s the same width as an MGN12 rail, ignoring the protoxtruder mounting. If I switched to a Sherpa Mini with a micro bowden, I could have it fully within the MGN12 all the way up. Pretty cool!"}, {"post_id": 20648, "ts": "2026-07-02T09:23:16Z", "hours": 1.2569, "text": "Well. This thing sure is a toolhead carriage. It’s based off of Ruiqi Mao’s Carveoff toolhead belt clips, because they’re really nice. Just built more for FDM printing now, rather than CNC milled. Managed to also leave Lookout paused for about an hour of working on this total, so that sucks. Oh well. Surprisingly, I don’t entirely hate this carriage. Putting a hotend and extruder on it is…..an interesting task, and one that can definitely be done better. However, I just need to get this thing designed and ordered. then I can redo the toolhead to be competent. My terrible toolhead for this carriage is also shown. It’s really bad. Might work a little though"}, {"post_id": 20592, "ts": "2026-07-02T06:36:08Z", "hours": 2.3739, "text": "Bed! Z Axis! It wasn’t that bad! I was kinda dreading this, honestly. Last time I made a z-axis for a corexy printer, it was…bad. We don’t talk about Monstrosity. However, I’m much much much better at CAD now! Master sketching & in-context part studios made this really easy to line everything up perfectly and get things to line up really nicely. Nicely space efficient & should be decently rigid. Probably could’ve fit triple z in, but that’s a bit harder to design and more expensive. This lil guy has a total of 2 printed parts holding the bed and it’s extrusion frame, which I think is good. Multiple parts means lining things up, a single part means it’s either lined up or the screws don’t go in."}, {"post_id": 20429, "ts": "2026-07-02T00:53:24Z", "hours": 4.7172, "text": "Made some front idlers :3 Had a decent time, also started on the z axis. The idlers are a bit sketchy but I think they’ll come out half decent."}, {"post_id": 15466, "ts": "2026-06-25T04:39:27Z", "hours": 0.7167, "text": "New mount: successfully made! Overall I don’t hate it. Rigidity will be interesting, but I knew that coming in to this. Was able to reuse a lot of sketches and just slapped a couple extra on for things like the front bolt heat set mount thingy. theoretical max travel is now 120.35126. Going to probably try and squeeze another 2mm out."}, {"post_id": 15452, "ts": "2026-06-25T03:48:54Z", "hours": 2.7022, "text": "Gantry design is hard. Light blue part on the left side of the image is the new mount. Fun fact; as part of making this mount I learned that my master sketch was slightly off and in fixing this I made literally every existing part change. Parametric is magical and made it not too annoying to fix, but still. An annoying and confusing half hour. The bearings actually hold the belt in the right spot now, though, so that’s good. Now is when the second photo comes in to play. This is the theoretical absolute maximum travel possible…108mm So now I get to chop the front 12mm off of the mount. Not sure if I should just…remake it from scratch, or what. Might just cut it and one of the part studios will be cooked."}, {"post_id": 10782, "ts": "2026-06-17T18:10:51Z", "hours": 0.6836, "text": "working on the gantry!! i’m trying really really hard to make this thing AS SMALL AS POSSIBLE, without compromising on the mechanical foundation. the normal v0 uses an MGN7H for the Y rails…I don’t like anything under MGN9. So I’m using MGN12. These are notably larger, but they are MUCH more rigid. Considering my gantry has a theoretical power output of >2,000 watts, I want the rigidity. This is going to end up being the most overbuilt v0 on the planet."}, {"post_id": 10454, "ts": "2026-06-17T05:52:15Z", "hours": 0.55, "text": "So these extruders are huge, lol. I’ve been planning to use the BoomBox extruder because I love the thing and want to support James Pray. I almost designed my own, and in fact spent a while trying to, but ended up realizing nema 17’s are cheaper than I thought and I could just use the glorious BoomBox. Unfortunately, I need 4 of them. Which is huge, apparently. Whoops."}, {"post_id": 10444, "ts": "2026-06-17T05:17:58Z", "hours": 8.7908, "text": "Long devlog I know, hardware support has been iffy so here we are lol. I’ve done a lot in this 8h45m, though! This has been entirely focused on gantry work. I’ve gone through so, so, so many revisions. Most of them pretty bad. I’m finally somewhere I’m actually proud of, though! This is what I call the “drive unit”. It’s 2 sheets of 1/4” lasercut steel with dual Rev Robotics NEO v1.1 motors strapped to it. It’s also got a very simplistic belt path designed after the Pandora gantry, except with some insane tensioning capabilities. I still need to finish the drive unit, the tensioner isn’t complete yet. Overally, turns out if you give a Voron v0 a really large backpack, it pretty happily will take 1kw motors. Who knew?"}]...
|
Title: Serv0 by @RR | Stardance
Devlogs:
Long dev Title: Serv0 by @RR | Stardance
Devlogs:
Long devlog I know, hardware support has been iffy so here we are lol. I’ve done a lot in this 8h45m, though! This has been entirely focused on gantry work. I’ve gone through so, so, so many revisions. Most of them pretty bad. I’m finally somewhere I’m actually proud of, though! This is what I call the “drive unit”. It’s 2 sheets of 1/4” lasercut steel with dual Rev Robotics NEO v1.1 motors strapped to it. It’s also got a very simplistic belt path designed after the Pandora gantry, except with some insane tensioning capabilities. I still need to finish the drive unit, the tensioner isn’t complete yet. Overally, turns out if you give a Voron v0 a really large backpack, it pretty happily will take 1kw motors. Who knew?
So these extruders are huge, lol. I’ve been planning to use the BoomBox extruder because I love the thing and want to support James Pray. I almost designed my own, and in fact spent a while trying to, but ended up realizing nema 17’s are cheaper than I thought and I could just use the glorious BoomBox. Unfortunately, I need 4 of them. Which is huge, apparently. Whoops.
working on the gantry!! i’m trying really really hard to make this thing AS SMALL AS POSSIBLE, without compromising on the mechanical foundation. the normal v0 uses an MGN7H for the Y rails…I don’t like anything under MGN9. So I’m using MGN12. These are notably larger, but they are MUCH more rigid. Considering my gantry has a theoretical power output of >2,000 watts, I want the rigidity. This is going to end up being the most overbuilt v0 on the planet.
Gantry design is hard. Light blue part on the left side of the image is the new mount. Fun fact; as part of making this mount I learned that my master sketch was slightly off and in fixing this I made literally every existing part change. Parametric is magical and made it not too annoying to fix, but still. An annoying and confusing half hour. The bearings actually hold the belt in the right spot now, though, so that’s good. Now is when the second photo comes in to play. This is the theoretical absolute maximum travel possible…108mm So now I get to chop the front 12mm off of the mount. Not sure if I should just…remake it from scratch, or what. Might just cut it and one of the part studios will be cooked.
New mount: successfully made! Overall I don’t hate it. Rigidity will be interesting, but I knew that coming in to this. Was able to reuse a lot of sketches and just slapped a couple extra on for things like the front bolt heat set mount thingy. theoretical max travel is now 120.35126. Going to probably try and squeeze another 2mm out.
Made some front idlers :3 Had a decent time, also started on the z axis. The idlers are a bit sketchy but I think they’ll come out half decent.
Bed! Z Axis! It wasn’t that bad! I was kinda dreading this, honestly. Last time I made a z-axis for a corexy printer, it was…bad. We don’t talk about Monstrosity. However, I’m much much much better at CAD now! Master sketching & in-context part studios made this really easy to line everything up perfectly and get things to line up really nicely. Nicely space efficient & should be decently rigid. Probably could’ve fit triple z in, but that’s a bit harder to design and more expensive. This lil guy has a total of 2 printed parts holding the bed and it’s extrusion frame, which I think is good. Multiple parts means lining things up, a single part means it’s either lined up or the screws don’t go in.
Well. This thing sure is a toolhead carriage. It’s based off of Ruiqi Mao’s Carveoff toolhead belt clips, because they’re really nice. Just built more for FDM printing now, rather than CNC milled. Managed to also leave Lookout paused for about an hour of working on this total, so that sucks. Oh well. Surprisingly, I don’t entirely hate this carriage. Putting a hotend and extruder on it is…..an interesting task, and one that can definitely be done better. However, I just need to get this thing designed and ordered. then I can redo the toolhead to be competent. My terrible toolhead for this carriage is also shown. It’s really bad. Might work a little though
Toolhead :3 Honestly, I don’t hate it. Managed to leave Lookout paused for 2 hours of this because I’m a bit dum, of which I just tweaked the ducts over and over. They’re pretty much as large as I could get them and I like them. The tips are eh, I’ll be changing it to sweep front to back Eventually ™️ This is potentially the thinnest CPAP compatible UHF toolhead, too? It’s the same width as an MGN12 rail, ignoring the protoxtruder mounting. If I switched to a Sherpa Mini with a micro bowden, I could have it fully within the MGN12 all the way up. Pretty cool!
ITS SO CLOSEEEEEEEEEEEEEEEEEEE. Anyway, I made tensioners and just general random things. Skirts are done, electronics cover is done, the motor mounts actually have a way to attach to the frame in a solid way, I setup the bed heater drawing, and had a decent time. I also did a little bit of looking into panel costs and, apparently, I could put 1/8” steel panels all around this thing for like $100 total. Pretty nice!
ITS FINALLY DONE Finished up the panels and then shipped the thing...
|
1793407695.7577379
|
1794012495.7577379
|
|
14197
|
Weedl by @sayitha | Stardance
|
sayitha
|
0
|
6.82
|
0
|
[]
|
[{"post_id": 35222, "ts": "202 [{"post_id": 35222, "ts": "2026-07-26T14:53:10Z", "hours": 1.8372, "text": "Schematic is done! Making schematics are usually boring and tedious but I got blessed with the fact that I didn’t run into any issues, so I’m not complaining."}, {"post_id": 34825, "ts": "2026-07-25T20:39:51Z", "hours": 0.7894, "text": "Design Updates Weedl Claw v3.1 I added 3 holes to the claw, which is where the rods that are used to uproot the weedls will be placed. I am still figuring out the exact material for these rods. Small update to wiring diagram Changed the 7.4 V line to 6V line to be able to power the servos Researched better chassis for cheaper price Originally, the chassis I was going to get was $89 dollars. I found a better chassis that $16 less, has spring suspension and a second layer for the LiDAR. Creater “Current Status” section in the readme Note to reviewers: I accidently shared my onshape screen to lookout instead of my github screen when I wrote this section. Please don’t mark it as fraud 😭 I added this section to show others that it’s in progress, and as a place for me to gather everything I have to do."}, {"post_id": 34057, "ts": "2026-07-24T14:48:41Z", "hours": 0.3169, "text": "Created Weedl Claw v3 I created Weedl Claw v3. I made it a half-cylinder, so there is no restriciton on movement. Furthermore, I updated the Weedl Arm and took out the servo cutout to simplify the build."}, {"post_id": 33516, "ts": "2026-07-23T15:06:09Z", "hours": 0.3336, "text": "This is Weedl Arm v3 If you looked in the last Devlog, I created a new design for Weedl’s uprooting mechanism. It takes a lot of inspiration from a claw and fore arm. This entire piece is the forearm of the build. The cutout is where the servo will go for the claw and metal tines."}, {"post_id": 33292, "ts": "2026-07-23T02:33:20Z", "hours": 0.6678, "text": "Weedl Arm Redesign So what happened was I was CADding and trying to get some ideas onto onshape, while learning more about CAD. However, I realized my original design of a excavator was un-optimized. So I decided to start on a clean slate. This new design is based off a claw. The metal tines tip delivers 80+ N mm of force, stronger than the 60 N required to uproot weeds. Let me know if my math is wrong, but I think this is a step in the right direction."}, {"post_id": 32128, "ts": "2026-07-21T02:34:32Z", "hours": 0.5842, "text": "Bill Of Materials Created a BOM to confirm all of the parts needed for this project. Let me know if you see something concerning. I will also update the wiring diagram to make up for the changes in power supply."}, {"post_id": 32042, "ts": "2026-07-20T22:34:17Z", "hours": 1.1014, "text": "Major update to README I looked a couple guides along with Stardance’s resources to figure how I can make my README better. I learned a lot, such as importing photos, using tags, working with the syntax, etc… I personally believe it’s a thousand times better than what I posted in my first log, but I’ll let you guys decide that. The README screenshots are attached but if you want to see the actual github, here is the link: https://github.com/s-ayitha/Weedl"}, {"post_id": 31892, "ts": "2026-07-20T17:22:00Z", "hours": 0.8667, "text": "First Draft of Wiring Diagram I did a bit more research and confimred certain components. As I do more research, I realize that I may need to change certain parts of this wiring diagram going forward. Overall, I think it’s a good start. I’ll add this + the new/updated components to the README in tommorow’s devlog."}, {"post_id": 31509, "ts": "2026-07-19T23:34:18Z", "hours": 0.3194, "text": "README Update 1 Today I created the README for Weedl and I started off by talking about my inspiration for this project. I am nowhere near done, although I hope I can add more and more as I learn and design this project."}]...
|
Title: Weedl by @sayitha | Stardance
Devlogs:
REA Title: Weedl by @sayitha | Stardance
Devlogs:
README Update 1 Today I created the README for Weedl and I started off by talking about my inspiration for this project. I am nowhere near done, although I hope I can add more and more as I learn and design this project.
First Draft of Wiring Diagram I did a bit more research and confimred certain components. As I do more research, I realize that I may need to change certain parts of this wiring diagram going forward. Overall, I think it’s a good start. I’ll add this + the new/updated components to the README in tommorow’s devlog.
Major update to README I looked a couple guides along with Stardance’s resources to figure how I can make my README better. I learned a lot, such as importing photos, using tags, working with the syntax, etc… I personally believe it’s a thousand times better than what I posted in my first log, but I’ll let you guys decide that. The README screenshots are attached but if you want to see the actual github, here is the link: https://github.com/s-ayitha/Weedl
Bill Of Materials Created a BOM to confirm all of the parts needed for this project. Let me know if you see something concerning. I will also update the wiring diagram to make up for the changes in power supply.
Weedl Arm Redesign So what happened was I was CADding and trying to get some ideas onto onshape, while learning more about CAD. However, I realized my original design of a excavator was un-optimized. So I decided to start on a clean slate. This new design is based off a claw. The metal tines tip delivers 80+ N mm of force, stronger than the 60 N required to uproot weeds. Let me know if my math is wrong, but I think this is a step in the right direction.
This is Weedl Arm v3 If you looked in the last Devlog, I created a new design for Weedl’s uprooting mechanism. It takes a lot of inspiration from a claw and fore arm. This entire piece is the forearm of the build. The cutout is where the servo will go for the claw and metal tines.
Created Weedl Claw v3 I created Weedl Claw v3. I made it a half-cylinder, so there is no restriciton on movement. Furthermore, I updated the Weedl Arm and took out the servo cutout to simplify the build.
Design Updates Weedl Claw v3.1 I added 3 holes to the claw, which is where the rods that are used to uproot the weedls will be placed. I am still figuring out the exact material for these rods. Small update to wiring diagram Changed the 7.4 V line to 6V line to be able to power the servos Researched better chassis for cheaper price Originally, the chassis I was going to get was $89 dollars. I found a better chassis that $16 less, has spring suspension and a second layer for the LiDAR. Creater “Current Status” section in the readme Note to reviewers: I accidently shared my onshape screen to lookout instead of my github screen when I wrote this section. Please don’t mark it as fraud 😭 I added this section to show others that it’s in progress, and as a place for me to gather everything I have to do.
Schematic is done! Making schematics are usually boring and tedious but I got blessed with the fact that I didn’t run into any issues, so I’m not complaining....
|
1793407694.5102968
|
1794012494.5102968
|
|
9694
|
Burnout Detector AI by @eshaal_baber1 | Stardance
|
eshaal_baber1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Burnout Detector AI by @eshaal_baber1 | Sta Title: Burnout Detector AI by @eshaal_baber1 | Stardance...
|
1793407691.3863053
|
1794012491.3863053
|
|
36773
|
My very own WebOS by @ABINESH | Stardance
|
ABINESH
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @ABINESH | Stardance
|
1793407689.327011
|
1794012489.327011
|
|
15442
|
Cornilieus by @Falling10fruit | Stardance
|
Falling10fruit
|
0
|
126.33
|
0
|
[]
|
[{"post_id": 80316, "ts": "202 [{"post_id": 80316, "ts": "2026-10-17T08:24:29Z", "hours": 27.3931, "text": "Ah a bit of work here and there amidst A levels. what a shame for those 17 hours. whoops :) made another vite folder within the repositories so I can test out shaders without the other parts of the project getting in the way."}, {"post_id": 48774, "ts": "2026-08-17T09:44:53Z", "hours": 1.9389, "text": "So remember when last time I thought “oh no how to do private prefix arrays”? Well, an hour later and I discovered “Oh, my 2^24 entities can be divided by 256 and then 256 again so I’ll just have to do 3 prefix sums layered one on top of each other on the thread level” I don’t know what happened but my brand new 8 bit radix pass takes 460+ms. Yay"}, {"post_id": 48316, "ts": "2026-08-16T16:59:36Z", "hours": 7.4489, "text": "So I’ve hit a brick wall. gogle told me that to improve my 4 bit radix shader is to do 8 bits at a time to halve the number of passes (and that a byte is industry standard) but I can’t figure out how to like create a private histogram for each of the 256 digits also I got a 72 on math AS levels :P"}, {"post_id": 41934, "ts": "2026-08-06T13:43:28Z", "hours": 15.7667, "text": "Hey guys so I reduced the chunk size so that joints don’t have to hope that there’s at most 16 entities within 16 tiles Also I was reading the dev time of my other project and I accrued almost 6 hours over the limit, whoops :P"}, {"post_id": 31103, "ts": "2026-07-19T07:12:44Z", "hours": 1.75, "text": "I made a pool of unmapped buffers so I can continuously record the time taken so I can clearly see how much worse my changes to the algorithm are."}, {"post_id": 30643, "ts": "2026-07-18T11:47:17Z", "hours": 1.6572, "text": "I tried to optimize sorting by reducing the memory footprint of every thread so they could fit more threads. Mid-bitpacking, I decided to test the pipeline and viola. I’ve doubled execution time. Also rerolls only add like 10% or less of what you initially rolled. Absolute scams"}, {"post_id": 30186, "ts": "2026-07-17T15:37:17Z", "hours": 1.0831, "text": "So by bitpacking I was able to make the array longer while fitting within the shared memory limit. That means that more threads can work on the kogge stone -> larger workgroup size -> less iterations per thread. school’s back btw"}, {"post_id": 29380, "ts": "2026-07-16T09:26:18Z", "hours": 7.0303, "text": "So the sorting system is taking a bit too long, ah well I’ll figure it out. Google says it’s possible to get it fast enough"}, {"post_id": 26708, "ts": "2026-07-11T17:33:06Z", "hours": 8.0044, "text": "So I was trying to visualize the buffer on a helper static website so I can eyedrop data since reading a 16384 length array isn’t efficient but apparently chromium dropped an update that prevents mouse interactions the moment you use their builtin eyedropper so here’s my replacement (not what all 8 hours was spent on pls believe me)"}, {"post_id": 25985, "ts": "2026-07-10T15:13:37Z", "hours": 13.3789, "text": "So I forgot to add rotations to the collision thing. Also I got my first ever Device Lost error yay. No one told me that not posting for over 10 hours will deduct me of my precious work."}, {"post_id": 24278, "ts": "2026-07-07T18:55:34Z", "hours": 8.4122, "text": "some stufff so collisions taking their sweet time with gjk are seperated and moved to the entities_buffer_meta so the gpu can focus on resolving those stubborn collisions look, after several parallel friendly paradigms the last step of my code is this sequential and divergent code"}, {"post_id": 22349, "ts": "2026-07-04T19:39:15Z", "hours": 8.0772, "text": "Man I made a lot of mistakes earlier whoop. Anyways here’s a naive implementation of the support function for the gjk algo. I’m going to move the entity_nodes buffer into shared memory (or at least the collision pair’s colliding mesh nodes into private memory) tomorrow"}, {"post_id": 18412, "ts": "2026-06-29T15:34:11Z", "hours": 1.4953, "text": "Yay yesterday’s issue is fixed, in theory. Man, I haven’t actually like tested any of this code. Should I just print the data from the buffer and eye it or actually try to render it… Cause I’m definitely am going to spend a while getting the render to work in the first place."}, {"post_id": 17822, "ts": "2026-06-28T19:12:22Z", "hours": 2.5992, "text": "I’m almost done with the algo that finds the memory offsets to fit colliding data but uh, I just realized I don’t have space anymore :) I think I’m going to revert last update’s progress. fun"}, {"post_id": 17120, "ts": "2026-06-27T20:03:53Z", "hours": 4.5011, "text": "After doodling a bit, I decided that the collision handling should deal with 8 collision pairs at a time. I forgot how to implement kogge stone which we will need and oh boy do I not know where to put the gjk phase. I’m already taking up 0.8 GiB vram at best. Also, here’s a histogram with nit picking bit packing."}, {"post_id": 13503, "ts": "2026-06-22T03:01:42Z", "hours": 1.6019, "text": "Shuffled buffers around and created a cos sin look up table since entities only have 2^13 possible rotations. Although I am using a 13-bit floating point for rotation velocity but it’s fine. That’s future me’s specifications to implement"}, {"post_id": 10483, "ts": "2026-06-17T07:07:50Z", "hours": 5.5903, "text": "So apparently changing the href attribute of a link means that the website has to request for the css file and wait while the component is loaded instantly causing FOUC So I just copy pasted every css file into the header so the stylesheets are always loaded. And to retain the ability to just id an element as “sidebar” without worrying about conflicts I just wrapped every stylesheet with the id of the main element. I was also optimizing bit unpacking and casting position and restructuring layouts. I swear I didn’t spend all 5 hours just writing 20 lines of code."}, {"post_id": 8293, "ts": "2026-06-13T19:45:11Z", "hours": 0.4575, "text": "Simple readjustment of the velocity precision. Previously the smallest value of the 10-bit float, we’re not going to implement subnormal values, accumulates to shift entities when idle."}, {"post_id": 8229, "ts": "2026-06-13T18:03:46Z", "hours": 1.5025, "text": "Wow I spent eternity making 10 boxes. And still tsx doesn’t like that I imported a png file, I should Google that up one day."}, {"post_id": 7617, "ts": "2026-06-12T18:52:34Z", "hours": 1.9397, "text": "Menu expands with little code. I’m going to run out of functional UI to work on and eventually will have to either fix the aesthetics or make the physics engine."}, {"post_id": 6932, "ts": "2026-06-11T16:52:13Z", "hours": 4.7031, "text": "I’ve been avoiding debugging WGSL learning Solid JS. Incredible UI design I know thank you :)"}]...
|
Title: Cornilieus by @Falling10fruit | Stardance
Title: Cornilieus by @Falling10fruit | Stardance
Devlogs:
I’ve been avoiding debugging WGSL learning Solid JS. Incredible UI design I know thank you :)
Menu expands with little code. I’m going to run out of functional UI to work on and eventually will have to either fix the aesthetics or make the physics engine.
Wow I spent eternity making 10 boxes. And still tsx doesn’t like that I imported a png file, I should Google that up one day.
Simple readjustment of the velocity precision. Previously the smallest value of the 10-bit float, we’re not going to implement subnormal values, accumulates to shift entities when idle.
So apparently changing the href attribute of a link means that the website has to request for the css file and wait while the component is loaded instantly causing FOUC So I just copy pasted every css file into the header so the stylesheets are always loaded. And to retain the ability to just id an element as “sidebar” without worrying about conflicts I just wrapped every stylesheet with the id of the main element. I was also optimizing bit unpacking and casting position and restructuring layouts. I swear I didn’t spend all 5 hours just writing 20 lines of code.
Shuffled buffers around and created a cos sin look up table since entities only have 2^13 possible rotations. Although I am using a 13-bit floating point for rotation velocity but it’s fine. That’s future me’s specifications to implement
After doodling a bit, I decided that the collision handling should deal with 8 collision pairs at a time. I forgot how to implement kogge stone which we will need and oh boy do I not know where to put the gjk phase. I’m already taking up 0.8 GiB vram at best. Also, here’s a histogram with nit picking bit packing.
I’m almost done with the algo that finds the memory offsets to fit colliding data but uh, I just realized I don’t have space anymore :) I think I’m going to revert last update’s progress. fun
Yay yesterday’s issue is fixed, in theory. Man, I haven’t actually like tested any of this code. Should I just print the data from the buffer and eye it or actually try to render it… Cause I’m definitely am going to spend a while getting the render to work in the first place.
Man I made a lot of mistakes earlier whoop. Anyways here’s a naive implementation of the support function for the gjk algo. I’m going to move the entity_nodes buffer into shared memory (or at least the collision pair’s colliding mesh nodes into private memory) tomorrow
some stufff so collisions taking their sweet time with gjk are seperated and moved to the entities_buffer_meta so the gpu can focus on resolving those stubborn collisions look, after several parallel friendly paradigms the last step of my code is this sequential and divergent code
So I forgot to add rotations to the collision thing. Also I got my first ever Device Lost error yay. No one told me that not posting for over 10 hours will deduct me of my precious work.
So I was trying to visualize the buffer on a helper static website so I can eyedrop data since reading a 16384 length array isn’t efficient but apparently chromium dropped an update that prevents mouse interactions the moment you use their builtin eyedropper so here’s my replacement (not what all 8 hours was spent on pls believe me)
So the sorting system is taking a bit too long, ah well I’ll figure it out. Google says it’s possible to get it fast enough
So by bitpacking I was able to make the array longer while fitting within the shared memory limit. That means that more threads can work on the kogge stone -> larger workgroup size -> less iterations per thread. school’s back btw
I tried to optimize sorting by reducing the memory footprint of every thread so they could fit more threads. Mid-bitpacking, I decided to test the pipeline and viola. I’ve doubled execution time. Also rerolls only add like 10% or less of what you initially rolled. Absolute scams
I made a pool of unmapped buffers so I can continuously record the time taken so I can clearly see how much worse my changes to the algorithm are.
Hey guys so I reduced the chunk size so that joints don’t have to hope that there’s at most 16 entities within 16 tiles Also I was reading the dev time of my other project and I accrued almost 6 hours over the limit, whoops :P
So I’ve hit a brick wall. gogle told me that to improve my 4 bit radix shader is to do 8 bits at a time to halve the number of passes (and that a byte is industry standard) but I can’t figure out how to like create a private histogram for each of the 256 digits also I got a 72 on math AS levels :P
So remember when last time I thought “oh no how to do private prefix arrays”? Well, an hour later and I discovered “Oh, my 2^24 entities can be divided by 256 and then 256 again so I’ll just have to do 3 prefix sums layered one on top of each other on the thread level” I don’t know what happened but my brand new 8 bit radix pass takes 460+ms. Yay
Ah a bit of work here and there amidst A levels. what a shame for those 17 hours. whoops :) made another vite folder within the repositories so I can test out shaders without the other parts of the project getting in the way....
|
1793407687.9540792
|
1794012487.9540792
|
|
33014
|
Untitled project by @Tester_Man | Stardance
|
Tester_Man
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Tester_Man | Stardance
|
1793407687.067061
|
1794012487.067061
|
|
1605
|
My awesome macropad! by @hihackclub9 | Stardance
|
hihackclub9
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @hihackclub9 | Star Title: My awesome macropad! by @hihackclub9 | Stardance...
|
1793407686.1764321
|
1794012486.1764321
|
|
31542
|
Mecanum wheel rc-car via wifi by @RuneVC | Stardan Mecanum wheel rc-car via wifi by @RuneVC | Stardance...
|
RuneVC
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Mecanum wheel rc-car via wifi by @RuneVC | Title: Mecanum wheel rc-car via wifi by @RuneVC | Stardance...
|
1793407685.2376595
|
1794012485.2376595
|
|
10964
|
Quotepapers by @iWombat | Stardance
|
iWombat
|
0
|
0.99
|
0
|
[]
|
[{"post_id": 4213, "ts": "2026 [{"post_id": 4213, "ts": "2026-06-07T13:26:33Z", "hours": 0.9911, "text": "I just finished the first prototype! please test it: iwombat300.github.io/QuoteCanvas/"}]...
|
Title: Quotepapers by @iWombat | Stardance
Devlog Title: Quotepapers by @iWombat | Stardance
Devlogs:
I just finished the first prototype! please test it: iwombat300.github.io/QuoteCanvas/...
|
1793407684.319836
|
1794012484.319836
|
|
28219
|
Frictionless by @pared | Stardance
|
pared
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @pared | Stardance
|
1793407683.396188
|
1794012483.396188
|
|
36241
|
My own site! by @Advay_Tyagi | Stardance
|
Advay_Tyagi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @Advay_Tyagi | Stardance
|
1793407682.4794924
|
1794012482.4794924
|
|
7032
|
My first slack bot! by @dashsoumya849 | Stardance
|
dashsoumya849
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @dashsoumya849 | Sta Title: My first slack bot! by @dashsoumya849 | Stardance...
|
1793407680.3983743
|
1794012480.3983743
|
|
17651
|
Untitled by @YALFitian | Stardance
|
YALFitian
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @YALFitian | Stardance
|
1793407677.9310496
|
1794012477.9310496
|
|
32512
|
Untitled project by @dudipista12 | Stardance
|
dudipista12
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @dudipista12 | Stardanc Title: Untitled project by @dudipista12 | Stardance...
|
1793407676.2987506
|
1794012476.2987506
|
|
7052
|
stuff by @friday | Stardance
|
friday
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: stuff by @friday | Stardance
|
1793407672.961903
|
1794012472.961903
|
|
31706
|
My awesome macropad! by @balanandan303 | Stardance
|
balanandan303
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @balanandan303 | St Title: My awesome macropad! by @balanandan303 | Stardance...
|
1793407672.0607903
|
1794012472.0607903
|
|
3771
|
FRESH by @awildsundar | Stardance
|
awildsundar
|
0
|
10.55
|
0
|
[]
|
[{"post_id": 4210, "ts": "2026 [{"post_id": 4210, "ts": "2026-06-07T13:22:27Z", "hours": 9.2958, "text": "fixed 2 game-breaking bugs and discovered new ones i swear my project is a rotting apple with how many bugs are in here, managed to fix a bug where upon death enemies would switch to the attack state on the last frame, and another where when switching characters the animations would glitch wait did i mention that you can switch characters? it’s a core mechanic in FRESH, by holding TAB the player can switch to another character in their view! its a bit jank and needs some visual feedback, but its feeling quite nice so far :) however theres a bug where if a locked-on enemy dies it stays locked-on, to be honest i have no clue how to fix this without refactoring my code so i guess ill just cry"}, {"post_id": 616, "ts": "2026-06-02T03:38:57Z", "hours": 1.2503, "text": "Finished up the combat basics! The player can now hurt and be hurt, dash away from enemies, and lock-on to different targets. It’s quite jank at the moment, the player cannot attack and move at the same time, and more work needs to be done on the animation blending, but on the whole I’m very happy with how the combat is looking :)"}]...
|
Title: FRESH by @awildsundar | Stardance
Devlogs: Title: FRESH by @awildsundar | Stardance
Devlogs:
Finished up the combat basics! The player can now hurt and be hurt, dash away from enemies, and lock-on to different targets. It’s quite jank at the moment, the player cannot attack and move at the same time, and more work needs to be done on the animation blending, but on the whole I’m very happy with how the combat is looking :)
fixed 2 game-breaking bugs and discovered new ones i swear my project is a rotting apple with how many bugs are in here, managed to fix a bug where upon death enemies would switch to the attack state on the last frame, and another where when switching characters the animations would glitch wait did i mention that you can switch characters? it’s a core mechanic in FRESH, by holding TAB the player can switch to another character in their view! its a bit jank and needs some visual feedback, but its feeling quite nice so far :) however theres a bug where if a locked-on enemy dies it stays locked-on, to be honest i have no clue how to fix this without refactoring my code so i guess ill just cry...
|
1793407671.153994
|
1794012471.153994
|
|
26491
|
Untitled by @muhammadhs2910 | Stardance
|
muhammadhs2910
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @muhammadhs2910 | Stardance
|
1793407669.0544941
|
1794012469.0544941
|
|
21267
|
Predictive Health Monitoring System for Space Elec Predictive Health Monitoring System for Space Electronics by @Skyler_Chuan | Stardance...
|
Skyler_Chuan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Predictive Health Monitoring System for Spa Title: Predictive Health Monitoring System for Space Electronics by @Skyler_Chuan | Stardance...
|
1793407668.1237214
|
1794012468.1237214
|
|
667
|
Untitled by @Rohan | Stardance
|
Rohan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Rohan | Stardance
|
1793407667.1940906
|
1794012467.1940906
|
|
20506
|
My very own WebOS by @Adarsh_Prakash | Stardance
|
Adarsh_Prakash
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Adarsh_Prakash | Star Title: My very own WebOS by @Adarsh_Prakash | Stardance...
|
1793407666.2831595
|
1794012466.2831595
|
|
16721
|
My very own WebOS by @Zizik | Stardance
|
Zizik
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Zizik | Stardance
|
1793407665.4120886
|
1794012465.4120886
|
|
13493
|
My very own WebOS by @Alan | Stardance
|
Alan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Alan | Stardance
|
1793407664.4837859
|
1794012464.4837859
|
|
1724
|
My awesome macropad! by @fkurt97 | Stardance
|
fkurt97
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @fkurt97 | Stardanc Title: My awesome macropad! by @fkurt97 | Stardance...
|
1793407661.7422128
|
1794012461.7422128
|
|
7566
|
cam by @christian | Stardance
|
christian
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: cam by @christian | Stardance
|
1793407660.827948
|
1794012460.827948
|
|
15991
|
My very own WebOS by @Sudsy | Stardance
|
Sudsy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Sudsy | Stardance
|
1793407659.9318256
|
1794012459.9318256
|
|
19540
|
My very own WebOS by @samuel798f | Stardance
|
samuel798f
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @samuel798f | Stardanc Title: My very own WebOS by @samuel798f | Stardance...
|
1793407656.6622522
|
1794012456.6622522
|
|
1684
|
---- by @glacialSkyfarer | Stardance
|
glacialSkyfarer
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ---- by @glacialSkyfarer | Stardance
|
1793407655.7854428
|
1794012455.7854428
|
|
34862
|
My own site! by @sharmagiridhar21 | Stardance
|
sharmagiridhar21
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @sharmagiridhar21 | Stardan Title: My own site! by @sharmagiridhar21 | Stardance...
|
1793407654.8690407
|
1794012454.8690407
|
|
25770
|
Untitled by @Sockmuffin | Stardance
|
Sockmuffin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Sockmuffin | Stardance
|
1793407652.7625866
|
1794012452.7625866
|
|
19416
|
A thingy by @safwat | Stardance
|
safwat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: A thingy by @safwat | Stardance
|
1793407651.829234
|
1794012451.829234
|
|
37777
|
Untitled project by @daschdrioooo | Stardance
|
daschdrioooo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @daschdrioooo | Stardan Title: Untitled project by @daschdrioooo | Stardance...
|
1793407649.6029787
|
1794012449.6029787
|
|
26423
|
FOOTBALLIQ by @Yasaswi | Stardance
|
Yasaswi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: FOOTBALLIQ by @Yasaswi | Stardance
|
1793407648.674449
|
1794012448.674449
|
|
60487
|
My own site! by @Zelleo | Stardance
|
Zelleo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @Zelleo | Stardance
|
1793407647.7938085
|
1794271647.7938085
|
|
6491
|
My awesome macropad! by @fkeblas | Stardance
|
fkeblas
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @fkeblas | Stardanc Title: My awesome macropad! by @fkeblas | Stardance...
|
1793407646.8556023
|
1794012446.8556023
|
|
34764
|
My very own WebOS by @vishal_007 | Stardance
|
vishal_007
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @vishal_007 | Stardanc Title: My very own WebOS by @vishal_007 | Stardance...
|
1793407644.6552396
|
1794012444.6552396
|
|
15812
|
My awesome macropad! by @cheesecat | Stardance
|
cheesecat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @cheesecat | Starda Title: My awesome macropad! by @cheesecat | Stardance...
|
1793407642.3418956
|
1794012442.3418956
|
|
10095
|
My awesome macropad! by @LightY | Stardance
|
LightY
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @LightY | Stardance
|
1793407639.9320886
|
1794012439.9320886
|
|
14157
|
My very own WebOS by @hayun | Stardance
|
hayun
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @hayun | Stardance
|
1793407637.3697464
|
1794012437.3697464
|
|
29584
|
Tag System by @MaddiefromBelow | Stardance
|
MaddiefromBelow
|
0
|
21.19
|
0
|
[]
|
[{"post_id": 84012, "ts": "202 [{"post_id": 84012, "ts": "2026-10-29T01:23:39Z", "hours": 12.7772, "text": "added a bunch of tests yeahh that’s pretty much it testing is a pain </3 I also planned out some new features but implementing them is gonna have to come second to the fact that I switched from MacOS to Linux and discovered you can’t hard-link directories over here which is kinda rough for me cus like. that was the core mechanic around which my system worked. We’ll see what happens in the future, but it’s functional on mac 🤷♀️"}, {"post_id": 20398, "ts": "2026-07-01T23:58:31Z", "hours": 8.4081, "text": "Log 1: Basic implementation of tagging system This is kind of big for my first log, because I wasn’t initially planning on putting this on stardance. Essentially, a few years ago I came across a video I’m not going to link where the youtuber detailed their troubled search for a good tag-based filesystem, before ultimately resorting to implementing their own. I thought that seemed pretty cool, and despite the fact I’ve never used nor felt a need for a tag-based system, I downloaded the project to try it out. I was immediately struck by two things: The released binaries wouldn’t launch, throwing numerous errors. When I eventually solved them all manually (expected packages not being present etc.), the app ran slowly and painfully. The project. Was written. Entirely. In python. Look. There’s nothing wrong with python. It’s a useful language with many valid applications. At the same time. REALLY? This is the best we can do? IDK there was something that struck me as so lackluster about it that my immediate reaction was ‘I could do better than that.’ So here I now am to do just that. The lightbulb moment that brought me back to the project a week or so ago was that I could probably implement the whole thing with directories and symlinks. Basically, if I create a directory tree in which each directory is a tag and each file that has a symlink in that directory has that tag, then I have the capacity to apply as many tags as I want to a given file, I have the ability to nest tags, and searching these tags should be as easy as navigating a typical filesystem. At a very basic level, this first log contains all those functions. You can add tags, remove tags, tag files, and search the tags, though each one of these functions has issues. Things I plan to resolve in the future include, but are not limited to: Tag adding/management: Multiple inheritance for child tags. Should be able to do this with symlinks. Finding a way to detect tagged files moving. Currently, this breaks my symlinks, invalidating the whole process. One possible solution is removing the files from the user: locking them in a directory that can’t be modified. This sucks and is bad because it means that you have to surrender a classical filing system to use the tag-based one. Ideally, this system should be a neat addition to the system. Searching: Nested tags should be searchable without using the full filepath from the base tag for convenience. This brings up the potential for collisions; I should be able to handle this somehow. Short of a full scan of the directory, the only way I can think of to do this is to keep a log of the directory structure, which I prefer not to do because it defeats the point of it being directory by default. There should be a command to list all current tags. There are also other bugs and behaviours I need to fix/improve. This project is also an experiment with test driven development for me, something I’ve heard much about yet not really played with much. Currently, all tests pass; I expect that to change soon. I wanna make my code a lot less ugly rn too because I don’t like it rn. Once the CLI is in a stable state, I plan on implementing a UI in iced-rs, which will really just be a frontend that calls the CLI. (Also considering figuring out how to rewrite the CLI as a library that I can use directly, but CLI functionality is a priority.) uuh yeah that’s it for now don’t forget to like and subscribe for more epic tagging content. Also if anyone actually thinks a tagging system would be useful for them please reach out with suggestions because I doubt im ever actually gonna use this system lol it just seemed fun to make. okibaii"}]...
|
Title: Tag System by @MaddiefromBelow | Stardance
Title: Tag System by @MaddiefromBelow | Stardance
Devlogs:
Log 1: Basic implementation of tagging system This is kind of big for my first log, because I wasn’t initially planning on putting this on stardance. Essentially, a few years ago I came across a video I’m not going to link where the youtuber detailed their troubled search for a good tag-based filesystem, before ultimately resorting to implementing their own. I thought that seemed pretty cool, and despite the fact I’ve never used nor felt a need for a tag-based system, I downloaded the project to try it out. I was immediately struck by two things: The released binaries wouldn’t launch, throwing numerous errors. When I eventually solved them all manually (expected packages not being present etc.), the app ran slowly and painfully. The project. Was written. Entirely. In python. Look. There’s nothing wrong with python. It’s a useful language with many valid applications. At the same time. REALLY? This is the best we can do? IDK there was something that struck me as so lackluster about it that my immediate reaction was ‘I could do better than that.’ So here I now am to do just that. The lightbulb moment that brought me back to the project a week or so ago was that I could probably implement the whole thing with directories and symlinks. Basically, if I create a directory tree in which each directory is a tag and each file that has a symlink in that directory has that tag, then I have the capacity to apply as many tags as I want to a given file, I have the ability to nest tags, and searching these tags should be as easy as navigating a typical filesystem. At a very basic level, this first log contains all those functions. You can add tags, remove tags, tag files, and search the tags, though each one of these functions has issues. Things I plan to resolve in the future include, but are not limited to: Tag adding/management: Multiple inheritance for child tags. Should be able to do this with symlinks. Finding a way to detect tagged files moving. Currently, this breaks my symlinks, invalidating the whole process. One possible solution is removing the files from the user: locking them in a directory that can’t be modified. This sucks and is bad because it means that you have to surrender a classical filing system to use the tag-based one. Ideally, this system should be a neat addition to the system. Searching: Nested tags should be searchable without using the full filepath from the base tag for convenience. This brings up the potential for collisions; I should be able to handle this somehow. Short of a full scan of the directory, the only way I can think of to do this is to keep a log of the directory structure, which I prefer not to do because it defeats the point of it being directory by default. There should be a command to list all current tags. There are also other bugs and behaviours I need to fix/improve. This project is also an experiment with test driven development for me, something I’ve heard much about yet not really played with much. Currently, all tests pass; I expect that to change soon. I wanna make my code a lot less ugly rn too because I don’t like it rn. Once the CLI is in a stable state, I plan on implementing a UI in iced-rs, which will really just be a frontend that calls the CLI. (Also considering figuring out how to rewrite the CLI as a library that I can use directly, but CLI functionality is a priority.) uuh yeah that’s it for now don’t forget to like and subscribe for more epic tagging content. Also if anyone actually thinks a tagging system would be useful for them please reach out with suggestions because I doubt im ever actually gonna use this system lol it just seemed fun to make. okibaii
added a bunch of tests yeahh that’s pretty much it testing is a pain </3 I also planned out some new features but implementing them is gonna have to come second to the fact that I switched from MacOS to Linux and discovered you can’t hard-link directories over here which is kinda rough for me cus like. that was the core mechanic around which my system worked. We’ll see what happens in the future, but it’s functional on mac 🤷♀️...
|
1793407635.7487237
|
1794012435.7487237
|
|
19802
|
Frictionless by @senn | Stardance
|
senn
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @senn | Stardance
|
1793407634.8257515
|
1794012434.8257515
|
|
36363
|
Frictionless by @Yashitashukla | Stardance
|
Yashitashukla
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @Yashitashukla | Stardance
|
1793407633.9154696
|
1794012433.9154696
|
|
7093
|
Untitled by @syed_hasan | Stardance
|
syed_hasan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @syed_hasan | Stardance
|
1793407631.7131665
|
1794012431.7131665
|
|
39179
|
An Automatic Dependent Surveillance-Broadcast (ADS An Automatic Dependent Surveillance-Broadcast (ADS-B) by @Mustheeeeee | Stardance...
|
Mustheeeeee
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: An Automatic Dependent Surveillance-Broadca Title: An Automatic Dependent Surveillance-Broadcast (ADS-B) by @Mustheeeeee | Stardance...
|
1793407630.192974
|
1794012430.192974
|
|
16575
|
My awesome macropad! by @Dafni | Stardance
|
Dafni
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Dafni | Stardance
|
1793407629.2736406
|
1794012429.2736406
|
|
900
|
Nox Agronomia by @aroderg | Stardance
|
aroderg
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Nox Agronomia by @aroderg | Stardance
|
1793407628.013587
|
1794012428.013587
|
|
22232
|
My very own WebOS by @cydean | Stardance
|
cydean
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @cydean | Stardance
|
1793407627.0436876
|
1794012427.0436876
|