|
15851
|
Environment monitor by @fizzl3winks | Stardance
|
fizzl3winks
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Environment monitor by @fizzl3winks | Stard Title: Environment monitor by @fizzl3winks | Stardance...
|
1793559303.2985091
|
1794164103.2985091
|
|
15852
|
Untitled by @jojothejet1108 | Stardance
|
jojothejet1108
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @jojothejet1108 | Stardance
|
1793501420.4978852
|
1794106220.4978852
|
|
15853
|
Python Quiz by @Mymy | Stardance
|
Mymy
|
0
|
1.91
|
0
|
[]
|
[{"post_id": 9459, "ts": "2026 [{"post_id": 9459, "ts": "2026-06-15T20:23:12Z", "hours": 0.9556, "text": "Today i worked on more questions and more logical stuff! I will share all of my code when i am done. Look at these drawings i made. Its a pirate and wizard if you couldnt tell."}, {"post_id": 6499, "ts": "2026-06-10T22:25:00Z", "hours": 0.9517, "text": "Hey I am making a pirate quiz game! It will be interesting because right now they are the best i can do"}]...
|
Title: Python Quiz by @Mymy | Stardance
Devlogs:
Title: Python Quiz by @Mymy | Stardance
Devlogs:
Hey I am making a pirate quiz game! It will be interesting because right now they are the best i can do
Today i worked on more questions and more logical stuff! I will share all of my code when i am done. Look at these drawings i made. Its a pirate and wizard if you couldnt tell....
|
1793386245.912408
|
1793991045.912408
|
|
15854
|
My very own WebOS by @Godon | Stardance
|
Godon
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Godon | Stardance
|
1793141693.1873598
|
1793746493.1873598
|
|
15855
|
NeighborReach by @jeetrathi715 | Stardance
|
jeetrathi715
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: NeighborReach by @jeetrathi715 | Stardance
|
1793184604.902365
|
1793789404.902365
|
|
15856
|
My first slack bot! by @86spamlol | Stardance
|
86spamlol
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @86spamlol | Stardan Title: My first slack bot! by @86spamlol | Stardance...
|
1793479678.5675192
|
1794084478.5675192
|
|
15857
|
KV Cache Interpretability Study by @william_a_stel KV Cache Interpretability Study by @william_a_stella | Stardance...
|
william_a_stella
|
0
|
3.45
|
0
|
[]
|
[{"post_id": 6451, "ts": "2026 [{"post_id": 6451, "ts": "2026-06-10T21:05:01Z", "hours": 3.4472, "text": "I did some work in determining the type and strength of transformations of KV cache layers relative to each other."}]...
|
Title: KV Cache Interpretability Study by @william Title: KV Cache Interpretability Study by @william_a_stella | Stardance
Devlogs:
I did some work in determining the type and strength of transformations of KV cache layers relative to each other....
|
1793303336.4802315
|
1793908136.4802315
|
|
15858
|
My first slack bot! by @Sar1234 | Stardance
|
Sar1234
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Sar1234 | Stardance
|
1793166601.5403264
|
1793771401.5403264
|
|
15859
|
My very own WebOS by @rick_konijnenberg | Stardanc My very own WebOS by @rick_konijnenberg | Stardance...
|
rick_konijnenberg
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @rick_konijnenberg | S Title: My very own WebOS by @rick_konijnenberg | Stardance...
|
1793418821.5432386
|
1794023621.5432386
|
|
15860
|
Untitled project by @SEN_YasN | Stardance
|
SEN_YasN
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @SEN_YasN | Stardance
|
1793451049.3917956
|
1794055849.3917956
|
|
15861
|
My very own WebOS by @scrosas1125 | Stardance
|
scrosas1125
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @scrosas1125 | Stardan Title: My very own WebOS by @scrosas1125 | Stardance...
|
1793425646.1764488
|
1794030446.1764488
|
|
15862
|
My first slack bot! by @Saransh_S | Stardance
|
Saransh_S
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Saransh_S | Stardan Title: My first slack bot! by @Saransh_S | Stardance...
|
1793202443.7728868
|
1793807243.7728868
|
|
15863
|
My awesome macropad! by @eylulustun | Stardance
|
eylulustun
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @eylulustun | Stard Title: My awesome macropad! by @eylulustun | Stardance...
|
1793296286.5954487
|
1793901086.5954487
|
|
15864
|
My awesome macropad! by @JasonA | Stardance
|
JasonA
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @JasonA | Stardance
|
1793299806.349651
|
1793904606.349651
|
|
15865
|
Untitled RPG by @Mario | Stardance
|
Mario
|
0
|
25.58
|
0
|
[]
|
[{"post_id": 18088, "ts": "202 [{"post_id": 18088, "ts": "2026-06-29T02:39:08Z", "hours": 10.1911, "text": "I added a new event system that triggers location-specific events each day based on the player’s current location and a luck seed generated at the start of the game. While the screenshot may not make it look like 10 hours of progress, most of that time went into building the underlying systems that will manage every event throughout an entire playthrough. Right now, there’s only a single event implemented, but the framework is in place to easily add many more. Investing time into these core systems now should make future development significantly faster, cleaner, and easier to expand."}, {"post_id": 15065, "ts": "2026-06-24T14:06:27Z", "hours": 2.8975, "text": "I added a confirm command so that players can move on after finishing character class selection and skill point allocation. The confirm command starts the actual game in the town of Ivywood (starter town name I have for now, and is subject to change), and on day 1. I haven’t added anything to happen after that yet, as that will require the longer process of defining how all events during the entire game will work. The main challenges I faced were having to define a rudimentary process through which a player can advance a day into the future, and also having to deal with the strange ways in which the terminal sometimes handles large text outputs."}, {"post_id": 12835, "ts": "2026-06-21T00:31:13Z", "hours": 6.9336, "text": "I built out the game’s opening experience. The game now has a proper introduction that leads into a character creation phase before the adventure begins. Players can choose from several fighting classes, each designed to encourage a different playstyle, and spend their starting skill points on a variety of attributes. These choices will influence how the game plays as you progress. With the introduction and character customization in place, my next goal is to start developing the main gameplay that follows this opening sequence. I’m planning to add a combat system, a way to interact with other characters throughout the world, and plenty of other features. One thing I’m still missing is a name! If you somehow decided that all of this was worth reading, ideas for the game’s title or features in general would be much appreciated."}, {"post_id": 7247, "ts": "2026-06-12T02:48:09Z", "hours": 3.7314, "text": "I started implementing some basic commands that players can use to interact with the game. At the moment, the only available commands display help information, but I now have a solid command-handling system in place that should make adding new commands and features much easier going forward. Creating the help page also helped me think through and refine how the game’s core mechanics and player interactions will work."}, {"post_id": 6456, "ts": "2026-06-10T21:21:04Z", "hours": 1.825, "text": "I created my project and started setting some basic functionality up. It can now start the program through a simple command, which results in a simple start screen being displayed. After that, the user can write inputs, and the program will see them but not act on them. I don’t have a name for the game yet, so the title screen has “untitled” in ASCII text as a placeholder."}]...
|
Title: Untitled RPG by @Mario | Stardance
Devlogs Title: Untitled RPG by @Mario | Stardance
Devlogs:
I created my project and started setting some basic functionality up. It can now start the program through a simple command, which results in a simple start screen being displayed. After that, the user can write inputs, and the program will see them but not act on them. I don’t have a name for the game yet, so the title screen has “untitled” in ASCII text as a placeholder.
I started implementing some basic commands that players can use to interact with the game. At the moment, the only available commands display help information, but I now have a solid command-handling system in place that should make adding new commands and features much easier going forward. Creating the help page also helped me think through and refine how the game’s core mechanics and player interactions will work.
I built out the game’s opening experience. The game now has a proper introduction that leads into a character creation phase before the adventure begins. Players can choose from several fighting classes, each designed to encourage a different playstyle, and spend their starting skill points on a variety of attributes. These choices will influence how the game plays as you progress. With the introduction and character customization in place, my next goal is to start developing the main gameplay that follows this opening sequence. I’m planning to add a combat system, a way to interact with other characters throughout the world, and plenty of other features. One thing I’m still missing is a name! If you somehow decided that all of this was worth reading, ideas for the game’s title or features in general would be much appreciated.
I added a confirm command so that players can move on after finishing character class selection and skill point allocation. The confirm command starts the actual game in the town of Ivywood (starter town name I have for now, and is subject to change), and on day 1. I haven’t added anything to happen after that yet, as that will require the longer process of defining how all events during the entire game will work. The main challenges I faced were having to define a rudimentary process through which a player can advance a day into the future, and also having to deal with the strange ways in which the terminal sometimes handles large text outputs.
I added a new event system that triggers location-specific events each day based on the player’s current location and a luck seed generated at the start of the game. While the screenshot may not make it look like 10 hours of progress, most of that time went into building the underlying systems that will manage every event throughout an entire playthrough. Right now, there’s only a single event implemented, but the framework is in place to easily add many more. Investing time into these core systems now should make future development significantly faster, cleaner, and easier to expand....
|
1793177585.909375
|
1793782385.909375
|
|
15866
|
Caffeine Crashout by @maxverpoopen | Stardance
|
maxverpoopen
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T23:20:50Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "FRC game for preseason competition", "repo": "", "demo": "https://cad.onshape.com/documents/330c04cc0a0c762ea2d9572d/w/0a85b8c1de986d9136d2614d/e/b13cf1ad77d9016ae75c3147"}]...
|
[{"post_id": 22480, "ts": "202 [{"post_id": 22480, "ts": "2026-07-04T23:19:22Z", "hours": 2.7969, "text": "final devlog? my devlogs so far have been, lackluster to say the least, but it’s now time to explain! To give some context, im a part of frc team 4550, and one thing that we do every year is to hold a preseason competition in november or so, in which we develop our very own game. We split our team into two separate teams, working to develop their own solutions to this novel game, and invite other local teams as well to compete, so newer members can get experience with making robots overall. As a senior member, we get the chance to make the game ourselves, so here is a potential option to it. PRESENTING: CAFFEINE CRASHOUT Basically the goal of the game is to take these balls (fuel from the 2026 game, called “beans”) and deliver them into these scoring grids (so essentially charged up), but the major catch is that you kinda have to reach up and over the field wall to kind of score into these scoring areas, where the closer the scoring platform is, the lesser points it is. From the image, there are 3 L1 areas, 6 L2 areas, and 9 L3 areas. The holding limit is 3 balls (as accordance to the multiple game piece limit FIRST put out for 2027), and since the balls are 2026 fuel, the hope is for me is that it promotes teams to try and develop something that reaches over and goes down, since fuel is relatively bouncy to shoot or drop from above. In addition, there are human player stations, where you can get fuel from, there are some fuel on the ground that you can use for auto, etc. I’m aware that this isn’t like good game design, but what I want is to try and promote some more complex designs from freshman members, which can hopefully promote better designs and complexity from the build season starting in January. One problem I have with this is that I have zero clue what an endgame structure should be, that could go in the middle of the field, as it is quite empty right now. Another thing I’m considering is whether I should add apriltags, considering the complexity it needs to set something up for this specific field layout, mess with the AprilTagFieldLayout json, blah blah blah. Doubt anyone will see this, but if you do, plz give me some ideas for the endgame (also ik my cad is terrible im strategy/programming)"}, {"post_id": 8344, "ts": "2026-06-13T21:26:10Z", "hours": 1.8464, "text": "Working on scoring elements and grid"}, {"post_id": 6505, "ts": "2026-06-10T22:39:40Z", "hours": 0.6375, "text": "Field, barriers, and human player station"}]...
|
Title: Caffeine Crashout by @maxverpoopen | Starda Title: Caffeine Crashout by @maxverpoopen | Stardance
Devlogs:
Field, barriers, and human player station
Working on scoring elements and grid
final devlog? my devlogs so far have been, lackluster to say the least, but it’s now time to explain! To give some context, im a part of frc team 4550, and one thing that we do every year is to hold a preseason competition in november or so, in which we develop our very own game. We split our team into two separate teams, working to develop their own solutions to this novel game, and invite other local teams as well to compete, so newer members can get experience with making robots overall. As a senior member, we get the chance to make the game ourselves, so here is a potential option to it. PRESENTING: CAFFEINE CRASHOUT Basically the goal of the game is to take these balls (fuel from the 2026 game, called “beans”) and deliver them into these scoring grids (so essentially charged up), but the major catch is that you kinda have to reach up and over the field wall to kind of score into these scoring areas, where the closer the scoring platform is, the lesser points it is. From the image, there are 3 L1 areas, 6 L2 areas, and 9 L3 areas. The holding limit is 3 balls (as accordance to the multiple game piece limit FIRST put out for 2027), and since the balls are 2026 fuel, the hope is for me is that it promotes teams to try and develop something that reaches over and goes down, since fuel is relatively bouncy to shoot or drop from above. In addition, there are human player stations, where you can get fuel from, there are some fuel on the ground that you can use for auto, etc. I’m aware that this isn’t like good game design, but what I want is to try and promote some more complex designs from freshman members, which can hopefully promote better designs and complexity from the build season starting in January. One problem I have with this is that I have zero clue what an endgame structure should be, that could go in the middle of the field, as it is quite empty right now. Another thing I’m considering is whether I should add apriltags, considering the complexity it needs to set something up for this specific field layout, mess with the AprilTagFieldLayout json, blah blah blah. Doubt anyone will see this, but if you do, plz give me some ideas for the endgame (also ik my cad is terrible im strategy/programming)
Ships:
FRC game for preseason competition...
|
1793652609.880348
|
1793739009.880348
|
|
15867
|
My very own WebOS by @padel12 | Stardance
|
padel12
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @padel12 | Stardance
|
1793285346.0276005
|
1793890146.0276005
|
|
15868
|
My very own WebOS by @arnav_tokala | Stardance
|
arnav_tokala
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @arnav_tokala | Starda Title: My very own WebOS by @arnav_tokala | Stardance...
|
1793174033.2487311
|
1793778833.2487311
|
|
15869
|
My very own WebOS by @Aurian | Stardance
|
Aurian
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Aurian | Stardance
|
1793447621.9862707
|
1794052421.9862707
|
|
15870
|
My awesome macropad! by @Bubble | Stardance
|
Bubble
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Bubble | Stardance
|
1793515826.6966476
|
1794120626.6966476
|
|
15871
|
My first slack bot! by @Hippo | Stardance
|
Hippo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Hippo | Stardance
|
1793361335.1013176
|
1793966135.1013176
|
|
15872
|
My very own WebOS by @ryshidm | Stardance
|
ryshidm
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @ryshidm | Stardance
|
1793137783.6643054
|
1793742583.6643054
|
|
15873
|
Untitled by @giannisk231 | Stardance
|
giannisk231
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @giannisk231 | Stardance
|
1793238660.6379986
|
1793843460.6379986
|
|
15874
|
Untitled project by @Naser | Stardance
|
Naser
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Naser | Stardance
|
1793498224.4335704
|
1794103024.4335704
|
|
15875
|
fun discord bot by @utkarsh1 | Stardance
|
utkarsh1
|
0
|
1.01
|
0
|
[]
|
[{"post_id": 6460, "ts": "2026 [{"post_id": 6460, "ts": "2026-06-10T21:25:13Z", "hours": 1.0081, "text": "did basic bot setup and made commands like guess the number, hint, etc."}]...
|
Title: fun discord bot by @utkarsh1 | Stardance
D Title: fun discord bot by @utkarsh1 | Stardance
Devlogs:
did basic bot setup and made commands like guess the number, hint, etc....
|
1793303266.5526152
|
1793908066.5526152
|
|
15876
|
My awesome macropad! by @samarth_m | Stardance
|
samarth_m
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @samarth_m | Starda Title: My awesome macropad! by @samarth_m | Stardance...
|
1793389975.582124
|
1793994775.582124
|
|
15877
|
Frictionless by @lightzz | Stardance
|
lightzz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @lightzz | Stardance
|
1793382845.9481697
|
1793987645.9481697
|
|
15878
|
MNIST Image Classifier from Scratch by @lightzz | MNIST Image Classifier from Scratch by @lightzz | Stardance...
|
lightzz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: MNIST Image Classifier from Scratch by @lig Title: MNIST Image Classifier from Scratch by @lightzz | Stardance...
|
1793242189.0200975
|
1793846989.0200975
|
|
15879
|
Cosmic thrust by @antoine | Stardance
|
antoine
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Cosmic thrust by @antoine | Stardance
|
1793361065.8621423
|
1793965865.8621423
|
|
15880
|
My awesome macropad! by @geroldo | Stardance
|
geroldo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @geroldo | Stardanc Title: My awesome macropad! by @geroldo | Stardance...
|
1793458166.0292873
|
1794062966.0292873
|
|
15881
|
VanishPoint by @jasonca2023 | Stardance
|
jasonca2023
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: VanishPoint by @jasonca2023 | Stardance
|
1793285443.6645148
|
1793890243.6645148
|
|
15882
|
Frictionless by @hric1 | Stardance
|
hric1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @hric1 | Stardance
|
1793227979.8682916
|
1793832779.8682916
|
|
15883
|
Numpad by @Magnu-Shaak | Stardance
|
Magnu-Shaak
|
0
|
54.14
|
0
|
[]
|
[{"post_id": 44349, "ts": "202 [{"post_id": 44349, "ts": "2026-08-10T01:44:11Z", "hours": 4.3347, "text": "Shipping and BOM Made the BOM and sourced parts. Briefly explored switching from the XIAO rp2040 to the Waveshare rp2040 zero. The deal that made that cheaper ran out, so I am back to the XIAO. Shipping was annoying. Eventually, I got my pcb from PCBway (chaeaper than JLC with shipping) on Global Direct shipping. Turns out it’s DDP, but it wasn’t clear originally. Case I am getting 3d printed from my local library for $3.50. Soldering equipment and the XIAO RP2040 devboard, I am getting from Amazon and Microcenter. The rest of it (cheap basic components) I am getting from AliExpress. I am Submitting this Project on Macondo. It better suits what I want in the shop, and It’s more convenient for me because of when my school starts."}, {"post_id": 35913, "ts": "2026-07-27T17:30:36Z", "hours": 1.2336, "text": "Made a toggle key that will activate when pressed. Technically, it’s not on the keymap, but a chord combo(Plus + Minus). Main Problem today was that I I ran out of codespace hours today. With some research, I found Firebase Studio (Unlimited hours) by google. However, they are conveniently stopping support and no longer supporting new projects as of 2 days age. Eventually I settled on using github’s built in vs_code IDE, which works even after you run out of codespace hours. Hackatime installed on there, but it wasn’t correctly connecting to the correct hackatime project, but instead linking to a new one. When I tried to fix it, it wouldn’t connect at all. Eventually I just edited it in the vs_code IDE. Will try to get hackatime working tomorrow. I think it might start working again if I delete .wakatime-project (me trying to make it work) and add the project name on settings.json."}, {"post_id": 33354, "ts": "2026-07-23T06:17:12Z", "hours": 1.1158, "text": "Added more symbols __ Added support for power, remainder, and floor division symbols"}, {"post_id": 32818, "ts": "2026-07-22T06:46:31Z", "hours": 2.6203, "text": "Stopped displaying calculator inputs and Added Dot, Clear, and Backspace functionality __ Hijacked keyboard.process_key so that nothing would display on the screen. Pointed it to it’s old sequence if not in calc_mode __ Added decimals by checking weather or not the current number (a or b) already had a decimal in it. Differentiated between them with (or without) the presence of a operator. Made new state[“a/b}] variables for that __ Defined Clear and Backspace as entries in class RemoverKeys, as part of KMK’s Keys class. Then added them to other_operators_list and custom functions to them."}, {"post_id": 32034, "ts": "2026-07-20T22:09:22Z", "hours": 2.9464, "text": "Added oled support for the local calculator Directly edited the oled_extention.py file to update every time there is a input regarding the raw_str input. __ Also added Running total (use the answer of the last calculation as input for the next) and Padding, adding spaces between entries, (ex: “a+b=c “–> “a + b = c”"}, {"post_id": 31583, "ts": "2026-07-20T02:59:32Z", "hours": 5.3583, "text": "Made interpreter for local calculator __ Made an interpreter so that when state[“is_active”] is true, will convert the kmk inputs to a str. It will then separate that into operator, a and b, and calculate the result. __ However, KMK does not have a way to receive keyboard input updates , meaning it won’t work. To fix this, I am converting it to an exention, which does have that ability."}, {"post_id": 29109, "ts": "2026-07-15T19:30:17Z", "hours": 3.0472, "text": "Made Custom OLED Extension for KMK __ KMK’s display drivers are trash, after they removed peg support. Rather than use an older version of kmk, I used ai to help me add OLED support. __ I used the ai to interface with the low level circuitpy i am unfamiliar with (I use desktop python). I also typed out my own code. Without doing this, I would have to switch everything i had to another firmware on an unknown language."}, {"post_id": 28428, "ts": "2026-07-14T17:42:34Z", "hours": 1.3014, "text": "Made Layer 2 of the macropod __ Made a shortcuts layer. I Used control directly than using a modifier for convenience. Main time use was figuring out TapDace for the recording. __ Not having “combos = Combos()” caused an error. Turn’s out there is a python formatting reason. If anyone understands why, can you explain in a comment? Other errors in code were basic format errors __ Only have built in calculator and OLED display left to make"}, {"post_id": 28024, "ts": "2026-07-14T00:53:48Z", "hours": 2.7133, "text": "Base KMK and added OLED & Layer support __ Made the base KMK matrix & keymap (very easy) Then added OLED configuration (SSD 1306 with i2c protocol) -P..S. The protocol works in a very interesting way __ Explored some Layer switching that I want. I use all my keys, so I have a Temporary active when holding down the enter key, and a toggle with the Plus and Minus Keys together. (KC.LT and combos) __ Still need to complete keymap of 2nd layer and add actual stuff to display on OLED"}, {"post_id": 26855, "ts": "2026-07-11T21:37:49Z", "hours": 0.7906, "text": "Set up Github Codespaces (correctly) for KMK _ Imported kmk as a git submodule on codespace. Then configured settings.json for correct depth when programming. _ Everything froze halfway through. Just had to delete & remake settings.json and Developer: Reload Window."}, {"post_id": 26222, "ts": "2026-07-10T21:43:26Z", "hours": 1.7853, "text": "Setting up KMK environment (Unsuccessful) I am trying to make the kmk code for my macropad, so I’ll only have to debug when i get my parts. I am trying to set up the environment on Github Codespace. __ However, I desided to try to link it directly, instead of uploading kmk to my repo to use as a library directly. I tried to use PyPI and pip commands to directly link it. After troubleshooting (mostly with ai because I am new and don’t know how anything on github works at all) . Eventually, I found out that kmk has non traditional formating, and when inquiring about it, found out it was not on PyPI at all. __ Going to try to direcly upload kmk to repo to use as a library"}, {"post_id": 25523, "ts": "2026-07-09T20:49:29Z", "hours": 1.7828, "text": "Case Finished Custom Insert Completed Designed and Made the Lock Mechanism Made offsets for 3d printer tolerences Realized they broke the lock mechanism and fixed it __ Split file into 3 parts –Top Plate (Removable plate to insert the PCB) –Case (Main structure that houses the PCB) –Custom Insert (Sliding Insert and it’s lock)"}, {"post_id": 24951, "ts": "2026-07-08T20:42:00Z", "hours": 3.8592, "text": "Custom Case Insert - part 1 (Took Way too long) I made a custom insert right above the USB-c port. I want to make this interchangeable, so I can swap designs in and out, whenever. _ There were way too many problems making it: 1 - Made Border sketch on wrong surface. When switching from the bottom to top of a part, the entire sketch rotates, and gets misaligned. Solved by Remaking Sketch using USE. (10 mins spent) __ 2 - Switched to wrong plane for making the insert. It would have been easier to extrude down and then use Boolean. I switched to the front plane, after already making sketches for the top plane. Solved by switching back to a save that had the top plane sketches through version history. (30 mins spent) __ 3 - Forgot that computers make mistakes. When I Used the Boolean tool to make the insert from the extruded hole, I found that the shape wasn’t entirely parallel where it was suppose to be. I spent about an hour (felt like) rechecking all my measurements. When i asked gemini (out of ideas), I realized it was probably a float error. I didn’t think that Onshape would suffer from the same problems as my really unoptimized python code. (30 mins spent) __ __ Sorry if I am ranting. I hate float errors"}, {"post_id": 24345, "ts": "2026-07-07T21:09:27Z", "hours": 1.8086, "text": "Suppressed PCB Calculations I needed to do this so I could continue making my case withought a lot of waiting. Plus, it is also a good habit to never render anything you don’t need if it signifigantly affects your performance. When I started deigning, I used the PCB as a reference. However, now the pcb is slowing my computer down a ton, and I want to fix that, so I suppresed the PCB file. This broke my usb-c connector cutout, and shifted all my other components to one corner (as they were in a chain that used the pcb as a reference). I fixed this by deleting the relationships between the projected lines and the reference on the pcb. I learned you can use “Show dependencies” on the PCB’s import feature to see all the relationships."}, {"post_id": 23633, "ts": "2026-07-06T18:24:42Z", "hours": 2.2839, "text": "Made USB-C cutout and connected the top plate to the case. Originaly, there was a 0.4 mm gap that i made for the pcb, but I forgot to fill that for the top plate (would have been really bad). Ai helped a ton to figure out the size of the USB-C cutout."}, {"post_id": 22502, "ts": "2026-07-05T00:27:40Z", "hours": 2.4819, "text": "Case (part 3) Made the Case walls/base and fixed OLED cutout (again). Also rechecked Screw measurements. Main problem was I had a hard time with the Use tool in Onshape"}, {"post_id": 15373, "ts": "2026-06-25T00:15:14Z", "hours": 1.6683, "text": "Case (part 2) Got Top Surface completed and planned for the screwholes/heated inserts. I am going to make a hole for the screw the whole way, and a slightly bigger one for the heated inserts at the end."}, {"post_id": 15200, "ts": "2026-06-24T18:21:57Z", "hours": 1.3206, "text": "Started Case Design Imported ai03 and pcb files to help with case design Used wrong setting for my import which made me have to restart halfway through."}, {"post_id": 14492, "ts": "2026-06-23T17:03:59Z", "hours": 0.8992, "text": "Assign 3d Models for PCB I used the models listed in https://hackpad-v2-backup.pages.dev . I assigned 3d models to the schematic. I will use this to help design my case."}, {"post_id": 10780, "ts": "2026-06-17T18:09:36Z", "hours": 3.5144, "text": "Finished wiring PCB!! Felt like ages. First there was a ton of congestion right below the microcontroller, and I had to run some wires there, so I rewired it. Then I realized my PCB was exceeding the 100x100mm limit, so had to move the microcontroller down and rewire that area (again). The project is taking longer than I though. I am making so many stupid mistakes. However, I am proud of how quickly I re-wired at the end. Still wasn’t very fast compared to what someone who knows KiCad could have, but really fast for me."}, {"post_id": 9645, "ts": "2026-06-16T01:43:31Z", "hours": 2.2706, "text": "PCB Design (part 1) Made Half of PCB First I tried Geographically Remaping components. It worked for the Switches but diodes went all wack. Had to manually fix that. Learned to use “m” to move the switches and it’s so much easier than dragging (because the switch don’t keep getting stuck for “optimal” wiring paths) The area right below the microcontroller was very tight (6 paths in a 4 wide area). I had to rewire that a lot."}, {"post_id": 9405, "ts": "2026-06-15T19:12:27Z", "hours": 1.61, "text": "Started PCB I started the PCB and it took a long time, because I didn’t know how to use anything. A few Problems: 0- Footprints unlinked again (a wrong setting?) 1-Remembered IDK what side the OLED’s screen goes in relation to the pins 2- Forgot that flipped means make traces go to the back 3- Forgot I’m hand soldering = DO NOT run trace next to pin unless they connect 4- Procrastinated Switch Layout until end"}, {"post_id": 7853, "ts": "2026-06-13T02:56:44Z", "hours": 0.84, "text": "Wired OLED Wired up the OLED and changed some of the matrix wiring connections to do that."}, {"post_id": 7799, "ts": "2026-06-13T00:45:01Z", "hours": 0.6867, "text": "Finished Reconfiguring KiCad On my previse Lapses, I accidently included private info, so I took them down. I made a mklink/j to my project location so it wouldn’t show my account name in the future. Had to re-install the care package after that, because it unlinked. (I did mklink /j “C:\\KiCad_Projects” “C:\\Users - -User–\\Documents\\KiCad” in cmd prompt as administrater)"}, {"post_id": 7229, "ts": "2026-06-12T02:01:57Z", "hours": 1.4894, "text": "Schematic For PCB Made the Schematic for the PCB. I was wonky in my placement so had to restart halfway through. Still need to assign footprints though."}, {"post_id": 7075, "ts": "2026-06-11T21:00:20Z", "hours": 0.3792, "text": "Numpad - Starting the project I Want to Make a Numpad accesory to laptoms that don’t have one. Currently, I have made the Wiring plan in ASCI and have started on the schematic. It took me a while to get KiCad started. I made the dumb move to install it in a non-default location, and had to go through a long troubleshooting process before giving up and reinstalling it. I forgot to click record on lapse, so I unfortunately don’t have that recorded."}]...
|
Title: Numpad by @Magnu-Shaak | Stardance
Devlogs Title: Numpad by @Magnu-Shaak | Stardance
Devlogs:
Numpad - Starting the project I Want to Make a Numpad accesory to laptoms that don’t have one. Currently, I have made the Wiring plan in ASCI and have started on the schematic. It took me a while to get KiCad started. I made the dumb move to install it in a non-default location, and had to go through a long troubleshooting process before giving up and reinstalling it. I forgot to click record on lapse, so I unfortunately don’t have that recorded.
Schematic For PCB Made the Schematic for the PCB. I was wonky in my placement so had to restart halfway through. Still need to assign footprints though.
Finished Reconfiguring KiCad On my previse Lapses, I accidently included private info, so I took them down. I made a mklink/j to my project location so it wouldn’t show my account name in the future. Had to re-install the care package after that, because it unlinked. (I did mklink /j “C:\KiCad_Projects” “C:\Users - -User–\Documents\KiCad” in cmd prompt as administrater)
Wired OLED Wired up the OLED and changed some of the matrix wiring connections to do that.
Started PCB I started the PCB and it took a long time, because I didn’t know how to use anything. A few Problems: 0- Footprints unlinked again (a wrong setting?) 1-Remembered IDK what side the OLED’s screen goes in relation to the pins 2- Forgot that flipped means make traces go to the back 3- Forgot I’m hand soldering = DO NOT run trace next to pin unless they connect 4- Procrastinated Switch Layout until end
PCB Design (part 1) Made Half of PCB First I tried Geographically Remaping components. It worked for the Switches but diodes went all wack. Had to manually fix that. Learned to use “m” to move the switches and it’s so much easier than dragging (because the switch don’t keep getting stuck for “optimal” wiring paths) The area right below the microcontroller was very tight (6 paths in a 4 wide area). I had to rewire that a lot.
Finished wiring PCB!! Felt like ages. First there was a ton of congestion right below the microcontroller, and I had to run some wires there, so I rewired it. Then I realized my PCB was exceeding the 100x100mm limit, so had to move the microcontroller down and rewire that area (again). The project is taking longer than I though. I am making so many stupid mistakes. However, I am proud of how quickly I re-wired at the end. Still wasn’t very fast compared to what someone who knows KiCad could have, but really fast for me.
Assign 3d Models for PCB I used the models listed in https://hackpad-v2-backup.pages.dev . I assigned 3d models to the schematic. I will use this to help design my case.
Started Case Design Imported ai03 and pcb files to help with case design Used wrong setting for my import which made me have to restart halfway through.
Case (part 2) Got Top Surface completed and planned for the screwholes/heated inserts. I am going to make a hole for the screw the whole way, and a slightly bigger one for the heated inserts at the end.
Case (part 3) Made the Case walls/base and fixed OLED cutout (again). Also rechecked Screw measurements. Main problem was I had a hard time with the Use tool in Onshape
Made USB-C cutout and connected the top plate to the case. Originaly, there was a 0.4 mm gap that i made for the pcb, but I forgot to fill that for the top plate (would have been really bad). Ai helped a ton to figure out the size of the USB-C cutout.
Suppressed PCB Calculations I needed to do this so I could continue making my case withought a lot of waiting. Plus, it is also a good habit to never render anything you don’t need if it signifigantly affects your performance. When I started deigning, I used the PCB as a reference. However, now the pcb is slowing my computer down a ton, and I want to fix that, so I suppresed the PCB file. This broke my usb-c connector cutout, and shifted all my other components to one corner (as they were in a chain that used the pcb as a reference). I fixed this by deleting the relationships between the projected lines and the reference on the pcb. I learned you can use “Show dependencies” on the PCB’s import feature to see all the relationships.
Custom Case Insert - part 1 (Took Way too long) I made a custom insert right above the USB-c port. I want to make this interchangeable, so I can swap designs in and out, whenever. _ There were way too many problems making it: 1 - Made Border sketch on wrong surface. When switching from the bottom to top of a part, the entire sketch rotates, and gets misaligned. Solved by Remaking Sketch using USE. (10 mins spent) __ 2 - Switched to wrong plane for making the insert. It would have been easier to extrude down and then use Boolean. I switched to the front plane, after already making sketches for the top plane. Solved by switching back to a save that had the top plane sketches through version history. (30 mins spent) __ 3 - Forgot that computers make mistakes. When I Used the Boolean tool to make the insert from the extruded hole, I found that the shape wasn’t entirely parallel where it was suppose to be. I spent about an hour (felt like) rechecking all my measurements. When i asked gemini (out of ideas), I realized it was probably a float error. I didn’t think that Onshape would suffer from the same problems as my really unoptimized python code. (30 mins spent) __ __ Sorry if I am ranting. I hate float errors
Case Finished Custom Insert Completed Designed and Made the Lock Mechanism Made offsets for 3d printer tolerences Realized they broke the lock mechanism and fixed it __ Split file into 3 parts –Top Plate (Removable plate to insert the PCB) –Case (Main structure that houses the PCB) –Custom Insert (Sliding Insert and it’s lock)
Setting up KMK environment (Unsuccessful) I am trying to make the kmk code for my macropad, so I’ll only have to debug when i get my parts. I am trying to set up the environment on Github Codespace. __ However, I desided to try to link it directly, instead of uploading kmk to my repo to use as a library directly. I tried to use PyPI and pip commands to directly link it. After troubleshooting (mostly with ai because I am new and don’t know how anything on github works at all) . Eventually, I found out that kmk has non traditional formating, and when inquiring about it, found out it was not on PyPI at all. __ Going to try to direcly upload kmk to repo to use as a library
Set up Github Codespaces (correctly) for KMK _ Imported kmk as a git submodule on codespace. Then configured settings.json for correct depth when programming. _ Everything froze halfway through. Just had to delete & remake settings.json and Developer: Reload Window.
Base KMK and added OLED & Layer support __ Made the base KMK matrix & keymap (very easy) Then added OLED configuration (SSD 1306 with i2c protocol) -P..S. The protocol works in a very interesting way __ Explored some Layer switching that I want. I use all my keys, so I have a Temporary active when holding down the enter key, and a toggle with the Plus and Minus Keys together. (KC.LT and combos) __ Still need to complete keymap of 2nd layer and add actual stuff to display on OLED
Made Layer 2 of the macropod __ Made a shortcuts layer. I Used control directly than using a modifier for convenience. Main time use was figuring out TapDace for the recording. __ Not having “combos = Combos()” caused an error. Turn’s out there is a python formatting reason. If anyone understands why, can you explain in a comment? Other errors in code were basic format errors __ Only have built in calculator and OLED display left to make
Made Custom OLED Extension for KMK __ KMK’s display drivers are trash, after they removed peg support. Rather than use an older version of kmk, I used ai to help me add OLED support. __ I used the ai to interface with the low level circuitpy i am unfamiliar with (I use desktop python). I also typed out my own code. Without doing this, I would have to switch everything i had to another firmware on an unknown language.
Made interpreter for local calculator __ Made an interpreter so that when state[“is_active”] is true, will convert the kmk inputs to a str. It will then separate that into operator, a and b, and calculate the result. __ However, KMK does not have a way to receive keyboard input updates , meaning it won’t work. To fix this, I am converting it to an exention, which does have that ability.
Added oled support for the local calculator Directly edited the oled_extention.py file to update every time there is a input regarding the raw_str input. __ Also added Running total (use the answer of the last calculation as input for the next) and Padding, adding spaces between entries, (ex: “a+b=c “–> “a + b = c”
Stopped displaying calculator inputs and Added Dot, Clear, and Backspace functionality __ Hijacked keyboard.process_key so that nothing would display on the screen. Pointed it to it’s old sequence if not in calc_mode __ Added decimals by checking weather or not the current number (a or b) already had a decimal in it. Differentiated between them with (or without) the presence of a operator. Made new state[“a/b}] variables for that __ Defined Clear and Backspace as entries in class RemoverKeys, as part of KMK’s Keys class. Then added them to other_operators_list and custom functions to them.
Added more symbols __ Added support for power, remainder, and floor division symbols
Made a toggle key that will activate when pressed. Technically, it’s not on the keymap, but a chord combo(Plus + Minus). Main Problem today was that I I ran out of codespace hours today. With some research, I found Firebase Studio (Unlimited hours) by google. However, they are conveniently stopping support and no longer supporting new projects as of 2 days age. Eventually I settled on using github’s built in vs_code IDE, which works even after you run out of codespace hours. Hackatime installed on there, but it wasn’t correctly connecting to the correct hackatime project, but instead linking to a new one. When I tried to fix it, it wouldn’t connect at all. Eventually I just edited it in the vs_code IDE. Will try to get hackatime working tomorrow. I think it might start working again if I delete .wakatime-project (me trying to make it work) and add the project name on settings.json.
Shipping and BOM Made the BOM and sourced parts. Briefly explored switching from the XIAO rp2040 to the Waveshare rp2040 zero. The deal that made that cheaper ran out, so I am back to the XIAO. Shipping was annoying. Eventually, I got my pcb from PCBway (chaeaper than JLC with shipping) on Global Direct shipping. Turns out it’s DDP, but it wasn’t clear originally. Case I am getting 3d printed from my local library for $3.50. Soldering equipment and the XIAO RP2040 devboard, I am getting from Amazon and Microcenter. The rest of it (cheap basic components) I am getting from AliExpress. I am Submitting this Project on Macondo. It better suits what I want in the shop, and It’s more convenient for me because of when my school starts....
|
1793490974.0848432
|
1794095774.0848432
|
|
15884
|
TrajTracker by @maxverpoopen | Stardance
|
maxverpoopen
|
0
|
4.6
|
0
|
[]
|
[{"post_id": 34708, "ts": "202 [{"post_id": 34708, "ts": "2026-07-25T17:08:56Z", "hours": 4.6019, "text": "Dump of a lot of things Sup y’all! First devlog for this project. I’m planning on making a website that will help with FRC scouting, where basically the website will take a FRC match video, and generate a choreo trajectory from it, from which people can use it for a bunch of statistical data, like determining exact cycle times, can be used by drivers to see how they can improve their skills, and for games where auto strategy is super important (like what happened in Norcal District Champs). So far, I’ve worked on a wide variety of random things, of which I’ll explain from here: Homography function: my plan is to determine the homography transform of the keypoints of the field, and transform it to the actual field, where you can map the pixels of the image to the field position, sooo yea. experimentation with OpenCV tracking: experimented with cv tracking functions to focus on a robot, and find the center of the bounding box, from which it can be logged making a robot bumper keypoint dataset: creating a dataset on roboflow in which it finds out the 4 keypoints of the robot bumpers, to try and extractas much accuracy, from which it can go through the homography function challenges: estimations of robot pose when its not on the screen tracking through missed detections inferring robot motions temporal consistency (idk what that means mr. gpt) for now I’ll be working on making the dataset for the robot keypoints, but i think this is a good start!"}]...
|
Title: TrajTracker by @maxverpoopen | Stardance
D Title: TrajTracker by @maxverpoopen | Stardance
Devlogs:
Dump of a lot of things Sup y’all! First devlog for this project. I’m planning on making a website that will help with FRC scouting, where basically the website will take a FRC match video, and generate a choreo trajectory from it, from which people can use it for a bunch of statistical data, like determining exact cycle times, can be used by drivers to see how they can improve their skills, and for games where auto strategy is super important (like what happened in Norcal District Champs). So far, I’ve worked on a wide variety of random things, of which I’ll explain from here: Homography function: my plan is to determine the homography transform of the keypoints of the field, and transform it to the actual field, where you can map the pixels of the image to the field position, sooo yea. experimentation with OpenCV tracking: experimented with cv tracking functions to focus on a robot, and find the center of the bounding box, from which it can be logged making a robot bumper keypoint dataset: creating a dataset on roboflow in which it finds out the 4 keypoints of the robot bumpers, to try and extractas much accuracy, from which it can go through the homography function challenges: estimations of robot pose when its not on the screen tracking through missed detections inferring robot motions temporal consistency (idk what that means mr. gpt) for now I’ll be working on making the dataset for the robot keypoints, but i think this is a good start!...
|
1793231731.2623494
|
1793836531.2623494
|
|
15885
|
Untitled by @nlange312 | Stardance
|
nlange312
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @nlange312 | Stardance
|
1793407729.9643517
|
1794012529.9643517
|
|
15886
|
Untitled project by @Sku11y | Stardance
|
Sku11y
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Sku11y | Stardance
|
1793544576.1109998
|
1794149376.1109998
|
|
15887
|
Wirelessly Controlled Door Lock by @sreevaibhav | Wirelessly Controlled Door Lock by @sreevaibhav | Stardance...
|
sreevaibhav
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Wirelessly Controlled Door Lock by @sreevai Title: Wirelessly Controlled Door Lock by @sreevaibhav | Stardance...
|
1793292970.6142728
|
1793897770.6142728
|
|
15888
|
My awesome macropad! by @Gary-xiao | Stardance
|
Gary-xiao
|
0
|
0.25
|
0
|
[]
|
[{"post_id": 21077, "ts": "202 [{"post_id": 21077, "ts": "2026-07-02T21:08:00Z", "hours": 0.25, "text": "started working on the firmware, forgot to log the first few steps. figuring out how to open the qmk toolbox"}]...
|
Title: My awesome macropad! by @Gary-xiao | Starda Title: My awesome macropad! by @Gary-xiao | Stardance
Devlogs:
started working on the firmware, forgot to log the first few steps. figuring out how to open the qmk toolbox...
|
1793436992.740498
|
1794041792.740498
|
|
15889
|
typing speed test by @manuraj | Stardance
|
manuraj
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: typing speed test by @manuraj | Stardance
|
1793220680.5998554
|
1793825480.5998554
|
|
15890
|
My first slack bot! by @shon | Stardance
|
shon
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @shon | Stardance
|
1793397036.4879444
|
1794001836.4879444
|
|
15891
|
Frictionless by @npmInstallSnack | Stardance
|
npmInstallSnack
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @npmInstallSnack | Stardanc Title: Frictionless by @npmInstallSnack | Stardance...
|
1793324837.5811963
|
1793929637.5811963
|
|
15892
|
My first slack bot! by @chl0e | Stardance
|
chl0e
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @chl0e | Stardance
|
1793638207.4284797
|
1794243007.4284797
|
|
15893
|
Network Scanner by @Eel | Stardance
|
Eel
|
3
|
28.0
|
296
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-19T04:48:00Z", "hours": 23.0, "multiplier": 11.9, "payout": 272, "blessing": "neutral", "text": "Network Scanner is a cross-platform network scanning tool with both a JavaFX desktop interface and a separate CLI. It can discover hosts, scan ports with configurable parallelism, show live progress, and save scan history so you can compare opened and closed ports between scans. The biggest challenge was turning the original scanner into a reliable, packaged application that works consistently across Windows, Linux, and macOS while keeping the CLI automation-friendly. I’m especially proud of the complete release pipeline and native desktop builds. The project now ships with Java included, has automated releases and SHA-256 checksums, and has been tested across all six Windows/macOS/Linux CI combinations. I also built cancellation, persistent scan history, report generation, and live progress into the desktop application. To test it, download the appropriate v3.0.0 release for your operating system from GitHub. You can try a scan against your own local network or use a loopback address such as 127.0.0.1. The CLI JAR is also available if you prefer running it from a terminal or using it in automation.", "repo": "https://github.com/Caleb-Guyer/java-network-scanner", "demo": "https://github.com/Caleb-Guyer/java-network-scanner/releases"}, {"ship_num": 2, "ts": "2026-08-07T03:12:08Z", "hours": 2.0, "multiplier": 6.07, "payout": 12, "blessing": "neutral", "text": "I improved my Java Network Scanner to scan all 254 addresses in a subnet, support customizable port ranges, identify common services, validate input, and generate scan reports. The biggest challenge was improving the scan speed while keeping it reliable, and I’m proud of turning it into a much more flexible and useful tool. To test it, run the program with Java, enter your local subnet (such as 192.168.1), and choose a port range to scan.", "repo": "https://github.com/Caleb-Guyer/java-network-scanner", "demo": "https://github.com/Caleb-Guyer/java-network-scanner/releases"}, {"ship_num": 3, "ts": "2026-06-11T19:40:03Z", "hours": 3.0, "multiplier": 3.46, "payout": 12, "blessing": "neutral", "text": "This is a fully working Java network scanner that will scan for devices on your network and write it to a file. It integrates network and port scanning. You can get the JAR on the GitHub release.", "repo": "https://github.com/Caleb-Guyer/java-network-scanner", "demo": "https://github.com/Caleb-Guyer/java-network-scanner/releases"}]...
|
[{"post_id": 50090, "ts": "202 [{"post_id": 50090, "ts": "2026-08-19T04:47:14Z", "hours": 5.2136, "text": "v3.0.0 is complete and publicly released. This is a pretty major update for Network Scanner, with the project now having a full JavaFX desktop interface alongside the existing command-line version. The desktop app includes live scan progress, cancellation, persistent scan history, and comparisons between opened and closed ports from previous scans. I also added native desktop bundles for Windows x64, Linux x64, and macOS ARM64, with Java included so users do not need to install Java separately. The automation-friendly CLI JAR remains available separately, and every published download now has a SHA-256 checksum for verification. The release went through 115 regression assertions, all six Windows/macOS/Linux CI combinations, and all native packaging and publication jobs. I also tested a real loopback scan with report generation and verified the published CLI checksum and launcher. Everything passed successfully."}, {"post_id": 49833, "ts": "2026-08-18T19:39:12Z", "hours": 5.6381, "text": "v2.3.0 of my Java Network Scanner is now live. This release focuses heavily on making scanning more reliable, informative, and performant, especially in environments where normal host discovery doesn’t work as expected. The scanner now has an automatic zero-host discovery fallback, along with ICMP/TCP diagnostics and interface warnings to help explain why hosts may not be discovered. I also reworked the parallel scanning system with a globally bounded scan queue, which keeps concurrency under control while still allowing the scanner to take advantage of multiple workers. The scanning experience now includes live progress, throughput, and ETA information. The timeout can also be configured with the new –timeout option. Reports have been expanded as well, with richer information available in the text, JSON, and CSV formats. I also added an opt-in /24 performance benchmark for testing scanner performance on larger ranges. In the 64-worker benchmark, the scanner reached 25,220 checks per second."}, {"post_id": 49047, "ts": "2026-08-17T17:13:29Z", "hours": 6.6, "text": "v2.2.0 of my Java Network Scanner is officially out. This release is a pretty major step forward for the project, especially when it comes to automation, reporting, and making the scanner easier to use outside of the original interactive workflow. The scanner now supports a non-interactive CLI, including the new –skip-discovery option. I also added text, JSON, and CSV report formats, along with partial-report recovery when the scan is interrupted with Ctrl+C. Parallel scanning can now be configured as well, making it possible to adjust how many hosts and ports are scanned concurrently. I also moved the project over to Maven and added cross-platform CI and automated releases. This makes building and releasing the scanner much more consistent and means new releases can be tested across multiple environments automatically."}, {"post_id": 47817, "ts": "2026-08-16T00:56:08Z", "hours": 5.3833, "text": "v2.1.0 is complete and published. This release focuses on the feedback from the previous version, adding IPv4 CIDR support from /24 through /32 while keeping the original subnet shorthand, and improving host discovery with TCP fallbacks to reduce false 0 hosts results when ICMP is blocked. I also added controlled parallelism for much faster host and port scanning, with a configurable worker limit, and improved the scan statistics to accurately report port checks performed on responsive hosts. The release was compiled for Java 11+, passed 26 dependency-free regression assertions, and was smoke-tested with both explicit CIDR and locally inferred network inputs."}, {"post_id": 42412, "ts": "2026-08-07T03:10:48Z", "hours": 1.7436, "text": "After reviewing the feedback from my first ship, I decided to continue developing Network Scanner instead of leaving it at v1.0. The biggest issue was the hardcoded .1-.50 host range, which I had already fixed by expanding the scanner to .1-.254. The next problem I wanted to solve was that my service detection was extremely limited. Originally, the scanner only recognized seven ports, meaning most open ports were simply reported as “Unknown.” I replaced that system with a larger service database covering common services such as DNS, SMB, LDAP, MySQL, PostgreSQL, RDP, VNC and Redis. I also wanted the scanner to provide more information than simply saying that a port was open. I added basic HTTP/HTTPS probing so that web services can report their HTTP status and server information when available. Another piece of feedback specifically requested IPv6 support. This turned out to be more complicated than I initially expected because IPv6 addresses cannot be scanned using the same .1 through .254 approach I used for an IPv4 /24. Instead of pretending to scan an entire IPv6 /64, I decided to support scanning individual IPv6 addresses first. I also added multiple scanning modes so users don’t have to manually enter a port range every time. Quick scan focuses on common ports, while custom and full scans provide more control. While making these changes, I also improved input validation, report formatting, progress feedback and resource handling. The biggest thing I learned from this version is that making a networking tool useful isn’t just about getting the scan to work. I also need to think about what information the results actually provide to the person using it."}, {"post_id": 7155, "ts": "2026-06-11T23:09:59Z", "hours": 0.3028, "text": "Fixed some typos and further optimized the code."}, {"post_id": 7009, "ts": "2026-06-11T19:20:20Z", "hours": 0.8311, "text": "Added configurable port range scanning, service name detection for common ports, port range validation, and finalized v1.0 release."}, {"post_id": 6663, "ts": "2026-06-11T05:20:53Z", "hours": 2.605, "text": "Improved my Java Network Scanner by adding report export functionality, optimizing socket connection timeouts (reducing scan time from over 100 seconds to about 4 seconds), and refactoring the project into multiple classes."}]...
|
Title: Network Scanner by @Eel | Stardance
Devlog Title: Network Scanner by @Eel | Stardance
Devlogs:
Improved my Java Network Scanner by adding report export functionality, optimizing socket connection timeouts (reducing scan time from over 100 seconds to about 4 seconds), and refactoring the project into multiple classes.
Added configurable port range scanning, service name detection for common ports, port range validation, and finalized v1.0 release.
Fixed some typos and further optimized the code.
After reviewing the feedback from my first ship, I decided to continue developing Network Scanner instead of leaving it at v1.0. The biggest issue was the hardcoded .1-.50 host range, which I had already fixed by expanding the scanner to .1-.254. The next problem I wanted to solve was that my service detection was extremely limited. Originally, the scanner only recognized seven ports, meaning most open ports were simply reported as “Unknown.” I replaced that system with a larger service database covering common services such as DNS, SMB, LDAP, MySQL, PostgreSQL, RDP, VNC and Redis. I also wanted the scanner to provide more information than simply saying that a port was open. I added basic HTTP/HTTPS probing so that web services can report their HTTP status and server information when available. Another piece of feedback specifically requested IPv6 support. This turned out to be more complicated than I initially expected because IPv6 addresses cannot be scanned using the same .1 through .254 approach I used for an IPv4 /24. Instead of pretending to scan an entire IPv6 /64, I decided to support scanning individual IPv6 addresses first. I also added multiple scanning modes so users don’t have to manually enter a port range every time. Quick scan focuses on common ports, while custom and full scans provide more control. While making these changes, I also improved input validation, report formatting, progress feedback and resource handling. The biggest thing I learned from this version is that making a networking tool useful isn’t just about getting the scan to work. I also need to think about what information the results actually provide to the person using it.
v2.1.0 is complete and published. This release focuses on the feedback from the previous version, adding IPv4 CIDR support from /24 through /32 while keeping the original subnet shorthand, and improving host discovery with TCP fallbacks to reduce false 0 hosts results when ICMP is blocked. I also added controlled parallelism for much faster host and port scanning, with a configurable worker limit, and improved the scan statistics to accurately report port checks performed on responsive hosts. The release was compiled for Java 11+, passed 26 dependency-free regression assertions, and was smoke-tested with both explicit CIDR and locally inferred network inputs.
v2.2.0 of my Java Network Scanner is officially out. This release is a pretty major step forward for the project, especially when it comes to automation, reporting, and making the scanner easier to use outside of the original interactive workflow. The scanner now supports a non-interactive CLI, including the new –skip-discovery option. I also added text, JSON, and CSV report formats, along with partial-report recovery when the scan is interrupted with Ctrl+C. Parallel scanning can now be configured as well, making it possible to adjust how many hosts and ports are scanned concurrently. I also moved the project over to Maven and added cross-platform CI and automated releases. This makes building and releasing the scanner much more consistent and means new releases can be tested across multiple environments automatically.
v2.3.0 of my Java Network Scanner is now live. This release focuses heavily on making scanning more reliable, informative, and performant, especially in environments where normal host discovery doesn’t work as expected. The scanner now has an automatic zero-host discovery fallback, along with ICMP/TCP diagnostics and interface warnings to help explain why hosts may not be discovered. I also reworked the parallel scanning system with a globally bounded scan queue, which keeps concurrency under control while still allowing the scanner to take advantage of multiple workers. The scanning experience now includes live progress, throughput, and ETA information. The timeout can also be configured with the new –timeout option. Reports have been expanded as well, with richer information available in the text, JSON, and CSV formats. I also added an opt-in /24 performance benchmark for testing scanner performance on larger ranges. In the 64-worker benchmark, the scanner reached 25,220 checks per second.
v3.0.0 is complete and publicly released. This is a pretty major update for Network Scanner, with the project now having a full JavaFX desktop interface alongside the existing command-line version. The desktop app includes live scan progress, cancellation, persistent scan history, and comparisons between opened and closed ports from previous scans. I also added native desktop bundles for Windows x64, Linux x64, and macOS ARM64, with Java included so users do not need to install Java separately. The automation-friendly CLI JAR remains available separately, and every published download now has a SHA-256 checksum for verification. The release went through 115 regression assertions, all six Windows/macOS/Linux CI combinations, and all native packaging and publication jobs. I also tested a real loopback scan with report generation and verified the published CLI checksum and launcher. Everything passed successfully.
Ships:
This is a fully working Java network scanner that will scan for devices on your network and write it to a file. It integrates network and port scanning. You can get the JAR on the GitHub release.
I improved my Java Network Scanner to scan all 254 addresses in a subnet, support customizable port ranges, identify common services, validate input, and generate scan reports. The biggest challenge was improving the scan speed while keeping it reliable, and I’m proud of turning it into a much more flexible and useful tool. To test it, run the program with Java, enter your local subnet (such as 192.168.1), and choose a port range to scan.
Network Scanner is a cross-platform network scanning tool with both a JavaFX desktop interface and a separate CLI. It can discover hosts, scan ports with configurable parallelism, show live progress, and save scan history so you can compare opened and closed ports between scans. The biggest challenge was turning the original scanner into a reliable, packaged application that works consistently across Windows, Linux, and macOS while keeping the CLI automation-friendly. I’m especially proud of the complete release pipeline and native desktop builds. The project now ships with Java included, has automated releases and SHA-256 checksums, and has been tested across all six Windows/macOS/Linux CI combinations. I also built cancellation, persistent scan history, report generation, and live progress into the desktop application. To test it, download the appropriate v3.0.0 release for your operating system from GitHub. You can try a scan against your own local network or use a loopback address such as 127.0.0.1. The CLI JAR is also available if you prefer running it from a terminal or using it in automation....
|
1792878870.0594268
|
1793742870.0594268
|
|
15894
|
My awesome macropad! by @Ettihad | Stardance
|
Ettihad
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Ettihad | Stardanc Title: My awesome macropad! by @Ettihad | Stardance...
|
1793436512.4839625
|
1794041312.4839625
|
|
15895
|
My awesome macropad! by @Cam | Stardance
|
Cam
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Cam | Stardance
|
1793418922.6644382
|
1794023722.6644382
|
|
15896
|
Frictionless by @lxminen | Stardance
|
lxminen
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @lxminen | Stardance
|
1793382611.6490235
|
1793987411.6490235
|
|
15897
|
My awesome macropad! by @jacob_warner | Stardance
|
jacob_warner
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @jacob_warner | Sta Title: My awesome macropad! by @jacob_warner | Stardance...
|
1793480085.454792
|
1794084885.454792
|
|
15898
|
game by @liv | Stardance
|
liv
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: game by @liv | Stardance
|
1793332063.2630281
|
1793936863.2630281
|
|
15899
|
My awesome macropad! by @Micaiah | Stardance
|
Micaiah
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Micaiah | Stardanc Title: My awesome macropad! by @Micaiah | Stardance...
|
1793508560.1335034
|
1794113360.1335034
|
|
15900
|
Montage vidéo by @yuzix_off | Stardance
|
yuzix_off
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Montage vidéo by @yuzix_off | Stardance
|
1793188385.5282779
|
1793793185.5282779
|