|
33974
|
Extract - ME by @twinx | Stardance
|
twinx
|
1
|
4.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-13T17:58:01Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So this project was a starting of a big project but i recently got to know playwright already had those so i instead made ollama available in it. It uses ai to extract urls , links ,paragraphs and even can login however i don’t recommend that. Do check out it is amazing also speed depends on AI and network not on script.", "repo": "https://github.com/Philast-015/ExtractME/", "demo": "https://github.com/Philast-015/ExtractME/releases/tag/v1.0.1"}]...
|
[{"post_id": 27794, "ts": "202 [{"post_id": 27794, "ts": "2026-07-13T17:42:45Z", "hours": 0.8728, "text": ":( Got to know that playwright already has these , sorry my bad guys still i will ship this as i learned something from this project including about the hackclub AI. Uploaded to PyPi for easy install."}, {"post_id": 27702, "ts": "2026-07-13T14:22:37Z", "hours": 1.3261, "text": "So it is now able to extract paragraphs , links and all data about that also it now supports sites to which AI can navigate and blocked sites also. Here is a sample data extraction from my app for hackclub - \"name\" : \"Hack Club \\u 2014 Where teens make cool stuff.\" , \"url\" : \"https://hackclub.com\" , \"description\" : \"Hack Club is the world's largest nonprofit movement of teenagers making cool projects with code.\" , \"paragraphs\" : [ \"Hack Club is the world's largest nonprofit movement of teenagers making cool projects with code."}, {"post_id": 27052, "ts": "2026-07-12T07:45:05Z", "hours": 2.1172, "text": "Build the working structure it already extracts links. I gave it the prompt to extract all music player from GitHub as it extracted ~7-8 links under 5m. I used the AI model from hackclub it was a bit of dumb so it took 5m if you can run Claude it will takes less time."}]...
|
Title: Extract - ME by @twinx | Stardance
Devlogs Title: Extract - ME by @twinx | Stardance
Devlogs:
Build the working structure it already extracts links. I gave it the prompt to extract all music player from GitHub as it extracted ~7-8 links under 5m. I used the AI model from hackclub it was a bit of dumb so it took 5m if you can run Claude it will takes less time.
So it is now able to extract paragraphs , links and all data about that also it now supports sites to which AI can navigate and blocked sites also. Here is a sample data extraction from my app for hackclub - "name" : "Hack Club \u 2014 Where teens make cool stuff." , "url" : "https://hackclub.com" , "description" : "Hack Club is the world's largest nonprofit movement of teenagers making cool projects with code." , "paragraphs" : [ "Hack Club is the world's largest nonprofit movement of teenagers making cool projects with code.
:( Got to know that playwright already has these , sorry my bad guys still i will ship this as i learned something from this project including about the hackclub AI. Uploaded to PyPi for easy install.
Ships:
So this project was a starting of a big project but i recently got to know playwright already had those so i instead made ollama available in it. It uses ai to extract urls , links ,paragraphs and even can login however i don’t recommend that. Do check out it is amazing also speed depends on AI and network not on script....
|
1793461841.562228
|
1793548241.562228
|
|
40085
|
My first game by @twinx | Stardance
|
twinx
|
0
|
5.18
|
0
|
[]
|
[{"post_id": 36459, "ts": "202 [{"post_id": 36459, "ts": "2026-07-28T16:14:48Z", "hours": 2.2964, "text": "So made a trader that takes 10 coins and give some stuffs i haven’t decided what but i think movement speed maybe.Also added coins to be random so user gets different coin values each time."}, {"post_id": 36313, "ts": "2026-07-28T10:58:04Z", "hours": 0.6383, "text": "So trying to add more blocks and add more elements like grass , eggs , ancient blocks , and much more in Aseprite tried to use pixelorama from Godot but it doesn’t support hackatime i guess from docs of hackatime."}, {"post_id": 35155, "ts": "2026-07-26T12:11:45Z", "hours": 0.9047, "text": "So i have added coins pickup and platforms with background it doesn’t look like in the first picture it is godot editor it is shown in second picture."}, {"post_id": 35120, "ts": "2026-07-26T11:00:11Z", "hours": 1.3397, "text": "So first time , took too long i think but here is the screenshot and I added platforms character moving platforms physics and collisions"}]...
|
Title: My first game by @twinx | Stardance
Devlog Title: My first game by @twinx | Stardance
Devlogs:
So first time , took too long i think but here is the screenshot and I added platforms character moving platforms physics and collisions
So i have added coins pickup and platforms with background it doesn’t look like in the first picture it is godot editor it is shown in second picture.
So trying to add more blocks and add more elements like grass , eggs , ancient blocks , and much more in Aseprite tried to use pixelorama from Godot but it doesn’t support hackatime i guess from docs of hackatime.
So made a trader that takes 10 coins and give some stuffs i haven’t decided what but i think movement speed maybe.Also added coins to be random so user gets different coin values each time....
|
1793137962.9089024
|
1793742762.9089024
|
|
45563
|
Coins by @twinx | Stardance
|
twinx
|
0
|
22.7
|
0
|
[]
|
[{"post_id": 62869, "ts": "202 [{"post_id": 62869, "ts": "2026-09-06T12:18:51Z", "hours": 7.0511, "text": "So finally ! It can now do these things at a give moments : play/pause music ( flow only ) search and play music ( only using flow ) can open websites and url can run or start process like ollama serve can show message of llm and all that using API of ollama Things u can do with this : quick answer from ollama models quickly opening urls open apps or run in background without remembering anything control music"}, {"post_id": 56442, "ts": "2026-08-28T06:34:59Z", "hours": 2.9356, "text": "So , i have been making a Linux quick command executor. I know u have seen many like this but trust me it will be different then other’s project by many ways. Also the commands show in this video are not hard-coded they are automatically recognized what i wanna do , see the intent in output."}, {"post_id": 55484, "ts": "2026-08-27T11:15:18Z", "hours": 3.4217, "text": "Sorry guys if anyone is watching this but can’t make it compact enough to run it everywhere so transforming it into something interesting for FLOW and other tasks included."}, {"post_id": 51390, "ts": "2026-08-21T01:58:12Z", "hours": 5.2783, "text": "So after yeah i know a long time but i was researching a way to do tool calling but on a smaller scale , and guess i got one using Needle 2 and now it works out of box while only being about 14mb in size. Here are the results :"}, {"post_id": 45201, "ts": "2026-08-11T15:01:37Z", "hours": 0.9839, "text": "So after few times and yeah a bit of late after 3days but working on FLOW so now it can open files and folders and can auto detect default editor u can edit the editor btw also u can do things like create a file , folder also u can define ignore folders and file for fast search."}, {"post_id": 43247, "ts": "2026-08-08T12:22:49Z", "hours": 3.0331, "text": "So , made a basic file structure and currently working on the modules as they should be solid. Also it now can separate sentences into keywords to actually perform things. It can now open files and folder in ur default editor and can organize folders."}]...
|
Title: Coins by @twinx | Stardance
Devlogs:
So , Title: Coins by @twinx | Stardance
Devlogs:
So , made a basic file structure and currently working on the modules as they should be solid. Also it now can separate sentences into keywords to actually perform things. It can now open files and folder in ur default editor and can organize folders.
So after few times and yeah a bit of late after 3days but working on FLOW so now it can open files and folders and can auto detect default editor u can edit the editor btw also u can do things like create a file , folder also u can define ignore folders and file for fast search.
So after yeah i know a long time but i was researching a way to do tool calling but on a smaller scale , and guess i got one using Needle 2 and now it works out of box while only being about 14mb in size. Here are the results :
Sorry guys if anyone is watching this but can’t make it compact enough to run it everywhere so transforming it into something interesting for FLOW and other tasks included.
So , i have been making a Linux quick command executor. I know u have seen many like this but trust me it will be different then other’s project by many ways. Also the commands show in this video are not hard-coded they are automatically recognized what i wanna do , see the intent in output.
So finally ! It can now do these things at a give moments : play/pause music ( flow only ) search and play music ( only using flow ) can open websites and url can run or start process like ollama serve can show message of llm and all that using API of ollama Things u can do with this : quick answer from ollama models quickly opening urls open apps or run in background without remembering anything control music...
|
1793336116.6171062
|
1793940916.6171062
|
|
58798
|
BearRadio by @twinx | Stardance
|
twinx
|
0
|
27.3
|
0
|
[]
|
[{"post_id": 62620, "ts": "202 [{"post_id": 62620, "ts": "2026-09-06T02:50:09Z", "hours": 27.2992, "text": "Devlog #1 So this is my first post on this project and by far many i did many things like i made this google colab file to clone voice so i can use them later in the radio . Also for testing i just made this a sample radio that now only sync between devices and runs 24x7."}]...
|
Title: BearRadio by @twinx | Stardance
Devlogs:
D Title: BearRadio by @twinx | Stardance
Devlogs:
Devlog #1 So this is my first post on this project and by far many i did many things like i made this google colab file to clone voice so i can use them later in the radio . Also for testing i just made this a sample radio that now only sync between devices and runs 24x7....
|
1792936247.5590541
|
1793800247.5590541
|
|
68983
|
UnityCorner by @twinx | Stardance
|
twinx
|
0
|
8.57
|
0
|
[]
|
[{"post_id": 78326, "ts": "202 [{"post_id": 78326, "ts": "2026-10-10T13:10:31Z", "hours": 8.5664, "text": "So far i have added this ollama chat interface i know it looks like claude but will change later for a minimal look. What is this ? You will be asking what is this , actually this a project i made to replace most stuffs that requires 5-10 tools and in different places like notes , ollama chatting , system configuration , devlogs and much more all in a single place and secured by default."}]...
|
Title: UnityCorner by @twinx | Stardance
Devlogs: Title: UnityCorner by @twinx | Stardance
Devlogs:
So far i have added this ollama chat interface i know it looks like claude but will change later for a minimal look. What is this ? You will be asking what is this , actually this a project i made to replace most stuffs that requires 5-10 tools and in different places like notes , ollama chatting , system configuration , devlogs and much more all in a single place and secured by default....
|
1793127309.4145598
|
1793732109.4145598
|
|
70439
|
Twinx by @twinx | Stardance
|
twinx
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-25T03:31:36Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Twinx - my personal website with all the works and projects i have made so far , it doesn’t include much projects as i have spend 100+ hours in flow only and nothing did much to others.", "repo": "https://github.com/Twinx015/Twix", "demo": "https://twinx.pages.dev/"}]...
|
[{"post_id": 82520, "ts": "202 [{"post_id": 82520, "ts": "2026-10-25T03:19:28Z", "hours": 0.3033, "text": "Made some more changed in it and now making it ship and will publish it to cloudflare."}, {"post_id": 81170, "ts": "2026-10-20T05:41:04Z", "hours": 2.0764, "text": "#Devlog 1 Made the whole website with components from react bitz and insane animations and also some songs for you :)"}]...
|
Title: Twinx by @twinx | Stardance
Devlogs:
#Devl Title: Twinx by @twinx | Stardance
Devlogs:
#Devlog 1 Made the whole website with components from react bitz and insane animations and also some songs for you :)
Made some more changed in it and now making it ship and will publish it to cloudflare.
Ships:
Twinx - my personal website with all the works and projects i have made so far , it doesn’t include much projects as i have spend 100+ hours in flow only and nothing did much to others....
|
1793357453.8327625
|
1793443853.8327625
|
|
25365
|
My awesome macropad! by @twinkledink | Stardance
|
twinkledink
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @twinkledink | Star Title: My awesome macropad! by @twinkledink | Stardance...
|
1793483610.4206567
|
1794088410.4206567
|
|
45105
|
Automatic Maker Princess by @twine-jot-rehab | Sta Automatic Maker Princess by @twine-jot-rehab | Stardance...
|
twine-jot-rehab
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Automatic Maker Princess by @twine-jot-reha Title: Automatic Maker Princess by @twine-jot-rehab | Stardance...
|
1793314647.8889449
|
1793919447.8889449
|
|
54458
|
My very own WebOS by @tvset5755 | Stardance
|
tvset5755
|
1
|
2.12
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-02T03:27:46Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my very own operating system which has a few functioning apps. I made it using html css and javascript.", "repo": "https://github.com/godgamer123456/ayush-os", "demo": "https://godgamer123456.github.io/ayush-os/"}]...
|
[{"post_id": 66766, "ts": "202 [{"post_id": 66766, "ts": "2026-09-12T17:31:34Z", "hours": 1.1239, "text": "WebOS 2.0 Added a Hardware Monitor App, Settings and Customization App, and an Interactive Music Player"}, {"post_id": 57828, "ts": "2026-08-30T04:08:04Z", "hours": 1.4592, "text": "Just finished my very own operating system. How is it?"}]...
|
Title: My very own WebOS by @tvset5755 | Stardance Title: My very own WebOS by @tvset5755 | Stardance
Devlogs:
Just finished my very own operating system. How is it?
WebOS 2.0 Added a Hardware Monitor App, Settings and Customization App, and an Interactive Music Player
Ships:
I made my very own operating system which has a few functioning apps. I made it using html css and javascript....
|
1793454759.2472885
|
1793541159.2472885
|
|
59654
|
Blare Alarm Clock by @tvset5755 | Stardance
|
tvset5755
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Blare Alarm Clock by @tvset5755 | Stardance
|
1792810268.5508783
|
1793415068.5508783
|
|
59655
|
Blare Alarm Clock by @tvset5755 | Stardance
|
tvset5755
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Blare Alarm Clock by @tvset5755 | Stardance
|
1792810270.250553
|
1793415070.250553
|
|
61771
|
Marble Guessing Game by @tvrun_x_yadav | Stardance
|
tvrun_x_yadav
|
0
|
0.32
|
0
|
[]
|
[{"post_id": 70147, "ts": "202 [{"post_id": 70147, "ts": "2026-09-18T15:40:16Z", "hours": 0.3192, "text": "Just made the rought draft of my game guess the marbles. you have to guess how many marbles are inside the jar. i kept the degine really simple for now will add more later"}]...
|
Title: Marble Guessing Game by @tvrun_x_yadav | St Title: Marble Guessing Game by @tvrun_x_yadav | Stardance
Devlogs:
Just made the rought draft of my game guess the marbles. you have to guess how many marbles are inside the jar. i kept the degine really simple for now will add more later...
|
1793040841.1085992
|
1793645641.1085992
|
|
38465
|
Smart Safety Glove by @tvizieeeee | Stardance
|
tvizieeeee
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Smart Safety Glove by @tvizieeeee | Stardan Title: Smart Safety Glove by @tvizieeeee | Stardance...
|
1792946901.3981142
|
1793810901.3981142
|
|
70662
|
Clinicderm by @tvizieeeee | Stardance
|
tvizieeeee
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Clinicderm by @tvizieeeee | Stardance
|
1793184528.8389719
|
1793789328.8389719
|
|
20829
|
Webpage template by @tvismadeofhair1234 | Stardanc Webpage template by @tvismadeofhair1234 | Stardance...
|
tvismadeofhair1234
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Webpage template by @tvismadeofhair1234 | S Title: Webpage template by @tvismadeofhair1234 | Stardance...
|
1793436880.9114995
|
1794041680.9114995
|
|
20879
|
Jarvis AI by @tvismadeofhair1234 | Stardance
|
tvismadeofhair1234
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Jarvis AI by @tvismadeofhair1234 | Stardanc Title: Jarvis AI by @tvismadeofhair1234 | Stardance...
|
1793458414.67007
|
1794063214.67007
|
|
37758
|
Untitled project by @tvishaa | Stardance
|
tvishaa
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @tvishaa | Stardance
|
1793364971.694442
|
1793969771.694442
|
|
20283
|
Frictionless by @tvish | Stardance
|
tvish
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @tvish | Stardance
|
1793504872.164695
|
1794109672.164695
|
|
20286
|
My awesome macropad! by @tvish | Stardance
|
tvish
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @tvish | Stardance
|
1793281727.8907585
|
1793886527.8907585
|
|
20413
|
Nothing by @tux | Stardance
|
tux
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Nothing by @tux | Stardance
|
1793180916.473783
|
1793785716.473783
|
|
21438
|
Nothing2 by @tux | Stardance
|
tux
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Nothing2 by @tux | Stardance
|
1793148812.5918498
|
1793753612.5918498
|
|
36126
|
DotNetC by @tux | Stardance
|
tux
|
0
|
12.28
|
0
|
[]
|
[{"post_id": 32032, "ts": "202 [{"post_id": 32032, "ts": "2026-07-20T22:04:15Z", "hours": 12.28, "text": "So I reused a lot of the previous work done for my C++ compiler in C#, but instead of targeting IL it’s targeting straight ASM, soooo yeah. Anyhow lemme get into it: The preprocessor system is fully implemented so you have #define, #undef, #ifdef, #ifndef, #if, etc. The compiler supports C89 fully minus the STD, but I have char, short, int, long etc. all the floating point types const, typedef, volatile, etc. Now for declarations you can have K&R functions, extern declarations, static locals, static arrays, multiple declarators, etc. All arithmetic, bitwise, comparisons, logical, ternary, pre/post, casts, and assignments as expression operators are supported. if/else, while, do/while, for, switch/case/default, break, continue, return, goto, labels, and compound statements are all supported. Now the biggest part Code-gen it targets x86-64 Windows with full Microsoft ABI supported, variadic functions, struct return, 64-bit arithmetic, widening , string pool dedupplicatoin, floating point support, and a few more things. Now Standard Library-wise stdio.h, stdlib, string.h, assert.h, cytpe.h, and time.h are the only supported ones as of right now while I continue to implement them."}]...
|
Title: DotNetC by @tux | Stardance
Devlogs:
So I Title: DotNetC by @tux | Stardance
Devlogs:
So I reused a lot of the previous work done for my C++ compiler in C#, but instead of targeting IL it’s targeting straight ASM, soooo yeah. Anyhow lemme get into it: The preprocessor system is fully implemented so you have #define, #undef, #ifdef, #ifndef, #if, etc. The compiler supports C89 fully minus the STD, but I have char, short, int, long etc. all the floating point types const, typedef, volatile, etc. Now for declarations you can have K&R functions, extern declarations, static locals, static arrays, multiple declarators, etc. All arithmetic, bitwise, comparisons, logical, ternary, pre/post, casts, and assignments as expression operators are supported. if/else, while, do/while, for, switch/case/default, break, continue, return, goto, labels, and compound statements are all supported. Now the biggest part Code-gen it targets x86-64 Windows with full Microsoft ABI supported, variadic functions, struct return, 64-bit arithmetic, widening , string pool dedupplicatoin, floating point support, and a few more things. Now Standard Library-wise stdio.h, stdlib, string.h, assert.h, cytpe.h, and time.h are the only supported ones as of right now while I continue to implement them....
|
1793166766.3607736
|
1793771566.3607736
|
|
38108
|
DotC by @tux | Stardance
|
tux
|
0
|
28.48
|
0
|
[]
|
[{"post_id": 38944, "ts": "202 [{"post_id": 38944, "ts": "2026-08-01T15:38:22Z", "hours": 10.4094, "text": "Every compiler has that moment where it just stops being a token re-arranger and starts becoming a real compiler. For DotC it was when I realized that the next thing I wanted to add was everything. I was secretly asking myself in this process: “How big is this thing?” So before any of that, I built one function to answer that question, and I made the whole compiler route through it. Struct layout asks it. Array sizing asks it. sizeof asks it. It felt overkill at the time. It turned out to be the best decision in the project because every feature since has been a variation on how does this change the answer. Structs Structs were interesting. Structs look pretty straightforward and simple – I know famous last words – until you have this: struct Node* next; . To parse the pointer to Node , you need Node to exist, but Node only becomes complete after you parse it’s own body. It’s a classic problem of Chicken and egg. Now how did I fix this? Well what I did was register the name as an empty shell the instant you see it, fill it in later. So in this case lies are a good thing. Layout was the moment I felt like crying. One pass computes every field offset and the total size, shared by both “where’s this field” and “how big it is”, so they can never disagree. Bit-fields just gew that same pass to pack bits into shared storage. And unions just used structs infra. Arrays Arrays were quite boring honestly. int grid[3][4] is just an array of arrays. The nightmare was decay. In an expression, an array name stops being an array and becomes a ptr right. I got that wrong in type inference once, and it made me want to cry. A fresh address is 64 bits, and if anything decided it was 32-bit, the upper half just went away. And it was a pain to debug. The Std For now I only have a stddef.h with NULL , size_t , ptrdiff_t , include guards. Nothing crazy. Then I got to the part that needed a bit of… “work”. offsetof which cannot be written in portable C. Everyone cheats and so will I and I’m not hiding that. Builtins I cheated. Now everyone in their mother knows what an intrinsic is. So what intrinsics are supported? Well…: __builtin_unreachable , __builtin_expect , byte-swaps, and – of course – __builtin_offsetof . Experimental Added a little bit of an experimental CMake support, but it’s nothing stable or safe yet."}, {"post_id": 36391, "ts": "2026-07-28T13:52:49Z", "hours": 3.5236, "text": "The ENUM has entered the chat and well did a bit of cleanup + better console system. But just as a quick question how have y’all been doing on your projects? Also what keyword should I add next? Well enough of a rant let me really talk now: Added the enum keyword to the lexer reserved word list. On the paper side, EnumDecl AST nodes got built and registered in a new EnumRegistry that tracks member->value mappings. Simultaneously, operators tokens were unified into a single TokenKind.Operator with a seperate C# enum called OperatorKind that maps to all the operators. Fixed != parsing, unsigned comparison codegen, enum member overflow, bare unsigned keyword ussage, and duplicate enum member detection. Now alongside enum I also added typedef . It supports both the simple typedef <type> <alias> and typedef enum { ... } <alias> forms. Now I was talking about the EnumRegistry and the other one was TypeAliasREgistry, but to make it more maintainable I unifed it all under a generic NameRegistry<T> base. I did a lot of cleanup on the parser project that I’m not really go into because it’s a bit pointless. I overhauled the diagnostic system alongisde just the CLI. I moved from System.CommandLine to Spectre.Console.Cli . Now the most recent thing was the diagnostic system when it comes to multiple errors. I replaced Pidgin’s combinator-based recovery with custom Parser<TToken, T> subclasses. I added a RecoverableList that tries to parse each item, on failure it reports the error, skips the offending token, and advances to the next ; before retrying. And a few other things such as dropping AOT because of reflection and keeping R2R, SingleFile, and selfcontained. And if you look at the images you can see the new diagnostic system and the typedef and enum keyword working,and working together."}, {"post_id": 35629, "ts": "2026-07-27T05:41:49Z", "hours": 4.3356, "text": "So it’s been a day or 2 since the last devlog, but I’ve been on vacation and just been a little busy with life, anyhow enough of a rant. This devlog goes over what I’ve added; that being: while loops, char and unsigned integer types, signed and unsigned aware comparison codegen, and a bit of better cross-platform toolchain support. while loops were implemented E2E. The lexer recongizes the while keyword, a new WhileStatement AST node holds the info, and the parser backing it. Now the codegen emits the loop as a loopTop label, a conditional branch via the existing infra, the body statements, and a jmp loopTop . Now keep in mind this is basically a debug build, but now let’s say you have this C code: int main () { char x = 0 ; while ( x < 15 ) { x = x + 1 ; } return x ; } To keep it bluntly this is the ASM: _TEXT SEGMENT main PROC push rbp mov rbp, rsp sub rsp, 16 mov eax, 0 mov byte ptr [rbp-8], al @while_top0: cmp byte ptr [rbp-8], 15 jge @while_end2 @while_body1: movsx eax, byte ptr [rbp-8] add eax, 1 mov byte ptr [rbp-8], al jmp @while_top0 @while_end2: movsx eax, byte ptr [rbp-8] mov rsp, rbp pop rbp ret main ENDP _TEXT ENDS END But if you want an explanation: Now I’m going to skip the setting up the stack frame, but baically the first few instrctions setup the stack frame and reserve 16 bytes. Now you see we have a variable x which is a char . Now a char on x64 is 1 byte. So that’s what this does: mov eax, 0 mov byte ptr [rbp-8], al We zero it out and then store the low byte ( al ) into x ‘s stack slot. Now that’s cool and all, but what about the while loop!! Well before we can do anything we have a condition: x < 15 or while (x < 15) and that is the part of the @while_top0 . @while_top0: cmp byte ptr [rbp-8], 15 jge @while_end2 We take x and compare it directly against 15 as a byte and jumps out of the loop if x >= 15. Now what about the body? Well the body ( x = x + 1; ) gets evaluated in this body: @while_body1: movsx eax, byte ptr [rbp-8] add eax, 1 mov byte ptr [rbp-8], al jmp @while_top0 This code loads x , sign-extending it into a full 32-bit eax which is needed because arithmetic promotes char to int in C. It adds 1, then truncates back down to a byte when storing into x . Then it jumps back to re-check the condition. What about the end? Well this: @while_end2: movsx eax, byte ptr [rbp-8] mov rsp, rbp pop rbp ret Now this sign-extends x into eax one more time as the return value, tears down the frame, and returns. Now unsigned works, but uhh that’s a lot of instructions, but yeah this is DotC with a while. Now the cross-platform system it mainly reliant on Wine as this compiler only really emits MASM for right now and it requires kernel32.lib… so maybe in the future. And to my Linux people: yes, that is PowerShell, not Bash, and also it’s Kitty. And to my .NET people: yeah I’m using VSCode over Rider on Linux. it’s just lighter weight and I really don’t need a full IDE at the moment."}, {"post_id": 34168, "ts": "2026-07-24T18:02:43Z", "hours": 10.2089, "text": "So, my last C compiler I forgot to install Wakatime 😅, so this is a revamp of the last C compiler, but I’m applying some knowledge to this one. Now I kicked the whole thing off with a few different C# projects and scaffolded. The libraries I chose for this project are Pidgin , System.CommandLine , and Serilog . For my first commit I already had some work done, but it was 3.6k LOC across 64 files and it had a working lexer with keyword/punctuator recognition and trivia handling. It had a recursive-descent parser with expression parsing, statement parsing, and declaration parsing. I had AST node types as C# records for expressions, operators, and statements with x86 MASM code generation with expression and statement lowering and a symbol table. I had a CLI with a few different flags and what not. And quite a few unit tests (generated by my pookie Claude) and yeah. Now a little later(yesterday) I added if/else control flow with a IfStatement AST node with all sorts of things and else keyword and all sorts of things. Added a semantic analyzer to validate if-statement conditions and Boolean compat. Now last night I did have Claude go through and add some unit tests and cleanup the codebase, so removing unused using statements and cleanup the parser and remove warnings. Also orchestrated it to refactor a bit of the parser into a few different files instead of one big file and had it fix an issue with a diagnostic code being reused that was–well–wrong. Now I will say the biggest pain in my butt has been naming conflicts with Pidgin, but that’s not too bad."}]...
|
Title: DotC by @tux | Stardance
Devlogs:
So, my l Title: DotC by @tux | Stardance
Devlogs:
So, my last C compiler I forgot to install Wakatime 😅, so this is a revamp of the last C compiler, but I’m applying some knowledge to this one. Now I kicked the whole thing off with a few different C# projects and scaffolded. The libraries I chose for this project are Pidgin , System.CommandLine , and Serilog . For my first commit I already had some work done, but it was 3.6k LOC across 64 files and it had a working lexer with keyword/punctuator recognition and trivia handling. It had a recursive-descent parser with expression parsing, statement parsing, and declaration parsing. I had AST node types as C# records for expressions, operators, and statements with x86 MASM code generation with expression and statement lowering and a symbol table. I had a CLI with a few different flags and what not. And quite a few unit tests (generated by my pookie Claude) and yeah. Now a little later(yesterday) I added if/else control flow with a IfStatement AST node with all sorts of things and else keyword and all sorts of things. Added a semantic analyzer to validate if-statement conditions and Boolean compat. Now last night I did have Claude go through and add some unit tests and cleanup the codebase, so removing unused using statements and cleanup the parser and remove warnings. Also orchestrated it to refactor a bit of the parser into a few different files instead of one big file and had it fix an issue with a diagnostic code being reused that was–well–wrong. Now I will say the biggest pain in my butt has been naming conflicts with Pidgin, but that’s not too bad.
So it’s been a day or 2 since the last devlog, but I’ve been on vacation and just been a little busy with life, anyhow enough of a rant. This devlog goes over what I’ve added; that being: while loops, char and unsigned integer types, signed and unsigned aware comparison codegen, and a bit of better cross-platform toolchain support. while loops were implemented E2E. The lexer recongizes the while keyword, a new WhileStatement AST node holds the info, and the parser backing it. Now the codegen emits the loop as a loopTop label, a conditional branch via the existing infra, the body statements, and a jmp loopTop . Now keep in mind this is basically a debug build, but now let’s say you have this C code: int main () { char x = 0 ; while ( x < 15 ) { x = x + 1 ; } return x ; } To keep it bluntly this is the ASM: _TEXT SEGMENT main PROC push rbp mov rbp, rsp sub rsp, 16 mov eax, 0 mov byte ptr [rbp-8], al @while_top0: cmp byte ptr [rbp-8], 15 jge @while_end2 @while_body1: movsx eax, byte ptr [rbp-8] add eax, 1 mov byte ptr [rbp-8], al jmp @while_top0 @while_end2: movsx eax, byte ptr [rbp-8] mov rsp, rbp pop rbp ret main ENDP _TEXT ENDS END But if you want an explanation: Now I’m going to skip the setting up the stack frame, but baically the first few instrctions setup the stack frame and reserve 16 bytes. Now you see we have a variable x which is a char . Now a char on x64 is 1 byte. So that’s what this does: mov eax, 0 mov byte ptr [rbp-8], al We zero it out and then store the low byte ( al ) into x ‘s stack slot. Now that’s cool and all, but what about the while loop!! Well before we can do anything we have a condition: x < 15 or while (x < 15) and that is the part of the @while_top0 . @while_top0: cmp byte ptr [rbp-8], 15 jge @while_end2 We take x and compare it directly against 15 as a byte and jumps out of the loop if x >= 15. Now what about the body? Well the body ( x = x + 1; ) gets evaluated in this body: @while_body1: movsx eax, byte ptr [rbp-8] add eax, 1 mov byte ptr [rbp-8], al jmp @while_top0 This code loads x , sign-extending it into a full 32-bit eax which is needed because arithmetic promotes char to int in C. It adds 1, then truncates back down to a byte when storing into x . Then it jumps back to re-check the condition. What about the end? Well this: @while_end2: movsx eax, byte ptr [rbp-8] mov rsp, rbp pop rbp ret Now this sign-extends x into eax one more time as the return value, tears down the frame, and returns. Now unsigned works, but uhh that’s a lot of instructions, but yeah this is DotC with a while. Now the cross-platform system it mainly reliant on Wine as this compiler only really emits MASM for right now and it requires kernel32.lib… so maybe in the future. And to my Linux people: yes, that is PowerShell, not Bash, and also it’s Kitty. And to my .NET people: yeah I’m using VSCode over Rider on Linux. it’s just lighter weight and I really don’t need a full IDE at the moment.
The ENUM has entered the chat and well did a bit of cleanup + better console system. But just as a quick question how have y’all been doing on your projects? Also what keyword should I add next? Well enough of a rant let me really talk now: Added the enum keyword to the lexer reserved word list. On the paper side, EnumDecl AST nodes got built and registered in a new EnumRegistry that tracks member->value mappings. Simultaneously, operators tokens were unified into a single TokenKind.Operator with a seperate C# enum called OperatorKind that maps to all the operators. Fixed != parsing, unsigned comparison codegen, enum member overflow, bare unsigned keyword ussage, and duplicate enum member detection. Now alongside enum I also added typedef . It supports both the simple typedef <type> <alias> and typedef enum { ... } <alias> forms. Now I was talking about the EnumRegistry and the other one was TypeAliasREgistry, but to make it more maintainable I unifed it all under a generic NameRegistry<T> base. I did a lot of cleanup on the parser project that I’m not really go into because it’s a bit pointless. I overhauled the diagnostic system alongisde just the CLI. I moved from System.CommandLine to Spectre.Console.Cli . Now the most recent thing was the diagnostic system when it comes to multiple errors. I replaced Pidgin’s combinator-based recovery with custom Parser<TToken, T> subclasses. I added a RecoverableList that tries to parse each item, on failure it reports the error, skips the offending token, and advances to the next ; before retrying. And a few other things such as dropping AOT because of reflection and keeping R2R, SingleFile, and selfcontained. And if you look at the images you can see the new diagnostic system and the typedef and enum keyword working,and working together.
Every compiler has that moment where it just stops being a token re-arranger and starts becoming a real compiler. For DotC it was when I realized that the next thing I wanted to add was everything. I was secretly asking myself in this process: “How big is this thing?” So before any of that, I built one function to answer that question, and I made the whole compiler route through it. Struct layout asks it. Array sizing asks it. sizeof asks it. It felt overkill at the time. It turned out to be the best decision in the project because every feature since has been a variation on how does this change the answer. Structs Structs were interesting. Structs look pretty straightforward and simple – I know famous last words – until you have this: struct Node* next; . To parse the pointer to Node , you need Node to exist, but Node only becomes complete after you parse it’s own body. It’s a classic problem of Chicken and egg. Now how did I fix this? Well what I did was register the name as an empty shell the instant you see it, fill it in later. So in this case lies are a good thing. Layout was the moment I felt like crying. One pass computes every field offset and the total size, shared by both “where’s this field” and “how big it is”, so they can never disagree. Bit-fields just gew that same pass to pack bits into shared storage. And unions just used structs infra. Arrays Arrays were quite boring honestly. int grid[3][4] is just an array of arrays. The nightmare was decay. In an expression, an array name stops being an array and becomes a ptr right. I got that wrong in type inference once, and it made me want to cry. A fresh address is 64 bits, and if anything decided it was 32-bit, the upper half just went away. And it was a pain to debug. The Std For now I only have a stddef.h with NULL , size_t , ptrdiff_t , include guards. Nothing crazy. Then I got to the part that needed a bit of… “work”. offsetof which cannot be written in portable C. Everyone cheats and so will I and I’m not hiding that. Builtins I cheated. Now everyone in their mother knows what an intrinsic is. So what intrinsics are supported? Well…: __builtin_unreachable , __builtin_expect , byte-swaps, and – of course – __builtin_offsetof . Experimental Added a little bit of an experimental CMake support, but it’s nothing stable or safe yet....
|
1793357541.673572
|
1793962341.673572
|
|
43739
|
Ai robot kinda like wall e by @tuvshuu14_tuvshuu14 Ai robot kinda like wall e by @tuvshuu14_tuvshuu14 | Stardance...
|
tuvshuu14_tuvshuu14
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Ai robot kinda like wall e by @tuvshuu14_tu Title: Ai robot kinda like wall e by @tuvshuu14_tuvshuu14 | Stardance...
|
1793235196.1962602
|
1793839996.1962602
|
|
61008
|
WarioWare Game by @tuvo | Stardance
|
tuvo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: WarioWare Game by @tuvo | Stardance
|
1793037157.0493317
|
1793641957.0493317
|
|
71452
|
TuvaluBoard by @tuvalutorture | Stardance
|
tuvalutorture
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: TuvaluBoard by @tuvalutorture | Stardance
|
1793015246.0259252
|
1793620046.0259252
|
|
7972
|
My awesome macropad! by @tutu-ahoy-decent | Starda My awesome macropad! by @tutu-ahoy-decent | Stardance...
|
tutu-ahoy-decent
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @tutu-ahoy-decent | Title: My awesome macropad! by @tutu-ahoy-decent | Stardance...
|
1792810206.1055925
|
1793415006.1055925
|
|
9157
|
My awesome macropad! by @tusharbisht200626_1336 | My awesome macropad! by @tusharbisht200626_1336 | Stardance...
|
tusharbisht200626_1336
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @tusharbisht200626_ Title: My awesome macropad! by @tusharbisht200626_1336 | Stardance...
|
1793365041.4020503
|
1793969841.4020503
|
|
8208
|
AI PREDICTOR by @tushar_02 | Stardance
|
tushar_02
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: AI PREDICTOR by @tushar_02 | Stardance
|
1793458141.7699099
|
1794062941.7699099
|
|
67045
|
sign gloves by @tushar | Stardance
|
tushar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: sign gloves by @tushar | Stardance
|
1793105595.4651287
|
1793710395.4651287
|
|
36674
|
3x5 Macropad by @turtletabletop | Stardance
|
turtletabletop
|
1
|
0.3
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-27T19:24:41Z", "hours": 0.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a 3x5 macropad for the game Sky: Children of the Light. In this game, there are instruments you can play, and each instrument has 15 buttons for two octaves, which are placed in a 3-row, 5-column grid. My macropad seeks to emulate that in real life, having physical buttons you can press rather than digital ones in-game. You can go see the CAD for this macropad on Onshape, where I designed the shell for this macropad, at this link ! Some features include: 15 programmable keys with QMK firmware 15 hotswappable sockets compatible with MX-style switches 3 degree tilt for more comfortable access to the keys a 32x128 programmable OLED screen rad silkscreen art The most difficult part of this was probably the case as I spent the most time on it, because I had to redesign it to be less complex since I realized that my PCB dimensions would not work.", "repo": "https://github.com/turtletabletop/customkeyboard", "demo": ""}]...
|
[{"post_id": 39854, "ts": "202 [{"post_id": 39854, "ts": "2026-08-03T03:40:42Z", "hours": 0.3, "text": "I fixed the tolerances of my case so that there’s like 1.04mm of space between the case and the PCB. Previously, the space between this gap was 0.15mm and uneven with the other side. Now the tolerances are even on both sides of the case!"}, {"post_id": 33319, "ts": "2026-07-23T03:52:31Z", "hours": 0.6711, "text": "added more trademarked graphics to the back (awesome!)"}, {"post_id": 33304, "ts": "2026-07-23T03:08:48Z", "hours": 2.9681, "text": "I have no idea what i’m doing but i was able to get qmk setup with a lot of patience and waiting for files to load, and now i have a rudimentary firmware to push holy freaking sheet basically went through the pricing for the macroboard and found out that i sized my pcb wrong so i was getting a much higher quote at jlcpcb than what i was actually supposed to get, so i had to redo the edge cuts for the pcb i was also worried about the clear part of my mounting board so i found out that jlcpcb also 3d prints resin parts so hopefully i can use their services because it was pretty cheap from what i saw also about resizing my pcb, i had to completely redo the case. thankfully, i’ve learned from my past experiences and actually know what i want. basically i was walking blind through my case last time which helped me know a lot about what i needed for my case this time, and decided to simplify it a ton more because the case was pretty complicated last time. also i know how to simplify the pcb so that it actually runs on my onshape this time :)"}, {"post_id": 32611, "ts": "2026-07-21T21:53:42Z", "hours": 1.95, "text": "added more decals and worked on merging the parts for the case so that they’re more easily printable"}, {"post_id": 32515, "ts": "2026-07-21T19:05:24Z", "hours": 1.8542, "text": "added the usb c cutout and heatset/screw holes"}, {"post_id": 32443, "ts": "2026-07-21T17:12:12Z", "hours": 1.6464, "text": "spent a little bit of time trying to figure out the coloring of this case"}, {"post_id": 32154, "ts": "2026-07-21T03:50:14Z", "hours": 8.3711, "text": "cad fries my brain and i am very tired of it trying to figure out the layering for this was hard and mind bending because i have two clear acrylic mounting plates one for the switches and one for the oled screen and to cover the seeed rp2040 if you want more very vague details about my process it’s in my journal in the github repository in 6 hours i was able to do this and it took forever i hope the firmware doesn’t take this long it took me 2 hours to try to load a faster version of the pcb into onshape that still takes like 5 seconds to load every time i change something"}, {"post_id": 31616, "ts": "2026-07-20T05:11:50Z", "hours": 0.3061, "text": "WAIT HOLY CRAP I FIGURED OUT THE 3D MODELS LETS GO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! what I did wrong was that I put the kailh sockets on the wrong freaking side oops and so i had to rewire my entire pcb for the third time this entire project after flipping most of the sockets D: but it worked out in the end because I was able to get the 3d model working not just for the kailh sockets but for the mx style switches and simple keycaps this makes my life so much easier… i was struggling so much with the models in cad but then kicad saved my life because i was searching google randomly when i figured it out forgot to record a bit of it but it doesn’t really matter wahoo"}, {"post_id": 31561, "ts": "2026-07-20T02:16:49Z", "hours": 6.0056, "text": "i took so long to make this pcb bruh and i didn’t know how to export it for so long to cad until i realized i was being stupid couple things i did to the pcb: added better deco added the oled screen replaced all the switches with kailh sockets made 3 holes for the screws to go through and resized the pcb ive also found ideal candidates for switches to insert in (if possible) hey at least i get to work on cad ._. im kinda bad at it it’s going to take a while also i don’t have a dedicated gpu so it’s going to take a while"}, {"post_id": 31049, "ts": "2026-07-19T04:03:31Z", "hours": 1.2, "text": "was working on a plan for the next ideas of how to improve on the rough idea worked on today Trying to think about an aesthetically pleasing keyboard, figuring out the keyboard logistics of the keys, key caps, color, design considerations defo want something starlight colored similar to this image… I hope it looks good"}, {"post_id": 30770, "ts": "2026-07-18T17:13:40Z", "hours": 4.28, "text": "I don’t really know what I’m doing but I’m trying my best Today I worked on: creating the PCB for the board Figured out what a keyboard matrix is (sorta) Wired rows and columns to connect the keys and diodes to a RP2040 zero Figured out how to make art on PCBs Arranged the keys and the RP2040 and the art on the PCB Created a rudimentary case for the PCB Used Onshape for this I don’t know if the sizing is correct I’m mainly guessing"}]...
|
Title: 3x5 Macropad by @turtletabletop | Stardance Title: 3x5 Macropad by @turtletabletop | Stardance
Devlogs:
I don’t really know what I’m doing but I’m trying my best Today I worked on: creating the PCB for the board Figured out what a keyboard matrix is (sorta) Wired rows and columns to connect the keys and diodes to a RP2040 zero Figured out how to make art on PCBs Arranged the keys and the RP2040 and the art on the PCB Created a rudimentary case for the PCB Used Onshape for this I don’t know if the sizing is correct I’m mainly guessing
was working on a plan for the next ideas of how to improve on the rough idea worked on today Trying to think about an aesthetically pleasing keyboard, figuring out the keyboard logistics of the keys, key caps, color, design considerations defo want something starlight colored similar to this image… I hope it looks good
i took so long to make this pcb bruh and i didn’t know how to export it for so long to cad until i realized i was being stupid couple things i did to the pcb: added better deco added the oled screen replaced all the switches with kailh sockets made 3 holes for the screws to go through and resized the pcb ive also found ideal candidates for switches to insert in (if possible) hey at least i get to work on cad ._. im kinda bad at it it’s going to take a while also i don’t have a dedicated gpu so it’s going to take a while
WAIT HOLY CRAP I FIGURED OUT THE 3D MODELS LETS GO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! what I did wrong was that I put the kailh sockets on the wrong freaking side oops and so i had to rewire my entire pcb for the third time this entire project after flipping most of the sockets D: but it worked out in the end because I was able to get the 3d model working not just for the kailh sockets but for the mx style switches and simple keycaps this makes my life so much easier… i was struggling so much with the models in cad but then kicad saved my life because i was searching google randomly when i figured it out forgot to record a bit of it but it doesn’t really matter wahoo
cad fries my brain and i am very tired of it trying to figure out the layering for this was hard and mind bending because i have two clear acrylic mounting plates one for the switches and one for the oled screen and to cover the seeed rp2040 if you want more very vague details about my process it’s in my journal in the github repository in 6 hours i was able to do this and it took forever i hope the firmware doesn’t take this long it took me 2 hours to try to load a faster version of the pcb into onshape that still takes like 5 seconds to load every time i change something
spent a little bit of time trying to figure out the coloring of this case
added the usb c cutout and heatset/screw holes
added more decals and worked on merging the parts for the case so that they’re more easily printable
I have no idea what i’m doing but i was able to get qmk setup with a lot of patience and waiting for files to load, and now i have a rudimentary firmware to push holy freaking sheet basically went through the pricing for the macroboard and found out that i sized my pcb wrong so i was getting a much higher quote at jlcpcb than what i was actually supposed to get, so i had to redo the edge cuts for the pcb i was also worried about the clear part of my mounting board so i found out that jlcpcb also 3d prints resin parts so hopefully i can use their services because it was pretty cheap from what i saw also about resizing my pcb, i had to completely redo the case. thankfully, i’ve learned from my past experiences and actually know what i want. basically i was walking blind through my case last time which helped me know a lot about what i needed for my case this time, and decided to simplify it a ton more because the case was pretty complicated last time. also i know how to simplify the pcb so that it actually runs on my onshape this time :)
added more trademarked graphics to the back (awesome!)
I fixed the tolerances of my case so that there’s like 1.04mm of space between the case and the PCB. Previously, the space between this gap was 0.15mm and uneven with the other side. Now the tolerances are even on both sides of the case!
Ships:
I made a 3x5 macropad for the game Sky: Children of the Light. In this game, there are instruments you can play, and each instrument has 15 buttons for two octaves, which are placed in a 3-row, 5-column grid. My macropad seeks to emulate that in real life, having physical buttons you can press rather than digital ones in-game. You can go see the CAD for this macropad on Onshape, where I designed the shell for this macropad, at this link ! Some features include: 15 programmable keys with QMK firmware 15 hotswappable sockets compatible with MX-style switches 3 degree tilt for more comfortable access to the keys a 32x128 programmable OLED screen rad silkscreen art The most difficult part of this was probably the case as I spent the most time on it, because I had to redesign it to be less complex since I realized that my PCB dimensions would not work....
|
1793537789.9955978
|
1793624189.9955978
|
|
38983
|
Personal Site by @turtletabletop | Stardance
|
turtletabletop
|
1
|
6.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-30T20:47:31Z", "hours": 6.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made my first draft of my personal site! This may not be a fully finished and polished draft, but it’s a start. The three main features it has for now are: home page projects page contact page It’s functional, but it doesn’t look very good, and not particularly navigable. I’ll be working to improve the looks of the site in the upcoming ships!", "repo": "https://github.com/turtletabletop/selfhostwebsite/", "demo": "https://turtletabletop.github.io/selfhostwebsite/"}]...
|
[{"post_id": 37854, "ts": "202 [{"post_id": 37854, "ts": "2026-07-30T20:33:09Z", "hours": 1.4725, "text": "I’ve finished my rough draft for my site. I think some other things that I want require Javascript to run, so I’ll submit my site as is right now. Features added: added a viewer for my projects added my contact info fixed the direction of links"}, {"post_id": 37424, "ts": "2026-07-30T04:02:02Z", "hours": 1.1536, "text": "i came up with a design for my website– it’s going to be darkroom themed! i’m trying to figure out how to use css but it’s a struggle and i can barely figure out how divs work to try and make photograph-like shapes on the screen D: this process is slow but it’ll get quicker eventually i think :)"}, {"post_id": 35554, "ts": "2026-07-27T02:11:12Z", "hours": 1.9528, "text": "devlog 2 something I think HC does is that they underestimate how long I can take on these projects, ~2 hours turns into something like 5-6 hours I’ve learned a bit in these few hours, because there are things outside of hackatime that aren’t recorded 1. if you want your website to not end in .html, make a folder for it titled whatever you want and put index.html in there 2. you aren’t referring to the root folder when you refer to files inside those index.html’s so every .css file and image you refer to must come from inside that folder 3. while in development, don’t do this because then you’ll need to make seperate copies for everything i need to make anki flashcards for the syntax of everything because i just can’t remember the syntax for the life of me features that were made on the website: figured out the 3 pages I want to submit for the project: home, projects, and contact page made rough drafts for those sites that I will finish tomorrow to submit to the project"}, {"post_id": 34948, "ts": "2026-07-26T02:08:40Z", "hours": 1.4594, "text": "first time using html! kind of nice to see how it works + first draft of my site, still need to work on testing a bunch of things and figuring out how I want to design the site getting git setup took a bit of time but it was definitely worth it"}]...
|
Title: Personal Site by @turtletabletop | Stardanc Title: Personal Site by @turtletabletop | Stardance
Devlogs:
first time using html! kind of nice to see how it works + first draft of my site, still need to work on testing a bunch of things and figuring out how I want to design the site getting git setup took a bit of time but it was definitely worth it
devlog 2 something I think HC does is that they underestimate how long I can take on these projects, ~2 hours turns into something like 5-6 hours I’ve learned a bit in these few hours, because there are things outside of hackatime that aren’t recorded 1. if you want your website to not end in .html, make a folder for it titled whatever you want and put index.html in there 2. you aren’t referring to the root folder when you refer to files inside those index.html’s so every .css file and image you refer to must come from inside that folder 3. while in development, don’t do this because then you’ll need to make seperate copies for everything i need to make anki flashcards for the syntax of everything because i just can’t remember the syntax for the life of me features that were made on the website: figured out the 3 pages I want to submit for the project: home, projects, and contact page made rough drafts for those sites that I will finish tomorrow to submit to the project
i came up with a design for my website– it’s going to be darkroom themed! i’m trying to figure out how to use css but it’s a struggle and i can barely figure out how divs work to try and make photograph-like shapes on the screen D: this process is slow but it’ll get quicker eventually i think :)
I’ve finished my rough draft for my site. I think some other things that I want require Javascript to run, so I’ll submit my site as is right now. Features added: added a viewer for my projects added my contact info fixed the direction of links
Ships:
I made my first draft of my personal site! This may not be a fully finished and polished draft, but it’s a start. The three main features it has for now are: home page projects page contact page It’s functional, but it doesn’t look very good, and not particularly navigable. I’ll be working to improve the looks of the site in the upcoming ships!...
|
1793541142.0952785
|
1793627542.0952785
|
|
4138
|
My awesome macropad! by @turtleshellprc | Stardanc My awesome macropad! by @turtleshellprc | Stardance...
|
turtleshellprc
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @turtleshellprc | S Title: My awesome macropad! by @turtleshellprc | Stardance...
|
1792795979.3647327
|
1793400779.3647327
|
|
2053
|
We don't talk about Mara by @turtle-key | Star We don't talk about Mara by @turtle-key | Stardance...
|
turtle-key
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: We don't talk about Mara by @turtle-key Title: We don't talk about Mara by @turtle-key | Stardance...
|
1793184749.178111
|
1793789549.178111
|
|
60459
|
idk by @turtle-key | Stardance
|
turtle-key
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: idk by @turtle-key | Stardance
|
1793033512.1436613
|
1793638312.1436613
|
|
9279
|
UnoSDVX by @turret2075 | Stardance
|
turret2075
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: UnoSDVX by @turret2075 | Stardance
|
1793271161.9800348
|
1793875961.9800348
|
|
55246
|
Radio Controlled Drone by @turpingage | Stardance
|
turpingage
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Radio Controlled Drone by @turpingage | Sta Title: Radio Controlled Drone by @turpingage | Stardance...
|
1793152391.7471611
|
1793757191.7471611
|
|
58949
|
Space runner by @turkulorenc15 | Stardance
|
turkulorenc15
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Space runner by @turkulorenc15 | Stardance
|
1793519684.6712458
|
1794124484.6712458
|
|
58334
|
My own site! by @tungtung243 | Stardance
|
tungtung243
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @tungtung243 | Stardance
|
1793486841.9871068
|
1794091641.9871068
|
|
29641
|
My awesome macropad! by @tunghongjiang | Stardance
|
tunghongjiang
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @tunghongjiang | St Title: My awesome macropad! by @tunghongjiang | Stardance...
|
1793494549.905946
|
1794099349.905946
|
|
68442
|
mac checker by @tunghongjiang | Stardance
|
tunghongjiang
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: mac checker by @tunghongjiang | Stardance
|
1793120133.9490967
|
1793724933.9490967
|
|
16695
|
Frictionless by @tung | Stardance
|
tung
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @tung | Stardance
|
1793526807.2777638
|
1794131607.2777638
|
|
2342
|
My awesome macropad! by @tuner | Stardance
|
tuner
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @tuner | Stardance
|
1793174036.8163667
|
1793778836.8163667
|
|
58323
|
BLARE by @tunar | Stardance
|
tunar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLARE by @tunar | Stardance
|
1793483837.4218662
|
1794088637.4218662
|
|
58328
|
Tung by @tunar | Stardance
|
tunar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Tung by @tunar | Stardance
|
1793483847.4714508
|
1794088647.4714508
|
|
13343
|
My first slack bot! by @tuna | Stardance
|
tuna
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @tuna | Stardance
|
1793415309.7147381
|
1794020109.7147381
|
|
21424
|
drone with hand by @tumohoang28082007 | Stardance
|
tumohoang28082007
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: drone with hand by @tumohoang28082007 | Sta Title: drone with hand by @tumohoang28082007 | Stardance...
|
1792803011.0135806
|
1793407811.0135806
|
|
25484
|
My awesome macropad! by @tulsip250 | Stardance
|
tulsip250
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @tulsip250 | Starda Title: My awesome macropad! by @tulsip250 | Stardance...
|
1793156108.9404547
|
1793760908.9404547
|
|
40087
|
Untitled project by @tulipsfr | Stardance
|
tulipsfr
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @tulipsfr | Stardance
|
1793271274.0367377
|
1793876074.0367377
|
|
22850
|
My own site! by @tukazeyid | Stardance
|
tukazeyid
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My own site! by @tukazeyid | Stardance
|
1793469225.9290488
|
1794074025.9290488
|