|
17251
|
The backrooms by @rubintruben | Stardance
|
rubintruben
|
0
|
52.94
|
0
|
[]
|
[{"post_id": 56864, "ts": "202 [{"post_id": 56864, "ts": "2026-08-28T20:44:40Z", "hours": 10.0408, "text": "Almost finished Level 0 and already started making Level 1! I made a way to progress to the next level by going into a glitched wallpaper block, and added the entity to level 0! In level 1 i addet new textures with pbr, and a new light for the level. Also i made bigger rooms spawn with columns like in the real backrooms, and added realistic puddles! Im currently working onoptimisation bc its really laggy for me right now! My goal is to turn this mod into the next big backrooms minecraft mod and make it as close, and realistic to the real one as i can!!"}, {"post_id": 38089, "ts": "2026-07-31T09:35:06Z", "hours": 9.9397, "text": "Made shadows soft, reworked the generation and added bigger liminal rooms. Also added a cutscene of fallibg into the Backrooms when entering a world. I tweaked the camera animations a little bit to make the gamne more immersive and added camera smoothing."}, {"post_id": 26661, "ts": "2026-07-11T16:34:25Z", "hours": 10.2883, "text": "Fixed all of the bugs seen in the previous devlog and added a realistic flashlight. Also added some glow for the lights (still testing it)"}, {"post_id": 25249, "ts": "2026-07-09T11:54:44Z", "hours": 20.4244, "text": "Made a professional pbr shader pipeline and completely rewrote the shadow system -now facing some serious bugs"}, {"post_id": 7551, "ts": "2026-06-12T16:49:17Z", "hours": 2.2497, "text": "Created a custom dimension for backrooms level 0, made custom textures and block for it. Also made a custom render pipeline and working lightning shaders."}]...
|
Title: The backrooms by @rubintruben | Stardance
Title: The backrooms by @rubintruben | Stardance
Devlogs:
Created a custom dimension for backrooms level 0, made custom textures and block for it. Also made a custom render pipeline and working lightning shaders.
Made a professional pbr shader pipeline and completely rewrote the shadow system -now facing some serious bugs
Fixed all of the bugs seen in the previous devlog and added a realistic flashlight. Also added some glow for the lights (still testing it)
Made shadows soft, reworked the generation and added bigger liminal rooms. Also added a cutscene of fallibg into the Backrooms when entering a world. I tweaked the camera animations a little bit to make the gamne more immersive and added camera smoothing.
Almost finished Level 0 and already started making Level 1! I made a way to progress to the next level by going into a glitched wallpaper block, and added the entity to level 0! In level 1 i addet new textures with pbr, and a new light for the level. Also i made bigger rooms spawn with columns like in the real backrooms, and added realistic puddles! Im currently working onoptimisation bc its really laggy for me right now! My goal is to turn this mod into the next big backrooms minecraft mod and make it as close, and realistic to the real one as i can!!...
|
1793325242.9461741
|
1793930042.9461741
|
|
17252
|
My first slack bot! by @sougata | Stardance
|
sougata
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @sougata | Stardance
|
1793238846.060074
|
1793843646.060074
|
|
17253
|
My awesome macropad! by @kibo | Stardance
|
kibo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @kibo | Stardance
|
1793242193.95931
|
1793846993.95931
|
|
17254
|
My very own WebOS by @PasswordNOTfound | Stardance
|
PasswordNOTfound
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @PasswordNOTfound | St Title: My very own WebOS by @PasswordNOTfound | Stardance...
|
1793332184.075235
|
1793936984.075235
|
|
17255
|
My awesome macropad! by @Chakri | Stardance
|
Chakri
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Chakri | Stardance
|
1793447476.0046175
|
1794052276.0046175
|
|
17256
|
My first slack bot! by @suryak | Stardance
|
suryak
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @suryak | Stardance
|
1793224211.298624
|
1793829011.298624
|
|
17257
|
My very own WebOS by @MAYAchondria | Stardance
|
MAYAchondria
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @MAYAchondria | Starda Title: My very own WebOS by @MAYAchondria | Stardance...
|
1793789249.9990654
|
1794394049.9990654
|
|
17258
|
CrimpPad by @calais | Stardance
|
calais
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: CrimpPad by @calais | Stardance
|
1793393237.9911582
|
1793998037.9911582
|
|
17259
|
Exoplanet explorer by @deetya | Stardance
|
deetya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Exoplanet explorer by @deetya | Stardance
|
1793195305.4377418
|
1793800105.4377418
|
|
17260
|
My awesome macropad! by @Rahma | Stardance
|
Rahma
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Rahma | Stardance
|
1793501805.2402616
|
1794106605.2402616
|
|
17261
|
Untitled by @Kian_Sequeira | Stardance
|
Kian_Sequeira
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Kian_Sequeira | Stardance
|
1792936037.999993
|
1793800037.999993
|
|
17262
|
Tribute Site to Photo 51 by @MAYAchondria | Starda Tribute Site to Photo 51 by @MAYAchondria | Stardance...
|
MAYAchondria
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Tribute Site to Photo 51 by @MAYAchondria | Title: Tribute Site to Photo 51 by @MAYAchondria | Stardance...
|
1793224530.9571438
|
1793829330.9571438
|
|
17263
|
ShuttleAI by @tristandevs | Stardance
|
tristandevs
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ShuttleAI by @tristandevs | Stardance
|
1793307449.5127327
|
1793912249.5127327
|
|
17264
|
AmendOS : A GPU-Accelerated Web OS by @Umang | Sta AmendOS : A GPU-Accelerated Web OS by @Umang | Stardance...
|
Umang
|
0
|
1.89
|
0
|
[]
|
[{"post_id": 7887, "ts": "2026 [{"post_id": 7887, "ts": "2026-06-13T05:04:46Z", "hours": 0.2683, "text": "Walkthorugh of the Project AmendOS"}, {"post_id": 7877, "ts": "2026-06-13T04:26:20Z", "hours": 0.3519, "text": "AmendOS is officially around 50% done , and it’s finally starting to feel like an actual operating system instead of just a web project. Over the past few sessions, I’ve built and refined the core desktop experience, including the menu bar, Dock, window manager, Finder, virtual file system, settings, widgets, and a Linux-inspired terminal. I’ve also been working on integrating real applications and designing the architecture for future support of user-owned GPU servers and remote workstations. A lot of time has gone into polishing the UI to move away from the generic “WebOS” look and closer to something people would genuinely enjoy using every day. There’s still a long way to go—especially around real app execution, Launchpad, backend connectivity, and overall polish—but seeing AmendOS boot up and function like a real desktop environment has been incredibly motivating. It’s messy, experimental, and constantly evolving, but that’s exactly what makes building it fun."}, {"post_id": 7537, "ts": "2026-06-12T16:12:31Z", "hours": 1.265, "text": "You can link your own GPU Clusters through a pipeline or locally on your nwtwork and link it with my Web OS and Access a very powerful computer in your hands. You can use VPS also and link them here and now you will have a GUI backed with your powerful VPS or Homeserver or Your own Computer. Here’s the first look of it:"}]...
|
Title: AmendOS : A GPU-Accelerated Web OS by @Uman Title: AmendOS : A GPU-Accelerated Web OS by @Umang | Stardance
Devlogs:
You can link your own GPU Clusters through a pipeline or locally on your nwtwork and link it with my Web OS and Access a very powerful computer in your hands. You can use VPS also and link them here and now you will have a GUI backed with your powerful VPS or Homeserver or Your own Computer. Here’s the first look of it:
AmendOS is officially around 50% done , and it’s finally starting to feel like an actual operating system instead of just a web project. Over the past few sessions, I’ve built and refined the core desktop experience, including the menu bar, Dock, window manager, Finder, virtual file system, settings, widgets, and a Linux-inspired terminal. I’ve also been working on integrating real applications and designing the architecture for future support of user-owned GPU servers and remote workstations. A lot of time has gone into polishing the UI to move away from the generic “WebOS” look and closer to something people would genuinely enjoy using every day. There’s still a long way to go—especially around real app execution, Launchpad, backend connectivity, and overall polish—but seeing AmendOS boot up and function like a real desktop environment has been incredibly motivating. It’s messy, experimental, and constantly evolving, but that’s exactly what makes building it fun.
Walkthorugh of the Project AmendOS...
|
1793771580.0029585
|
1794376380.0029585
|
|
17265
|
Morse watches by @MuratM | Stardance
|
MuratM
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Morse watches by @MuratM | Stardance
|
1793789752.9106932
|
1794394552.9106932
|
|
17266
|
LimeOS by @vishaldewani | Stardance
|
vishaldewani
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: LimeOS by @vishaldewani | Stardance
|
1793231294.8186686
|
1793836094.8186686
|
|
17267
|
Skyx rocket engine by @shivamgupta_official13 | St Skyx rocket engine by @shivamgupta_official13 | Stardance...
|
shivamgupta_official13
|
0
|
0.71
|
0
|
[]
|
[{"post_id": 7474, "ts": "2026 [{"post_id": 7474, "ts": "2026-06-12T13:56:02Z", "hours": 0.7094, "text": "I was working on my sky x rocket eninge and for now I have just made the core base with the perfect width and the hole inside and then nozzle needed it might not look like an much progress for now but I would do the main work in the next devlog and you could see the actual thing what I was trying to do with this project and with blender"}]...
|
Title: Skyx rocket engine by @shivamgupta_official Title: Skyx rocket engine by @shivamgupta_official13 | Stardance
Devlogs:
I was working on my sky x rocket eninge and for now I have just made the core base with the perfect width and the hole inside and then nozzle needed it might not look like an much progress for now but I would do the main work in the next devlog and you could see the actual thing what I was trying to do with this project and with blender...
|
1793483252.8177197
|
1794088052.8177197
|
|
17268
|
My first slack bot! by @ | Stardance
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @ | Stardance
|
1793227784.326921
|
1793832584.326921
|
|
17269
|
Just a macropad! by @Vilmos45 | Stardance
|
Vilmos45
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Just a macropad! by @Vilmos45 | Stardance
|
1793638091.4675293
|
1794242891.4675293
|
|
17270
|
File Compressor in C by @barseghian_daniel | Stard File Compressor in C by @barseghian_daniel | Stardance...
|
barseghian_daniel
|
2
|
81.0
|
1044
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-27T08:05:03Z", "hours": 12.0, "multiplier": 14.9, "payout": 181, "blessing": "neutral", "text": "made a website for my C code! It was really challenging to work with the WASM module since it’s limited to 32 bits (4GB RAM), but I managed to make it work! I also optimized the C code to use much less RAM (see the devlog). Sadly the website is limited to 220MB per file (because of WASM), but you can still process large files with the GitHub release! You can test it via the website or the GitHub release!", "repo": "https://github.com/danielbarseghian/file-compressor", "demo": "https://dancing-hotteok-83ce45.netlify.app/"}, {"ship_num": 2, "ts": "2026-07-17T21:45:09Z", "hours": 69.0, "multiplier": 12.73, "payout": 863, "blessing": "neutral", "text": "I made a file compressor/decompressor written in C! You can use it on Linux, Windows, and macOS. The part that took the most time was DEBUGGING . It took SOOOOO much more time than I expected! I’m really proud of finishing the project. I consider this my first full project, so yeah, it took some time, but I finally finished it! You should know that all the information is in the README (installation, description, etc.). It was really fun working on it, but all good things come to an end!", "repo": "https://github.com/danielbarseghian/file-compressor", "demo": "https://dancing-hotteok-83ce45.netlify.app/"}]...
|
[{"post_id": 55426, "ts": "202 [{"post_id": 55426, "ts": "2026-08-27T07:56:40Z", "hours": 0.3333, "text": "ITS DEPLOYED! i added a small status text to know when its compressing/decompressing. you can try it the website here !"}, {"post_id": 55045, "ts": "2026-08-26T14:03:53Z", "hours": 3.1169, "text": "ITS REALEAAAAASEDD the updated C code is release go check it out here !"}, {"post_id": 54104, "ts": "2026-08-24T22:04:14Z", "hours": 3.4836, "text": "Optimized code for less R*M usage! For a 2.8gb file it was taking 2.8gb of ram but now its taking 42 KB! I was putting the file in the ram but now i stream the file to ram for 99.999% less ram usage!"}, {"post_id": 51584, "ts": "2026-08-21T11:04:04Z", "hours": 0.2833, "text": "Imported decompressor ! well it was super easy to import the decompressor since it was very similar to the compressor code!"}, {"post_id": 51554, "ts": "2026-08-21T10:19:38Z", "hours": 1.0667, "text": "Compressed file directly in the browser ! i compiled the C code into wasm (web assembly) so i can use it inside the browser!"}, {"post_id": 50560, "ts": "2026-08-19T19:27:18Z", "hours": 3.5453, "text": "BACK ON C ! F**K WINDOWS, C# AND UNITY i missed C so much and working on linux too its just so much more fun and fast and, i can’t make game look good… look at my latest project . Im finally back at my roots"}, {"post_id": 30609, "ts": "2026-07-18T10:06:56Z", "hours": 0.3169, "text": "My Ship got rejected… kinda My Ship got requested change because my banner didn’t showcase the project now i changed it, here i compress and decompress a jpeg file and then open it! Hope this next ship will be accepted!"}, {"post_id": 30322, "ts": "2026-07-17T19:42:36Z", "hours": 1.9761, "text": "ITS REALEAAAAAASED You can use it for Windows, macOS, and Linux. The tutorial is mentioned under the README for all three systems. I tested it on Windows and Linux. I don’t have any Apple devices to test it out. :("}, {"post_id": 29790, "ts": "2026-07-16T22:05:17Z", "hours": 2.9333, "text": "about the website… So… I abandoned it I CAN’T MAKE WEBSITES, I CAN’T STAND JAVASCRIPT. I tried to use WebAssembly, but it’s not widely used, so it’s really hard to work with. How can you use it? Well, use it with the CLI like a super nerd Don’t worry, everything is documented in the README. CLI » JAVASCRIPT"}, {"post_id": 29200, "ts": "2026-07-15T22:51:38Z", "hours": 2.3436, "text": "Started website, web assembly and my own extension! Extension I added the .huff extension since it will help me recognize files compressed by my compressor. The format used is .extension.huff (example: image.jpg.huff). Web Assembly I compiled the code to web assembly so it can run directly on the user’s PC and not on servers. Website I’m creating a simple website that just does the j*b (still woking on it, this is just the core). The website will not communicate with other APIs or services, thanks to web assembly. I hate JavaScript."}, {"post_id": 28517, "ts": "2026-07-14T20:28:35Z", "hours": 7.76, "text": "I reached… the end? So i’ve been testing for a while now and i didn’t have much to say…. I successfully compressed, decompressed and burnt a linux iso and booted into one ! It required alot of troubleshooting and waiting ( 5 - 15min PER TRY ) but hey now it works on any file!"}, {"post_id": 26022, "ts": "2026-07-10T16:30:07Z", "hours": 2.9822, "text": "how did it work? i REALLY don’t know how it worked but it worked, a famouse programming therm if it works, don’t touch it! I just changed a char to an unsigned char lol."}, {"post_id": 22897, "ts": "2026-07-05T15:12:46Z", "hours": 1.25, "text": "Learned mmap open …. I did some exercices on mmap , open , fstat and learned thoses, next i have to implemente it in compressor.c"}, {"post_id": 22178, "ts": "2026-07-04T14:41:32Z", "hours": 4.1289, "text": "Found the problem for segmentation error (I’m back) So i had this error for the past 4 days and i coudn’t fix it so i even take a step back for 2 days but still coudn’t find it, the problem was that i had to wait 5 min for every try i did. Fix ? I used claude so he run test on faster machines, and i got the errors i have to fix. (He wanted to script it himself, i obviously said no)."}, {"post_id": 19304, "ts": "2026-06-30T15:58:16Z", "hours": 4.4594, "text": "FINALLYYYYYYYYYYYYY I successfully compressed and decompressed a file other than text files, I used binary to write the files so it supports all the file types now! What was the problem ? So the compressed file were written in text and decompressed with text wich limited the compression for only text files. What was the fix ? I wrote the compressed file and decompressed in binary. (small part of the code i changed)"}, {"post_id": 17826, "ts": "2026-06-28T19:16:21Z", "hours": 2.0475, "text": "IT WORKS but only in text files… Why dosn’t it work? In the metadata, i write it as a text file (a:1|b:5…), it works fine for text files but for other files type, it dosn’t work since its written in binary. Any solutions? i have to write the metadata in binary, yayyy…"}, {"post_id": 17618, "ts": "2026-06-28T14:25:13Z", "hours": 4.9825, "text": "NEVER code something with AI What happened? So i said to myself that i can code this small part with AI since i don’t know the synstaxe and I did it and its the problem now. I learned bitwise operators and logique and then recoded the part, didnt finish yet."}, {"post_id": 16911, "ts": "2026-06-27T13:48:34Z", "hours": 1.3667, "text": "it’s SO HOT in europe There was an issue with compressor.c while doing it with other files than png. I’m still working on decompressor.c it can’t decode normally a file other than png. Text files still works. Heatwave Its so hot in europe, I can’t work normally, the temperatures will go down monday hopefully."}, {"post_id": 16759, "ts": "2026-06-27T06:54:22Z", "hours": 2.5828, "text": "FINALLY FINISHED compressor.c AND decompressor.c THE BUG so the main bug was that the two arrays which contained the frequencies of each letter were reversed so the huffman tree was not the same and the codes too weren’t the same. THE FIX so in decompressor.c i just reversed the codes. this is not a permanent fix will investigate further into compressor.c to see why its reversed!"}, {"post_id": 15823, "ts": "2026-06-25T18:36:34Z", "hours": 2.865, "text": "Finished reading bytes, Almost finished I’m almost finished with my code (this is my longest project yet) i’m so existed ! What am i doing next? pray for no bugs"}, {"post_id": 15143, "ts": "2026-06-24T16:30:30Z", "hours": 3.1906, "text": "Fixed swapping issues, transfer list array into node array, and building codes works Swapping issues i had an issue where i was putting the new node in first in the link list so i fix it, drawing it on a sketch really helped . Transfer list to node So i transfer it into an array since its easier to use it and i coudn’t built it before since an array is a fixed size, thats why I used a linked list to first get the values and the length. Building huffman codes I just imported function i already programmed in compressor.c . image from wikipedia"}, {"post_id": 14259, "ts": "2026-06-23T09:03:36Z", "hours": 5.0258, "text": "Started to code decompresor.c i have alot of problems with decompressor.c notably two nulls caracters at the start."}, {"post_id": 12483, "ts": "2026-06-20T11:51:35Z", "hours": 2.3331, "text": "FREED ALL THE MEMORY All this memory can be reused for other good causes now"}, {"post_id": 12168, "ts": "2026-06-19T21:33:52Z", "hours": 1.2511, "text": "Finally FINISHED compressor.c when you finally finished that code"}, {"post_id": 11891, "ts": "2026-06-19T11:42:29Z", "hours": 1.3531, "text": "C programmer TOUCHING grass for the FIRST TIME I didnt program for 2 days and touched some grass. How was it ? it was weird since it was grass (wich i don’t touch) but it was ok. btw it was fake grass"}, {"post_id": 9454, "ts": "2026-06-15T20:20:27Z", "hours": 0.9128, "text": "why are we only using I in loops? its a real question why only I ? I used f it was so cool. Use other letters for your loops. I’m onto something guys, it’s the next big thing. P.S : I’m going to take a break from coding in C since its pretty anoying and im not really doing anything while working maybe this challenge is really too hard for me. I’m maybe going to start another project then see."}, {"post_id": 8873, "ts": "2026-06-14T19:33:29Z", "hours": 0.6917, "text": "Brain cells aren’t connecting I’m super tired and my brain cells aren’t working right. sticker by fancy void"}, {"post_id": 8756, "ts": "2026-06-14T15:48:50Z", "hours": 2.1778, "text": "FINISHED COMPRESSOR.C Finnaly finished compressor.c after 7 hours on it! How did it did it ? Well i used AI… Yes I’m not proud but hey its finished! I was really tired and I just vibe coded it but now no more AI for decompressor.c ! Did i learn something? Yes i didn’t blindly ask AI do give answers i asked to help debug the code! What do i do next? Probably sleep, I’m so tired."}, {"post_id": 8557, "ts": "2026-06-14T07:01:26Z", "hours": 1.4881, "text": "Building huffman code tree Finally finished coding everything but the tree. I can finally code without AI so for relearning, i authorized myself to use AI but only to debug, now i can finally not use it (since i relearned C) Problems I ran into several problems: Segmentation problems, i was accessing things i normally can’t Future problem, i can’t name something with more than two carrecters so when i’m merging two nodes i can’t rename thoses."}, {"post_id": 8314, "ts": "2026-06-13T20:33:53Z", "hours": 3.7689, "text": "FINALLY FIXED SEGMENTATION PROBLEMS For context i was building the compressor and i had segmentation problems What is a segmentation problem? A segmentation problem is when you try and access memory your don’t have access. What was the problems? First the allocation, i didnt allocate for the array of pointers to my struct. Didnt check for NULL, so my arrays have 256 nodes (for all of the ASCII values) and i was trying to access values that just didnt existed. How did i fix it? I used AI to debug my code, I didnt directly asked for the awnsers, i asked it to help me without giving out awnsers. AI was very useful since i mad alot of small mistakes since i didnt program in C for a long time."}, {"post_id": 7715, "ts": "2026-06-12T21:35:38Z", "hours": 4.4744, "text": "CS50x C Refresher Redid one exercise from CS50x Psets 2, 3, 4, and 5. I wanted to refresh my C programming skills because after Week 5 the course shifts more toward web applications, databases, and other topics. This was a good way to get back into writing C before continuing work on Stardance."}, {"post_id": 7461, "ts": "2026-06-12T13:14:46Z", "hours": 0.2653, "text": "Studying Huffman Coding Huffman Coding is a lossless compression algorithm . Example text: ffffcdabdfdeeebcc First, count how often each character appears: f:4 c:3 d:3 e:3 b:2 a:1 Then repeatedly merge the least frequent characters into a binary tree until one final tree remains. Each character gets a binary code: Left = 0 Right = 1 More frequent characters receive shorter codes , reducing the total file size. A key rule: no code can start with another code . If f = 1 , then 100 cannot be another character, so decoding stays unambiguous. Time complexity: O(n log n) Image: GeeksforGeeks Video: Computerphile – Huffman Coding"}]...
|
Title: File Compressor in C by @barseghian_daniel Title: File Compressor in C by @barseghian_daniel | Stardance
Devlogs:
Studying Huffman Coding Huffman Coding is a lossless compression algorithm . Example text: ffffcdabdfdeeebcc First, count how often each character appears: f:4 c:3 d:3 e:3 b:2 a:1 Then repeatedly merge the least frequent characters into a binary tree until one final tree remains. Each character gets a binary code: Left = 0 Right = 1 More frequent characters receive shorter codes , reducing the total file size. A key rule: no code can start with another code . If f = 1 , then 100 cannot be another character, so decoding stays unambiguous. Time complexity: O(n log n) Image: GeeksforGeeks Video: Computerphile – Huffman Coding
CS50x C Refresher Redid one exercise from CS50x Psets 2, 3, 4, and 5. I wanted to refresh my C programming skills because after Week 5 the course shifts more toward web applications, databases, and other topics. This was a good way to get back into writing C before continuing work on Stardance.
FINALLY FIXED SEGMENTATION PROBLEMS For context i was building the compressor and i had segmentation problems What is a segmentation problem? A segmentation problem is when you try and access memory your don’t have access. What was the problems? First the allocation, i didnt allocate for the array of pointers to my struct. Didnt check for NULL, so my arrays have 256 nodes (for all of the ASCII values) and i was trying to access values that just didnt existed. How did i fix it? I used AI to debug my code, I didnt directly asked for the awnsers, i asked it to help me without giving out awnsers. AI was very useful since i mad alot of small mistakes since i didnt program in C for a long time.
Building huffman code tree Finally finished coding everything but the tree. I can finally code without AI so for relearning, i authorized myself to use AI but only to debug, now i can finally not use it (since i relearned C) Problems I ran into several problems: Segmentation problems, i was accessing things i normally can’t Future problem, i can’t name something with more than two carrecters so when i’m merging two nodes i can’t rename thoses.
FINISHED COMPRESSOR.C Finnaly finished compressor.c after 7 hours on it! How did it did it ? Well i used AI… Yes I’m not proud but hey its finished! I was really tired and I just vibe coded it but now no more AI for decompressor.c ! Did i learn something? Yes i didn’t blindly ask AI do give answers i asked to help debug the code! What do i do next? Probably sleep, I’m so tired.
Brain cells aren’t connecting I’m super tired and my brain cells aren’t working right. sticker by fancy void
why are we only using I in loops? its a real question why only I ? I used f it was so cool. Use other letters for your loops. I’m onto something guys, it’s the next big thing. P.S : I’m going to take a break from coding in C since its pretty anoying and im not really doing anything while working maybe this challenge is really too hard for me. I’m maybe going to start another project then see.
C programmer TOUCHING grass for the FIRST TIME I didnt program for 2 days and touched some grass. How was it ? it was weird since it was grass (wich i don’t touch) but it was ok. btw it was fake grass
Finally FINISHED compressor.c when you finally finished that code
FREED ALL THE MEMORY All this memory can be reused for other good causes now
Started to code decompresor.c i have alot of problems with decompressor.c notably two nulls caracters at the start.
Fixed swapping issues, transfer list array into node array, and building codes works Swapping issues i had an issue where i was putting the new node in first in the link list so i fix it, drawing it on a sketch really helped . Transfer list to node So i transfer it into an array since its easier to use it and i coudn’t built it before since an array is a fixed size, thats why I used a linked list to first get the values and the length. Building huffman codes I just imported function i already programmed in compressor.c . image from wikipedia
Finished reading bytes, Almost finished I’m almost finished with my code (this is my longest project yet) i’m so existed ! What am i doing next? pray for no bugs
FINALLY FINISHED compressor.c AND decompressor.c THE BUG so the main bug was that the two arrays which contained the frequencies of each letter were reversed so the huffman tree was not the same and the codes too weren’t the same. THE FIX so in decompressor.c i just reversed the codes. this is not a permanent fix will investigate further into compressor.c to see why its reversed!
it’s SO HOT in europe There was an issue with compressor.c while doing it with other files than png. I’m still working on decompressor.c it can’t decode normally a file other than png. Text files still works. Heatwave Its so hot in europe, I can’t work normally, the temperatures will go down monday hopefully.
NEVER code something with AI What happened? So i said to myself that i can code this small part with AI since i don’t know the synstaxe and I did it and its the problem now. I learned bitwise operators and logique and then recoded the part, didnt finish yet.
IT WORKS but only in text files… Why dosn’t it work? In the metadata, i write it as a text file (a:1|b:5…), it works fine for text files but for other files type, it dosn’t work since its written in binary. Any solutions? i have to write the metadata in binary, yayyy…
FINALLYYYYYYYYYYYYY I successfully compressed and decompressed a file other than text files, I used binary to write the files so it supports all the file types now! What was the problem ? So the compressed file were written in text and decompressed with text wich limited the compression for only text files. What was the fix ? I wrote the compressed file and decompressed in binary. (small part of the code i changed)
Found the problem for segmentation error (I’m back) So i had this error for the past 4 days and i coudn’t fix it so i even take a step back for 2 days but still coudn’t find it, the problem was that i had to wait 5 min for every try i did. Fix ? I used claude so he run test on faster machines, and i got the errors i have to fix. (He wanted to script it himself, i obviously said no).
Learned mmap open …. I did some exercices on mmap , open , fstat and learned thoses, next i have to implemente it in compressor.c
how did it work? i REALLY don’t know how it worked but it worked, a famouse programming therm if it works, don’t touch it! I just changed a char to an unsigned char lol.
I reached… the end? So i’ve been testing for a while now and i didn’t have much to say…. I successfully compressed, decompressed and burnt a linux iso and booted into one ! It required alot of troubleshooting and waiting ( 5 - 15min PER TRY ) but hey now it works on any file!
Started website, web assembly and my own extension! Extension I added the .huff extension since it will help me recognize files compressed by my compressor. The format used is .extension.huff (example: image.jpg.huff). Web Assembly I compiled the code to web assembly so it can run directly on the user’s PC and not on servers. Website I’m creating a simple website that just does the j*b (still woking on it, this is just the core). The website will not communicate with other APIs or services, thanks to web assembly. I hate JavaScript.
about the website… So… I abandoned it I CAN’T MAKE WEBSITES, I CAN’T STAND JAVASCRIPT. I tried to use WebAssembly, but it’s not widely used, so it’s really hard to work with. How can you use it? Well, use it with the CLI like a super nerd Don’t worry, everything is documented in the README. CLI » JAVASCRIPT
ITS REALEAAAAAASED You can use it for Windows, macOS, and Linux. The tutorial is mentioned under the README for all three systems. I tested it on Windows and Linux. I don’t have any Apple devices to test it out. :(
My Ship got rejected… kinda My Ship got requested change because my banner didn’t showcase the project now i changed it, here i compress and decompress a jpeg file and then open it! Hope this next ship will be accepted!
BACK ON C ! F**K WINDOWS, C# AND UNITY i missed C so much and working on linux too its just so much more fun and fast and, i can’t make game look good… look at my latest project . Im finally back at my roots
Compressed file directly in the browser ! i compiled the C code into wasm (web assembly) so i can use it inside the browser!
Imported decompressor ! well it was super easy to import the decompressor since it was very similar to the compressor code!
Optimized code for less R*M usage! For a 2.8gb file it was taking 2.8gb of ram but now its taking 42 KB! I was putting the file in the ram but now i stream the file to ram for 99.999% less ram usage!
ITS REALEAAAAASEDD the updated C code is release go check it out here !
ITS DEPLOYED! i added a small status text to know when its compressing/decompressing. you can try it the website here !
Ships:
I made a file compressor/decompressor written in C! You can use it on Linux, Windows, and macOS. The part that took the most time was DEBUGGING . It took SOOOOO much more time than I expected! I’m really proud of finishing the project. I consider this my first full project, so yeah, it took some time, but I finally finished it! You should know that all the information is in the README (installation, description, etc.). It was really fun working on it, but all good things come to an end!
made a website for my C code! It was really challenging to work with the WASM module since it’s limited to 32 bits (4GB RAM), but I managed to make it work! I also optimized the C code to use much less RAM (see the devlog). Sadly the website is limited to 220MB per file (because of WASM), but you can still process large files with the GitHub release! You can test it via the website or the GitHub release!...
|
1793792936.3041081
|
1793879336.3041081
|
|
17271
|
VinylBot by @F3rro_32 | Stardance
|
F3rro_32
|
2
|
20.12
|
98
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-23T11:44:07Z", "hours": 7.0, "multiplier": 14.66, "payout": 98, "blessing": "neutral", "text": "This project contains three microprojects, all related. There’s the slack_bot, already shipped for the mission. There’ s the ds_bot, improved from it’s first version in flavortown. And there’s a newborn, a website, containing everything necessary for the bot, with also docs, for hosting the bot locally. For making the design of the website, since I’m not that great with graphics, I used v0, which generated mockups for me. That’s why the website Ui seems so AI.", "repo": "https://github.com/AlessioFerrari8/VinylBot", "demo": "https://vinylbot.alessio.hackclub.app/"}, {"ship_num": 2, "ts": "2026-07-22T10:28:10Z", "hours": 12.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This ship is just for the slack bot. For now ignore the rest, it will come later.", "repo": "https://github.com/AlessioFerrari8/VinylBot", "demo": "https://vinylbot.alessio.hackclub.app/"}]...
|
[{"post_id": 37595, "ts": "202 [{"post_id": 37595, "ts": "2026-07-30T13:05:14Z", "hours": 1.1175, "text": "Just fixed a little bug, the same songs kept coming back whenever you played the same artist twice. That’s because the artist track pool was too small, so every game used it up entirely. I fixed this and also added a nice thing, suggested by @stef . I improved the hints, now it’s easier to guess a song after hints 2 and 3. I hope you enjoy playing"}, {"post_id": 33430, "ts": "2026-07-23T11:23:02Z", "hours": 6.7158, "text": "Spent today hardening VinylBot for production: fixed a crash bug where an unhandled ffmpeg/stream error in the audio player could take down the entire bot for every server at once, added global uncaughtException/unhandledRejection handlers to both bots, fixed a race condition in the Slack round timer, and cleaned up leaked temp mp3 files on failed downloads. Also dockerized the Angular website (nginx + multi-stage build) and got all three services (Discord bot, Slack bot, website) live on their own subdomains behind the VPS firewall. For the problem of the streaming on server or vps I decided to add two methods for gathering audio mp3s. The first time it will try with spotify, searching for the preview_url. After that it will try deezer and Itunes, that represents a valid alternative."}, {"post_id": 31798, "ts": "2026-07-20T14:02:13Z", "hours": 1.9744, "text": "Hey guys, today I’m working on fixing the ds bot. First of all I had to review the method of streaming the song. I was first using yt-dlp for everything, but I noted that putting it on a server was making it not working anymore. I discovered that is because yt blocks certain ips and certain requests, so this was an impossible choice. The solution was spotify preview, which are basically like 20 seconds of a song. That’s perfect for me, since I don’t have to stream the whole song, but instead just a little part. The approach is this. I created a variable in the env, called DEPLOY_ENV. This specifies if we’re running the bot locally, or on a server or vps. If the variable is vps, first the bot is gonna try finding the song on spotify. If it’s not present, it’s gonna search for local files, as alternative. If the variable is local, the first alternative remains spotify, but as a second there’s also yt-dlp, since locally it works fine. I also adjusted the cards of some commands, as you can see from the screens, along with testing out the bot. I still have some more work to do, but I think soon the ds bot will be ready."}, {"post_id": 31299, "ts": "2026-07-19T16:19:19Z", "hours": 1.9647, "text": "As you can see, I’m currently working on fixing some minor details, like improving the card. This card is displayed whenever you use the commands play, nowplaying, pause, skip, previous. In this card you can see the song, the album it comes from, who requested to see the card and also the timing. Additionaly there are buttons for pausing, skipping and level up or down the button by 10 units. I also discovered something I didn’t know. Recently you can use your own emojis, so I generated this one with chatgpt and used them for the commands, as you can see in the card. Really useful"}, {"post_id": 30709, "ts": "2026-07-18T14:46:33Z", "hours": 4.5936, "text": "Hey guys, so I decided to improve this project. I created another repo, containing both the bot in slack, made in this “session”, and the bot made for discord, made in Flavortown. Along with those two projects, I added a website. So now the repo contains the two bots, and the website. I just built the website, it’s a simple landing page. For generating mockups for the design I used v0 by vercel, which is really useful for people like me, who aren’t able to produce anything graceful without a designer. So, as I was saying, the website it’s just a simple landing page, containing infos about the bots, allowing to download the bots and more. I also added two routes /status and /docs. The names explain the function. The first oen contains the status of each bots. The second one contains well-written docs, very useful for people who want to host the bot locally."}, {"post_id": 9194, "ts": "2026-06-15T13:13:08Z", "hours": 1.8275, "text": "Adapted everything to slack, now it’s quite working. The only problem is that I have still to fix the gain of the music resource, but it’s processing in my mind right now. /vinylbot-stop"}, {"post_id": 8689, "ts": "2026-06-14T13:10:00Z", "hours": 1.5108, "text": "I’m currently working on VinylBot, a Slack bot with two main features. Imagine you’re chatting with friends on Slack: with VinylBot, you can manage your music directly from Slack without having to open Spotify every time. The main feature, though, is the Vinyl Game, a music guessing game where players have to identify a song based on just a few seconds of playback. I’ve already built a Discord version of the project, which is available on my GitHub. However, bringing it to Slack is becoming a challenge, since a lot of the logic has to be reworked due to the differences between Discord and Slack and the way they handle interactions. I hope you’ll like it."}]...
|
Title: VinylBot by @F3rro_32 | Stardance
Devlogs: Title: VinylBot by @F3rro_32 | Stardance
Devlogs:
I’m currently working on VinylBot, a Slack bot with two main features. Imagine you’re chatting with friends on Slack: with VinylBot, you can manage your music directly from Slack without having to open Spotify every time. The main feature, though, is the Vinyl Game, a music guessing game where players have to identify a song based on just a few seconds of playback. I’ve already built a Discord version of the project, which is available on my GitHub. However, bringing it to Slack is becoming a challenge, since a lot of the logic has to be reworked due to the differences between Discord and Slack and the way they handle interactions. I hope you’ll like it.
Adapted everything to slack, now it’s quite working. The only problem is that I have still to fix the gain of the music resource, but it’s processing in my mind right now. /vinylbot-stop
Hey guys, so I decided to improve this project. I created another repo, containing both the bot in slack, made in this “session”, and the bot made for discord, made in Flavortown. Along with those two projects, I added a website. So now the repo contains the two bots, and the website. I just built the website, it’s a simple landing page. For generating mockups for the design I used v0 by vercel, which is really useful for people like me, who aren’t able to produce anything graceful without a designer. So, as I was saying, the website it’s just a simple landing page, containing infos about the bots, allowing to download the bots and more. I also added two routes /status and /docs. The names explain the function. The first oen contains the status of each bots. The second one contains well-written docs, very useful for people who want to host the bot locally.
As you can see, I’m currently working on fixing some minor details, like improving the card. This card is displayed whenever you use the commands play, nowplaying, pause, skip, previous. In this card you can see the song, the album it comes from, who requested to see the card and also the timing. Additionaly there are buttons for pausing, skipping and level up or down the button by 10 units. I also discovered something I didn’t know. Recently you can use your own emojis, so I generated this one with chatgpt and used them for the commands, as you can see in the card. Really useful
Hey guys, today I’m working on fixing the ds bot. First of all I had to review the method of streaming the song. I was first using yt-dlp for everything, but I noted that putting it on a server was making it not working anymore. I discovered that is because yt blocks certain ips and certain requests, so this was an impossible choice. The solution was spotify preview, which are basically like 20 seconds of a song. That’s perfect for me, since I don’t have to stream the whole song, but instead just a little part. The approach is this. I created a variable in the env, called DEPLOY_ENV. This specifies if we’re running the bot locally, or on a server or vps. If the variable is vps, first the bot is gonna try finding the song on spotify. If it’s not present, it’s gonna search for local files, as alternative. If the variable is local, the first alternative remains spotify, but as a second there’s also yt-dlp, since locally it works fine. I also adjusted the cards of some commands, as you can see from the screens, along with testing out the bot. I still have some more work to do, but I think soon the ds bot will be ready.
Spent today hardening VinylBot for production: fixed a crash bug where an unhandled ffmpeg/stream error in the audio player could take down the entire bot for every server at once, added global uncaughtException/unhandledRejection handlers to both bots, fixed a race condition in the Slack round timer, and cleaned up leaked temp mp3 files on failed downloads. Also dockerized the Angular website (nginx + multi-stage build) and got all three services (Discord bot, Slack bot, website) live on their own subdomains behind the VPS firewall. For the problem of the streaming on server or vps I decided to add two methods for gathering audio mp3s. The first time it will try with spotify, searching for the preview_url. After that it will try deezer and Itunes, that represents a valid alternative.
Just fixed a little bug, the same songs kept coming back whenever you played the same artist twice. That’s because the artist track pool was too small, so every game used it up entirely. I fixed this and also added a nice thing, suggested by @stef . I improved the hints, now it’s easier to guess a song after hints 2 and 3. I hope you enjoy playing
Ships:
This ship is just for the slack bot. For now ignore the rest, it will come later.
This project contains three microprojects, all related. There’s the slack_bot, already shipped for the mission. There’ s the ds_bot, improved from it’s first version in flavortown. And there’s a newborn, a website, containing everything necessary for the bot, with also docs, for hosting the bot locally. For making the design of the website, since I’m not that great with graphics, I used v0, which generated mockups for me. That’s why the website Ui seems so AI....
|
1793775280.956418
|
1793861680.956418
|
|
17272
|
My awesome macropad! by @BigBrain | Stardance
|
BigBrain
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @BigBrain | Stardan Title: My awesome macropad! by @BigBrain | Stardance...
|
1793523248.9872866
|
1794128048.9872866
|
|
17273
|
Materialsimulation by @jannes_ruder | Stardance
|
jannes_ruder
|
0
|
0.35
|
0
|
[]
|
[{"post_id": 7521, "ts": "2026 [{"post_id": 7521, "ts": "2026-06-12T15:45:37Z", "hours": 0.3453, "text": "getting started"}]...
|
Title: Materialsimulation by @jannes_ruder | Stard Title: Materialsimulation by @jannes_ruder | Stardance
Devlogs:
getting started...
|
1793443922.5974247
|
1794048722.5974247
|
|
17274
|
My neovim config by @Tuxilio | Stardance
|
Tuxilio
|
2
|
17.0
|
77
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T15:41:21Z", "hours": 7.0, "multiplier": 6.51, "payout": 44, "blessing": "neutral", "text": "I built a fully customized, lightweight neovim config. It’s my first time I configured my neovim and its simple and just have some main feature of an ide. It’s NOT a full vscode config. The difference between neovim and e.g. vscode is that neovim *or vim in general) gives you the freedom to make it look a little diffrent from the others. I did it mainly because I wanted a nice editor but also for fun :) It’s my first time configuring neovim so I used the docs a lot and tried a lot of things. You can look at some screenshots in the devlog or try it out by yourself :) If you’re new to vi/vim/neovim, it is a terminal-based editor. You can press Esc and then :q to exit. If you want to see a transparent background, you need a terminal with a transparency option configured. My neovim is just configured to have a transparent background but if your terminal is just black you won’t really see an effect ;) The main difference to the first ship is that I removed some dependencies on my nixos neovim config so it is a LOT smaller but that was more difficult than I thought so it took 6 whole hours :/", "repo": "https://codeberg.org/Tuxilio/nixos", "demo": "https://codeberg.org/Tuxilio/nixos/src/branch/main/docs/nvim.md#usage"}, {"ship_num": 2, "ts": "2026-08-25T18:18:25Z", "hours": 10.0, "multiplier": 6.79, "payout": 33, "blessing": "neutral", "text": "I built a fully customized, lightweight neovim config. It’s my first time I configured my neovim and its simple and just have some main feature of an ide. It’s NOT a full vscode config. I did it mainly because I wanted a nice editor but also for fun :) It’s my first time configuring neovim so I used the docs a lot and tried a lot of things. You can look at some screenshots in the devlog or try it out by yourself :) If you’re new to vi/vim/neovim, it is a terminal-based editor. You can press Esc and then :q to exit. If you want to see a transparent background, you need a terminal with a transparency option configured. My neovim is just configured to have a transparent background but if your terminal is just black you won’t really see an effect ;)", "repo": "https://codeberg.org/Tuxilio/nixos", "demo": "https://codeberg.org/Tuxilio/nixos/src/branch/main/docs/nvim.md#usage"}]...
|
[{"post_id": 65425, "ts": "202 [{"post_id": 65425, "ts": "2026-09-10T15:37:37Z", "hours": 5.3036, "text": "I refactored my whole nixos config and removed another dependency, flake-parts , so that users need to download less dependencies! The project is now much smaller and still works exactly the same :) This was really complicated because I had to rewrite nearly everything so it took a really long time (5 hours)"}, {"post_id": 57136, "ts": "2026-08-29T07:34:33Z", "hours": 1.5314, "text": "I removed the import-tree dependency in my nixos config so users need to download less inputs 🎉 It took some time because it was a bit difficult to reimport each file but I did it :)"}, {"post_id": 54665, "ts": "2026-08-25T18:13:19Z", "hours": 1.0836, "text": "I added a lot docs so it is a lot easier to setup and understand :)"}, {"post_id": 54539, "ts": "2026-08-25T15:50:46Z", "hours": 2.3975, "text": "I added lsp (language server protocol) configs to my neovim config. Using this I can get linting and autocompletions. I also migrated from nvim-cmp to blink.cmp for completions, because I couldn’t get nvim-cmp to work… blink-cmp works well. In the picture you can see the completion and docs window. I currently got the problem that the docs window isn’t transparent but I couldn’t fix that. I already tried this: https://codeberg.org/Tuxilio/nixos/commit/d68a3de50786da3b3bc2f6aaeb9d2b88147a1a9f (commented out because it doesn’t worked; it just hides the complete completion window) so if you have ideas please tell me :) (The background image, visible because my neovim background is transparent and my shell halve-transparent, is the KDE Plasma workspace wallpaper “Scarlet tree” made by axo1otl [email protected] and licensed CC-BY-SA 4.0. Repo: https://invent.kde.org/plasma/plasma-workspace-wallpapers/-/tree/master/ScarletTree . My screenshot is licensed CC-BY-SA 4.0 .)"}, {"post_id": 52912, "ts": "2026-08-23T09:10:33Z", "hours": 0.4442, "text": "I just packaged my config using nix! You can now run nix run git+https://codeberg.org/tuxilio/nixos#neovim to run my full editor! (The background image, visible because my neovim background is transparent and my shell halve-transparent, is the KDE Plasma workspace wallpaper “Scarlet tree” made by axo1otl [email protected] and licensed CC-BY-SA 4.0. Repo: https://invent.kde.org/plasma/plasma-workspace-wallpapers/-/tree/master/ScarletTree . My screenshot is licensed CC-BY-SA 4.0.)"}, {"post_id": 52862, "ts": "2026-08-23T07:15:47Z", "hours": 5.6083, "text": "I started creating my own neovim config! Currently, I use lazy.nvim as the plugin manager to install the following plugins: a catpuccin colorscheme, gitsigns (as you can see in the image on the left; to display not committed / added / changed … lines on the left), wakatime, cmp for suggestions, indent-blankline to determine and set 2 or 4 spaces for one tab, an lsp, nonels for formatting, notify and fidget-nvim for notifications and status updates inside neovim, telescope for searching and treesitter for syntax hightlighting. Quite a lot, and I forgot to add a devlog before because I was tinkering a lot xD I also used Mason.nvim before for automatically installing LSP, but I now do that system wide. The background image, visible because my neovim background is transparent and my shell halve-transparent, is the KDE Plasma workspace wallpaper “Scarlet tree” made by axo1otl < [email protected] > and licensed CC-BY-SA 4.0 . Repo: https://invent.kde.org/plasma/plasma-workspace-wallpapers/-/tree/master/ScarletTree My screenshot is licensed CC-BY-SA 4.0 ."}]...
|
Title: My neovim config by @Tuxilio | Stardance
D Title: My neovim config by @Tuxilio | Stardance
Devlogs:
I started creating my own neovim config! Currently, I use lazy.nvim as the plugin manager to install the following plugins: a catpuccin colorscheme, gitsigns (as you can see in the image on the left; to display not committed / added / changed … lines on the left), wakatime, cmp for suggestions, indent-blankline to determine and set 2 or 4 spaces for one tab, an lsp, nonels for formatting, notify and fidget-nvim for notifications and status updates inside neovim, telescope for searching and treesitter for syntax hightlighting. Quite a lot, and I forgot to add a devlog before because I was tinkering a lot xD I also used Mason.nvim before for automatically installing LSP, but I now do that system wide. The background image, visible because my neovim background is transparent and my shell halve-transparent, is the KDE Plasma workspace wallpaper “Scarlet tree” made by axo1otl < [email protected] > and licensed CC-BY-SA 4.0 . Repo: https://invent.kde.org/plasma/plasma-workspace-wallpapers/-/tree/master/ScarletTree My screenshot is licensed CC-BY-SA 4.0 .
I just packaged my config using nix! You can now run nix run git+https://codeberg.org/tuxilio/nixos#neovim to run my full editor! (The background image, visible because my neovim background is transparent and my shell halve-transparent, is the KDE Plasma workspace wallpaper “Scarlet tree” made by axo1otl [email protected] and licensed CC-BY-SA 4.0. Repo: https://invent.kde.org/plasma/plasma-workspace-wallpapers/-/tree/master/ScarletTree . My screenshot is licensed CC-BY-SA 4.0.)
I added lsp (language server protocol) configs to my neovim config. Using this I can get linting and autocompletions. I also migrated from nvim-cmp to blink.cmp for completions, because I couldn’t get nvim-cmp to work… blink-cmp works well. In the picture you can see the completion and docs window. I currently got the problem that the docs window isn’t transparent but I couldn’t fix that. I already tried this: https://codeberg.org/Tuxilio/nixos/commit/d68a3de50786da3b3bc2f6aaeb9d2b88147a1a9f (commented out because it doesn’t worked; it just hides the complete completion window) so if you have ideas please tell me :) (The background image, visible because my neovim background is transparent and my shell halve-transparent, is the KDE Plasma workspace wallpaper “Scarlet tree” made by axo1otl [email protected] and licensed CC-BY-SA 4.0. Repo: https://invent.kde.org/plasma/plasma-workspace-wallpapers/-/tree/master/ScarletTree . My screenshot is licensed CC-BY-SA 4.0 .)
I added a lot docs so it is a lot easier to setup and understand :)
I removed the import-tree dependency in my nixos config so users need to download less inputs 🎉 It took some time because it was a bit difficult to reimport each file but I did it :)
I refactored my whole nixos config and removed another dependency, flake-parts , so that users need to download less dependencies! The project is now much smaller and still works exactly the same :) This was really complicated because I had to rewrite nearly everything so it took a really long time (5 hours)
Ships:
I built a fully customized, lightweight neovim config. It’s my first time I configured my neovim and its simple and just have some main feature of an ide. It’s NOT a full vscode config. I did it mainly because I wanted a nice editor but also for fun :) It’s my first time configuring neovim so I used the docs a lot and tried a lot of things. You can look at some screenshots in the devlog or try it out by yourself :) If you’re new to vi/vim/neovim, it is a terminal-based editor. You can press Esc and then :q to exit. If you want to see a transparent background, you need a terminal with a transparency option configured. My neovim is just configured to have a transparent background but if your terminal is just black you won’t really see an effect ;)
I built a fully customized, lightweight neovim config. It’s my first time I configured my neovim and its simple and just have some main feature of an ide. It’s NOT a full vscode config. The difference between neovim and e.g. vscode is that neovim *or vim in general) gives you the freedom to make it look a little diffrent from the others. I did it mainly because I wanted a nice editor but also for fun :) It’s my first time configuring neovim so I used the docs a lot and tried a lot of things. You can look at some screenshots in the devlog or try it out by yourself :) If you’re new to vi/vim/neovim, it is a terminal-based editor. You can press Esc and then :q to exit. If you want to see a transparent background, you need a terminal with a transparency option configured. My neovim is just configured to have a transparent background but if your terminal is just black you won’t really see an effect ;) The main difference to the first ship is that I removed some dependencies on my nixos neovim config so it is a LOT smaller but that was more difficult than I thought so it took 6 whole hours :/...
|
1793717333.336441
|
1793803733.336441
|
|
17275
|
BulkGPT by @aamir_pa2009 | Stardance
|
aamir_pa2009
|
1
|
2.0
|
2
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-14T19:27:55Z", "hours": 2.0, "multiplier": 1.8, "payout": 2, "blessing": "neutral", "text": "I made a chrome extension that can delete and archive multiuple chats at a time", "repo": "https://github.com/AamirKPathan/BulkGPTv1", "demo": "https://github.com/AamirKPathan/BulkGPTv1/releases/tag/v2.1"}]...
|
[{"post_id": 46582, "ts": "202 [{"post_id": 46582, "ts": "2026-08-13T22:15:40Z", "hours": 2.4075, "text": "Finally finished this blasted extension. You can delete multiple chats at once and also archive."}]...
|
Title: BulkGPT by @aamir_pa2009 | Stardance
Devlo Title: BulkGPT by @aamir_pa2009 | Stardance
Devlogs:
Finally finished this blasted extension. You can delete multiple chats at once and also archive.
Ships:
I made a chrome extension that can delete and archive multiuple chats at a time...
|
1793792939.864365
|
1793879339.864365
|
|
17276
|
Sir mints adventure game by @Nugget_Bwai | Stardan Sir mints adventure game by @Nugget_Bwai | Stardance...
|
Nugget_Bwai
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Sir mints adventure game by @Nugget_Bwai | Title: Sir mints adventure game by @Nugget_Bwai | Stardance...
|
1793379105.5690951
|
1793983905.5690951
|
|
17277
|
My awesome macropad! by @alvindandme | Stardance
|
alvindandme
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @alvindandme | Star Title: My awesome macropad! by @alvindandme | Stardance...
|
1793361293.7167115
|
1793966093.7167115
|
|
17278
|
My first slack bot! by @ItaloJDev | Stardance
|
ItaloJDev
|
0
|
0.77
|
0
|
[]
|
[{"post_id": 7458, "ts": "2026 [{"post_id": 7458, "ts": "2026-06-12T12:58:38Z", "hours": 0.7703, "text": "Hi guys i am new here! i working in slack bot mission rigth now."}]...
|
Title: My first slack bot! by @ItaloJDev | Stardan Title: My first slack bot! by @ItaloJDev | Stardance
Devlogs:
Hi guys i am new here! i working in slack bot mission rigth now....
|
1793447795.34973
|
1794052595.34973
|
|
17279
|
My awesome macropad! by @RokaiaElshref | Stardance
|
RokaiaElshref
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @RokaiaElshref | St Title: My awesome macropad! by @RokaiaElshref | Stardance...
|
1793465602.6703806
|
1794070402.6703806
|
|
17280
|
Frictionless by @Aster_ | Stardance
|
Aster_
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @Aster_ | Stardance
|
1793573445.3817198
|
1794178245.3817198
|
|
17281
|
Untitled project by @Lewis | Stardance
|
Lewis
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Lewis | Stardance
|
1793540999.9893959
|
1794145799.9893959
|
|
17282
|
My awesome macropad! by @RobertRR | Stardance
|
RobertRR
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @RobertRR | Stardan Title: My awesome macropad! by @RobertRR | Stardance...
|
1793314290.9649255
|
1793919090.9649255
|
|
17283
|
My awesome macropad! by @ghost_ed | Stardance
|
ghost_ed
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @ghost_ed | Stardan Title: My awesome macropad! by @ghost_ed | Stardance...
|
1793836481.4430113
|
1794441281.4430113
|
|
17284
|
My very own WebOS by @Trinidater | Stardance
|
Trinidater
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Trinidater | Stardanc Title: My very own WebOS by @Trinidater | Stardance...
|
1793303788.0387566
|
1793908588.0387566
|
|
17285
|
Untitled by @mertozcan | Stardance
|
mertozcan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @mertozcan | Stardance
|
1793552022.512104
|
1794156822.512104
|
|
17286
|
My awesome macropad! by @mertozcan | Stardance
|
mertozcan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @mertozcan | Starda Title: My awesome macropad! by @mertozcan | Stardance...
|
1793850772.1311564
|
1794455572.1311564
|
|
17287
|
PawBuddy by @Toma_Kuchta | Stardance
|
Toma_Kuchta
|
0
|
13.38
|
0
|
[]
|
[{"post_id": 74607, "ts": "202 [{"post_id": 74607, "ts": "2026-09-27T19:19:42Z", "hours": 4.45, "text": "So this was pretty slow progress bc I’ve got way too stuck with the STM IC even thought a RAK module makes way more sense for my expertise. So yeah I’ve pivoted to the rak 4631 module. And after that I’ve started implementing some pheripherials. PS I also took inspiration from my previous devboard project."}, {"post_id": 64672, "ts": "2026-09-09T08:14:33Z", "hours": 3.0167, "text": "Another session of blank stares into a datasheet. First was the VBAT to 3V3 conversion, my first thought was the tps73020 because it’s super common in a lot of mesh builds. But even thought it’s alright it could be a bit smaller. We don’t need a stable 3V3 because the stm chip can do as low of 1.8V and 2.4V while vref and ADCs are active. So I went with a buck topology that also has 100% duty. UVLO is realized by a ti power management IC. Gemini helped me a bunch with choosing the right components. After that I need some kind of chager IC, it would be nice if the charger could also other chemistries, but I have only found one IC that would work great but that one wasn’t easily accessible on mouser so I’ve went with a LiIon only, which is fine for at least this devboard prototype. And started work on the peripheral page."}, {"post_id": 10608, "ts": "2026-06-17T13:32:31Z", "hours": 5.9128, "text": "Allright so this almost 6hr session was me just staring into a datasheet lol. And I still doesn’t understand the STM chip all that much So I’ve reverted to theft I mean I took inspo from other implementations of this chip. After that I’ve started thinking about the USB to UART convertor. My first thought was the cheap ch340 IC but after finding that it isn’t that available online, I’ve went with the CP2102N which also has good driver support. And also the converter is only going to be powered with just the USB to conserve powah."}]...
|
Title: PawBuddy by @Toma_Kuchta | Stardance
Devlo Title: PawBuddy by @Toma_Kuchta | Stardance
Devlogs:
Allright so this almost 6hr session was me just staring into a datasheet lol. And I still doesn’t understand the STM chip all that much So I’ve reverted to theft I mean I took inspo from other implementations of this chip. After that I’ve started thinking about the USB to UART convertor. My first thought was the cheap ch340 IC but after finding that it isn’t that available online, I’ve went with the CP2102N which also has good driver support. And also the converter is only going to be powered with just the USB to conserve powah.
Another session of blank stares into a datasheet. First was the VBAT to 3V3 conversion, my first thought was the tps73020 because it’s super common in a lot of mesh builds. But even thought it’s alright it could be a bit smaller. We don’t need a stable 3V3 because the stm chip can do as low of 1.8V and 2.4V while vref and ADCs are active. So I went with a buck topology that also has 100% duty. UVLO is realized by a ti power management IC. Gemini helped me a bunch with choosing the right components. After that I need some kind of chager IC, it would be nice if the charger could also other chemistries, but I have only found one IC that would work great but that one wasn’t easily accessible on mouser so I’ve went with a LiIon only, which is fine for at least this devboard prototype. And started work on the peripheral page.
So this was pretty slow progress bc I’ve got way too stuck with the STM IC even thought a RAK module makes way more sense for my expertise. So yeah I’ve pivoted to the rak 4631 module. And after that I’ve started implementing some pheripherials. PS I also took inspiration from my previous devboard project....
|
1793533699.9559064
|
1794138499.9559064
|
|
17288
|
Frictionless by @dhiti | Stardance
|
dhiti
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @dhiti | Stardance
|
1793443982.4083364
|
1794048782.4083364
|
|
17289
|
My awesome macropad! by @Tuxilio | Stardance
|
Tuxilio
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Tuxilio | Stardanc Title: My awesome macropad! by @Tuxilio | Stardance...
|
1792925276.7400396
|
1793789276.7400396
|
|
17290
|
Open ESPilot V2 by @Toma_Kuchta | Stardance
|
Toma_Kuchta
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Open ESPilot V2 by @Toma_Kuchta | Stardance
|
1793483603.070528
|
1794088403.070528
|
|
17291
|
an EPIC Light Sail Simulation by @SpaceEvee | Star an EPIC Light Sail Simulation by @SpaceEvee | Stardance...
|
SpaceEvee
|
1
|
49.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-15T08:42:06Z", "hours": 49.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is the first ship of an interstellar light sail simulation for a research paper I am working on. The simulation models an idealised Gaussian laser beam with a fixed nominal propagation direction along +Z. The beam settings include peak intensity (I_0), waist (w_0), wavelength (\\lambda), and lateral beam-centre offsets. The sail model estimates radiation-pressure force and torque over the discretised surface, then advances translational and rotational state. The workbench records time histories so configurations can be inspected and compared. A local radiative-equilibrium calculation estimates surface temperature from absorbed illumination and the configured emissivity. Few Notes: The simulation is not very optimised so it may take some time to function on lower end PCs I have added a video performing some functions of the software in the github ReadMe. (As in the ship of my last project, many people told me to have a video as they didn’t want to download the package itself.) If there the runner throws an exception or error pop up at the end, i.e. after running the program, the data can still be accessed (plots, .json, .csv, etc.)", "repo": "https://github.com/Evyvaan-Space-Lover/Nyx", "demo": "https://github.com/Evyvaan-Space-Lover/Nyx/releases/tag/v1.0"}]...
|
[{"post_id": 79732, "ts": "202 [{"post_id": 79732, "ts": "2026-10-15T07:54:51Z", "hours": 0.3886, "text": "Mini Devlog :yoooo-chat-whats-up–are-yall-ready-for-another-weekly-journal–i-hope-so-kitty-dance-mb-sorry-for-b: I completed the parameter sweep and it works (still pretty glitchy tho) and added a 3d visualisation section to the program (prolly the most visually appealing thing ) GONNA SHIP NOW YAY"}, {"post_id": 79555, "ts": "2026-10-14T16:10:53Z", "hours": 9.5667, "text": "NYX DEVLOG MUHEHEHEHHE (NO IDEA BOUT THE INDEX) sorry for being dead for so long. i was busy with irl stuff The Simulator is ALMOST done yay I made the GUI for yall (the program is not user friendly ) and now the simulated data can FINALLY be saved into .json and .csv and some boring physics shit heres the run down: Physics World frame inertia calculation. i CORRECTED THE INERTIA TENSOR TRANSFORMATION so that angular momentum and rotational dynamics use the inertia tensor in the world frame Rotational Dynamics used the rigid body rotational equation normalised the intermediate RK4 orientation states (so yeah lots of attitude control yk) paraboloid COM and hemisphere COM were straight wrong as i found out so they are fixed now respectively GUI added a workbench/gui for the whole program (I HATE this) and in the repo i added the Read Me after two gazillion years ill say Nyx (the simulator) is done and i can ship it FINALLY after so long and start working on the paper FINALLY. btw the BEANS SHALL PREVAIL some things the 3d geometry visualization doesnt work with the gui stack so ill have to fix that and the parameter sweep doesnt work any bit. these things ill have to do before the first ship and besides ill say the same is pretty good and completed"}, {"post_id": 59110, "ts": "2026-08-31T18:55:55Z", "hours": 7.2819, "text": "DEVLOG 6 (and seven soon) Its been soooooooooooooooo long since my last devlog. I had my exams and well I couldn’t much and didn’t write my devlog last time. Oh you don’t know what Nyx? It is a light sail simulation I am working on for a paper I am writing (btw there are emojis now so cool stuff got added when I was gone) NEW ADDITIONS: Introduce a materials package (Material dataclass + presets: Graphene, Aluminium, SiliconCarbide) and an analysis package with plotting helpers and an Experiment helper. Update SimMain to accept a material for each sail type, pull reflectivity/absorptivity from the material, and record max/average temperature history. Fix numeric/geometry issues: correct sphere inertia, improve normal/rotation math for sphere and paraboloid, and ensure positions use rotated local coordinates. Add multiple debug/test scripts and enable analysis plotting at the end of simLoop to visualize force, position, velocity, acceleration, angular velocity and temperature histories. I did NOT copy-paste the commit here trust. If you think I did, you're wrong Well, thats it for now, Ill put more effort in the next devlog See YALL soon (no one cares, but I care )"}, {"post_id": 28180, "ts": "2026-07-14T09:47:43Z", "hours": 8.4836, "text": "DEVLOG - smth im bad at remembering numbers and its been sometime too WHATS UP LOVELY PEOPLE Another Nyx devlog it is! You dont know what Nyx is? Its my light sail simulation for a paper im working on! I did some code refining and yeah lots of boring stuff. Used the Stefan–Boltzmann equilibrium approximation to estimate local surface temperature. Added a temperature mapping system based on absorbed laser intensity (Absolutely obsolete btw ): ) Fixed the paraboloid sign issue so it curved in the intended direction. -Also tried using other libraries for rendering, but MatPlotLib is the best option right now other miscellaneous stuff I cant remember honestly (Next devlog will be more detailed trust)"}, {"post_id": 16406, "ts": "2026-06-26T18:05:21Z", "hours": 12.8053, "text": "Devlog - 4 YO PEOPLE, i am BACK (ts so cringe. literally nobody cares). This devlog is about how almost lost my minds migrating my simulation’s rotation calculations into Quaternions , integrating RK4 and as always solving bugs, because Nyx is filled with bugs (Oh, you dont know what Nyx is? well it is my passive beam riding light sail simulation, for a research paper im working on) Euler Angles Started Tweaking Ok so before this, Nyx used normal Euler angle rotations using thetaX and thetaY for orientation. At first it worked fine, but after longer simulations stuff started tweaking hard The sphere and paraboloid would randomly start flattening into weird pancake/disc things (which i lowkey think might be cuz matplotlib library hates me idk) , rotations started looking cursed, and the orientation slowly became unstable over time. At first I thought matplotlib was just being goofy again, but nah, the actual orientation system itself was kinda cooked (most likely) . The problem was that Euler angles are not really built for stable continuous 3D rotational dynamics. Rotations started interfering with each other and the geometry would slowly drift into nonphysical states during longer simulations.Basically Nyx had reached the point where the old orientation system just wasn’t enough anymore :(. Quaternion Migration (The Pain of ’26 ) So yeah, this devlog was basically the “quaternion suffering” update I replaced the entire orientation system with quaternions. Instead of storing orientation as separate thetaX and thetaY values, Nyx now stores orientation as a quaternion state directly integrated through RK4.This was honestly one of the biggest upgrades to the simulator so far because now orientation itself is physically simulated instead of just being fake angle accumulation and stuff. The migration was WAY more painful than expected At first literally everything exploded: infinitiesNaNsbroken, normals-cursed, and sphere geometry intensity overflows. At one point the simulator straight up started generating inf values and the sphere looked like it got compressed by a hydraulic press .The biggest issue ended up being invalid normal vectors inside the sphere mesh generation. A single broken normal could completely destroy the intensity calculations and then infect the entire simulation state with NaNs.After fixing all that, Nyx now has stable quaternion orientation. quaternion vector rotation, quaternion RK4 integration, much more stable rotational dynamics, no more gimbal-lock-type weird ahh stuff . This was really hard for me to add lol now what ? so thats what took more than 10 hours. I think my boi Nyx is doing pretty good and will help me in great magnitude for my research paper. For now at least, i wanna make a sort of UI and replace ‘matplotlib’ with smth better cuz’ I am lowkey fed up. I would also like to add a feature of mass data collection, so that there is much data to study. – that’s it for me today, I hope YOU have a great day! (BTW, i have no idea why the markdown on this devlog is so weird, i can not seem to fix it lowkey)"}, {"post_id": 13176, "ts": "2026-06-21T15:45:41Z", "hours": 4.1456, "text": "Devlog 3 - NYX HAS FRIED MY BRAN btw, if you havent seen my older devlogs, you are legally obligated to do so, and if not done, the police shall come for you so, after my last devlog, added a new sail geometry, fixed A LOT OF BUGS and made the code efficient (not really) and improved the physics calculation, to a more complex force calculation engine (its not an engine, idk why i said that). also, i realized paraboloids are pretty niffty as with some dingle dangle, we can have a circular sail without even making a new class! Features i added Paraboloid geometry, cleaned up the radiation pressure code, quivers for visualization and better force equation. the force equation is now F = fmag * (2*cosTheta*normal - beamDih) (this is embarrassing, but in my code, the beam direction variable is beamDih ) Whats Next? wanna improve the visualization local force vector rendering time evolution moving sail oscillation simulation ability to upload a .obj file as a sail (The image below is when i broke the code. i accidentally wrote =+ instead of += )"}, {"post_id": 10036, "ts": "2026-06-16T16:26:48Z", "hours": 3.6364, "text": "Nyx Devlog #2: The Curved Sail Arc Status: Nyx V2 Complete Mood: Sleep-deprived aerospace engineer Bug Count: We don’t talk about the 90° bug. So… what happened? This dev cycle started with a simple goal: “Let’s add some tilt to the sails.” Several hours later, we somehow ended up with a computational beam-riding lightsail simulator. Oops. Gaussian Beams Are Cool Nyx uses a Gaussian beam to model the laser intensity distribution. def gaussian(r): return I0 * np.exp(-2 * r 2 / w0 2) Basically: The beam is strongest at the center. The farther away you go, the weaker it gets. Nature decided lasers should have exponential decay because apparently linear wasn’t dramatic enough. Tilting the Sails The sails can now rotate about the X and Y axes. def rotateX(vector, angle): x, y, z = vector return np.array([ x, y*np.cos(angle) - z*np.sin(angle), y*np.sin(angle) + z*np.cos(angle) ]) def rotateY(vector, angle): x, y, z = vector return np.array([ x*np.cos(angle) + z*np.sin(angle), y, -x*np.sin(angle) + z*np.cos(angle) ]) This worked surprisingly well. Unlike the visualization. Introducing: The Hemisphere™ Rectangle sails were getting lonely. So Nyx gained a new geometry: class SphereLightSail(): (Yes, it’s technically a hemisphere. Naming things is hard.) The hemisphere is discretized into tiny patches that each experience radiation pressure from the laser beam. Science! Radiation Pressure Time Every tiny patch gets hit by photons. The force magnitude is calculated using: fmag = (2 * I / c) * (cosTheta**2) * dA where: I is beam intensity, c is the speed of light, cosTheta accounts for sail orientation, dA is the patch area. Translation: Tiny packets of light aggressively boop the sail. Torque Has Entered The Chat Turns out forces acting away from the center like to cause problems. tau = np.cross(position, F) Nyx now computes total torque acting on the sail. This means we can begin asking questions like: Which geometries are stable? instead of: Why is Matplotlib gaslighting me? Visualization! Nyx can now visualize sail geometries using 3D plots. scatter = ax.scatter( self.xPoints, self.yPoints, self.zPoints, c=self.intensities, cmap=‘plasma’, s=30 ) With a colorbar: fig.colorbar( scatter, ax=ax, label=‘Beam Intensity (W/m^2)’ ) And even a force vector: ax.quiver( 0, 0, 0, Force[0], Force[1], Force[2], color=‘red’, length=2, normalize=True ) It looks surprisingly professional. Until you rotate it to 90°. The Great 90° Incident At one point, Nyx decided that rotating things by 90° was optional. Several debugging sessions later: “It’s probably fine.” Nyx is now operating under the internationally recognized engineering principle of: If the physics works, Future Me can fix the plotting (ik guys, ELITE mindset). What Nyx V2 Can Do Nyx V2 ├── Gaussian beam model ✓ ├── Rectangle sail geometry ✓ ├── Hemisphere sail geometry ✓ ├── Sail tilting ✓ ├── Radiation pressure forces ✓ ├── Torque calculations ✓ ├── Intensity heatmaps ✓ └── Force vector visualization ✓ What’s Next? We’re moving beyond random shapes. Future geometries need to answer one question: Could someone actually use this as a lightsail? Possible candidates: □ Paraboloids □ Hyperboloids □ Other beam-riding geometries from literature Party hats are currently under review. Final Thoughts Nyx V2 was the phase where the project stopped feeling like a collection of scripts and started feeling like an actual research tool. Also, I now know far more about Matplotlib’s quirks than any human"}, {"post_id": 7524, "ts": "2026-06-12T15:48:47Z", "hours": 2.8322, "text": "#Devlog 001 — The Beginning of Nyx (I call the light sails Nyx, because why not) Started building the computational simulator for my project on passive beam-riding stability of interstellar lightsails. What I implemented: -A Gaussian laser beam model to simulate how beam intensity changes from the center outward. -A rectangular lightsail simulator divided into tiny surface patches. -Calculations for net force and net torque acting on the sail. -Support for changing the sail’s position relative to the beam. -Support for x-axis and y-axis tilts, allowing the sail to change orientation. -Validation tests showing that centered sails produce near-zero torque and that results converge with increasing resolution. -The beginnings of a 3D geometry engine, including a hemispherical lightsail generator using spherical coordinates. -3D visualization of the hemispherical sail to verify that the geometry was generated correctly. (Am currently working on the the force and torque calculation for the spherical sails) (The test cases are for tilted says, the first one is not tilted at all and the last one is tilted 90 degrees)"}]...
|
Title: an EPIC Light Sail Simulation by @SpaceEvee Title: an EPIC Light Sail Simulation by @SpaceEvee | Stardance
Devlogs:
#Devlog 001 — The Beginning of Nyx (I call the light sails Nyx, because why not) Started building the computational simulator for my project on passive beam-riding stability of interstellar lightsails. What I implemented: -A Gaussian laser beam model to simulate how beam intensity changes from the center outward. -A rectangular lightsail simulator divided into tiny surface patches. -Calculations for net force and net torque acting on the sail. -Support for changing the sail’s position relative to the beam. -Support for x-axis and y-axis tilts, allowing the sail to change orientation. -Validation tests showing that centered sails produce near-zero torque and that results converge with increasing resolution. -The beginnings of a 3D geometry engine, including a hemispherical lightsail generator using spherical coordinates. -3D visualization of the hemispherical sail to verify that the geometry was generated correctly. (Am currently working on the the force and torque calculation for the spherical sails) (The test cases are for tilted says, the first one is not tilted at all and the last one is tilted 90 degrees)
Nyx Devlog #2: The Curved Sail Arc Status: Nyx V2 Complete Mood: Sleep-deprived aerospace engineer Bug Count: We don’t talk about the 90° bug. So… what happened? This dev cycle started with a simple goal: “Let’s add some tilt to the sails.” Several hours later, we somehow ended up with a computational beam-riding lightsail simulator. Oops. Gaussian Beams Are Cool Nyx uses a Gaussian beam to model the laser intensity distribution. def gaussian(r): return I0 * np.exp(-2 * r 2 / w0 2) Basically: The beam is strongest at the center. The farther away you go, the weaker it gets. Nature decided lasers should have exponential decay because apparently linear wasn’t dramatic enough. Tilting the Sails The sails can now rotate about the X and Y axes. def rotateX(vector, angle): x, y, z = vector return np.array([ x, y*np.cos(angle) - z*np.sin(angle), y*np.sin(angle) + z*np.cos(angle) ]) def rotateY(vector, angle): x, y, z = vector return np.array([ x*np.cos(angle) + z*np.sin(angle), y, -x*np.sin(angle) + z*np.cos(angle) ]) This worked surprisingly well. Unlike the visualization. Introducing: The Hemisphere™ Rectangle sails were getting lonely. So Nyx gained a new geometry: class SphereLightSail(): (Yes, it’s technically a hemisphere. Naming things is hard.) The hemisphere is discretized into tiny patches that each experience radiation pressure from the laser beam. Science! Radiation Pressure Time Every tiny patch gets hit by photons. The force magnitude is calculated using: fmag = (2 * I / c) * (cosTheta**2) * dA where: I is beam intensity, c is the speed of light, cosTheta accounts for sail orientation, dA is the patch area. Translation: Tiny packets of light aggressively boop the sail. Torque Has Entered The Chat Turns out forces acting away from the center like to cause problems. tau = np.cross(position, F) Nyx now computes total torque acting on the sail. This means we can begin asking questions like: Which geometries are stable? instead of: Why is Matplotlib gaslighting me? Visualization! Nyx can now visualize sail geometries using 3D plots. scatter = ax.scatter( self.xPoints, self.yPoints, self.zPoints, c=self.intensities, cmap=‘plasma’, s=30 ) With a colorbar: fig.colorbar( scatter, ax=ax, label=‘Beam Intensity (W/m^2)’ ) And even a force vector: ax.quiver( 0, 0, 0, Force[0], Force[1], Force[2], color=‘red’, length=2, normalize=True ) It looks surprisingly professional. Until you rotate it to 90°. The Great 90° Incident At one point, Nyx decided that rotating things by 90° was optional. Several debugging sessions later: “It’s probably fine.” Nyx is now operating under the internationally recognized engineering principle of: If the physics works, Future Me can fix the plotting (ik guys, ELITE mindset). What Nyx V2 Can Do Nyx V2 ├── Gaussian beam model ✓ ├── Rectangle sail geometry ✓ ├── Hemisphere sail geometry ✓ ├── Sail tilting ✓ ├── Radiation pressure forces ✓ ├── Torque calculations ✓ ├── Intensity heatmaps ✓ └── Force vector visualization ✓ What’s Next? We’re moving beyond random shapes. Future geometries need to answer one question: Could someone actually use this as a lightsail? Possible candidates: □ Paraboloids □ Hyperboloids □ Other beam-riding geometries from literature Party hats are currently under review. Final Thoughts Nyx V2 was the phase where the project stopped feeling like a collection of scripts and started feeling like an actual research tool. Also, I now know far more about Matplotlib’s quirks than any human
Devlog 3 - NYX HAS FRIED MY BRAN btw, if you havent seen my older devlogs, you are legally obligated to do so, and if not done, the police shall come for you so, after my last devlog, added a new sail geometry, fixed A LOT OF BUGS and made the code efficient (not really) and improved the physics calculation, to a more complex force calculation engine (its not an engine, idk why i said that). also, i realized paraboloids are pretty niffty as with some dingle dangle, we can have a circular sail without even making a new class! Features i added Paraboloid geometry, cleaned up the radiation pressure code, quivers for visualization and better force equation. the force equation is now F = fmag * (2*cosTheta*normal - beamDih) (this is embarrassing, but in my code, the beam direction variable is beamDih ) Whats Next? wanna improve the visualization local force vector rendering time evolution moving sail oscillation simulation ability to upload a .obj file as a sail (The image below is when i broke the code. i accidentally wrote =+ instead of += )
Devlog - 4 YO PEOPLE, i am BACK (ts so cringe. literally nobody cares). This devlog is about how almost lost my minds migrating my simulation’s rotation calculations into Quaternions , integrating RK4 and as always solving bugs, because Nyx is filled with bugs (Oh, you dont know what Nyx is? well it is my passive beam riding light sail simulation, for a research paper im working on) Euler Angles Started Tweaking Ok so before this, Nyx used normal Euler angle rotations using thetaX and thetaY for orientation. At first it worked fine, but after longer simulations stuff started tweaking hard The sphere and paraboloid would randomly start flattening into weird pancake/disc things (which i lowkey think might be cuz matplotlib library hates me idk) , rotations started looking cursed, and the orientation slowly became unstable over time. At first I thought matplotlib was just being goofy again, but nah, the actual orientation system itself was kinda cooked (most likely) . The problem was that Euler angles are not really built for stable continuous 3D rotational dynamics. Rotations started interfering with each other and the geometry would slowly drift into nonphysical states during longer simulations.Basically Nyx had reached the point where the old orientation system just wasn’t enough anymore :(. Quaternion Migration (The Pain of ’26 ) So yeah, this devlog was basically the “quaternion suffering” update I replaced the entire orientation system with quaternions. Instead of storing orientation as separate thetaX and thetaY values, Nyx now stores orientation as a quaternion state directly integrated through RK4.This was honestly one of the biggest upgrades to the simulator so far because now orientation itself is physically simulated instead of just being fake angle accumulation and stuff. The migration was WAY more painful than expected At first literally everything exploded: infinitiesNaNsbroken, normals-cursed, and sphere geometry intensity overflows. At one point the simulator straight up started generating inf values and the sphere looked like it got compressed by a hydraulic press .The biggest issue ended up being invalid normal vectors inside the sphere mesh generation. A single broken normal could completely destroy the intensity calculations and then infect the entire simulation state with NaNs.After fixing all that, Nyx now has stable quaternion orientation. quaternion vector rotation, quaternion RK4 integration, much more stable rotational dynamics, no more gimbal-lock-type weird ahh stuff . This was really hard for me to add lol now what ? so thats what took more than 10 hours. I think my boi Nyx is doing pretty good and will help me in great magnitude for my research paper. For now at least, i wanna make a sort of UI and replace ‘matplotlib’ with smth better cuz’ I am lowkey fed up. I would also like to add a feature of mass data collection, so that there is much data to study. – that’s it for me today, I hope YOU have a great day! (BTW, i have no idea why the markdown on this devlog is so weird, i can not seem to fix it lowkey)
DEVLOG - smth im bad at remembering numbers and its been sometime too WHATS UP LOVELY PEOPLE Another Nyx devlog it is! You dont know what Nyx is? Its my light sail simulation for a paper im working on! I did some code refining and yeah lots of boring stuff. Used the Stefan–Boltzmann equilibrium approximation to estimate local surface temperature. Added a temperature mapping system based on absorbed laser intensity (Absolutely obsolete btw ): ) Fixed the paraboloid sign issue so it curved in the intended direction. -Also tried using other libraries for rendering, but MatPlotLib is the best option right now other miscellaneous stuff I cant remember honestly (Next devlog will be more detailed trust)
DEVLOG 6 (and seven soon) Its been soooooooooooooooo long since my last devlog. I had my exams and well I couldn’t much and didn’t write my devlog last time. Oh you don’t know what Nyx? It is a light sail simulation I am working on for a paper I am writing (btw there are emojis now so cool stuff got added when I was gone) NEW ADDITIONS: Introduce a materials package (Material dataclass + presets: Graphene, Aluminium, SiliconCarbide) and an analysis package with plotting helpers and an Experiment helper. Update SimMain to accept a material for each sail type, pull reflectivity/absorptivity from the material, and record max/average temperature history. Fix numeric/geometry issues: correct sphere inertia, improve normal/rotation math for sphere and paraboloid, and ensure positions use rotated local coordinates. Add multiple debug/test scripts and enable analysis plotting at the end of simLoop to visualize force, position, velocity, acceleration, angular velocity and temperature histories. I did NOT copy-paste the commit here trust. If you think I did, you're wrong Well, thats it for now, Ill put more effort in the next devlog See YALL soon (no one cares, but I care )
NYX DEVLOG MUHEHEHEHHE (NO IDEA BOUT THE INDEX) sorry for being dead for so long. i was busy with irl stuff The Simulator is ALMOST done yay I made the GUI for yall (the program is not user friendly ) and now the simulated data can FINALLY be saved into .json and .csv and some boring physics shit heres the run down: Physics World frame inertia calculation. i CORRECTED THE INERTIA TENSOR TRANSFORMATION so that angular momentum and rotational dynamics use the inertia tensor in the world frame Rotational Dynamics used the rigid body rotational equation normalised the intermediate RK4 orientation states (so yeah lots of attitude control yk) paraboloid COM and hemisphere COM were straight wrong as i found out so they are fixed now respectively GUI added a workbench/gui for the whole program (I HATE this) and in the repo i added the Read Me after two gazillion years ill say Nyx (the simulator) is done and i can ship it FINALLY after so long and start working on the paper FINALLY. btw the BEANS SHALL PREVAIL some things the 3d geometry visualization doesnt work with the gui stack so ill have to fix that and the parameter sweep doesnt work any bit. these things ill have to do before the first ship and besides ill say the same is pretty good and completed
Mini Devlog :yoooo-chat-whats-up–are-yall-ready-for-another-weekly-journal–i-hope-so-kitty-dance-mb-sorry-for-b: I completed the parameter sweep and it works (still pretty glitchy tho) and added a 3d visualisation section to the program (prolly the most visually appealing thing ) GONNA SHIP NOW YAY
Ships:
This is the first ship of an interstellar light sail simulation for a research paper I am working on. The simulation models an idealised Gaussian laser beam with a fixed nominal propagation direction along +Z. The beam settings include peak intensity (I_0), waist (w_0), wavelength (\lambda), and lateral beam-centre offsets. The sail model estimates radiation-pressure force and torque over the discretised surface, then advances translational and rotational state. The workbench records time histories so configurations can be inspected and compared. A local radiative-equilibrium calculation estimates surface temperature from absorbed illumination and the configured emissivity. Few Notes: The simulation is not very optimised so it may take some time to function on lower end PCs I have added a video performing some functions of the software in the github ReadMe. (As in the ship of my last project, many people told me to have a video as they didn’t want to download the package itself.) If there the runner throws an exception or error pop up at the end, i.e. after running the program, the data can still be accessed (plots, .json, .csv, etc.)...
|
1793818303.3042982
|
1793904703.3042982
|
|
17292
|
Frictionless by @brk | Stardance
|
brk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @brk | Stardance
|
1793253216.0839808
|
1793858016.0839808
|
|
17293
|
Slayie by @arfa_mariyam | Stardance
|
arfa_mariyam
|
3
|
38.0
|
531
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T07:48:06Z", "hours": 9.0, "multiplier": 16.78, "payout": 147, "blessing": "neutral", "text": "I released Phase 5 of Slayie, my terminal-based ASCII Dungeon Crawler RPG written in C++. After receiving feedback that people on Linux and Mac also wanted to try the game, I expanded the project to include full cross-platform support. Along with the 10x10 dungeon map, WASD controls, obstacle walls (#), gold coins ($), health potions (H), Goblin combat encounters (E), and persistent save/load features, the game now provides native ready-to-run binaries for Windows, Linux, and macOS. What was challenging: Building standalone binaries for platforms I don’t physically own ;) I didn’t have a Mac or Linux machine, so I learned how to configure GitHub Actions workflows to compile native Linux and macOS binaries in the cloud using cloud runners. I also had to make sure file execution permissions (chmod +x) and terminal instructions were clearly documented so non-Windows users wouldn’t encounter permission errors. What I am proud of: I’m really proud of taking community feedback seriously and turning a Windows-only CLI project into a true cross-platform game. Seeing the exact same C++ codebase build cleanly and run across Windows, Ubuntu, and macOS terminal environments feels like a huge accomplishment. How to test it: Go to the latest GitHub release (v5.0.0): https://github.com/ArfaMariyam/Slayie/releases Windows: Download and double-click SLAYIE.exe. Linux / Mac: Download slayie-linux or slayie-macos. In your terminal, run chmod +x slayie-linux (or macOS), then ./slayie-linux. Choose 1 to start a new game or 2 to load your previous save file. Use W, A, S, D (followed by Enter) to move, press K anytime to save your game state, defeat enemies (E), and reach the exit door (D)! Hope you enjoy testing it on whichever platform you use :)", "repo": "https://github.com/ArfaMariyam/Slayie", "demo": "https://github.com/ArfaMariyam/Slayie/releases"}, {"ship_num": 2, "ts": "2026-09-05T10:50:11Z", "hours": 9.0, "multiplier": 18.16, "payout": 197, "blessing": "neutral", "text": "What I made: I completed the final phase of Slayie, my terminal-based ASCII Dungeon Crawler RPG written in native C++. On top of exploring the 10x10 grid map, dodging solid walls (#), collecting gold coins ($), and drinking potions (H), I added enemy Goblin encounters (E) with combat damage, a game-over screen if your health drops to 0, and a full file save/load system so you can save your progress and resume anytime from local storage. What was challenging: Implementing file handling with to save and load the game state. I had to figure out how to save not just the player stats (playerX, playerY, playerHealth, goldCount), but also loop through the entire 2D dungeon array (dungeon[10][10]) row by row into slayie_save.txt. Making sure that picked-up items and defeated enemies didn’t respawn after reloading a save took quite a bit of debugging. What I am proud of: I’m really proud of finishing all 4 milestones of the roadmap from a blank file to a fully complete RPG. Having working grid movement, collision barriers, real-time stat tracking, combat encounters, and persistent text-file saving all compiled into a single executable file that anyone can play feels amazing :) How to test it: Download the compiled SLAYIE.exe from my GitHub repository’s latest release (v4.0.0). Double-click SLAYIE.exe to run it directly in your terminal. Select 1 to start a new run or 2 to load your previous save file. Use W, A, S, D (followed by Enter) to move your character, press K anytime to save your progress, defeat enemies (E), and reach the exit door (D)! Hope you enjoy it :)", "repo": "https://github.com/ArfaMariyam/Slayie", "demo": "https://github.com/ArfaMariyam/Slayie/releases"}, {"ship_num": 3, "ts": "2026-08-25T11:45:32Z", "hours": 20.0, "multiplier": 9.0, "payout": 187, "blessing": "neutral", "text": "What I made: I built Slayie, a terminal based ASCII Dungeon Crawler RPG written in native C++. It renders an interactive 10x10 dungeon grid where you control a character (@) using WASD keys, navigate around solid boundary and obstacle walls (#), collect gold coins ($), drink health potions (H) to restore health, and try to reach the exit door (D). What was challenging: As a beginner learning C++, working with 2D array coordinates (dungeon[10][10]) was the trickiest part. I initially mixed up rows (Y-axis) and columns (X-axis), which caused movement keys to move in reverse and item pickups to wipe the wrong map tiles. Writing predictive collision checks so the player stops before hitting a wall took a lot of trial, error, and debugging. What I am proud of: I’m really proud of turning basic programming fundamentals (nested loops, 2D arrays, and conditional branches) into an actual interactive game with real-time stats. Building a complete game loop from scratch and compiling a working .exe file that runs with one click feels awesome :) How to test it: Download the compiled index.exe from my GitHub repository’s latest release. Double-click index.exe to run it directly in your terminal. Use W, A, S, D (followed by Enter) to move your character around the map, collect items, and find the D door. Hope you enjoy it :)", "repo": "https://github.com/ArfaMariyam/Slayie", "demo": "https://github.com/ArfaMariyam/Slayie/releases"}]...
|
[{"post_id": 65248, "ts": "202 [{"post_id": 65248, "ts": "2026-09-10T07:39:30Z", "hours": 8.7703, "text": "Phase 5 of Slayie is live •⩊• After going through peer review feedback on Stardance, I saw that players using Linux and Mac also wanted to test the game. I added a 5th phase to provide cross-platform support by compiling native standalone binaries (slayie-linux and slayie-macos) and attaching them to the GitHub release alongside SLAYIE.exe. I also added terminal execution permissions (chmod +x) and quick source build commands in the README so anyone can run Slayie regardless of their OS"}, {"post_id": 62094, "ts": "2026-09-05T10:44:09Z", "hours": 9.0578, "text": "Phase 4 of Slayie is officially complete! I Added enemy encounters (E) that trigger combat and deal 25 damage to the player, along with a full game-over screen if your health drops to 0. Also built a file save and load system using so pressing K writes all stats and the current map grid into slayie_save.txt, letting you restore your exact progress from the main menu."}, {"post_id": 54388, "ts": "2026-08-25T11:37:41Z", "hours": 12.7342, "text": "Phase 3 of Slayie is complete! Added collectible Gold coins ($) and Health Potions (H) across the dungeon floor. Stepping on a gold tile grants +10 coins, while potions heal +20 HP up to the 100 HP max limit. After picking up an item, the tile is cleared to floor (.) so items can’t be looted twice."}, {"post_id": 41177, "ts": "2026-08-05T06:59:56Z", "hours": 5.5186, "text": "Just completed Phase 2 of Slayie! Converted the map into a full 2D array matrix (dungeon[10][10]) to store real wall layouts and obstacle data. Added solid boundary walls (#), interior obstacles, and built collision detection so the player @ can’t walk through walls. Also added an exit door (D) at (8, 8) to clear the dungeon, and fixed a movement math bug where pressing S was moving the player in reverse!"}, {"post_id": 35765, "ts": "2026-07-27T12:24:47Z", "hours": 1.93, "text": "Slayie’s Phase 1 Complete: 10x10 ASCII Grid & WASD Movement Framework! Today I kicked off my new project, Slayie (a terminal-based ASCII Dungeon Crawler RPG in C++), and finished Phase 1! What I built: Rendered a 10x10 grid map on the terminal using nested loops, with the player represented by the @ icon. Implemented live coordinate tracking for (playerX, playerY). Built WASD keyboard controls (W Up, S Down, A Left, D Right) and a Q key to exit. Added boundary checks so the player can’t move off the map edges. Added a live stats dashboard showing Health (HP) and Gold coins."}]...
|
Title: Slayie by @arfa_mariyam | Stardance
Devlog Title: Slayie by @arfa_mariyam | Stardance
Devlogs:
Slayie’s Phase 1 Complete: 10x10 ASCII Grid & WASD Movement Framework! Today I kicked off my new project, Slayie (a terminal-based ASCII Dungeon Crawler RPG in C++), and finished Phase 1! What I built: Rendered a 10x10 grid map on the terminal using nested loops, with the player represented by the @ icon. Implemented live coordinate tracking for (playerX, playerY). Built WASD keyboard controls (W Up, S Down, A Left, D Right) and a Q key to exit. Added boundary checks so the player can’t move off the map edges. Added a live stats dashboard showing Health (HP) and Gold coins.
Just completed Phase 2 of Slayie! Converted the map into a full 2D array matrix (dungeon[10][10]) to store real wall layouts and obstacle data. Added solid boundary walls (#), interior obstacles, and built collision detection so the player @ can’t walk through walls. Also added an exit door (D) at (8, 8) to clear the dungeon, and fixed a movement math bug where pressing S was moving the player in reverse!
Phase 3 of Slayie is complete! Added collectible Gold coins ($) and Health Potions (H) across the dungeon floor. Stepping on a gold tile grants +10 coins, while potions heal +20 HP up to the 100 HP max limit. After picking up an item, the tile is cleared to floor (.) so items can’t be looted twice.
Phase 4 of Slayie is officially complete! I Added enemy encounters (E) that trigger combat and deal 25 damage to the player, along with a full game-over screen if your health drops to 0. Also built a file save and load system using so pressing K writes all stats and the current map grid into slayie_save.txt, letting you restore your exact progress from the main menu.
Phase 5 of Slayie is live •⩊• After going through peer review feedback on Stardance, I saw that players using Linux and Mac also wanted to test the game. I added a 5th phase to provide cross-platform support by compiling native standalone binaries (slayie-linux and slayie-macos) and attaching them to the GitHub release alongside SLAYIE.exe. I also added terminal execution permissions (chmod +x) and quick source build commands in the README so anyone can run Slayie regardless of their OS
Ships:
What I made: I built Slayie, a terminal based ASCII Dungeon Crawler RPG written in native C++. It renders an interactive 10x10 dungeon grid where you control a character (@) using WASD keys, navigate around solid boundary and obstacle walls (#), collect gold coins ($), drink health potions (H) to restore health, and try to reach the exit door (D). What was challenging: As a beginner learning C++, working with 2D array coordinates (dungeon[10][10]) was the trickiest part. I initially mixed up rows (Y-axis) and columns (X-axis), which caused movement keys to move in reverse and item pickups to wipe the wrong map tiles. Writing predictive collision checks so the player stops before hitting a wall took a lot of trial, error, and debugging. What I am proud of: I’m really proud of turning basic programming fundamentals (nested loops, 2D arrays, and conditional branches) into an actual interactive game with real-time stats. Building a complete game loop from scratch and compiling a working .exe file that runs with one click feels awesome :) How to test it: Download the compiled index.exe from my GitHub repository’s latest release. Double-click index.exe to run it directly in your terminal. Use W, A, S, D (followed by Enter) to move your character around the map, collect items, and find the D door. Hope you enjoy it :)
What I made: I completed the final phase of Slayie, my terminal-based ASCII Dungeon Crawler RPG written in native C++. On top of exploring the 10x10 grid map, dodging solid walls (#), collecting gold coins ($), and drinking potions (H), I added enemy Goblin encounters (E) with combat damage, a game-over screen if your health drops to 0, and a full file save/load system so you can save your progress and resume anytime from local storage. What was challenging: Implementing file handling with to save and load the game state. I had to figure out how to save not just the player stats (playerX, playerY, playerHealth, goldCount), but also loop through the entire 2D dungeon array (dungeon[10][10]) row by row into slayie_save.txt. Making sure that picked-up items and defeated enemies didn’t respawn after reloading a save took quite a bit of debugging. What I am proud of: I’m really proud of finishing all 4 milestones of the roadmap from a blank file to a fully complete RPG. Having working grid movement, collision barriers, real-time stat tracking, combat encounters, and persistent text-file saving all compiled into a single executable file that anyone can play feels amazing :) How to test it: Download the compiled SLAYIE.exe from my GitHub repository’s latest release (v4.0.0). Double-click SLAYIE.exe to run it directly in your terminal. Select 1 to start a new run or 2 to load your previous save file. Use W, A, S, D (followed by Enter) to move your character, press K anytime to save your progress, defeat enemies (E), and reach the exit door (D)! Hope you enjoy it :)
I released Phase 5 of Slayie, my terminal-based ASCII Dungeon Crawler RPG written in C++. After receiving feedback that people on Linux and Mac also wanted to try the game, I expanded the project to include full cross-platform support. Along with the 10x10 dungeon map, WASD controls, obstacle walls (#), gold coins ($), health potions (H), Goblin combat encounters (E), and persistent save/load features, the game now provides native ready-to-run binaries for Windows, Linux, and macOS. What was challenging: Building standalone binaries for platforms I don’t physically own ;) I didn’t have a Mac or Linux machine, so I learned how to configure GitHub Actions workflows to compile native Linux and macOS binaries in the cloud using cloud runners. I also had to make sure file execution permissions (chmod +x) and terminal instructions were clearly documented so non-Windows users wouldn’t encounter permission errors. What I am proud of: I’m really proud of taking community feedback seriously and turning a Windows-only CLI project into a true cross-platform game. Seeing the exact same C++ codebase build cleanly and run across Windows, Ubuntu, and macOS terminal environments feels like a huge accomplishment. How to test it: Go to the latest GitHub release (v5.0.0): https://github.com/ArfaMariyam/Slayie/releases Windows: Download and double-click SLAYIE.exe. Linux / Mac: Download slayie-linux or slayie-macos. In your terminal, run chmod +x slayie-linux (or macOS), then ./slayie-linux. Choose 1 to start a new game or 2 to load your previous save file. Use W, A, S, D (followed by Enter) to move, press K anytime to save your game state, defeat enemies (E), and reach the exit door (D)! Hope you enjoy testing it on whichever platform you use :)...
|
1793771644.3195357
|
1794635644.3195357
|
|
17294
|
traewelltui by @Tuxilio | Stardance
|
Tuxilio
|
2
|
15.45
|
221
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-10T09:44:26Z", "hours": 5.0, "multiplier": 12.07, "payout": 64, "blessing": "neutral", "text": "I made traewelltui, which is a TUI (terminal ui) client for Traewelling, a free public transport checkin service to record your travels and share it with your friends. It was a bit difficult to get into, because I never used Ratatui before. I have rewritten the dashboard multiple times and I am now somthing happy with it :) If you test the project, you should know that it uses vim keybinds: Use :q to quit. New Fetures are that you can paste the token now directly from your clipboard, you can like checkins interactively using a popup select and using an index, and a bugfix that the dashboard isn’t loading! (some licensing things: The background image in my terminal which is only partially visible is the KDE Plasma workspace wallpaper “Scarlet tree” made by axo1otl [email protected] and licensed CC-BY-SA 4.0. Repo: https://invent.kde.org/plasma/plasma-workspace-wallpapers/-/tree/master/ScarletTree My screenshot is licensed CC-BY-SA 4.0)", "repo": "https://codeberg.org/Tuxilio/traewelltui/", "demo": "https://crates.io/crates/traewelltui"}, {"ship_num": 2, "ts": "2026-06-17T19:45:08Z", "hours": 10.0, "multiplier": 15.88, "payout": 157, "blessing": "neutral", "text": "I made traewelltui, which is a TUI (terminal ui) client for Traewelling, a free public transport checkin service to record your travels and share it with your friends. It was a bit difficult to get into, because I never used Ratatui before. I have rewritten the dashboard multiple times and I am now somthing happy with it :) If you test the project, you should know that it uses vim keybinds: Use :q to quit. Pasting the token could take some seconds, this is not because something bad implemented but instead the token is really long and each character gets inserted sepeartely by ratatui.", "repo": "https://codeberg.org/Tuxilio/traewelltui/", "demo": "https://crates.io/crates/traewelltui"}]...
|
[{"post_id": 77504, "ts": "202 [{"post_id": 77504, "ts": "2026-10-07T08:24:45Z", "hours": 0.4453, "text": "I fixed one bug where the travel mode is not added in the enum so I added a default field “Other” to show this instead of crashing the app. I also added a bit more docs where to get the token :)"}, {"post_id": 65276, "ts": "2026-09-10T08:50:49Z", "hours": 1.4053, "text": "I fixed the error reported by @pauljako that the login is not working anymore which is likely caused because of recent api changed by traewelling. The travel mode (bus, train …) and the source/license of the checkin are now not always included so I set them to optional. It was really difficult to debug because I couldn’t get serde to show the full problem … but it worked after some tries 🎉 (some licensing things: The background image in my terminal is the KDE Plasma workspace wallpaper “Scarlet tree” made by axo1otl [email protected] and licensed CC-BY-SA 4.0. Repo: https://invent.kde.org/plasma/plasma-workspace-wallpapers/-/tree/master/ScarletTree My screenshot is licensed CC-BY-SA 4.0)"}, {"post_id": 25237, "ts": "2026-07-09T11:21:45Z", "hours": 0.8522, "text": "You can now type :like without arguments and find a popup to select which checkin you want to like!"}, {"post_id": 24735, "ts": "2026-07-08T14:43:20Z", "hours": 0.3311, "text": "The message is now shown in a popup instead the bottom line, which looks much nicer :)"}, {"post_id": 24716, "ts": "2026-07-08T14:15:47Z", "hours": 1.3469, "text": "I added a :like command! You can now like checkins using :like <index> , where you can find the index beside the username in the checkin header!"}, {"post_id": 24665, "ts": "2026-07-08T12:15:55Z", "hours": 1.3956, "text": "I added an option to get the token from your clipboard instead of only relying only on pasting, because that pasted every single character and took some time :)"}, {"post_id": 10836, "ts": "2026-06-17T19:37:51Z", "hours": 1.1611, "text": "I added a lot documentation and an asciinema video: https://asciinema.org/a/BytB6HM8kpoXtlLC"}, {"post_id": 10736, "ts": "2026-06-17T16:56:50Z", "hours": 0.7561, "text": "There is now an option to save the api token and auto-login with it! The login prompt also shows now automatically when you’re not logged in, making it easier to get a start :) The token save prompt only shows after a successful use of the token, so you can’t really save a wrong token."}, {"post_id": 10712, "ts": "2026-06-17T16:01:24Z", "hours": 1.1061, "text": "I completely redesigned the dashboard! It now looks more like “normal” Traewelling clients and in my opinion much nicer :)"}, {"post_id": 10597, "ts": "2026-06-17T12:50:29Z", "hours": 0.6261, "text": "I added symbols for the travelling mode (e.g. suburban, regional rail, tram bus) and you can now also see the status message another one has posted together with the checkin!"}, {"post_id": 10581, "ts": "2026-06-17T11:59:07Z", "hours": 4.3208, "text": "I just finished a big feature in my project! The login now works perfectly, and after successfully logging in, you’ll see your dashboard displaying check-ins from people you follow (plus your own, of course). The dashboard isn’t complete yet - I plan to add status messages and a progress bar showing if someone is currently traveling."}, {"post_id": 9336, "ts": "2026-06-15T17:42:53Z", "hours": 1.9603, "text": "I’m building a terminal user interface for Traewelling ( https://traewelling.de/ ) using Ratatui in Rust, with Vim-style keybindings (: for command mode, q to quit, :login for token-based authentication). The basic UI is working well with a header, dashboard body, and mode-specific footer, but still needs polish before the next iteration."}]...
|
Title: traewelltui by @Tuxilio | Stardance
Devlog Title: traewelltui by @Tuxilio | Stardance
Devlogs:
I’m building a terminal user interface for Traewelling ( https://traewelling.de/ ) using Ratatui in Rust, with Vim-style keybindings (: for command mode, q to quit, :login for token-based authentication). The basic UI is working well with a header, dashboard body, and mode-specific footer, but still needs polish before the next iteration.
I just finished a big feature in my project! The login now works perfectly, and after successfully logging in, you’ll see your dashboard displaying check-ins from people you follow (plus your own, of course). The dashboard isn’t complete yet - I plan to add status messages and a progress bar showing if someone is currently traveling.
I added symbols for the travelling mode (e.g. suburban, regional rail, tram bus) and you can now also see the status message another one has posted together with the checkin!
I completely redesigned the dashboard! It now looks more like “normal” Traewelling clients and in my opinion much nicer :)
There is now an option to save the api token and auto-login with it! The login prompt also shows now automatically when you’re not logged in, making it easier to get a start :) The token save prompt only shows after a successful use of the token, so you can’t really save a wrong token.
I added a lot documentation and an asciinema video: https://asciinema.org/a/BytB6HM8kpoXtlLC
I added an option to get the token from your clipboard instead of only relying only on pasting, because that pasted every single character and took some time :)
I added a :like command! You can now like checkins using :like <index> , where you can find the index beside the username in the checkin header!
The message is now shown in a popup instead the bottom line, which looks much nicer :)
You can now type :like without arguments and find a popup to select which checkin you want to like!
I fixed the error reported by @pauljako that the login is not working anymore which is likely caused because of recent api changed by traewelling. The travel mode (bus, train …) and the source/license of the checkin are now not always included so I set them to optional. It was really difficult to debug because I couldn’t get serde to show the full problem … but it worked after some tries 🎉 (some licensing things: The background image in my terminal is the KDE Plasma workspace wallpaper “Scarlet tree” made by axo1otl [email protected] and licensed CC-BY-SA 4.0. Repo: https://invent.kde.org/plasma/plasma-workspace-wallpapers/-/tree/master/ScarletTree My screenshot is licensed CC-BY-SA 4.0)
I fixed one bug where the travel mode is not added in the enum so I added a default field “Other” to show this instead of crashing the app. I also added a bit more docs where to get the token :)
Ships:
I made traewelltui, which is a TUI (terminal ui) client for Traewelling, a free public transport checkin service to record your travels and share it with your friends. It was a bit difficult to get into, because I never used Ratatui before. I have rewritten the dashboard multiple times and I am now somthing happy with it :) If you test the project, you should know that it uses vim keybinds: Use :q to quit. Pasting the token could take some seconds, this is not because something bad implemented but instead the token is really long and each character gets inserted sepeartely by ratatui.
I made traewelltui, which is a TUI (terminal ui) client for Traewelling, a free public transport checkin service to record your travels and share it with your friends. It was a bit difficult to get into, because I never used Ratatui before. I have rewritten the dashboard multiple times and I am now somthing happy with it :) If you test the project, you should know that it uses vim keybinds: Use :q to quit. New Fetures are that you can paste the token now directly from your clipboard, you can like checkins interactively using a popup select and using an index, and a bugfix that the dashboard isn’t loading! (some licensing things: The background image in my terminal which is only partially visible is the KDE Plasma workspace wallpaper “Scarlet tree” made by axo1otl [email protected] and licensed CC-BY-SA 4.0. Repo: https://invent.kde.org/plasma/plasma-workspace-wallpapers/-/tree/master/ScarletTree My screenshot is licensed CC-BY-SA 4.0)...
|
1793720830.739373
|
1793807230.739373
|
|
17295
|
My first slack bot! by @praveengopaldas | Stardanc My first slack bot! by @praveengopaldas | Stardance...
|
praveengopaldas
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @praveengopaldas | S Title: My first slack bot! by @praveengopaldas | Stardance...
|
1793476677.263347
|
1794081477.263347
|
|
17296
|
My very own WebOS by @Danish_ | Stardance
|
Danish_
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Danish_ | Stardance
|
1793310675.0131078
|
1793915475.0131078
|
|
17297
|
The GitBoard by @aamir_pa2009 | Stardance
|
aamir_pa2009
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: The GitBoard by @aamir_pa2009 | Stardance
|
1793455033.3699627
|
1794059833.3699627
|
|
17298
|
GardenBuddy by @Vedant_Daga | Stardance
|
Vedant_Daga
|
0
|
3.0
|
0
|
[]
|
[{"post_id": 8784, "ts": "2026 [{"post_id": 8784, "ts": "2026-06-14T16:23:29Z", "hours": 3.0, "text": "gardenbuddy devlog #1 i kept killing plants. not from neglect, just from guessing wrong. water too much, roots rot. too little, leaves curl. i never actually knew what was happening underground. so gardenbuddy is a raspberry pi that watches soil, temp, humidity, and light, and tells you what to do about it. most plant monitors just give you numbers. 48% soil, 72°F. okay, is that good? i wanted it to answer that directly. not “soil is at 48%” but “your plant is stable, humidity is the main stressor, here’s what to do.” how it works two models. an LSTM looks at the last 30 readings (5 min) and classifies health as thriving, stable, stressed, or critical. it trains on your own sensor data, so it learns your setup instead of using thresholds someone else picked. a local LLM (ollama, llama3.2:3b) takes that output and writes two plain sentences you can act on. runs every 30 seconds in a background thread so it doesn’t block polling. all local. no cloud, no api keys, no internet. what’s running live readings every 10 seconds, rolling history charts, a 0-100 health score, the LSTM classification, ollama advice, an RGB LED that goes green/amber/red, influxdb for history, and alerts for low soil, heat, and fungal risk. the cleanup once the AI side worked, sensor_reader.py was 454 lines. about 200 were fallback paths and stubs i’d written just in case the model didn’t load or ollama timed out. useful while building, unreadable once things were stable. deleted them: 13 files, 219 lines gone, zero new features. that’s kind of when it started feeling real. hardware pi 4b, DHT22 for temp/humidity, capacitive soil sensor through an ADS1115 ADC over I2C, a photoresistor for light, and the RGB LED. soil calibration is two numbers you measure once: dry air and fully submerged. everything else comes from those. next the foundation works. what’s missing is a model that’s seen more than a few days of data, and a real stress test of the alerts. plan is to underwater a plant on purpose and watch the score drop. apparently it’s doing fine."}]...
|
Title: GardenBuddy by @Vedant_Daga | Stardance
De Title: GardenBuddy by @Vedant_Daga | Stardance
Devlogs:
gardenbuddy devlog #1 i kept killing plants. not from neglect, just from guessing wrong. water too much, roots rot. too little, leaves curl. i never actually knew what was happening underground. so gardenbuddy is a raspberry pi that watches soil, temp, humidity, and light, and tells you what to do about it. most plant monitors just give you numbers. 48% soil, 72°F. okay, is that good? i wanted it to answer that directly. not “soil is at 48%” but “your plant is stable, humidity is the main stressor, here’s what to do.” how it works two models. an LSTM looks at the last 30 readings (5 min) and classifies health as thriving, stable, stressed, or critical. it trains on your own sensor data, so it learns your setup instead of using thresholds someone else picked. a local LLM (ollama, llama3.2:3b) takes that output and writes two plain sentences you can act on. runs every 30 seconds in a background thread so it doesn’t block polling. all local. no cloud, no api keys, no internet. what’s running live readings every 10 seconds, rolling history charts, a 0-100 health score, the LSTM classification, ollama advice, an RGB LED that goes green/amber/red, influxdb for history, and alerts for low soil, heat, and fungal risk. the cleanup once the AI side worked, sensor_reader.py was 454 lines. about 200 were fallback paths and stubs i’d written just in case the model didn’t load or ollama timed out. useful while building, unreadable once things were stable. deleted them: 13 files, 219 lines gone, zero new features. that’s kind of when it started feeling real. hardware pi 4b, DHT22 for temp/humidity, capacitive soil sensor through an ADS1115 ADC over I2C, a photoresistor for light, and the RGB LED. soil calibration is two numbers you measure once: dry air and fully submerged. everything else comes from those. next the foundation works. what’s missing is a model that’s seen more than a few days of data, and a real stress test of the alerts. plan is to underwater a plant on purpose and watch the score drop. apparently it’s doing fine....
|
1792946958.9253092
|
1793810958.9253092
|
|
17299
|
Eye Saver Timer by @farhanmi2009 | Stardance
|
farhanmi2009
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Eye Saver Timer by @farhanmi2009 | Stardanc Title: Eye Saver Timer by @farhanmi2009 | Stardance...
|
1793235236.5749831
|
1793840036.5749831
|
|
17300
|
Untitled by @praveengopaldas | Stardance
|
praveengopaldas
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @praveengopaldas | Stardance
|
1793242084.6660733
|
1793846884.6660733
|