|
22050
|
pjboard by @pj | Stardance
|
pj
|
0
|
0.28
|
0
|
[]
|
[{"post_id": 15419, "ts": "202 [{"post_id": 15419, "ts": "2026-06-25T01:55:37Z", "hours": 0.2836, "text": "Today, I started looking at other split keyboards, like the voyager. Then I moved onto more like the Geist Geist, Plaid and then moved onto a keyboard like the corne wich I liked. In the end, I decided on a 5 column layout with three switches for the thumb. Here are pictures of the brainstorming + the VERY start of my KiCad."}]...
|
Title: pjboard by @pj | Stardance
Devlogs:
Today, Title: pjboard by @pj | Stardance
Devlogs:
Today, I started looking at other split keyboards, like the voyager. Then I moved onto more like the Geist Geist, Plaid and then moved onto a keyboard like the corne wich I liked. In the end, I decided on a 5 column layout with three switches for the thumb. Here are pictures of the brainstorming + the VERY start of my KiCad....
|
1792806500.2708461
|
1793411300.2708461
|
|
34316
|
My very own WebOS by @Danklin_EC | Stardance
|
Danklin_EC
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Danklin_EC | Stardanc Title: My very own WebOS by @Danklin_EC | Stardance...
|
1792806501.111181
|
1793411301.111181
|
|
25600
|
My awesome macropad! by @rylee | Stardance
|
rylee
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @rylee | Stardance
|
1792806501.9953966
|
1793411301.9953966
|
|
25413
|
Untitled by @ryan134568 | Stardance
|
ryan134568
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @ryan134568 | Stardance
|
1792806502.8447042
|
1793411302.8447042
|
|
38854
|
Pulsandola by @slecesama | Stardance
|
slecesama
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-26T15:11:15Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "this is the first time i dealt with APIs and it was really challenging, thankfully i had a friend of mine and ai that helped me understand some things more deeply and eventually i succeded and im happy with how it turned out! it has 3 widgets, the nasa one, an animal facts one (all facts are stored locally, all customized by my friend) and a weather one. it also has a lil blackjack for when i’m bored. idk if my favorite things are the backgrounds (that i got from reactbits) or the blackjack but im happy about them either way", "repo": "https://github.com/pickledroided/pulsandola", "demo": "https://pickledroided.github.io/pulsandola/"}]...
|
[{"post_id": 35227, "ts": "202 [{"post_id": 35227, "ts": "2026-07-26T15:07:05Z", "hours": 0.8639, "text": "**DEVLOG #04 it’s ready to ship! i added a new widget that displays sicily’s hottest cities (including mine even when it’s not in the top 5 hottest) i fixed the blackjack rules not being set properly and tried fixing the nasa API key that failed to fetch everytime and looked up that it’s their problem rn and not mine so i made a fallback that displays the one from yesterday. i used ponytail to optimize, code review and get rid of the ai slop that helped me fix these things and now it’s ready! i really like it and hopefully i will not be the only one using it :c"}, {"post_id": 34639, "ts": "2026-07-25T15:12:40Z", "hours": 1.5069, "text": "**DEVLOG #03 bgbg i added a lotta things on my free time and the main things are: background selecter: choose bether the galaxy one (the previous one) and this one. shoutout to reactbits.dev, where i got them both from blackjack player: i really like blackjack (not gambling tho) so i thought it would be cool to just add a lil minigame tweaks to widgets: made them bigger so they fit everything, still dont know what to add to the third one still have a lot of optimization work to do and code review, but after that and adding the third widget it will be ready to ship!"}, {"post_id": 34034, "ts": "2026-07-24T13:41:18Z", "hours": 1.3606, "text": "**DEVLOG #02 i revamped the look, even tho rn it’s just a basic layout and added the favorites urls that i can add locally. made the default research engine google but i will make it so u can change search engines such as brave, duckduck etc. and added this widget that displays some fun facts about animals said by my fellow friend who is knows a lot about em. adjusted some looks and css and i have some other ideas in mind that i will post about in a next devlog"}, {"post_id": 33796, "ts": "2026-07-24T00:38:30Z", "hours": 1.0792, "text": "**DEVLOG #01 hi i am now working on this new mission and i am liking it so far! i followed every single step in the guide and got my api key from nasa and this is what it shows today! the only thing that i’ve done other than that was to use a background from reactbits (i love them) and some basic css. still don’t know what to add and what purpose it will have, but im having fun"}]...
|
Title: Pulsandola by @slecesama | Stardance
Devlo Title: Pulsandola by @slecesama | Stardance
Devlogs:
**DEVLOG #01 hi i am now working on this new mission and i am liking it so far! i followed every single step in the guide and got my api key from nasa and this is what it shows today! the only thing that i’ve done other than that was to use a background from reactbits (i love them) and some basic css. still don’t know what to add and what purpose it will have, but im having fun
**DEVLOG #02 i revamped the look, even tho rn it’s just a basic layout and added the favorites urls that i can add locally. made the default research engine google but i will make it so u can change search engines such as brave, duckduck etc. and added this widget that displays some fun facts about animals said by my fellow friend who is knows a lot about em. adjusted some looks and css and i have some other ideas in mind that i will post about in a next devlog
**DEVLOG #03 bgbg i added a lotta things on my free time and the main things are: background selecter: choose bether the galaxy one (the previous one) and this one. shoutout to reactbits.dev, where i got them both from blackjack player: i really like blackjack (not gambling tho) so i thought it would be cool to just add a lil minigame tweaks to widgets: made them bigger so they fit everything, still dont know what to add to the third one still have a lot of optimization work to do and code review, but after that and adding the third widget it will be ready to ship!
**DEVLOG #04 it’s ready to ship! i added a new widget that displays sicily’s hottest cities (including mine even when it’s not in the top 5 hottest) i fixed the blackjack rules not being set properly and tried fixing the nasa API key that failed to fetch everytime and looked up that it’s their problem rn and not mine so i made a fallback that displays the one from yesterday. i used ponytail to optimize, code review and get rid of the ai slop that helped me fix these things and now it’s ready! i really like it and hopefully i will not be the only one using it :c
Ships:
this is the first time i dealt with APIs and it was really challenging, thankfully i had a friend of mine and ai that helped me understand some things more deeply and eventually i succeded and im happy with how it turned out! it has 3 widgets, the nasa one, an animal facts one (all facts are stored locally, all customized by my friend) and a weather one. it also has a lil blackjack for when i’m bored. idk if my favorite things are the backgrounds (that i got from reactbits) or the blackjack but im happy about them either way...
|
1793324902.9853208
|
1793411302.9853208
|
|
20203
|
My first slack bot! by @rahmazun08 | Stardance
|
rahmazun08
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @rahmazun08 | Starda Title: My first slack bot! by @rahmazun08 | Stardance...
|
1792806503.680115
|
1793411303.680115
|
|
35485
|
Hybrid Drone + Submarine by @Kaito | Stardance
|
Kaito
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Hybrid Drone + Submarine by @Kaito | Starda Title: Hybrid Drone + Submarine by @Kaito | Stardance...
|
1792806504.5411599
|
1793411304.5411599
|
|
47357
|
Cosmic conqueror by @ayaan17120 | Stardance
|
ayaan17120
|
1
|
44.0
|
615
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-24T20:29:24Z", "hours": 44.0, "multiplier": 13.86, "payout": 615, "blessing": "neutral", "text": "i made a game called the cosmic conqueror, the adventures of mishi, this game is something i worked and it honestly was reallt tiring, i got stuvk like a million times for small errors and it was really tiring. i love this game but now after doing everything i realised i have put every effort intp and i lovr this despite anything. i made a small error tho, to the space riddle, i didnt change the question so there are two blackhole riddles, but the answer to one is space", "repo": "https://github.com/Jsvuskgxixylsurdoyc/COSMIC-CONQUUEROR", "demo": "https://qaziiiayaan.itch.io/cosmic-conqueror"}]...
|
[{"post_id": 54033, "ts": "202 [{"post_id": 54033, "ts": "2026-08-24T19:46:19Z", "hours": 4.7894, "text": "i finally added all the start pause game over, complete scenes and finallt put all of these guys intop thier respective places and the game is finally complete"}, {"post_id": 53058, "ts": "2026-08-23T13:38:16Z", "hours": 3.9117, "text": "I coded these interactive riddle walls basically, you walk up to a dead end, a UI pops up, and you have to type in the exact right password to a riddle. If you get it right, the wall literally deletes itself and clears the path. I placed four of these riddle gates across the map. Getting the UI to actually work was a nightmare though. but now I finally have actual on-screen popups that yell ‘Right Answer!’ or ‘Wrong Answer!’ in your face and fade out after a couple of seconds. On top of that, I built out the whole Space Key fragment mechanic and completely mapped out the dungeon layout. You start in this bottom tunnel, solve your way through the main gates, and then have to survive branching left and right mazes to hunt down these key fragments. I set it all up so you’ll eventually have to clear a central boss arena and fight off skeleton mage ambushes just to get the pieces. I also spent way too long fixing dumb bugs like my character freezing mid-run when opening a menu, or endlessly jumping against flat walls like an idiot because of broken physics code. But I locked the movement inputs down, and it finally actually plays like a real dungeon crawler. The grind was unreal, but we’re locked in now."}, {"post_id": 52527, "ts": "2026-08-22T18:05:25Z", "hours": 3.2258, "text": "Today, I mapped out the core layout for my game and officially shifted the concept to a sci-fi “space dungeon.” The main loop is now focused on exploring the map, fighting through various enemies, and eventually finding a way to escape back to your home planet. To make the exploration actually matter, I decided to add a collectible space key that the player must find to unlock the final escape shuttle. After some trial and error with the engine’s physics, I successfully got the key fully implemented and working. With the escape puzzle finished, I am ready to move on and start building out the rest of the stuff, like the enemies and boss fights!"}, {"post_id": 51768, "ts": "2026-08-21T16:38:51Z", "hours": 1.6261, "text": "today i jus worked on player animations, added different spells and added drain and limit systems for that, and i also added stamina drain systems"}, {"post_id": 51155, "ts": "2026-08-20T17:29:56Z", "hours": 1.6436, "text": "today i couldnt do much. i jus fixed a lot of bugs. and i also started to work on the abilities of the player and what they can do"}, {"post_id": 50415, "ts": "2026-08-19T16:08:32Z", "hours": 5.0589, "text": "i added the projectile attacks, made them work for anyday. and made sure the attacks are perfect and fixed the bugs and now working on ui, too tired to post a screenshot, sorry guys :)"}, {"post_id": 49721, "ts": "2026-08-18T17:07:48Z", "hours": 2.6131, "text": "today i did a lot of work, i added the attack mechanics and made my player get attacked and attack. its not only animation now it works, now ive to work on the projectiles and health bars and make sure the player dies actually, so this is all very cool"}, {"post_id": 48890, "ts": "2026-08-17T13:37:17Z", "hours": 2.4631, "text": "first i added the skeleton warrior and did everything related to him Then I added the new Skeleton Mage, and oh my god, this guy gave me so many headaches. Whenever I clicked on him, the editor threw this weird float and bool mismatch error. I had to go into the animation tracks and change the update mode to discrete so the engine wouldn’t freak out. And then, after writing all the codes and doing everything, he STILL wasn’t attacking me. I made sure the script was perfect, right? But then I realized I plugged the wires backwards in the Animation Tree… I literally had the move state plugged into the shot port. Fixed that, and he still wasn’t shooting. Why? Because I just forgot to tick the ‘Autostart’ box on his attack timer. Honestly so annoying."}, {"post_id": 48377, "ts": "2026-08-16T18:14:54Z", "hours": 3.67, "text": "Worked on setting up and fixing the boss AI and animation state machine in Godot. Got the base movement working, fixed the attack timer pacing so the boss doesn’t instantly spam ranged attacks from across the map, and successfully resolved the issue where the boss kept playing the running/walking animation in place instead of returning to idle. Decided to temporarily shelf the spin attack feature by commenting out the code to keep things simple for now, and finalized a smooth, working combat loop with proper melee and ranged states."}, {"post_id": 48023, "ts": "2026-08-16T09:38:10Z", "hours": 4.2953, "text": "#devlog so finally i am done with the player mechanics completely, my player now blinks jumps runs walks, sprints, can defend using a sheild, can attack with a sword and can switch to a wand and attack using that. now ill start working on the attack mechanics and the enemies"}, {"post_id": 47392, "ts": "2026-08-15T09:42:46Z", "hours": 3.8317, "text": "right now i first addeed the sprint and jump to the capsule and then i finally added the chharacter and his animations and made those animations work, jump run and idle"}, {"post_id": 47024, "ts": "2026-08-14T16:50:48Z", "hours": 3.6786, "text": "earlier i messed up and put everything in one scene, i had to redo everything and fixed it, plus i added spring and did everything related to the camera. now im workingg on the jump"}, {"post_id": 46809, "ts": "2026-08-14T10:05:00Z", "hours": 3.5264, "text": "i am working on survival game which is inspired from the legend of zelda in which you kill the final boss of another planet and escape on your shuttle. right now i have made the base and the character, i have coded the character and the camera controls, gave the camera basic code to follow the character and basic rotational mechanics"}]...
|
Title: Cosmic conqueror by @ayaan17120 | Stardance Title: Cosmic conqueror by @ayaan17120 | Stardance
Devlogs:
i am working on survival game which is inspired from the legend of zelda in which you kill the final boss of another planet and escape on your shuttle. right now i have made the base and the character, i have coded the character and the camera controls, gave the camera basic code to follow the character and basic rotational mechanics
earlier i messed up and put everything in one scene, i had to redo everything and fixed it, plus i added spring and did everything related to the camera. now im workingg on the jump
right now i first addeed the sprint and jump to the capsule and then i finally added the chharacter and his animations and made those animations work, jump run and idle
#devlog so finally i am done with the player mechanics completely, my player now blinks jumps runs walks, sprints, can defend using a sheild, can attack with a sword and can switch to a wand and attack using that. now ill start working on the attack mechanics and the enemies
Worked on setting up and fixing the boss AI and animation state machine in Godot. Got the base movement working, fixed the attack timer pacing so the boss doesn’t instantly spam ranged attacks from across the map, and successfully resolved the issue where the boss kept playing the running/walking animation in place instead of returning to idle. Decided to temporarily shelf the spin attack feature by commenting out the code to keep things simple for now, and finalized a smooth, working combat loop with proper melee and ranged states.
first i added the skeleton warrior and did everything related to him Then I added the new Skeleton Mage, and oh my god, this guy gave me so many headaches. Whenever I clicked on him, the editor threw this weird float and bool mismatch error. I had to go into the animation tracks and change the update mode to discrete so the engine wouldn’t freak out. And then, after writing all the codes and doing everything, he STILL wasn’t attacking me. I made sure the script was perfect, right? But then I realized I plugged the wires backwards in the Animation Tree… I literally had the move state plugged into the shot port. Fixed that, and he still wasn’t shooting. Why? Because I just forgot to tick the ‘Autostart’ box on his attack timer. Honestly so annoying.
today i did a lot of work, i added the attack mechanics and made my player get attacked and attack. its not only animation now it works, now ive to work on the projectiles and health bars and make sure the player dies actually, so this is all very cool
i added the projectile attacks, made them work for anyday. and made sure the attacks are perfect and fixed the bugs and now working on ui, too tired to post a screenshot, sorry guys :)
today i couldnt do much. i jus fixed a lot of bugs. and i also started to work on the abilities of the player and what they can do
today i jus worked on player animations, added different spells and added drain and limit systems for that, and i also added stamina drain systems
Today, I mapped out the core layout for my game and officially shifted the concept to a sci-fi “space dungeon.” The main loop is now focused on exploring the map, fighting through various enemies, and eventually finding a way to escape back to your home planet. To make the exploration actually matter, I decided to add a collectible space key that the player must find to unlock the final escape shuttle. After some trial and error with the engine’s physics, I successfully got the key fully implemented and working. With the escape puzzle finished, I am ready to move on and start building out the rest of the stuff, like the enemies and boss fights!
I coded these interactive riddle walls basically, you walk up to a dead end, a UI pops up, and you have to type in the exact right password to a riddle. If you get it right, the wall literally deletes itself and clears the path. I placed four of these riddle gates across the map. Getting the UI to actually work was a nightmare though. but now I finally have actual on-screen popups that yell ‘Right Answer!’ or ‘Wrong Answer!’ in your face and fade out after a couple of seconds. On top of that, I built out the whole Space Key fragment mechanic and completely mapped out the dungeon layout. You start in this bottom tunnel, solve your way through the main gates, and then have to survive branching left and right mazes to hunt down these key fragments. I set it all up so you’ll eventually have to clear a central boss arena and fight off skeleton mage ambushes just to get the pieces. I also spent way too long fixing dumb bugs like my character freezing mid-run when opening a menu, or endlessly jumping against flat walls like an idiot because of broken physics code. But I locked the movement inputs down, and it finally actually plays like a real dungeon crawler. The grind was unreal, but we’re locked in now.
i finally added all the start pause game over, complete scenes and finallt put all of these guys intop thier respective places and the game is finally complete
Ships:
i made a game called the cosmic conqueror, the adventures of mishi, this game is something i worked and it honestly was reallt tiring, i got stuvk like a million times for small errors and it was really tiring. i love this game but now after doing everything i realised i have put every effort intp and i lovr this despite anything. i made a small error tho, to the space riddle, i didnt change the question so there are two blackhole riddles, but the answer to one is space...
|
1793324905.04951
|
1793411305.04951
|
|
14726
|
Placeholder by @Voxicity | Stardance
|
Voxicity
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Placeholder by @Voxicity | Stardance
|
1792806505.4164526
|
1793411305.4164526
|
|
26312
|
USB Hub by @ajithesh | Stardance
|
ajithesh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: USB Hub by @ajithesh | Stardance
|
1792806506.2686
|
1793411306.2686
|
|
28518
|
Notepad^2 by @Enterro | Stardance
|
Enterro
|
0
|
1.64
|
0
|
[]
|
[{"post_id": 19354, "ts": "202 [{"post_id": 19354, "ts": "2026-06-30T17:04:09Z", "hours": 0.7633, "text": "updated the website, your note title no longer is grabbed from the first thing you write down on the notes and rather should SOON be updated so that it’ll copy whatever is actually on your title area. along with this, I added what I promised with bolding, italics, underlining, and strikethrough. there’s also that dot pattern that is on most note platforms so that it’s easier to look at. I plan on adding font size, colors, and other features soon."}, {"post_id": 18953, "ts": "2026-06-30T04:09:52Z", "hours": 0.8769, "text": "hello all! i’m working on a small notepad website called Notepad^2, a spiritual web-based successor to the classic Notepad application! i plan on adding a lot more features in the future, from simple features such as italics or bolding, and potentially an account or file-sharing system to transfer your text across multiple devices! it’s incredibly barebones at the moment, but I plan to add these features soon! i want this to be an application that can be a part of your day-to-day life, and not something you use for one thing and throw away. see you all next devlog!"}]...
|
Title: Notepad^2 by @Enterro | Stardance
Devlogs: Title: Notepad^2 by @Enterro | Stardance
Devlogs:
hello all! i’m working on a small notepad website called Notepad^2, a spiritual web-based successor to the classic Notepad application! i plan on adding a lot more features in the future, from simple features such as italics or bolding, and potentially an account or file-sharing system to transfer your text across multiple devices! it’s incredibly barebones at the moment, but I plan to add these features soon! i want this to be an application that can be a part of your day-to-day life, and not something you use for one thing and throw away. see you all next devlog!
updated the website, your note title no longer is grabbed from the first thing you write down on the notes and rather should SOON be updated so that it’ll copy whatever is actually on your title area. along with this, I added what I promised with bolding, italics, underlining, and strikethrough. there’s also that dot pattern that is on most note platforms so that it’s easier to look at. I plan on adding font size, colors, and other features soon....
|
1792806507.1020463
|
1793411307.1020463
|
|
34054
|
Orion by @phattar4phan | Stardance
|
phattar4phan
|
1
|
9.72
|
92
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-22T19:20:46Z", "hours": 9.0, "multiplier": 9.95, "payout": 92, "blessing": "neutral", "text": "I make an AI model that could classify white blood cell from scratch (one input at a time as I dont have enough compute unit), the challenging parts ware that I’m not really that good at math so yeah need some AI to help coding the model part to ensure as much accuracy as possible, although it’s minimal but I tried to make it have the highest possible accuracy, the last trained one got ‘Peak’ at 99.19% quite good but it results in getting 100% confident score every time. Before testing, you can test it directly in the web, no downloading or installation required unless you want to make it locally (test at orion.phattar4phan.workers.dev), Proud to show that at least I can make an AI model, next one will be small language model with only ~7.8m parameters, just wait!", "repo": "https://github.com/phattar4phan/orion", "demo": "https://orion.phattar4phan.workers.dev/"}]...
|
[{"post_id": 33586, "ts": "202 [{"post_id": 33586, "ts": "2026-07-23T17:06:01Z", "hours": 0.7214, "text": "Retrained the model as I have added ‘label_smoothing=0.1’ to criterion to lower the probability of image that is jot white blood cell to be classified and show as a type of wbc with high confident score, also removed static glassmorphism header from the site and also added grid table with some clustered gradients as the background to not make it static"}, {"post_id": 33129, "ts": "2026-07-22T19:11:35Z", "hours": 1.7517, "text": "Finale version, removed the 5 models comparison as I dont have time to create all that right now. Only 1 model 1 interference and it’s donee"}, {"post_id": 29552, "ts": "2026-07-16T15:47:41Z", "hours": 3.8708, "text": "Created new landing page and web app page, also bunch of new objs"}, {"post_id": 27749, "ts": "2026-07-13T16:05:40Z", "hours": 0.5442, "text": "Modified some configurations and deploy or vercel (try it at orion-cnn.vercel.app)"}, {"post_id": 27173, "ts": "2026-07-12T14:29:04Z", "hours": 3.0931, "text": "Trained CNN from scratch model, and more training logs: Training Logs ┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━┓ ┃ Epoch ┃ Loss ┃ Accuracy ┃ Valid ┃ Duration(s) ┃ ┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━┩ │ 1/20 │ 0.8463 │ 66.54% │ 86.70% │ 48.77 │ │ 2/20 │ 0.5111 │ 81.43% │ 92.74% │ 47.21 │ │ 3/20 │ 0.3835 │ 86.39% │ 91.02% │ 47.00 │ │ 4/20 │ 0.3203 │ 88.78% │ 93.51% │ 46.79 │ │ 5/20 │ 0.2671 │ 90.80% │ 93.51% │ 47.19 │ │ 6/20 │ 0.2448 │ 91.36% │ 93.58% │ 47.44 │ │ 7/20 │ 0.2161 │ 92.34% │ 94.11% │ 47.21 │ │ 8/20 │ 0.1961 │ 93.18% │ 95.82% │ 47.16 │ │ 9/20 │ 0.1859 │ 93.48% │ 96.25% │ 47.15 │ │ 10/20 │ 0.1693 │ 93.97% │ 95.72% │ 47.82 │ │ 11/20 │ 0.1592 │ 94.35% │ 94.46% │ 47.51 │ │ 12/20 │ 0.1503 │ 94.60% │ 96.07% │ 47.39 │ │ 13/20 │ 0.1405 │ 95.24% │ 95.26% │ 47.59 │ │ 14/20 │ 0.1356 │ 95.07% │ 96.28% │ 47.66 │ │ 15/20 │ 0.1232 │ 95.79% │ 96.21% │ 48.00 │ │ 16/20 │ 0.1218 │ 95.91% │ 96.81% │ 47.60 │ │ 17/20 │ 0.1195 │ 95.93% │ 98.11% │ 47.72 │ │ 18/20 │ 0.1162 │ 96.10% │ 97.54% │ 48.10 │ │ 19/20 │ 0.1076 │ 96.49% │ 97.58% │ 47.76 │ │ 20/20 │ 0.1054 │ 96.36% │ 97.05% │ 47.81 │ └───────┴────────┴──────────┴────────┴─────────────┘ Best: E:17 | Validation Accuracy: 98.11 Resulted in the best validation accuracy at 98.11% and at epoch 17th, only need to train the remaining 4 models"}]...
|
Title: Orion by @phattar4phan | Stardance
Devlogs Title: Orion by @phattar4phan | Stardance
Devlogs:
Trained CNN from scratch model, and more training logs: Training Logs ┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━┓ ┃ Epoch ┃ Loss ┃ Accuracy ┃ Valid ┃ Duration(s) ┃ ┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━┩ │ 1/20 │ 0.8463 │ 66.54% │ 86.70% │ 48.77 │ │ 2/20 │ 0.5111 │ 81.43% │ 92.74% │ 47.21 │ │ 3/20 │ 0.3835 │ 86.39% │ 91.02% │ 47.00 │ │ 4/20 │ 0.3203 │ 88.78% │ 93.51% │ 46.79 │ │ 5/20 │ 0.2671 │ 90.80% │ 93.51% │ 47.19 │ │ 6/20 │ 0.2448 │ 91.36% │ 93.58% │ 47.44 │ │ 7/20 │ 0.2161 │ 92.34% │ 94.11% │ 47.21 │ │ 8/20 │ 0.1961 │ 93.18% │ 95.82% │ 47.16 │ │ 9/20 │ 0.1859 │ 93.48% │ 96.25% │ 47.15 │ │ 10/20 │ 0.1693 │ 93.97% │ 95.72% │ 47.82 │ │ 11/20 │ 0.1592 │ 94.35% │ 94.46% │ 47.51 │ │ 12/20 │ 0.1503 │ 94.60% │ 96.07% │ 47.39 │ │ 13/20 │ 0.1405 │ 95.24% │ 95.26% │ 47.59 │ │ 14/20 │ 0.1356 │ 95.07% │ 96.28% │ 47.66 │ │ 15/20 │ 0.1232 │ 95.79% │ 96.21% │ 48.00 │ │ 16/20 │ 0.1218 │ 95.91% │ 96.81% │ 47.60 │ │ 17/20 │ 0.1195 │ 95.93% │ 98.11% │ 47.72 │ │ 18/20 │ 0.1162 │ 96.10% │ 97.54% │ 48.10 │ │ 19/20 │ 0.1076 │ 96.49% │ 97.58% │ 47.76 │ │ 20/20 │ 0.1054 │ 96.36% │ 97.05% │ 47.81 │ └───────┴────────┴──────────┴────────┴─────────────┘ Best: E:17 | Validation Accuracy: 98.11 Resulted in the best validation accuracy at 98.11% and at epoch 17th, only need to train the remaining 4 models
Modified some configurations and deploy or vercel (try it at orion-cnn.vercel.app)
Created new landing page and web app page, also bunch of new objs
Finale version, removed the 5 models comparison as I dont have time to create all that right now. Only 1 model 1 interference and it’s donee
Retrained the model as I have added ‘label_smoothing=0.1’ to criterion to lower the probability of image that is jot white blood cell to be classified and show as a type of wbc with high confident score, also removed static glassmorphism header from the site and also added grid table with some clustered gradients as the background to not make it static
Ships:
I make an AI model that could classify white blood cell from scratch (one input at a time as I dont have enough compute unit), the challenging parts ware that I’m not really that good at math so yeah need some AI to help coding the model part to ensure as much accuracy as possible, although it’s minimal but I tried to make it have the highest possible accuracy, the last trained one got ‘Peak’ at 99.19% quite good but it results in getting 100% confident score every time. Before testing, you can test it directly in the web, no downloading or installation required unless you want to make it locally (test at orion.phattar4phan.workers.dev), Proud to show that at least I can make an AI model, next one will be small language model with only ~7.8m parameters, just wait!...
|
1793324907.2383978
|
1793411307.2383978
|
|
37103
|
Frictionless by @stevenbustam | Stardance
|
stevenbustam
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @stevenbustam | Stardance
|
1792806509.834711
|
1793411309.834711
|
|
6492
|
Econnect by @Jessie | Stardance
|
Jessie
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Econnect by @Jessie | Stardance
|
1792806510.6814394
|
1793411310.6814394
|
|
48178
|
Domestic Violence Advocacy by @Sushmita | Stardanc Domestic Violence Advocacy by @Sushmita | Stardance...
|
Sushmita
|
1
|
2.0
|
5
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-19T01:14:34Z", "hours": 2.0, "multiplier": 2.12, "payout": 5, "blessing": "neutral", "text": "I made an advocacy website on domestic violence using HTML, CSS, and JS. Since I’ve made a few websites before, it was for the most part not challenging, but I had to look up some small problems I had. I used my previous projects’ repos for inspriation/help as well. I’m proud that I’m able to combine everything that I’ve learned into this project!", "repo": "https://github.com/Sushmita-Jacob/dv-advocacy", "demo": "https://sushmita-jacob.github.io/dv-advocacy/"}]...
|
[{"post_id": 50003, "ts": "202 [{"post_id": 50003, "ts": "2026-08-19T01:07:27Z", "hours": 1.1264, "text": "Devlog #2: Styling I added/changed the following features: Made the nav bar cleaner Added a border around the DV definition and facts Changed the font to something that fits the topic better Fixed image styling (made them the same size and added a border) Added better coloring (ex. the nav bar button is darker when hovered over)"}, {"post_id": 47853, "ts": "2026-08-16T02:35:00Z", "hours": 1.2939, "text": "Devlog #1: Basic website I decided to create a website for a domestic violence instiute capstone project and Girls Who Code’s Pathways program (Web Development). The website currently features 3 pages: a home page with the definition of domestic violence, a fact generator that circles through different DV facts, and resources by My Sister’s Place on types/signs of DV compared to healthy relationships. I plan to add better styling, animations, and fix the navigation bar."}]...
|
Title: Domestic Violence Advocacy by @Sushmita | S Title: Domestic Violence Advocacy by @Sushmita | Stardance
Devlogs:
Devlog #1: Basic website I decided to create a website for a domestic violence instiute capstone project and Girls Who Code’s Pathways program (Web Development). The website currently features 3 pages: a home page with the definition of domestic violence, a fact generator that circles through different DV facts, and resources by My Sister’s Place on types/signs of DV compared to healthy relationships. I plan to add better styling, animations, and fix the navigation bar.
Devlog #2: Styling I added/changed the following features: Made the nav bar cleaner Added a border around the DV definition and facts Changed the font to something that fits the topic better Fixed image styling (made them the same size and added a border) Added better coloring (ex. the nav bar button is darker when hovered over)
Ships:
I made an advocacy website on domestic violence using HTML, CSS, and JS. Since I’ve made a few websites before, it was for the most part not challenging, but I had to look up some small problems I had. I used my previous projects’ repos for inspriation/help as well. I’m proud that I’m able to combine everything that I’ve learned into this project!...
|
1793324911.1231503
|
1793411311.1231503
|
|
11934
|
My awesome macropad! by @Hypertexte | Stardance
|
Hypertexte
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Hypertexte | Stard Title: My awesome macropad! by @Hypertexte | Stardance...
|
1792806511.5099106
|
1793411311.5099106
|
|
28486
|
Medusa HC Custom Build by @GN500 | Stardance
|
GN500
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Medusa HC Custom Build by @GN500 | Stardanc Title: Medusa HC Custom Build by @GN500 | Stardance...
|
1792806512.3934512
|
1793411312.3934512
|
|
35473
|
rc car by @KobeL | Stardance
|
KobeL
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: rc car by @KobeL | Stardance
|
1792806513.2475684
|
1793411313.2475684
|
|
32003
|
Untitled project by @rayen | Stardance
|
rayen
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @rayen | Stardance
|
1792806514.0773523
|
1793411314.0773523
|
|
14311
|
MZ portfolio by @meba | Stardance
|
meba
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: MZ portfolio by @meba | Stardance
|
1792806514.9225435
|
1793411314.9225435
|
|
10243
|
My awesome macropad! by @sujaan | Stardance
|
sujaan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @sujaan | Stardance
|
1792806515.7542622
|
1793411315.7542622
|
|
10707
|
Small Business Manager by @game-dev_safal | Starda Small Business Manager by @game-dev_safal | Stardance...
|
game-dev_safal
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Small Business Manager by @game-dev_safal | Title: Small Business Manager by @game-dev_safal | Stardance...
|
1792806516.6456027
|
1793411316.6456027
|
|
50721
|
KeyraSite by @Keyra | Stardance
|
Keyra
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-22T10:45:37Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my own personal portfolio where I can keep my projects, achievements, and contact links all in one place! The biggest challenge was turning the design I had in my head into an actual website, and I changed a LOT of little things before I was happy with it. My favorite part is definitely the galaxy background because I’ve always wanted a website with a galaxy theme!! the site is simple but has three buttons which take you to each section + links to my github and linkedin.", "repo": "https://github.com/Keyrajmnz/KeyraSite", "demo": "https://keyrajmnz.github.io/KeyraSite/"}]...
|
[{"post_id": 52239, "ts": "202 [{"post_id": 52239, "ts": "2026-08-22T10:29:49Z", "hours": 2.4792, "text": "Built a personal site! I gave it a dark galaxy + computer vibe and filled it with projects, achievements, and details that actually feel like me. I changed sooo many tiny things along the way, but seeing it all come together was 100% worth it ★"}]...
|
Title: KeyraSite by @Keyra | Stardance
Devlogs:
B Title: KeyraSite by @Keyra | Stardance
Devlogs:
Built a personal site! I gave it a dark galaxy + computer vibe and filled it with projects, achievements, and details that actually feel like me. I changed sooo many tiny things along the way, but seeing it all come together was 100% worth it ★
Ships:
I made my own personal portfolio where I can keep my projects, achievements, and contact links all in one place! The biggest challenge was turning the design I had in my head into an actual website, and I changed a LOT of little things before I was happy with it. My favorite part is definitely the galaxy background because I’ve always wanted a website with a galaxy theme!! the site is simple but has three buttons which take you to each section + links to my github and linkedin....
|
1793324917.4538708
|
1793411317.4538708
|
|
23918
|
Untitled project by @anelabhotla | Stardance
|
anelabhotla
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @anelabhotla | Stardanc Title: Untitled project by @anelabhotla | Stardance...
|
1792806517.4929273
|
1793411317.4929273
|
|
13667
|
dnp3 Parser and Simulator by @arnabm | Stardance
|
arnabm
|
0
|
92.76
|
0
|
[]
|
[{"post_id": 58550, "ts": "202 [{"post_id": 58550, "ts": "2026-08-31T00:08:09Z", "hours": 1.8961, "text": "Added the data generation, request creation, and response creation to the client and server. You can see a demo below. Not a giant change, just integrating the the new functions into the Client and Server."}, {"post_id": 57761, "ts": "2026-08-30T01:20:48Z", "hours": 10.5842, "text": "IM FREEEEE I FINALLY finished writing the write_data() function. Now full packet generation, with a request, and a reply is complete! Litterly the only thing left to do is make the ui. I AM DONE WITH THE BACKEND!!!!! I have included a handy guide to the output bellow. Instead of another picture of my terminal, you guys get to enjoy some color coded google docs!"}, {"post_id": 49396, "ts": "2026-08-18T06:12:20Z", "hours": 10.715, "text": "Im just going to appologize now, this devlog is not gonna be that great. I have been working the past few days on packet generation. Specifically on requesting data from a server, and writing that data to a packet as a server. As you can see by the time, this is much harder than it may seem. Though I did predict this a while ago. When the client request data from the server, a function is invoked that configures the group (data type; digital or analog) and the variation (presentation; packed format or with extra flags). When the server responds to this request, it invokes a function (technically 2) that refreshes the data it has (currently using a random number generator) and writes that to a packet. The packet is mostly a clone of the request, just with the source and destination switched, and the data added. Currently, I have both functions completed (or almost completed), but I still need to add crc to the reply form the server, and fix the many bugs that have arrisen from this change. Bellow I have an example request, no reply becuase the function is currently inoperable :( 05 64 0F C4 01 00 00 00 C8 E2 C1 C0 01 01 01 10 F7 03 00 0F 00 00 This request is asking for data from the server with address 1, data type 30 (digital), and the data points 3-15 Once again, very sorry for the poor quality dev log, but I just wanted to get an update out before I dug myself into an even deeper hole. See you guys later!"}, {"post_id": 45462, "ts": "2026-08-11T23:06:44Z", "hours": 6.2953, "text": "Been a busy 4 days. Worked on mostly modularity for the program, making sure that I am not repeating code that can be a function as part of a larger library The 2 libraries I implemented were the common/ and network/ libraries. These are used in both the client and server. Common includes functions like setting up connections, sending packets, receiving packets, interpreting them, and polling them for data The network library handles connecting to a server/client, and others. I also finally added the ability for the client (main stations/ems) to multiple servers (outstations/rtu). You can see a demo of all this working in the video. That’s it for now, goodbye!"}, {"post_id": 42903, "ts": "2026-08-07T21:11:13Z", "hours": 2.3822, "text": "More work on the logging system. Realized that we can use a global var with an init function to remove the need for each log call to pass the file pointer to the log Previous Method; // main log_err ( errno , \"client/main\" , fptr ); The fptr is a FILE* varible that points to the logging file New Method; // log.c static FILE * log_file = NULL ; int log_init ( const char * file_path ) { log_file = fopen ( file_path , \"a\" ); if ( log_file == NULL ) { log_err ( errno , \"log/log_init\" ); return - 1 ; } return 0 ; } // main log_init ( \"log/log.txt\" ); log_err ( errno , \"client/main\" ); The new method means all you have to pass is errno and the location of error. Super Simple!!! I also updated both client and server with this system. Bye"}, {"post_id": 41747, "ts": "2026-08-06T04:11:05Z", "hours": 0.5658, "text": "Small addition. Made log_info() a variadic function, like printf() . This means you can now do the same formatting like printf(\"hello %s\", \"world\") . This allows for easier logging to file and console, as both are just an arg in the funciton call! Yay!!!!"}, {"post_id": 41582, "ts": "2026-08-05T21:33:22Z", "hours": 2.0283, "text": "Finished adding the logging library I mentioned in the last post. It supports Colored text for warning and errors, time stamps, and better formatting. Ironically, the hardest part about this was figuring out how to use ANSI escape codes to support the colored text. This Medium article fromVitor Matias was super helpful! i also realized most people dont wanna read walls, so my updates will be smaller form now!"}, {"post_id": 41164, "ts": "2026-08-05T06:12:35Z", "hours": 6.4817, "text": "DevLog 15 Been busy the past couple of days with some school, so sorry I haven’t posted sooner, but I have also built out a couple more features.The Main additions are; Reusable frequent packet structures (acknowledge, negative acknowledge, reset link) Server Client loop 1. Ability to choose packet type to send to server (through TUI) in client 2. Server responds, and client is able to display response Better error handling, with more checks for errno and printing to log and console Better logging through file rather than just console The logging is proably my favorite new feature. It saves previous runs and even annotates the time and date the run took place. The error info is also much more helpful, and more often my program tells me why it crashed, instead of just ending or segfaulting client [ main]: Connection refused ^^^^ This now happens when you try to run the client with out a server on the configured adress or port Errors I ran into There actually wasn’t that much stuff going wrong, just took me pretty long as I had to edit a lot of functions and flows. A big issue i did run into was adding select() , also know as polling to the socket. Basicly, my code will loop checking the socket and parsing the data in it. But, a problem occurs if there is no data in the socket waiting. Polling allows my code to check if there actually is data, and if not wait/move on to the next task. But, I had incorrectly configured the function (the documentation for this function is especially confusing…), and this lead it to always report data in the socket. This then lead to errors with trying to map that data into a struct, and it just lead to catastrophy. Immediate Plans Have some stuff I’m going to / want to try and start before the next devlog; Logging Functions to simply logging to console and file * Something like log_note() , log_warn() , and log_error() * Currently just writing both fprintf() and perror() Add functionality to digital and analog requests * Need to add packet structures and creator functions for both Seperate network functionality like socket() , send() , etc… into its own library fucntions Seperate shared code between server and client into common library Media I thought I would include this section to explain some of things in the attached videos. These show all the features I implemented, including the client server loop, logging, and error handling Video 1 This just shows the current loop between the client and server, where the client sends a packet, a reset link packet in this case, and the server responds, in this case with a simple acknowledgement. It also shows how both programs log information about their runs in an assocaited text file. Btw, if you have some sugestions for making this better, please leave a comment . This is just about the simplest way to do logging, so other ideas are appreciated! Video 2 This shows an example of custom ports, error handling, and more logging. Both the client and server support custom ports (and server adresses in the case of the client) passed in as a launch argument. You can see when the client trys to connect to a server that either doesn’t exist on the current port, or isn’t active, an error message is displayed into the console and logged in the file. Alternatively, when both use the same port, the connection succeds, that port is logged as well. Wrap Up Lots of stuff to do still, and I am super excited to get started. Thank you to the few of you who have been following development since the beginning, and hello to anyone new!"}, {"post_id": 34839, "ts": "2026-07-25T21:21:26Z", "hours": 2.57, "text": "Manual Packet Creation and More! Just finished adding the ability to create a packet based on parameters rather than requiring a premade packet. Manual Packets Basicly, instead of needing something like , uint8_t input [] = { 0x05 , 0x64 , ... }; dnp3p_st packet_s = mkPacket ( input ); You can now just use a function and pass in parameters. Then, since this is just a fancy memory structure, a simple memcpy into an appropriately sized array will give you both! (The raw packet, and the structure) uint8_t packet [ 30 ] = { 0 }; // did some renaming, uses dnp3Lib for library funcs now dnp3p_st packet_s = dnp3Lib_mkPacket_manual ( 1 , 0 , 30 , 2 , 0 , 10 ); // params are: destination, source, group, variation, startIndex, and stopIndex memcpy ( & packet , & packet_s , 30 ); This will give you basicly the same thing as the first example, meaning you can create a packet based on a discription, rather than a discription based on a packet. This will be very useful when creating responses from to the client from the server, or vice versa. Should be noted that this is technically not very complete, but it is just an example for now. Pre-made Packets On the topic of creating a packet based on a discription, I also created some functions to create packets for common messages, including; Reset Link Required when creating a new connection Acknowledgement Negative Acknowledgment These will be useful when making connections, and sending responses to requests and replies. Wrap Up Still got a ways to go in terms of completion, but I’m hoping to ramp up my speed, been a little busy the past couple weeks."}, {"post_id": 31917, "ts": "2026-07-20T18:19:30Z", "hours": 1.1969, "text": "Added the ability to pick a custom socket or server ip. Also actualy pushed becuase I forgot last time"}, {"post_id": 31334, "ts": "2026-07-19T17:17:47Z", "hours": 4.9769, "text": "Just finished getting the client server connection working. Next thing to do is to interpret the packet on the server side, then create a reply based on the request."}, {"post_id": 26929, "ts": "2026-07-12T00:21:49Z", "hours": 3.2033, "text": "Dev log 11? I just pushed some changes and merged main and dev. This update I basically just made some fixes that should make the parser more accurate overall, but there are still a few lingering bugs. The main change I made was adding a system to clean the packet of any CRC bytes from within. Normally, a packet contains 2 bytes of CRC spread around it, with 2 after the end of the header, and after that 2 after every 16 bytes. This change will allow my data handler to not accidentally ingest CRC bytes, which would mess up the spacing of each data segment, and result in randomness. I also added a function to calculate the size of a packet based on the length information stored within it, rather than the physical memory size of it. This is better, as I can call it from any function and not have to pass in the size as a param. Overall, I am around 90% done with the backend, and just have a couple bugs to fix. I have attached a screen shot of some of the new features."}, {"post_id": 25364, "ts": "2026-07-09T16:42:47Z", "hours": 1.4706, "text": "Added parsing for more Objects Has not been very long but I am back with an update. I just finished adding in parsing for more object types, including Group 1 Varriation 1 Varriation 2 Group 30 Varriation 1 Varriation 2 I’ll also try and make more frequent posts here!"}, {"post_id": 25027, "ts": "2026-07-08T23:27:04Z", "hours": 9.7514, "text": "DNP3 Parser Update - Understanding a DNP3 Packet This week I finished parsing DNP3 Group 1 Variation 1 , the first object type supported by the parser. That means the parser can now decode binary input status values from real DNP3 traffic instead of just stopping at the object header. I also got some practice using GDB to debug my programs! Super useful as I ran into some segmentation faults that would have been impossible to fix without it! How a DNP3 Packet Works DNP3 (Distributed Network Protocol 3) is an industrial control protocol used by electric utilities, water systems, and other critical infrastructure. Communication happens between a Master (SCADA server) and one or more Outstations (RTUs, relays, PLCs, etc.). A packet is made up of several layers: Data Link Layer Transport Layer Application Header Object Header(s) Object Data Data Link Layer The packet always begins with the start bytes: 0x05 0x64 These identify the frame as DNP3. The rest of the link header contains: Length Control byte Destination address Source address CRC This layer is responsible for moving frames between devices and detecting transmission errors. Transport Layer The transport header is only one byte long, but it’s important because it: Marks the start and end of fragmented messages Provides a sequence number so fragments can be reassembled Application Layer The application header tells the receiver what operation is being requested. Examples include: Read Write Response Confirm It also contains application control flags and an application sequence number. Object Headers After the application header come one or more object headers. These tell the parser what type of data follows . An object header contains: Group number Variation number Qualifier For example: Group 1 Variation 1 represents packed binary input values. The qualifier then specifies how many objects are present and how they are indexed. Object Data Finally comes the actual payload. For Group 1 Variation 1, each bit represents the current state of a binary input: 1 = ON 0 = OFF The parser reads these bytes and expands them into individual points that can be displayed or analyzed. Completed Sections Data Link Layer parsing Transport Header parsing Application Header parsing Object Header parsing Group 1 Variation 1 object parsing Next up is adding support for additional object groups and variations so the parser can decode more real-world DNP3 traffic."}, {"post_id": 15996, "ts": "2026-06-25T23:42:02Z", "hours": 7.0044, "text": "Transport Header, Printing Updates, and Bug Fixes! Its once again that time. This week I worked on the object header, updated the printing on the DLC parsing, as well as fixing a couple big bugs. Transport Header The transport header consists of 5 parts, and its main job is to explains the format, and ordering of the data in the packet. Note that there are multiple object and data blocks in a single packet, but currently I can only parse 1 at most. Bugs Fixed Ran into a couple bugs, but I’ll just mention 2. When filling the range (part of the object header) I ran into some errors. It turns out that I had forgoten to initilize the space with 0s, and that ment that if less than 8 bytes were assigned, there was garbage memory sitting in the space. Fix was pretty easy, just zeroed out the space and then assigned the data Incorrect DLC data being printed. Another strange bug, not really sure what was causing it Fix was pretty simple, just rewrote the print statements (attached a picture) Wrap Up Thanks for enduring that yap fest. Next update will probably be when I add in data parsing, unless I make some major change.Hope you enjoyed it. Check out the GitHub: https://github.com/arnabmondal-eg/dnp3 And have a safe , fun, and patriotic Fourth of July !"}, {"post_id": 10044, "ts": "2026-06-16T16:44:41Z", "hours": 7.025, "text": "DNP3 Parser I genuinely dont know how its been 7 hours. I feel like the majority of my time is fixing bugs and trying to get my code to compile. Where I’ve Been It’s been a while since my last devlog, and I have spent the past 7 hours adding a good bit. Main thing is that almost the entire packet is now being parsed, or atleast the hard part. The entire header, dlc byte, transport header, and application header are parsed , so the only thing left is the Object headers and the data itself. I also created a new struct to hold all of these functions , so you can just pass in a hex and get all this data out, no need to call each portions functionality anymore. Whats Next Moving forward, I have a couple goals/milestones I have to hit before I can ship this project: Parse the rest of the packet Check validity on entire packet (using CRC bytes) Finish Parser UI (almost done, but still some more to be done) Create Control/Main Station UI Create RTU/Secondary Station UI Link backend and frontend using network sockets Create systems for creating packets (I believe this will be much more difficult than parsing them) Simulate “Conversations” between the main and outstations Create binaries for Windows, Mac, and Linux"}, {"post_id": 8365, "ts": "2026-06-13T22:07:59Z", "hours": 1.3322, "text": "Just did a little rework to move all header files to the inc/ folder. This should make it less cluttered, but we will see how this holds up. Next things on the chopping block are: Implement Transport Header Parsing Implement Application Header Parsing Check all CRC bytes in entire packet Check out the GitHub! https://github.com/arnabmondal-eg/dnp3"}, {"post_id": 7776, "ts": "2026-06-13T00:04:46Z", "hours": 5.6458, "text": "Its been a while… Hello! I have been working on the parser for a while. This post will be an explanation of where I am in the project so far. I wouldn’t go as far as to say that I am close to done yet, but I’m definitely nearing the halfway point. The past 2 days I have reworked how packets are interpreted, as well as adding some new helper utilities/functions to make future decoding easier. I also implemented a full bit-by-bit decomposition of the DLC byte in a header! This was super fun and rewarding as I learned a lot about bit-wise operations in C, as well as strengthening my understand of memory and how it is transferred through a program. I also learned I can’t spell! Wrote valid as “vaild” over 10 times! I also learned that C doesn’t pass the size of an array automatically! Super fun bugs! \\s Feel free to critique my code on the GitHub! https://github.com/arnabmondal-eg/dnp3"}, {"post_id": 6455, "ts": "2026-06-10T21:20:28Z", "hours": 1.3786, "text": "Finished reworking the Parser UI. It uses a split pane so you can get as much or as little space as you need. Features a text input area on the left with a parse button on the bottom, and a tree view on the right (to see the parsed packet contents) with a valid indicator on the bottom. Nothing is hooked up yet to logic, so that is coming up soon on the list! Swing is definitely kind of tedious to write though! Check out the github: https://github.com/arnabmondal-eg/dnp3"}, {"post_id": 5990, "ts": "2026-06-10T01:27:53Z", "hours": 2.5494, "text": "Just finished writing the final portion of the header validity checker, which uses a brand new CRC byte calculator! Very Fun to make, as I really got to dig deep into bit-wise operations for the first time, but definitely challenging! In terms of the backend, there is still much to do, but I am getting close to completion. The frontend still is in rough shape however. Making Good Progress!"}, {"post_id": 5857, "ts": "2026-06-09T20:07:09Z", "hours": 2.4053, "text": "Improved project structure, worked on README, added tasks to make compiling easier. Really want this to be usable, so I am putting in the work to make it simple to understand and use. Also I hated writing this project tree. Leme know if there is some tool i can use to do this automatically in the future"}, {"post_id": 5339, "ts": "2026-06-09T02:25:31Z", "hours": 1.3033, "text": "Working on the parser backend. Currently planning for all the backend to be in C, while I handle the frontend in Java using Swing. While this may seem like an ancient technology, most production SCADA applications use Swing for its long term support. And Java and C are obvious choices aswell. Heres a pic of the header part of the interpreter, and some work in progress ui. Much more work to come!"}]...
|
Title: dnp3 Parser and Simulator by @arnabm | Star Title: dnp3 Parser and Simulator by @arnabm | Stardance
Devlogs:
Working on the parser backend. Currently planning for all the backend to be in C, while I handle the frontend in Java using Swing. While this may seem like an ancient technology, most production SCADA applications use Swing for its long term support. And Java and C are obvious choices aswell. Heres a pic of the header part of the interpreter, and some work in progress ui. Much more work to come!
Improved project structure, worked on README, added tasks to make compiling easier. Really want this to be usable, so I am putting in the work to make it simple to understand and use. Also I hated writing this project tree. Leme know if there is some tool i can use to do this automatically in the future
Just finished writing the final portion of the header validity checker, which uses a brand new CRC byte calculator! Very Fun to make, as I really got to dig deep into bit-wise operations for the first time, but definitely challenging! In terms of the backend, there is still much to do, but I am getting close to completion. The frontend still is in rough shape however. Making Good Progress!
Finished reworking the Parser UI. It uses a split pane so you can get as much or as little space as you need. Features a text input area on the left with a parse button on the bottom, and a tree view on the right (to see the parsed packet contents) with a valid indicator on the bottom. Nothing is hooked up yet to logic, so that is coming up soon on the list! Swing is definitely kind of tedious to write though! Check out the github: https://github.com/arnabmondal-eg/dnp3
Its been a while… Hello! I have been working on the parser for a while. This post will be an explanation of where I am in the project so far. I wouldn’t go as far as to say that I am close to done yet, but I’m definitely nearing the halfway point. The past 2 days I have reworked how packets are interpreted, as well as adding some new helper utilities/functions to make future decoding easier. I also implemented a full bit-by-bit decomposition of the DLC byte in a header! This was super fun and rewarding as I learned a lot about bit-wise operations in C, as well as strengthening my understand of memory and how it is transferred through a program. I also learned I can’t spell! Wrote valid as “vaild” over 10 times! I also learned that C doesn’t pass the size of an array automatically! Super fun bugs! \s Feel free to critique my code on the GitHub! https://github.com/arnabmondal-eg/dnp3
Just did a little rework to move all header files to the inc/ folder. This should make it less cluttered, but we will see how this holds up. Next things on the chopping block are: Implement Transport Header Parsing Implement Application Header Parsing Check all CRC bytes in entire packet Check out the GitHub! https://github.com/arnabmondal-eg/dnp3
DNP3 Parser I genuinely dont know how its been 7 hours. I feel like the majority of my time is fixing bugs and trying to get my code to compile. Where I’ve Been It’s been a while since my last devlog, and I have spent the past 7 hours adding a good bit. Main thing is that almost the entire packet is now being parsed, or atleast the hard part. The entire header, dlc byte, transport header, and application header are parsed , so the only thing left is the Object headers and the data itself. I also created a new struct to hold all of these functions , so you can just pass in a hex and get all this data out, no need to call each portions functionality anymore. Whats Next Moving forward, I have a couple goals/milestones I have to hit before I can ship this project: Parse the rest of the packet Check validity on entire packet (using CRC bytes) Finish Parser UI (almost done, but still some more to be done) Create Control/Main Station UI Create RTU/Secondary Station UI Link backend and frontend using network sockets Create systems for creating packets (I believe this will be much more difficult than parsing them) Simulate “Conversations” between the main and outstations Create binaries for Windows, Mac, and Linux
Transport Header, Printing Updates, and Bug Fixes! Its once again that time. This week I worked on the object header, updated the printing on the DLC parsing, as well as fixing a couple big bugs. Transport Header The transport header consists of 5 parts, and its main job is to explains the format, and ordering of the data in the packet. Note that there are multiple object and data blocks in a single packet, but currently I can only parse 1 at most. Bugs Fixed Ran into a couple bugs, but I’ll just mention 2. When filling the range (part of the object header) I ran into some errors. It turns out that I had forgoten to initilize the space with 0s, and that ment that if less than 8 bytes were assigned, there was garbage memory sitting in the space. Fix was pretty easy, just zeroed out the space and then assigned the data Incorrect DLC data being printed. Another strange bug, not really sure what was causing it Fix was pretty simple, just rewrote the print statements (attached a picture) Wrap Up Thanks for enduring that yap fest. Next update will probably be when I add in data parsing, unless I make some major change.Hope you enjoyed it. Check out the GitHub: https://github.com/arnabmondal-eg/dnp3 And have a safe , fun, and patriotic Fourth of July !
DNP3 Parser Update - Understanding a DNP3 Packet This week I finished parsing DNP3 Group 1 Variation 1 , the first object type supported by the parser. That means the parser can now decode binary input status values from real DNP3 traffic instead of just stopping at the object header. I also got some practice using GDB to debug my programs! Super useful as I ran into some segmentation faults that would have been impossible to fix without it! How a DNP3 Packet Works DNP3 (Distributed Network Protocol 3) is an industrial control protocol used by electric utilities, water systems, and other critical infrastructure. Communication happens between a Master (SCADA server) and one or more Outstations (RTUs, relays, PLCs, etc.). A packet is made up of several layers: Data Link Layer Transport Layer Application Header Object Header(s) Object Data Data Link Layer The packet always begins with the start bytes: 0x05 0x64 These identify the frame as DNP3. The rest of the link header contains: Length Control byte Destination address Source address CRC This layer is responsible for moving frames between devices and detecting transmission errors. Transport Layer The transport header is only one byte long, but it’s important because it: Marks the start and end of fragmented messages Provides a sequence number so fragments can be reassembled Application Layer The application header tells the receiver what operation is being requested. Examples include: Read Write Response Confirm It also contains application control flags and an application sequence number. Object Headers After the application header come one or more object headers. These tell the parser what type of data follows . An object header contains: Group number Variation number Qualifier For example: Group 1 Variation 1 represents packed binary input values. The qualifier then specifies how many objects are present and how they are indexed. Object Data Finally comes the actual payload. For Group 1 Variation 1, each bit represents the current state of a binary input: 1 = ON 0 = OFF The parser reads these bytes and expands them into individual points that can be displayed or analyzed. Completed Sections Data Link Layer parsing Transport Header parsing Application Header parsing Object Header parsing Group 1 Variation 1 object parsing Next up is adding support for additional object groups and variations so the parser can decode more real-world DNP3 traffic.
Added parsing for more Objects Has not been very long but I am back with an update. I just finished adding in parsing for more object types, including Group 1 Varriation 1 Varriation 2 Group 30 Varriation 1 Varriation 2 I’ll also try and make more frequent posts here!
Dev log 11? I just pushed some changes and merged main and dev. This update I basically just made some fixes that should make the parser more accurate overall, but there are still a few lingering bugs. The main change I made was adding a system to clean the packet of any CRC bytes from within. Normally, a packet contains 2 bytes of CRC spread around it, with 2 after the end of the header, and after that 2 after every 16 bytes. This change will allow my data handler to not accidentally ingest CRC bytes, which would mess up the spacing of each data segment, and result in randomness. I also added a function to calculate the size of a packet based on the length information stored within it, rather than the physical memory size of it. This is better, as I can call it from any function and not have to pass in the size as a param. Overall, I am around 90% done with the backend, and just have a couple bugs to fix. I have attached a screen shot of some of the new features.
Just finished getting the client server connection working. Next thing to do is to interpret the packet on the server side, then create a reply based on the request.
Added the ability to pick a custom socket or server ip. Also actualy pushed becuase I forgot last time
Manual Packet Creation and More! Just finished adding the ability to create a packet based on parameters rather than requiring a premade packet. Manual Packets Basicly, instead of needing something like , uint8_t input [] = { 0x05 , 0x64 , ... }; dnp3p_st packet_s = mkPacket ( input ); You can now just use a function and pass in parameters. Then, since this is just a fancy memory structure, a simple memcpy into an appropriately sized array will give you both! (The raw packet, and the structure) uint8_t packet [ 30 ] = { 0 }; // did some renaming, uses dnp3Lib for library funcs now dnp3p_st packet_s = dnp3Lib_mkPacket_manual ( 1 , 0 , 30 , 2 , 0 , 10 ); // params are: destination, source, group, variation, startIndex, and stopIndex memcpy ( & packet , & packet_s , 30 ); This will give you basicly the same thing as the first example, meaning you can create a packet based on a discription, rather than a discription based on a packet. This will be very useful when creating responses from to the client from the server, or vice versa. Should be noted that this is technically not very complete, but it is just an example for now. Pre-made Packets On the topic of creating a packet based on a discription, I also created some functions to create packets for common messages, including; Reset Link Required when creating a new connection Acknowledgement Negative Acknowledgment These will be useful when making connections, and sending responses to requests and replies. Wrap Up Still got a ways to go in terms of completion, but I’m hoping to ramp up my speed, been a little busy the past couple weeks.
DevLog 15 Been busy the past couple of days with some school, so sorry I haven’t posted sooner, but I have also built out a couple more features.The Main additions are; Reusable frequent packet structures (acknowledge, negative acknowledge, reset link) Server Client loop 1. Ability to choose packet type to send to server (through TUI) in client 2. Server responds, and client is able to display response Better error handling, with more checks for errno and printing to log and console Better logging through file rather than just console The logging is proably my favorite new feature. It saves previous runs and even annotates the time and date the run took place. The error info is also much more helpful, and more often my program tells me why it crashed, instead of just ending or segfaulting client [ main]: Connection refused ^^^^ This now happens when you try to run the client with out a server on the configured adress or port Errors I ran into There actually wasn’t that much stuff going wrong, just took me pretty long as I had to edit a lot of functions and flows. A big issue i did run into was adding select() , also know as polling to the socket. Basicly, my code will loop checking the socket and parsing the data in it. But, a problem occurs if there is no data in the socket waiting. Polling allows my code to check if there actually is data, and if not wait/move on to the next task. But, I had incorrectly configured the function (the documentation for this function is especially confusing…), and this lead it to always report data in the socket. This then lead to errors with trying to map that data into a struct, and it just lead to catastrophy. Immediate Plans Have some stuff I’m going to / want to try and start before the next devlog; Logging Functions to simply logging to console and file * Something like log_note() , log_warn() , and log_error() * Currently just writing both fprintf() and perror() Add functionality to digital and analog requests * Need to add packet structures and creator functions for both Seperate network functionality like socket() , send() , etc… into its own library fucntions Seperate shared code between server and client into common library Media I thought I would include this section to explain some of things in the attached videos. These show all the features I implemented, including the client server loop, logging, and error handling Video 1 This just shows the current loop between the client and server, where the client sends a packet, a reset link packet in this case, and the server responds, in this case with a simple acknowledgement. It also shows how both programs log information about their runs in an assocaited text file. Btw, if you have some sugestions for making this better, please leave a comment . This is just about the simplest way to do logging, so other ideas are appreciated! Video 2 This shows an example of custom ports, error handling, and more logging. Both the client and server support custom ports (and server adresses in the case of the client) passed in as a launch argument. You can see when the client trys to connect to a server that either doesn’t exist on the current port, or isn’t active, an error message is displayed into the console and logged in the file. Alternatively, when both use the same port, the connection succeds, that port is logged as well. Wrap Up Lots of stuff to do still, and I am super excited to get started. Thank you to the few of you who have been following development since the beginning, and hello to anyone new!
Finished adding the logging library I mentioned in the last post. It supports Colored text for warning and errors, time stamps, and better formatting. Ironically, the hardest part about this was figuring out how to use ANSI escape codes to support the colored text. This Medium article fromVitor Matias was super helpful! i also realized most people dont wanna read walls, so my updates will be smaller form now!
Small addition. Made log_info() a variadic function, like printf() . This means you can now do the same formatting like printf("hello %s", "world") . This allows for easier logging to file and console, as both are just an arg in the funciton call! Yay!!!!
More work on the logging system. Realized that we can use a global var with an init function to remove the need for each log call to pass the file pointer to the log Previous Method; // main log_err ( errno , "client/main" , fptr ); The fptr is a FILE* varible that points to the logging file New Method; // log.c static FILE * log_file = NULL ; int log_init ( const char * file_path ) { log_file = fopen ( file_path , "a" ); if ( log_file == NULL ) { log_err ( errno , "log/log_init" ); return - 1 ; } return 0 ; } // main log_init ( "log/log.txt" ); log_err ( errno , "client/main" ); The new method means all you have to pass is errno and the location of error. Super Simple!!! I also updated both client and server with this system. Bye
Been a busy 4 days. Worked on mostly modularity for the program, making sure that I am not repeating code that can be a function as part of a larger library The 2 libraries I implemented were the common/ and network/ libraries. These are used in both the client and server. Common includes functions like setting up connections, sending packets, receiving packets, interpreting them, and polling them for data The network library handles connecting to a server/client, and others. I also finally added the ability for the client (main stations/ems) to multiple servers (outstations/rtu). You can see a demo of all this working in the video. That’s it for now, goodbye!
Im just going to appologize now, this devlog is not gonna be that great. I have been working the past few days on packet generation. Specifically on requesting data from a server, and writing that data to a packet as a server. As you can see by the time, this is much harder than it may seem. Though I did predict this a while ago. When the client request data from the server, a function is invoked that configures the group (data type; digital or analog) and the variation (presentation; packed format or with extra flags). When the server responds to this request, it invokes a function (technically 2) that refreshes the data it has (currently using a random number generator) and writes that to a packet. The packet is mostly a clone of the request, just with the source and destination switched, and the data added. Currently, I have both functions completed (or almost completed), but I still need to add crc to the reply form the server, and fix the many bugs that have arrisen from this change. Bellow I have an example request, no reply becuase the function is currently inoperable :( 05 64 0F C4 01 00 00 00 C8 E2 C1 C0 01 01 01 10 F7 03 00 0F 00 00 This request is asking for data from the server with address 1, data type 30 (digital), and the data points 3-15 Once again, very sorry for the poor quality dev log, but I just wanted to get an update out before I dug myself into an even deeper hole. See you guys later!
IM FREEEEE I FINALLY finished writing the write_data() function. Now full packet generation, with a request, and a reply is complete! Litterly the only thing left to do is make the ui. I AM DONE WITH THE BACKEND!!!!! I have included a handy guide to the output bellow. Instead of another picture of my terminal, you guys get to enjoy some color coded google docs!
Added the data generation, request creation, and response creation to the client and server. You can see a demo below. Not a giant change, just integrating the the new functions into the Client and Server....
|
1792806518.3515651
|
1793411318.3515651
|
|
22762
|
Sheikah Slate by @Oyetron2000 | Stardance
|
Oyetron2000
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Sheikah Slate by @Oyetron2000 | Stardance
|
1792806519.569506
|
1793411319.569506
|
|
21066
|
Frictionless by @ShadowFuture | Stardance
|
ShadowFuture
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @ShadowFuture | Stardance
|
1792806520.430017
|
1793411320.430017
|
|
13508
|
Untitled project by @martingcaro | Stardance
|
martingcaro
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @martingcaro | Stardanc Title: Untitled project by @martingcaro | Stardance...
|
1792806521.3896477
|
1793411321.3896477
|
|
34468
|
Untitled by @roel_dereere | Stardance
|
roel_dereere
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @roel_dereere | Stardance
|
1792806522.2461782
|
1793411322.2461782
|
|
21745
|
My very own WebOS by @yunus | Stardance
|
yunus
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @yunus | Stardance
|
1792806523.117987
|
1793411323.117987
|
|
1480
|
AI debater tool by @greenrhino11 | Stardance
|
greenrhino11
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: AI debater tool by @greenrhino11 | Stardanc Title: AI debater tool by @greenrhino11 | Stardance...
|
1792806523.9482918
|
1793411323.9482918
|
|
23101
|
Untitled by @ompanem | Stardance
|
ompanem
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @ompanem | Stardance
|
1792806524.782404
|
1793411324.782404
|
|
17100
|
Frictionless by @ajaiveerdeol | Stardance
|
ajaiveerdeol
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @ajaiveerdeol | Stardance
|
1792806525.6200948
|
1793411325.6200948
|
|
59506
|
All Finance by @nicklogan1412 | Stardance
|
nicklogan1412
|
1
|
5.0
|
47
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-08T19:45:59Z", "hours": 5.0, "multiplier": 8.83, "payout": 47, "blessing": "neutral", "text": "Before I ship, I want to say thank you to the Stardance Community and the Shipwrights. You guys are the nicest people ive ever made and this platform is amazing, thank you for making it what it is today. Love yall This project is a website that holds Finance information in one place, so you dont have to go to multiple websites. The project solves the following issues a laggy browser from many tabs opening many tabs Trusting data from unsafe websites and finally, saving you time from search up and down one the internet.", "repo": "https://github.com/Biscutbuilder/All-Finance", "demo": "https://biscutbuilder.github.io/All-Finance/"}]...
|
[{"post_id": 64411, "ts": "202 [{"post_id": 64411, "ts": "2026-09-08T19:32:10Z", "hours": 0.85, "text": "Devlog 4 here’s what I did Fully integrated the new Silver and Gold price charts Integrated a stock price tracker for the top 4 most traded stocks Cleaned up my CSS more Added footer that contains credits Added more scroll down buttons I had a really hard time putting the new graphs in because they were really buggy and incredibly hard to resize. The Stock thing was easier to put in due to the fact the code was way less complicated. For more information, check my github The charts are stocks are powered by Goldbroker and Elfsight. Big thanks to @aavarvd for encouraging me to make this"}, {"post_id": 64015, "ts": "2026-09-08T03:52:30Z", "hours": 0.6922, "text": "Devlog 3 what i worked on: Integrated a new silver and gold tracker, with jump to buttons. The old tracker has a cloud fare anti bot system that didnt allow the Iframe to work consistently. I aslo restructed alot of my code to make it easier to understand."}, {"post_id": 63988, "ts": "2026-09-08T02:42:07Z", "hours": 2.2022, "text": "Devlog 2 Today I did the following things :) Improved on my CSS and made the website look alot better Removed the graphs with silver and gold prices, as they stopped working. made images that will be inside of the website on a later date Made a intro area with directions and credits to people that have helped The project worked very well!!"}, {"post_id": 63911, "ts": "2026-09-07T22:59:44Z", "hours": 1.5908, "text": "Created the base of the website The website will be a finance site that shows the value of many items. Here is how I created my website 1. I created a HTML website 2. I researched different price trackers that I can input into my wonderful HTML website 3. I coded them into my website, big thank you to APMEX for allowing me to use their trackers. 4. Improved my CSS 5. Cleaned up alot of my code"}]...
|
Title: All Finance by @nicklogan1412 | Stardance
Title: All Finance by @nicklogan1412 | Stardance
Devlogs:
Created the base of the website The website will be a finance site that shows the value of many items. Here is how I created my website 1. I created a HTML website 2. I researched different price trackers that I can input into my wonderful HTML website 3. I coded them into my website, big thank you to APMEX for allowing me to use their trackers. 4. Improved my CSS 5. Cleaned up alot of my code
Devlog 2 Today I did the following things :) Improved on my CSS and made the website look alot better Removed the graphs with silver and gold prices, as they stopped working. made images that will be inside of the website on a later date Made a intro area with directions and credits to people that have helped The project worked very well!!
Devlog 3 what i worked on: Integrated a new silver and gold tracker, with jump to buttons. The old tracker has a cloud fare anti bot system that didnt allow the Iframe to work consistently. I aslo restructed alot of my code to make it easier to understand.
Devlog 4 here’s what I did Fully integrated the new Silver and Gold price charts Integrated a stock price tracker for the top 4 most traded stocks Cleaned up my CSS more Added footer that contains credits Added more scroll down buttons I had a really hard time putting the new graphs in because they were really buggy and incredibly hard to resize. The Stock thing was easier to put in due to the fact the code was way less complicated. For more information, check my github The charts are stocks are powered by Goldbroker and Elfsight. Big thanks to @aavarvd for encouraging me to make this
Ships:
Before I ship, I want to say thank you to the Stardance Community and the Shipwrights. You guys are the nicest people ive ever made and this platform is amazing, thank you for making it what it is today. Love yall This project is a website that holds Finance information in one place, so you dont have to go to multiple websites. The project solves the following issues a laggy browser from many tabs opening many tabs Trusting data from unsafe websites and finally, saving you time from search up and down one the internet....
|
1793324926.1363328
|
1793411326.1363328
|
|
16089
|
My awesome macropad! by @mmach5000 | Stardance
|
mmach5000
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @mmach5000 | Starda Title: My awesome macropad! by @mmach5000 | Stardance...
|
1792806526.4782465
|
1793411326.4782465
|
|
9241
|
Particle simulator by @Sericity | Stardance
|
Sericity
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Particle simulator by @Sericity | Stardance
|
1792806527.3271608
|
1793411327.3271608
|
|
59570
|
Sneaalarm by @hamzeh | Stardance
|
hamzeh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Sneaalarm by @hamzeh | Stardance
|
1792806528.1788287
|
1793411328.1788287
|
|
9922
|
Hephaestus by @InvalidJoker | Stardance
|
InvalidJoker
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Hephaestus by @InvalidJoker | Stardance
|
1792806529.0336907
|
1793411329.0336907
|
|
33850
|
My very own WebOS by @Durpy | Stardance
|
Durpy
|
0
|
2.74
|
0
|
[]
|
[{"post_id": 30707, "ts": "202 [{"post_id": 30707, "ts": "2026-07-18T14:36:47Z", "hours": 2.7394, "text": "I created the base draft of the web os, it has some interactive buttons, but it does not work properly yet. Will be fixing the buttons shortly!! :)"}]...
|
Title: My very own WebOS by @Durpy | Stardance
De Title: My very own WebOS by @Durpy | Stardance
Devlogs:
I created the base draft of the web os, it has some interactive buttons, but it does not work properly yet. Will be fixing the buttons shortly!! :)...
|
1792806529.8647473
|
1793411329.8647473
|
|
50739
|
My very own WebOS by @hikmat | Stardance
|
hikmat
|
1
|
8.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-23T16:03:38Z", "hours": 8.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "During these 6 days I spent on the project I had so much fun learning and building my own WebOS difficulties were that I did not know how to code luckily I took the workshop guides to build this project which Im very proud of!", "repo": "https://github.com/hikmatgara/stardance.os", "demo": "https://stardance-os.vercel.app"}]...
|
[{"post_id": 53140, "ts": "202 [{"post_id": 53140, "ts": "2026-08-23T16:01:24Z", "hours": 0.2739, "text": "Im finalising this project I had so much fun learning and building at the same time I added my last 2 apps to the WebOS might comeback to this project in the future and re-ship."}, {"post_id": 51818, "ts": "2026-08-21T17:41:15Z", "hours": 0.8731, "text": "Added my first app “Diary” I actually started feeling Like Terry Davis after building this Webo, I will hopefully finish and ship the project tomorrow if nothing breaks down)"}, {"post_id": 50927, "ts": "2026-08-20T12:08:29Z", "hours": 1.1497, "text": "Updated the wallpaper to be visible on the demo URL, then restyled the close and open buttons and to finalize it by uploading everything to my GitHub Repo."}, {"post_id": 50547, "ts": "2026-08-19T19:00:54Z", "hours": 2.2658, "text": "I refined the code added a separate JS file and linked it to html file then I also changed the wallpaper of my WebOS, added buttons to open and close the welcome window and fixed the clock so now its live."}, {"post_id": 50190, "ts": "2026-08-19T10:05:17Z", "hours": 1.0831, "text": "restyled my WebOS, changed the wallpaper, added a top bar and added a live clock but for some reason it doesn’t update :( Will fix it soon!"}, {"post_id": 49729, "ts": "2026-08-18T17:16:01Z", "hours": 1.0633, "text": "I added a wallpaper and tinkered with borders, paddings and margins."}, {"post_id": 49516, "ts": "2026-08-18T12:04:34Z", "hours": 1.1044, "text": "I started learning how to code in html big thanks to hack club for this life changing opportunity and so far I started coding the webOS and its going smooth"}]...
|
Title: My very own WebOS by @hikmat | Stardance
D Title: My very own WebOS by @hikmat | Stardance
Devlogs:
I started learning how to code in html big thanks to hack club for this life changing opportunity and so far I started coding the webOS and its going smooth
I added a wallpaper and tinkered with borders, paddings and margins.
restyled my WebOS, changed the wallpaper, added a top bar and added a live clock but for some reason it doesn’t update :( Will fix it soon!
I refined the code added a separate JS file and linked it to html file then I also changed the wallpaper of my WebOS, added buttons to open and close the welcome window and fixed the clock so now its live.
Updated the wallpaper to be visible on the demo URL, then restyled the close and open buttons and to finalize it by uploading everything to my GitHub Repo.
Added my first app “Diary” I actually started feeling Like Terry Davis after building this Webo, I will hopefully finish and ship the project tomorrow if nothing breaks down)
Im finalising this project I had so much fun learning and building at the same time I added my last 2 apps to the WebOS might comeback to this project in the future and re-ship.
Ships:
During these 6 days I spent on the project I had so much fun learning and building my own WebOS difficulties were that I did not know how to code luckily I took the workshop guides to build this project which Im very proud of!...
|
1793324930.0969868
|
1793411330.0969868
|
|
59572
|
MiniMP the 3rd by @psbee628 | Stardance
|
psbee628
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: MiniMP the 3rd by @psbee628 | Stardance
|
1792806530.7513046
|
1793411330.7513046
|
|
39584
|
Robot by @ilovepakistan25102009 | Stardance
|
ilovepakistan25102009
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Robot by @ilovepakistan25102009 | Stardance
|
1792806531.5922954
|
1793411331.5922954
|
|
30408
|
My own site! by @willowbellows | Stardance
|
willowbellows
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @willowbellows | Stardance
|
1792806532.4492898
|
1793411332.4492898
|
|
33534
|
Untitled by @rajulapatianshulm | Stardance
|
rajulapatianshulm
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @rajulapatianshulm | Stardance
|
1792806533.295581
|
1793411333.295581
|
|
59513
|
OpenVector Phase 1 by @Blobbie | Stardance
|
Blobbie
|
1
|
0.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T22:18:55Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a simple fork on AeroVector for it to be more accurate, was pretty hard b/c of bugs and glitches from the source. I fixed them and will get working on phase 2 where I work on integration with open rocket so you can design something on open rocket and transalate it into a better sim method.", "repo": "https://github.com/BlobbieAbhi/OpenVector", "demo": "https://github.com/BlobbieAbhi/AeroVECTOR-demo"}]...
|
[{"post_id": 63796, "ts": "202 [{"post_id": 63796, "ts": "2026-09-07T19:14:48Z", "hours": 0.2886, "text": "Finished the basic translation layer from open rocket to aerovector for more analysis"}]...
|
Title: OpenVector Phase 1 by @Blobbie | Stardance
Title: OpenVector Phase 1 by @Blobbie | Stardance
Devlogs:
Finished the basic translation layer from open rocket to aerovector for more analysis
Ships:
I made a simple fork on AeroVector for it to be more accurate, was pretty hard b/c of bugs and glitches from the source. I fixed them and will get working on phase 2 where I work on integration with open rocket so you can design something on open rocket and transalate it into a better sim method....
|
1793324934.1285188
|
1793411334.1285188
|
|
59590
|
BLARE by @RobertSchmutsch | Stardance
|
RobertSchmutsch
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLARE by @RobertSchmutsch | Stardance
|
1792806534.147414
|
1793411334.147414
|
|
20448
|
Gravity Atlas by @Ava_Ella-rose | Stardance
|
Ava_Ella-rose
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Gravity Atlas by @Ava_Ella-rose | Stardance
|
1792806534.983405
|
1793411334.983405
|
|
50743
|
ChemiBot by @rasmus_stenlund | Stardance
|
rasmus_stenlund
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-18T21:45:24Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "ChemiBot ChemiBot is a simple slack bot used for getting info about elements, compounds and some fun facts about a daily element. It has 5 different commands, three of them being connected to a periodic table api. This was my first ever time making a slack bot and I feel like i have really learned from it and could probably make it without following the guide (at least for the most part). Connecting my bot to the api was the hardest part, but when I figured out how to make one command I could easily make the rest.", "repo": "https://github.com/RasmusStenlund/ChemiBot", "demo": "https://hackclub.enterprise.slack.com/archives/C0BR1NKF9GE"}]...
|
[{"post_id": 49857, "ts": "202 [{"post_id": 49857, "ts": "2026-08-18T20:09:03Z", "hours": 1.2361, "text": "Devlog 2 I added all my custom commands and used the periodic table of elements API to get all of the data. It was pretty hard making all of these but the guide definitely helped me. I also made some typos and one thing that I struggled to understand was why some lines were indented, but it turned out that I had, in my responses, left some whitespace which turned into indentation in the app response. To do The final things to do are hosting it on HackClub Nest and writing my readme."}, {"post_id": 49448, "ts": "2026-08-18T09:18:21Z", "hours": 0.4811, "text": "Devlog 1 I have now connected my bot to slack and added two simple commands: Ping and Help. Next steps The next things I will add are commands that allow the user to get data from the periodic table by using atomic number, get the element of the day and the molar mass of a compound."}]...
|
Title: ChemiBot by @rasmus_stenlund | Stardance
D Title: ChemiBot by @rasmus_stenlund | Stardance
Devlogs:
Devlog 1 I have now connected my bot to slack and added two simple commands: Ping and Help. Next steps The next things I will add are commands that allow the user to get data from the periodic table by using atomic number, get the element of the day and the molar mass of a compound.
Devlog 2 I added all my custom commands and used the periodic table of elements API to get all of the data. It was pretty hard making all of these but the guide definitely helped me. I also made some typos and one thing that I struggled to understand was why some lines were indented, but it turned out that I had, in my responses, left some whitespace which turned into indentation in the app response. To do The final things to do are hosting it on HackClub Nest and writing my readme.
Ships:
ChemiBot ChemiBot is a simple slack bot used for getting info about elements, compounds and some fun facts about a daily element. It has 5 different commands, three of them being connected to a periodic table api. This was my first ever time making a slack bot and I feel like i have really learned from it and could probably make it without following the guide (at least for the most part). Connecting my bot to the api was the hardest part, but when I figured out how to make one command I could easily make the rest....
|
1793324935.267016
|
1793411335.267016
|
|
59591
|
Super Sweetness Sugartopia by @Yop | Stardance
|
Yop
|
0
|
0.84
|
0
|
[]
|
[{"post_id": 65761, "ts": "202 [{"post_id": 65761, "ts": "2026-09-11T03:35:50Z", "hours": 0.5769, "text": "figured out a theme for my warioware-esque game, also figured out how to create one method in GDScript (i think), time for bed now"}, {"post_id": 64597, "ts": "2026-09-09T03:21:23Z", "hours": 0.2667, "text": "working on the warioware tutorial, learning godot for the first time! spent a good while trying to figure out the hackatime function tho, will work on it further tmr"}]...
|
Title: Super Sweetness Sugartopia by @Yop | Starda Title: Super Sweetness Sugartopia by @Yop | Stardance
Devlogs:
working on the warioware tutorial, learning godot for the first time! spent a good while trying to figure out the hackatime function tho, will work on it further tmr
figured out a theme for my warioware-esque game, also figured out how to create one method in GDScript (i think), time for bed now...
|
1792806535.812424
|
1793411335.812424
|
|
38377
|
My first slack bot! by @yayasolom | Stardance
|
yayasolom
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @yayasolom | Stardan Title: My first slack bot! by @yayasolom | Stardance...
|
1792806536.6791916
|
1793411336.6791916
|