|
46181
|
a cartoon style puzzle game by @clud-man | Stardan a cartoon style puzzle game by @clud-man | Stardance...
|
clud-man
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a cartoon style puzzle game by @clud-man | Title: a cartoon style puzzle game by @clud-man | Stardance...
|
1793371820.0774431
|
1793976620.0774431
|
|
36447
|
a calculator by @abderrahmen_bouraoui_ts | Stardan a calculator by @abderrahmen_bouraoui_ts | Stardance...
|
abderrahmen_bouraoui_ts
|
1
|
19.88
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-17T14:17:09Z", "hours": 7.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "a working calculator made only by logic gates -16 bit adder and subtracter -8 bit multiplier -negative numbers", "repo": "https://github.com/1484abd/A-logic-gate-based-calculator-built-from-scratch.", "demo": ""}]...
|
[{"post_id": 68003, "ts": "202 [{"post_id": 68003, "ts": "2026-09-14T11:10:25Z", "hours": 0.8753, "text": "i made the schematics now i can finally ship my project"}, {"post_id": 57967, "ts": "2026-08-30T09:34:22Z", "hours": 0.35, "text": "it took me 19 min i built a half adder and added a place for a capacitor in my full adder and the half adder"}, {"post_id": 57532, "ts": "2026-08-29T18:19:59Z", "hours": 0.8003, "text": "ok i did finish my project but why not make a pcb so i made one my first pcb btw and this is a full adder i think i still have to do more in the design or there is problems but for now this is enouth"}, {"post_id": 56669, "ts": "2026-08-28T15:01:38Z", "hours": 1.15, "text": "after hours i finished the 8bit adder i am happy with what i achived now we wait for my last shipment to get reviewed so i ship this"}, {"post_id": 55683, "ts": "2026-08-27T17:27:09Z", "hours": 1.0333, "text": "it took me like 3 hours but i didn’t lapse all of it but still i finished it i don’t care about the time anymore i know i won’t get reviewed"}, {"post_id": 51567, "ts": "2026-08-21T10:39:28Z", "hours": 1.5186, "text": "tried to fix a problem fried the components and now i have to buy new ones and maybe some capacitors do i finish it as an 8 bit calculator or make it as a 4bit calculator?"}, {"post_id": 51251, "ts": "2026-08-20T19:47:32Z", "hours": 1.3667, "text": "finally finished on working on the project now the scary part testing update: i found a lot of problems i will solve them tommorow i spent 5 hours today thats it no more"}, {"post_id": 51126, "ts": "2026-08-20T16:59:01Z", "hours": 1.2269, "text": "its a little bit messy but i finished 4 full adders and the half adder basicly half of the project"}, {"post_id": 50840, "ts": "2026-08-20T08:53:34Z", "hours": 0.6336, "text": "what do you think of my wiring? (these are just the inputs)"}, {"post_id": 50521, "ts": "2026-08-19T18:23:56Z", "hours": 1.7781, "text": "yes i hate soldering 2 hours and the results arent even 5% of the project so i will use breadboards again i took everything off"}, {"post_id": 50272, "ts": "2026-08-19T13:01:47Z", "hours": 1.7558, "text": "finally finished building the first prototype of the half adder it can do only 1+1 and 1-1 but i will make more connect them and it can do 225+225 15min building 1hour and 20 min debugging"}, {"post_id": 50194, "ts": "2026-08-19T10:14:44Z", "hours": 0.3961, "text": "finished on working on the build i will create in reel life(the photo is blurry i know)"}, {"post_id": 30135, "ts": "2026-07-17T14:00:57Z", "hours": 7.1511, "text": "a calculator with only logic gates that can add(16bits) subtract(16bits with negative) and multiply(8bit)"}]...
|
Title: a calculator by @abderrahmen_bouraoui_ts | Title: a calculator by @abderrahmen_bouraoui_ts | Stardance
Devlogs:
a calculator with only logic gates that can add(16bits) subtract(16bits with negative) and multiply(8bit)
finished on working on the build i will create in reel life(the photo is blurry i know)
finally finished building the first prototype of the half adder it can do only 1+1 and 1-1 but i will make more connect them and it can do 225+225 15min building 1hour and 20 min debugging
yes i hate soldering 2 hours and the results arent even 5% of the project so i will use breadboards again i took everything off
what do you think of my wiring? (these are just the inputs)
its a little bit messy but i finished 4 full adders and the half adder basicly half of the project
finally finished on working on the project now the scary part testing update: i found a lot of problems i will solve them tommorow i spent 5 hours today thats it no more
tried to fix a problem fried the components and now i have to buy new ones and maybe some capacitors do i finish it as an 8 bit calculator or make it as a 4bit calculator?
it took me like 3 hours but i didn’t lapse all of it but still i finished it i don’t care about the time anymore i know i won’t get reviewed
after hours i finished the 8bit adder i am happy with what i achived now we wait for my last shipment to get reviewed so i ship this
ok i did finish my project but why not make a pcb so i made one my first pcb btw and this is a full adder i think i still have to do more in the design or there is problems but for now this is enouth
it took me 19 min i built a half adder and added a place for a capacitor in my full adder and the half adder
i made the schematics now i can finally ship my project
Ships:
a working calculator made only by logic gates -16 bit adder and subtracter -8 bit multiplier -negative numbers...
|
1793958660.483387
|
1794045060.483387
|
|
70618
|
a by @s_ray9 | Stardance
|
s_ray9
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @s_ray9 | Stardance
|
1793162880.6195054
|
1794026880.6195054
|
|
59797
|
a by @qb | Stardance
|
qb
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @qb | Stardance
|
1793638351.293286
|
1794243151.293286
|
|
45398
|
a by @moy | Stardance
|
moy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @moy | Stardance
|
1793329090.446718
|
1793933890.446718
|
|
17925
|
a by @jonathan_e | Stardance
|
jonathan_e
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @jonathan_e | Stardance
|
1793505382.6961796
|
1794110182.6961796
|
|
52186
|
a by @adityakr_sah296 | Stardance
|
adityakr_sah296
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @adityakr_sah296 | Stardance
|
1793425973.1422207
|
1794030773.1422207
|
|
22230
|
a by @adam_ruzicka | Stardance
|
adam_ruzicka
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @adam_ruzicka | Stardance
|
1793447333.0274427
|
1794052133.0274427
|
|
72909
|
a by @Yatin10 | Stardance
|
Yatin10
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @Yatin10 | Stardance
|
1793807231.6395013
|
1794412031.6395013
|
|
21656
|
a by @Seth25 | Stardance
|
Seth25
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @Seth25 | Stardance
|
1793893705.1305392
|
1794498505.1305392
|
|
54962
|
a by @Muhammadrasul | Stardance
|
Muhammadrasul
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @Muhammadrasul | Stardance
|
1793764314.1658177
|
1794369114.1658177
|
|
9992
|
a by @MPerk23 | Stardance
|
MPerk23
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @MPerk23 | Stardance
|
1793998073.8965943
|
1794602873.8965943
|
|
6369
|
a by @KryK | Stardance
|
KryK
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @KryK | Stardance
|
1793444037.0639818
|
1794048837.0639818
|
|
42680
|
a by @Kaorii | Stardance
|
Kaorii
|
1
|
34.3
|
51
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-01T11:06:55Z", "hours": 18.0, "multiplier": 5.08, "payout": 51, "blessing": "neutral", "text": "whyslow traces sched_switch, futex, and block I/O events via eBPF to show you the actual causal chain behind a slow Linux process, not just isolated symptoms. Built at a 48hr hackathon in my house!", "repo": "", "demo": ""}]...
|
[{"post_id": 39253, "ts": "202 [{"post_id": 39253, "ts": "2026-08-02T03:23:49Z", "hours": 16.3, "text": "okay so this one’s been in my head for a while. every time I’m debugging something slow on linux I end up with like 3 terminals open — strace in one, perf in another, sometimes py-spy if it’s python — and I’m just manually lining up timestamps trying to figure out what actually caused the slowdown. none of these tools talk to each other. they just dump their own little slice of the truth and leave you to do the detective work. so I built whyslow. it hooks into the kernel with eBPF and watches three things at once: scheduler switches, futex waits, and block I/O. instead of showing you three separate logs, it actually chains them together and tells you the story. like instead of thread stuck for 400ms (somewhere) you get thread A blocked on a futex which was held by thread B which was blocked on a disk read that’s the whole point. not “something was slow” but “here’s the chain of custody for why.” biggest pain building this was honestly not the eBPF part, it was figuring out how to correlate events that come from completely different sources without just guessing. had to build this whole interval-based matching thing to line up “thread went to sleep here” with “thread got woken up there” and make sure the causality actually holds up and isn’t just coincidence in timing. kept scope small on purpose for v1. only 3 event types, no fancy stack traces yet, x86_64 + arm64 only. figured getting 3 things exactly right beats having 8 things that are kind of right and kind of not. tested it by writing a little program that deliberately deadlocks itself with a futex and forces a disk read, so I’d have a known answer to check whyslow’s output against. felt really good when the chain it printed out actually matched what I knew was happening under the hood. still needs root to run since eBPF just doesn’t let you do this stuff unprivileged, that’s a permanent tradeoff not a bug. next up is probably symbol resolution so it can tell you actual function names instead of just thread ids, and getting it properly published so people can just cargo install it instead of pulling from git. repo’s here if anyone wants to poke at it: github.com/kaorii-ako/whyslow"}, {"post_id": 38788, "ts": "2026-08-01T11:05:43Z", "hours": 18.3075, "text": "Shipping whyslow v1 The problem Every Linux dev has hit “my program is slow” and reached for strace , perf , or py-spy — but each tool sees one layer. None of them tell you why across layers. You end up manually cross-referencing three terminal windows and timestamps by hand. What I built whyslow — a CLI that watches sched_switch , futex, and block I/O events via eBPF and stitches them into a single causal chain: $ sudo whyslow run -- ./my-slow-program 14:32:07.001 — tid 4821 blocked 412ms on futex 0x7f2a3c001000 ← woken by tid 4809 ← tid 4809 blocked 380ms on block I/O (dev nvme0n1p2, sector 88213) No manual correlation. It finds the root cause and walks you back to it. Stack Rust, aya for pure-Rust eBPF (no libbpf/C toolchain needed) Ring buffer for low-overhead event collection — can’t perturb the thing you’re measuring Interval tree + happens-before edge inference for the causal graph Workspace: whyslow-cli , whyslow-ebpf , whyslow-common Scope for v1 x86_64 + aarch64 Linux, kernel 5.8+ Three event sources: sched_switch, futex, block I/O No stack symbolication yet — tid/pid/comm only Needs root or CAP_BPF — no way around that, eBPF is privileged Kept scope narrow on purpose: three event sources done correctly beats eight done half right. Validated against a synthetic program that deliberately causes futex contention + a disk stall, so there’s ground truth to check the causal chain against, not just vibes. Distribution curl -sSf .../install.sh | sh Homebrew tap, APT repo, pip wrapper — see DISTRIBUTION.md crates.io publish still pending — cargo install works via --git for now What’s next Stack symbolication (native + interpreted languages) More event sources without losing causal-chain accuracy Actual crates.io publish so cargo install whyslow just works Repo github.com/kaorii-ako/whyslow"}]...
|
Title: a by @Kaorii | Stardance
Devlogs:
Shipping Title: a by @Kaorii | Stardance
Devlogs:
Shipping whyslow v1 The problem Every Linux dev has hit “my program is slow” and reached for strace , perf , or py-spy — but each tool sees one layer. None of them tell you why across layers. You end up manually cross-referencing three terminal windows and timestamps by hand. What I built whyslow — a CLI that watches sched_switch , futex, and block I/O events via eBPF and stitches them into a single causal chain: $ sudo whyslow run -- ./my-slow-program 14:32:07.001 — tid 4821 blocked 412ms on futex 0x7f2a3c001000 ← woken by tid 4809 ← tid 4809 blocked 380ms on block I/O (dev nvme0n1p2, sector 88213) No manual correlation. It finds the root cause and walks you back to it. Stack Rust, aya for pure-Rust eBPF (no libbpf/C toolchain needed) Ring buffer for low-overhead event collection — can’t perturb the thing you’re measuring Interval tree + happens-before edge inference for the causal graph Workspace: whyslow-cli , whyslow-ebpf , whyslow-common Scope for v1 x86_64 + aarch64 Linux, kernel 5.8+ Three event sources: sched_switch, futex, block I/O No stack symbolication yet — tid/pid/comm only Needs root or CAP_BPF — no way around that, eBPF is privileged Kept scope narrow on purpose: three event sources done correctly beats eight done half right. Validated against a synthetic program that deliberately causes futex contention + a disk stall, so there’s ground truth to check the causal chain against, not just vibes. Distribution curl -sSf .../install.sh | sh Homebrew tap, APT repo, pip wrapper — see DISTRIBUTION.md crates.io publish still pending — cargo install works via --git for now What’s next Stack symbolication (native + interpreted languages) More event sources without losing causal-chain accuracy Actual crates.io publish so cargo install whyslow just works Repo github.com/kaorii-ako/whyslow
okay so this one’s been in my head for a while. every time I’m debugging something slow on linux I end up with like 3 terminals open — strace in one, perf in another, sometimes py-spy if it’s python — and I’m just manually lining up timestamps trying to figure out what actually caused the slowdown. none of these tools talk to each other. they just dump their own little slice of the truth and leave you to do the detective work. so I built whyslow. it hooks into the kernel with eBPF and watches three things at once: scheduler switches, futex waits, and block I/O. instead of showing you three separate logs, it actually chains them together and tells you the story. like instead of thread stuck for 400ms (somewhere) you get thread A blocked on a futex which was held by thread B which was blocked on a disk read that’s the whole point. not “something was slow” but “here’s the chain of custody for why.” biggest pain building this was honestly not the eBPF part, it was figuring out how to correlate events that come from completely different sources without just guessing. had to build this whole interval-based matching thing to line up “thread went to sleep here” with “thread got woken up there” and make sure the causality actually holds up and isn’t just coincidence in timing. kept scope small on purpose for v1. only 3 event types, no fancy stack traces yet, x86_64 + arm64 only. figured getting 3 things exactly right beats having 8 things that are kind of right and kind of not. tested it by writing a little program that deliberately deadlocks itself with a futex and forces a disk read, so I’d have a known answer to check whyslow’s output against. felt really good when the chain it printed out actually matched what I knew was happening under the hood. still needs root to run since eBPF just doesn’t let you do this stuff unprivileged, that’s a permanent tradeoff not a bug. next up is probably symbol resolution so it can tell you actual function names instead of just thread ids, and getting it properly published so people can just cargo install it instead of pulling from git. repo’s here if anyone wants to poke at it: github.com/kaorii-ako/whyslow
Ships:
whyslow traces sched_switch, futex, and block I/O events via eBPF to show you the actual causal chain behind a slow Linux process, not just isolated symptoms. Built at a 48hr hackathon in my house!...
|
1793991033.5193894
|
1794077433.5193894
|
|
5507
|
a by @Davide | Stardance
|
Davide
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @Davide | Stardance
|
1793778938.7348228
|
1794642938.7348228
|
|
31005
|
a by @Davide | Stardance
|
Davide
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @Davide | Stardance
|
1793912037.4534042
|
1794776037.4534042
|
|
84
|
a by @Carlson | Stardance
|
Carlson
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a by @Carlson | Stardance
|
1793433217.5077665
|
1794038017.5077665
|
|
34349
|
a bot by @barnamdakua6t9 | Stardance
|
barnamdakua6t9
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a bot by @barnamdakua6t9 | Stardance
|
1793483461.437966
|
1794088261.437966
|
|
70827
|
a bluetooth controlled car by @priyanshuyadav2006 a bluetooth controlled car by @priyanshuyadav2006 | Stardance...
|
priyanshuyadav2006
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a bluetooth controlled car by @priyanshuyad Title: a bluetooth controlled car by @priyanshuyadav2006 | Stardance...
|
1794034439.8180413
|
1794639239.8180413
|
|
53171
|
a blackjack game by @sanjaysatheesh417 | Stardance
|
sanjaysatheesh417
|
1
|
2.0
|
3
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-13T06:22:24Z", "hours": 2.0, "multiplier": 1.12, "payout": 3, "blessing": "neutral", "text": "i created a simple blackjack game using CSS ,html and javascript. i have used AI to add the images for the cards and improved styling.", "repo": "https://github.com/sanjaysatheesh417-cyber/blackjackgame", "demo": "https://blackjackgame-6gp8.onrender.com/"}]...
|
[{"post_id": 67139, "ts": "202 [{"post_id": 67139, "ts": "2026-09-13T06:20:48Z", "hours": 0.2656, "text": "enhanced the game by adding images for cards and improved style using ai."}, {"post_id": 67122, "ts": "2026-09-13T05:42:05Z", "hours": 1.4964, "text": "i just added the working algorithm of a blackjack game. using objects to display the player name and his credits, rendering random numbers that indicate the cards, css buttons to let you start the game or draw a new card and the logic where it tells u if you have gotten blackjack or not."}, {"post_id": 52841, "ts": "2026-08-23T06:14:00Z", "hours": 0.7069, "text": "a simple playable blackjack game using html, css and javascript. initial styling done!!"}]...
|
Title: a blackjack game by @sanjaysatheesh417 | St Title: a blackjack game by @sanjaysatheesh417 | Stardance
Devlogs:
a simple playable blackjack game using html, css and javascript. initial styling done!!
i just added the working algorithm of a blackjack game. using objects to display the player name and his credits, rendering random numbers that indicate the cards, css buttons to let you start the game or draw a new card and the logic where it tells u if you have gotten blackjack or not.
enhanced the game by adding images for cards and improved style using ai.
Ships:
i created a simple blackjack game using CSS ,html and javascript. i have used AI to add the images for the cards and improved styling....
|
1794023747.340629
|
1794110147.340629
|
|
18261
|
a beauty product web by @brightonmagoro | Stardanc a beauty product web by @brightonmagoro | Stardance...
|
brightonmagoro
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a beauty product web by @brightonmagoro | S Title: a beauty product web by @brightonmagoro | Stardance...
|
1793422309.7579505
|
1794027109.7579505
|
|
36649
|
a basic ai model by @omarwael | Stardance
|
omarwael
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a basic ai model by @omarwael | Stardance
|
1793353756.2186124
|
1793958556.2186124
|
|
26054
|
a art design by @Asher-Levi | Stardance
|
Asher-Levi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a art design by @Asher-Levi | Stardance
|
1793519312.3811972
|
1794124112.3811972
|
|
58714
|
a alarm clock by @moustafa2324 | Stardance
|
moustafa2324
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a alarm clock by @moustafa2324 | Stardance
|
1793508982.6964138
|
1794113782.6964138
|
|
7232
|
a air magic mouse by @pranav_ | Stardance
|
pranav_
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a air magic mouse by @pranav_ | Stardance
|
1793389684.3278522
|
1793994484.3278522
|
|
36436
|
a ai driven car by @briekvdamme | Stardance
|
briekvdamme
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a ai driven car by @briekvdamme | Stardance
|
1793400941.8783364
|
1794005741.8783364
|
|
12499
|
a ai adgent that is unger 40gb by @Nik_Dynimo400 | a ai adgent that is unger 40gb by @Nik_Dynimo400 | Stardance...
|
Nik_Dynimo400
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a ai adgent that is unger 40gb by @Nik_Dyni Title: a ai adgent that is unger 40gb by @Nik_Dynimo400 | Stardance...
|
1793350564.8769858
|
1793955364.8769858
|
|
72196
|
a VR volleyball game crossplay with PC by @Sakahr a VR volleyball game crossplay with PC by @Sakahr | Stardance...
|
Sakahr
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a VR volleyball game crossplay with PC by @ Title: a VR volleyball game crossplay with PC by @Sakahr | Stardance...
|
1793411229.2943766
|
1794016029.2943766
|
|
66040
|
a Radar by @danielfg2010 | Stardance
|
danielfg2010
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a Radar by @danielfg2010 | Stardance
|
1793710273.8460593
|
1794315073.8460593
|
|
12713
|
a PID controller for an inverted pendulum by @Ath a PID controller for an inverted pendulum by @Ath | Stardance...
|
Ath
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a PID controller for an inverted pendulum b Title: a PID controller for an inverted pendulum by @Ath | Stardance...
|
1793886835.0122964
|
1794491635.0122964
|
|
71291
|
a BB gun using electronics by @techkunjapppan | St a BB gun using electronics by @techkunjapppan | Stardance...
|
techkunjapppan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a BB gun using electronics by @techkunjappp Title: a BB gun using electronics by @techkunjapppan | Stardance...
|
1793595370.534632
|
1794200170.534632
|
|
49643
|
a 4 inch mini drone by @Tasin | Stardance
|
Tasin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a 4 inch mini drone by @Tasin | Stardance
|
1794034414.2001903
|
1794639214.2001903
|
|
16360
|
a 3d model of a marble run for refugee children by a 3d model of a marble run for refugee children by @maqdeline | Stardance...
|
maqdeline
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a 3d model of a marble run for refugee chil Title: a 3d model of a marble run for refugee children by @maqdeline | Stardance...
|
1793368337.9357288
|
1793973137.9357288
|
|
20875
|
a 3d game by @M_Aahil | Stardance
|
M_Aahil
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a 3d game by @M_Aahil | Stardance
|
1793919230.3861306
|
1794783230.3861306
|
|
36372
|
a 3D game by @youssef_waleed | Stardance
|
youssef_waleed
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a 3D game by @youssef_waleed | Stardance
|
1793408027.5194988
|
1794012827.5194988
|
|
45496
|
a 2d precision platformer by @manroop | Stardance
|
manroop
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: a 2d precision platformer by @manroop | Sta Title: a 2d precision platformer by @manroop | Stardance...
|
1793335825.2583065
|
1793940625.2583065
|
|
476
|
_ by @admin | Stardance
|
admin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: _ by @admin | Stardance
|
1793350419.7628927
|
1793955219.7628927
|
|
1618
|
_ by @NJLD | Stardance
|
NJLD
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: _ by @NJLD | Stardance
|
1793350230.8368223
|
1793955030.8368223
|
|
63433
|
^_^ by @leonas_daunoravicius | Stardance
|
leonas_daunoravicius
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ^_^ by @leonas_daunoravicius | Stardance
|
1793663294.4537919
|
1794268094.4537919
|
|
14202
|
[tbs] Performance Electric Scooter by @larry | Sta [tbs] Performance Electric Scooter by @larry | Stardance...
|
larry
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: [tbs] Performance Electric Scooter by @larr Title: [tbs] Performance Electric Scooter by @larry | Stardance...
|
1793400572.8441584
|
1794005372.8441584
|
|
42619
|
[placeholder] by @BoltyPlays | Stardance
|
BoltyPlays
|
1
|
3.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-01T04:40:18Z", "hours": 3.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "First shipped item… [placeholder] uses NASA’s APOD API and fetches its picture, video, or YT vid based on the day you input. It was difficult to integrate the YouTube part, mostly because my brain shut off (it was 2 am), but re-learning JS and CSS was equally as difficult. Overall, this project helped me jump back into the cold trail of building websites. This certainly isn’t impressive, but shows that I at least know a bit of JS…", "repo": "https://github.com/BoltyPlays/placeholder", "demo": "https://boltyplays.github.io/placeholder/"}]...
|
[{"post_id": 59372, "ts": "202 [{"post_id": 59372, "ts": "2026-09-01T04:12:43Z", "hours": 2.5833, "text": "completely forgot to make devlogs for this. whoops so started this project and learnt that NASA gave free api keys which is pretty cool but then my brain stopped and so a bit of Googling was required to help me understand the JS part finished all that, took upon the challenge to embed the youtube video, but struggled, so threw that aside and did a bit of CSS, in the process found this cool stripe design from CSSTricks managed to get the YouTube part working (just grab the code from youtube) and yeah. [placeholder] works"}]...
|
Title: [placeholder] by @BoltyPlays | Stardance
D Title: [placeholder] by @BoltyPlays | Stardance
Devlogs:
completely forgot to make devlogs for this. whoops so started this project and learnt that NASA gave free api keys which is pretty cool but then my brain stopped and so a bit of Googling was required to help me understand the JS part finished all that, took upon the challenge to embed the youtube video, but struggled, so threw that aside and did a bit of CSS, in the process found this cool stripe design from CSSTricks managed to get the YouTube part working (just grab the code from youtube) and yeah. [placeholder] works
Ships:
First shipped item… [placeholder] uses NASA’s APOD API and fetches its picture, video, or YT vid based on the day you input. It was difficult to integrate the YouTube part, mostly because my brain shut off (it was 2 am), but re-learning JS and CSS was equally as difficult. Overall, this project helped me jump back into the cold trail of building websites. This certainly isn’t impressive, but shows that I at least know a bit of JS…...
|
1793847429.1577938
|
1793933829.1577938
|
|
44677
|
[oxy.] by @oxy | Stardance
|
oxy
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-08T19:13:23Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "i made a site for myself, i think it describes me well and i love the style i made it in, hope everyone enjoys it too. with love oxy <3", "repo": "https://github.com/oxy-2/mysite", "demo": "https://oxygenated.uk/"}]...
|
[{"post_id": 43470, "ts": "202 [{"post_id": 43470, "ts": "2026-08-08T19:12:12Z", "hours": 1.5628, "text": "soooo i made my personal site its kinda inspired by like nothings design styles and also like dot matrix and reactive backgrounds and a bunch of things i like, the base of the site was done with ai but i did the rest, maybe for the second part of this quest ill add a fix for the start animations, a blog and a bunch of other things, i hope you guys like my site and have an amazing rest of your day / night. with love oxy <3"}]...
|
Title: [oxy.] by @oxy | Stardance
Devlogs:
soooo Title: [oxy.] by @oxy | Stardance
Devlogs:
soooo i made my personal site its kinda inspired by like nothings design styles and also like dot matrix and reactive backgrounds and a bunch of things i like, the base of the site was done with ai but i did the rest, maybe for the second part of this quest ill add a fix for the start animations, a blog and a bunch of other things, i hope you guys like my site and have an amazing rest of your day / night. with love oxy <3
Ships:
i made a site for myself, i think it describes me well and i love the style i made it in, hope everyone enjoys it too. with love oxy <3...
|
1793918903.0496492
|
1794005303.0496492
|
|
10570
|
[creative name here] Slack Bot! by @adzsturmar | S [creative name here] Slack Bot! by @adzsturmar | Stardance...
|
adzsturmar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: [creative name here] Slack Bot! by @adzstur Title: [creative name here] Slack Bot! by @adzsturmar | Stardance...
|
1793497872.9315515
|
1794102672.9315515
|
|
24891
|
[] by @Wyoco | Stardance
|
Wyoco
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: [] by @Wyoco | Stardance
|
1793984095.986922
|
1794588895.986922
|
|
1999
|
[To be deleted] by @nightfall | Stardance
|
nightfall
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: [To be deleted] by @nightfall | Stardance
|
1793828980.207336
|
1794433780.207336
|
|
23436
|
[TODO]OS by @APK | Stardance
|
APK
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: [TODO]OS by @APK | Stardance
|
1793534196.3868122
|
1794138996.3868122
|
|
2924
|
[OLD -- See Desc]Isaac the Carpentopod by @SimonCr [OLD -- See Desc]Isaac the Carpentopod by @SimonCrystal | Stardance...
|
SimonCrystal
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: [OLD -- See Desc]Isaac the Carpentopod by @ Title: [OLD -- See Desc]Isaac the Carpentopod by @SimonCrystal | Stardance...
|
1793530167.2828152
|
1794134967.2828152
|
|
9841
|
[Miniaturised] Custom Server Rack by @qb | Stardan [Miniaturised] Custom Server Rack by @qb | Stardance...
|
qb
|
0
|
9.91
|
0
|
[]
|
[{"post_id": 65144, "ts": "202 [{"post_id": 65144, "ts": "2026-09-10T02:40:31Z", "hours": 0.25, "text": "added dram slots to the motherboard"}, {"post_id": 23415, "ts": "2026-07-06T11:11:38Z", "hours": 1.8344, "text": "qubixal memory technologies (qxmt) prints its first 3x downscaled DDR5 ECC RDIMM at 32GB capacity using 32Gb modules after some time thinking about it, i decided at this scale it was better to take the two piece locking mechanism design of a typical dimm slot to one piece (no reference intended). this was because of: easier printing, 2. easier to produce consistently 3. easier designing and it works! after about ~5 prototypes (i think?) the dram slot works. now i think the only thing left is to create the CPU latching mechanism. image: a rough diagram showing flaws (oh yeah first design also bent because of unstable base because the ram stick would push the unevenly extruded latching arms out)"}, {"post_id": 20465, "ts": "2026-07-02T01:52:17Z", "hours": 2.8836, "text": "notdev log #2 basically finished every major hardware component. worked on: fan exhaust system + mountable radiator adjusted sff->pci splitter board dimensions to fit added PSU adapter/expansion boards (-> 8pin pwr/24pin mobo) next step is to finalise DRAM attachment system on the motherboard."}, {"post_id": 11792, "ts": "2026-06-19T05:58:14Z", "hours": 4.9411, "text": "DRAM prices so bad that I’m building a server rack (in fusion) The goal is to build a full 4U server rack, scale it down and 3D print it. Then, print a full shelf of racks. Keep going and you get infinite compute. What I’ve done: Fully modelled GPU (design adapted from 5090/RTX Pro 6000), M.2 SSD, SFF and Network Adapter Cards, Power Supply Partially modelled Dual-CPU EATX Motherboard. Every part has been modelled by hand to reference materials. As the end result will be scaled down, many parts have been widened to accomodate that. Thank you for your support!"}]...
|
Title: [Miniaturised] Custom Server Rack by @qb | Title: [Miniaturised] Custom Server Rack by @qb | Stardance
Devlogs:
DRAM prices so bad that I’m building a server rack (in fusion) The goal is to build a full 4U server rack, scale it down and 3D print it. Then, print a full shelf of racks. Keep going and you get infinite compute. What I’ve done: Fully modelled GPU (design adapted from 5090/RTX Pro 6000), M.2 SSD, SFF and Network Adapter Cards, Power Supply Partially modelled Dual-CPU EATX Motherboard. Every part has been modelled by hand to reference materials. As the end result will be scaled down, many parts have been widened to accomodate that. Thank you for your support!
notdev log #2 basically finished every major hardware component. worked on: fan exhaust system + mountable radiator adjusted sff->pci splitter board dimensions to fit added PSU adapter/expansion boards (-> 8pin pwr/24pin mobo) next step is to finalise DRAM attachment system on the motherboard.
qubixal memory technologies (qxmt) prints its first 3x downscaled DDR5 ECC RDIMM at 32GB capacity using 32Gb modules after some time thinking about it, i decided at this scale it was better to take the two piece locking mechanism design of a typical dimm slot to one piece (no reference intended). this was because of: easier printing, 2. easier to produce consistently 3. easier designing and it works! after about ~5 prototypes (i think?) the dram slot works. now i think the only thing left is to create the CPU latching mechanism. image: a rough diagram showing flaws (oh yeah first design also bent because of unstable base because the ram stick would push the unevenly extruded latching arms out)
added dram slots to the motherboard...
|
1793422345.6462824
|
1794027145.6462824
|
|
56694
|
[MOVED] Discord User Apps Bot by @stefdp | Stardan [MOVED] Discord User Apps Bot by @stefdp | Stardance...
|
stefdp
|
1
|
85.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-24T13:33:42Z", "hours": 85.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I rewrote my userApps Discord bot from TypeScript to Kotlin just because I prefer kotlin now that i’ve been using it for about a while, and in the meanwhile i also added new commands to it", "repo": "https://git.stefdp.com/Stef/userApps", "demo": "https://discord.com/oauth2/authorize?client_id=1223221223685886032"}]...
|
[{"post_id": 72794, "ts": "202 [{"post_id": 72794, "ts": "2026-09-23T19:06:22Z", "hours": 0.3492, "text": "Added environment check in the API endpoint like /status enable command Emoji envs are now correctly formatted in the error message Marked /status command as owner only"}, {"post_id": 72707, "ts": "2026-09-23T15:29:45Z", "hours": 3.7897, "text": "Rewrote the web dashboard to look better (by orangc) Added the API endpoints to manage commands on the dash side Added support for docker compose"}, {"post_id": 70873, "ts": "2026-09-19T22:10:42Z", "hours": 5.3797, "text": "Created the /help command: list all the commands of get info about a specific one Temporarily took the old dashboard and adapted it to the new framework (the html side is gonna get remade by a friend, orangc) Removed some unused envs Added TailwindCSS compiling at startup soit can be used in the dashboard"}, {"post_id": 70257, "ts": "2026-09-18T20:20:48Z", "hours": 5.9111, "text": "Created the /uptime command: display how long the bot has been online for Created the /lyrics command: get the lyrics of a song (uses lrclib.net, lrcmux and lyricsOVH as sources) Fixed /define command failing when there were too many definitions (was going over the 40 components limit) Created the main README file Added ownerOnly property to commands, so when they’re first added to the db, it sets the list of owners in the OWNERS env as allowed users Added attachment options to the /embed command (for some reasons they’re added correctly but image and thumbnail don’t display while footer and author do)"}, {"post_id": 69649, "ts": "2026-09-17T14:30:09Z", "hours": 4.295, "text": "Created the /ubdict command: get the definition of a term from the urban dictionary Created the /wikipedia command: get an article from wikipedia Created the /fact command: get a random fact Created the /joke command: get a random joke Added a util function to split strings in group of approximately X character, but instead of cutting the text at exactly X characters, it cuts at the next end of a sentence after X characters, this way a sentence is never cut in half during pagination (currently only place where it’s used, aka /wikipedia command) Added the User-Agent header to all the HTTP requests Updated HttpLoggingInterceptor to use the correct logger class"}, {"post_id": 68211, "ts": "2026-09-14T18:17:54Z", "hours": 2.95, "text": "Created the /define command: get the definition of a word Updated the /steam game command to use components v2, and also a button to show the full game description if the detailed mode is too long to fit Switched some places from if (xxx) { ... } else { null } to xxx?.let { ... }"}, {"post_id": 67479, "ts": "2026-09-13T16:26:49Z", "hours": 7.7817, "text": "Created the Get User Banner command (user): …what the name says Created the /github command (slash): get info about a GH user, repo or issue/PR Created the /weather command (slash): get the current weather of a specific place /steam game now uses buildString {} instead of adding to a array, then joining and merging it with another string"}, {"post_id": 66516, "ts": "2026-09-12T11:06:55Z", "hours": 6.5256, "text": "Created the /steam command (slash): get info about a Steam game (optional detailed mode) or user Created the /translate command (slash): convert any text from a language to another (about 131 languages available) Installed the MS Azure SDK for the /translate (slash) & Translate Message (message) commands Updated file layout for the dashboard so it looks better Updated API services file layout too Updated Kotlin from 2.4.10 to 2.4.20 and other libs"}, {"post_id": 65657, "ts": "2026-09-10T22:56:19Z", "hours": 4.5164, "text": "Running a command now increases its uses value is the anonymous analytics table Added new env variables and improved the system used to throw errors so it always kills all the processes when calling require Created the dashboard ratelimits, sessions, auth middlewares/systems Created the Discord OAuth2 login Moved kord into a Bot object so it can be used in the dashboard too if needed Created a listener for the discord webhook (stuff like bot authorized, bot deauthorized etc.) [UNTESTED] Created a util function to get the bot’s invite url Created API services for the discord OAuth2 token requesting and apprise API There’s not much frontend / UI change so ima show a pic of the dash module code ig"}, {"post_id": 65422, "ts": "2026-09-10T15:31:24Z", "hours": 5.8289, "text": "Created the /export command (slash): send the file path and export it (as well as give the file’s github url (owner only) Created the Save as Tag command (message): save a message as tag, both embeds & content Created the Convert to QR Code command (message): convert a message’s content to a QR code (either as image or text) Created the Download Voice Message command (message): as the name says, download as MP3 a user’s voice message Created the Set as Reminder command (message): set a user’s message (either content or URL) as a reminder Created the Get Message JSON command (message): get the JSON object of the message Created the Get Member Avatar command (user): get the server specific avatar of the user Created the Get User Avatar command (user): get the global avatar of the user Created the Get User Avatar Decoration command (user): get the avatar decoration of the user Created the Get Member JSON command (user): get the JSON object of the member Created the Get User JSON command (user): get the JSON object of the user Environment variables are now loaded at startup via a gradle task Added a LOG_LEVEL env to choose the level of the console output to show Created a util function for plurals Set tag name limit to 255 chars"}, {"post_id": 64121, "ts": "2026-09-08T10:02:03Z", "hours": 7.1333, "text": "Added the /tag command: save preset messages that you can then send later (they can also contain embeds) it has the following subcommands: content : set or remove the content of a tag embed : add or remove an embed from a tag delete : delete a tag export : export all your tags as a JSON file import : import the JSON file obtained from the export subcommand (in case of conflicts, the old and new tag will be previeable in the bot dashboard if enabled) list : Display all your subcommands get : Get the content & embeds of a specific subcommand Fixed/Impoved the /embed command button & modal handlers & added an ID to buttons & modals to avoid 2 diff commands handling the same interaction"}, {"post_id": 62806, "ts": "2026-09-06T10:14:43Z", "hours": 5.5831, "text": "Created the /gary command: get random images of 4 cats: Gary, Goober, Gulliber (Gully) and Garfield Created the /ping command: get the bot’s ping (pic has high ping cuz it’s running on my laptop, in Italy) Created the /botavatar command: change the bot avatar, either from a file, URL, copy from an user or copy from the bot owner Created the /colorpicker command: give an HEX, RGB or HSL color and it displays it as well as showing its HEX, RGB and HSL variants Added the /reminders command: set a reminder and the bot will send you a DM, reminder can either be single-run, multi-run and inifinitely run (the user defines an interval such as 30m , 2d15h etc., then the bot will send a DM with the reminder after this interval and will repeat it how many times the user defined it to, so if an user defines a reminder with 2h interval and 3 repeats, it will send the same reminder in 2h, 4h and 6h) (hope i explained well ) Switched database initialization from SchemaUtils to MigrationUtils this way if i edit a scheme, it’s also applied at startup instead of just creating new tables and never modifying them Made the dashboard disableable"}, {"post_id": 61179, "ts": "2026-09-03T23:53:05Z", "hours": 6.5219, "text": "Created the /minecraft command: allows to fetch Java and Bedrock edition server data (with mcstatus.io API ) Player info (with Starlight API by lunareclipse.studio ) Player skin rendered as a 3D model in different poses (with Starlight API) Created the /embed command: send anything as an embed Created the /qr command: encode some text into a QR Code (output can be an image or an ASCII text) Updated the dashboard to add a static resource /skinModels which is used for the /minecraft skin sub command to fetch custom made models Added a regex for HEX colors (matches #ffffff , #fff , ffffff and fff ) created a Minecraft object to collect all minecraft related functions Created the starlight and mcstatus.io API services & added them in the API client Update main handleRequest function to add an optional error handler"}, {"post_id": 60524, "ts": "2026-09-02T22:26:55Z", "hours": 3.5928, "text": "Added the /8ball command: ask a question and get a random answer Added topic command: get a random topic to start a conversation Added /qalc command: execute calculation using libqalculate Added /console command: run any shell command Added /animal command: get a random animal (cat, dog, fox, duck) Added /ip command: get info about an IPv4 or IPv6 address Installed the retrofit libs required to make HTTP requests Added a regex to check if a IPv4 or IPv6 is valid (took from networkingtoolbox.net ) Created util function to get the country flag & name from its code (took from my Hackatime android app)"}, {"post_id": 60238, "ts": "2026-09-02T14:13:38Z", "hours": 5.9553, "text": "Added /http command: get a HTTP status with the picture of an animal like cat, dog, goat, duck etc. Added /perms command: add/remove/list the users allowed to use a specific command Added /status command: enable/disable specific commands Added /dig : perform a dig query on a domain Added /whois : perform a WHOIS query on a domain/IP/ASN Fixed database upsert function erroring because no column was being passed as keys (primary) Moved command registration to the onReady event Installed a lib for DNS queries and a lib to check other libs updates Added a utility Domain object that contains the function to perform dig and whois queries Added utility functions to convert a ISO string, epoch seconds or Instant to discord time format"}, {"post_id": 59784, "ts": "2026-09-01T18:32:38Z", "hours": 3.5347, "text": "Created the /eval command Added the registration & handling of the commands (also checks if the user can run the command and if the command is enabled, by checking the enabled status and allowedUsers list in the command_permissions table) Installed some libs to run code at runtime (JavaScript, Python and Kotlin (used in /eval )"}, {"post_id": 59212, "ts": "2026-08-31T21:38:20Z", "hours": 4.8561, "text": "Created the base skeleton with the bot (w/ events), web dashboard (rn just shows “WIP” text) and database with the schemes & some helper functions For the Discord bot i’m using the Kord library For the web dashboard i’m using the Ktor library This is the first time i use either of those 2 libs so my usage may not be the best"}]...
|
Title: [MOVED] Discord User Apps Bot by @stefdp | Title: [MOVED] Discord User Apps Bot by @stefdp | Stardance
Devlogs:
Created the base skeleton with the bot (w/ events), web dashboard (rn just shows “WIP” text) and database with the schemes & some helper functions For the Discord bot i’m using the Kord library For the web dashboard i’m using the Ktor library This is the first time i use either of those 2 libs so my usage may not be the best
Created the /eval command Added the registration & handling of the commands (also checks if the user can run the command and if the command is enabled, by checking the enabled status and allowedUsers list in the command_permissions table) Installed some libs to run code at runtime (JavaScript, Python and Kotlin (used in /eval )
Added /http command: get a HTTP status with the picture of an animal like cat, dog, goat, duck etc. Added /perms command: add/remove/list the users allowed to use a specific command Added /status command: enable/disable specific commands Added /dig : perform a dig query on a domain Added /whois : perform a WHOIS query on a domain/IP/ASN Fixed database upsert function erroring because no column was being passed as keys (primary) Moved command registration to the onReady event Installed a lib for DNS queries and a lib to check other libs updates Added a utility Domain object that contains the function to perform dig and whois queries Added utility functions to convert a ISO string, epoch seconds or Instant to discord time format
Added the /8ball command: ask a question and get a random answer Added topic command: get a random topic to start a conversation Added /qalc command: execute calculation using libqalculate Added /console command: run any shell command Added /animal command: get a random animal (cat, dog, fox, duck) Added /ip command: get info about an IPv4 or IPv6 address Installed the retrofit libs required to make HTTP requests Added a regex to check if a IPv4 or IPv6 is valid (took from networkingtoolbox.net ) Created util function to get the country flag & name from its code (took from my Hackatime android app)
Created the /minecraft command: allows to fetch Java and Bedrock edition server data (with mcstatus.io API ) Player info (with Starlight API by lunareclipse.studio ) Player skin rendered as a 3D model in different poses (with Starlight API) Created the /embed command: send anything as an embed Created the /qr command: encode some text into a QR Code (output can be an image or an ASCII text) Updated the dashboard to add a static resource /skinModels which is used for the /minecraft skin sub command to fetch custom made models Added a regex for HEX colors (matches #ffffff , #fff , ffffff and fff ) created a Minecraft object to collect all minecraft related functions Created the starlight and mcstatus.io API services & added them in the API client Update main handleRequest function to add an optional error handler
Created the /gary command: get random images of 4 cats: Gary, Goober, Gulliber (Gully) and Garfield Created the /ping command: get the bot’s ping (pic has high ping cuz it’s running on my laptop, in Italy) Created the /botavatar command: change the bot avatar, either from a file, URL, copy from an user or copy from the bot owner Created the /colorpicker command: give an HEX, RGB or HSL color and it displays it as well as showing its HEX, RGB and HSL variants Added the /reminders command: set a reminder and the bot will send you a DM, reminder can either be single-run, multi-run and inifinitely run (the user defines an interval such as 30m , 2d15h etc., then the bot will send a DM with the reminder after this interval and will repeat it how many times the user defined it to, so if an user defines a reminder with 2h interval and 3 repeats, it will send the same reminder in 2h, 4h and 6h) (hope i explained well ) Switched database initialization from SchemaUtils to MigrationUtils this way if i edit a scheme, it’s also applied at startup instead of just creating new tables and never modifying them Made the dashboard disableable
Added the /tag command: save preset messages that you can then send later (they can also contain embeds) it has the following subcommands: content : set or remove the content of a tag embed : add or remove an embed from a tag delete : delete a tag export : export all your tags as a JSON file import : import the JSON file obtained from the export subcommand (in case of conflicts, the old and new tag will be previeable in the bot dashboard if enabled) list : Display all your subcommands get : Get the content & embeds of a specific subcommand Fixed/Impoved the /embed command button & modal handlers & added an ID to buttons & modals to avoid 2 diff commands handling the same interaction
Created the /export command (slash): send the file path and export it (as well as give the file’s github url (owner only) Created the Save as Tag command (message): save a message as tag, both embeds & content Created the Convert to QR Code command (message): convert a message’s content to a QR code (either as image or text) Created the Download Voice Message command (message): as the name says, download as MP3 a user’s voice message Created the Set as Reminder command (message): set a user’s message (either content or URL) as a reminder Created the Get Message JSON command (message): get the JSON object of the message Created the Get Member Avatar command (user): get the server specific avatar of the user Created the Get User Avatar command (user): get the global avatar of the user Created the Get User Avatar Decoration command (user): get the avatar decoration of the user Created the Get Member JSON command (user): get the JSON object of the member Created the Get User JSON command (user): get the JSON object of the user Environment variables are now loaded at startup via a gradle task Added a LOG_LEVEL env to choose the level of the console output to show Created a util function for plurals Set tag name limit to 255 chars
Running a command now increases its uses value is the anonymous analytics table Added new env variables and improved the system used to throw errors so it always kills all the processes when calling require Created the dashboard ratelimits, sessions, auth middlewares/systems Created the Discord OAuth2 login Moved kord into a Bot object so it can be used in the dashboard too if needed Created a listener for the discord webhook (stuff like bot authorized, bot deauthorized etc.) [UNTESTED] Created a util function to get the bot’s invite url Created API services for the discord OAuth2 token requesting and apprise API There’s not much frontend / UI change so ima show a pic of the dash module code ig
Created the /steam command (slash): get info about a Steam game (optional detailed mode) or user Created the /translate command (slash): convert any text from a language to another (about 131 languages available) Installed the MS Azure SDK for the /translate (slash) & Translate Message (message) commands Updated file layout for the dashboard so it looks better Updated API services file layout too Updated Kotlin from 2.4.10 to 2.4.20 and other libs
Created the Get User Banner command (user): …what the name says Created the /github command (slash): get info about a GH user, repo or issue/PR Created the /weather command (slash): get the current weather of a specific place /steam game now uses buildString {} instead of adding to a array, then joining and merging it with another string
Created the /define command: get the definition of a word Updated the /steam game command to use components v2, and also a button to show the full game description if the detailed mode is too long to fit Switched some places from if (xxx) { ... } else { null } to xxx?.let { ... }
Created the /ubdict command: get the definition of a term from the urban dictionary Created the /wikipedia command: get an article from wikipedia Created the /fact command: get a random fact Created the /joke command: get a random joke Added a util function to split strings in group of approximately X character, but instead of cutting the text at exactly X characters, it cuts at the next end of a sentence after X characters, this way a sentence is never cut in half during pagination (currently only place where it’s used, aka /wikipedia command) Added the User-Agent header to all the HTTP requests Updated HttpLoggingInterceptor to use the correct logger class
Created the /uptime command: display how long the bot has been online for Created the /lyrics command: get the lyrics of a song (uses lrclib.net, lrcmux and lyricsOVH as sources) Fixed /define command failing when there were too many definitions (was going over the 40 components limit) Created the main README file Added ownerOnly property to commands, so when they’re first added to the db, it sets the list of owners in the OWNERS env as allowed users Added attachment options to the /embed command (for some reasons they’re added correctly but image and thumbnail don’t display while footer and author do)
Created the /help command: list all the commands of get info about a specific one Temporarily took the old dashboard and adapted it to the new framework (the html side is gonna get remade by a friend, orangc) Removed some unused envs Added TailwindCSS compiling at startup soit can be used in the dashboard
Rewrote the web dashboard to look better (by orangc) Added the API endpoints to manage commands on the dash side Added support for docker compose
Added environment check in the API endpoint like /status enable command Emoji envs are now correctly formatted in the error message Marked /status command as owner only
Ships:
I rewrote my userApps Discord bot from TypeScript to Kotlin just because I prefer kotlin now that i’ve been using it for about a while, and in the meanwhile i also added new commands to it...
|
1794023250.2390642
|
1794109650.2390642
|
|
66010
|
[MOVED] CollabNotes by @stefdp | Stardance
|
stefdp
|
0
|
14.23
|
0
|
[]
|
[{"post_id": 76820, "ts": "202 [{"post_id": 76820, "ts": "2026-10-04T18:24:08Z", "hours": 4.8381, "text": "Fixed auth middleware (it was using an invalid SQL query) in GET /api/email/request the token is now URL decoded before it’s used Updated POST /api/login to return a 204 instead of redirection Added pending email database keys for the users who are changing their mail Created the POST /api/verify-email endpoint to verify the mail (either at register or update mail) Added Password4J config file and set a salt length of 64 Created the notes table and the sharing codes table fixed Thymeleaf using wrong paths for frontend file locations Created the POST /api/account/update-email endpoint to let users change their mail Created the GET /api/notes endpoint to let the user see the notes he has access to Created the POST /api/notes endpoint to let the user create a note under his user Created the GET /api/notes/{noteId} endpoint to get the data of a specific note (if the user has access to it) Created the DELETE /api/notes/{noteId} endpoint to let a user delete his own notes (not the ones made by other even if he has access to them) Created the POST /api/notes/{noteId}/join endpoint to let a user join a note via its sharing code Created the POST /api/notes/{noteId}/share endpoint to create a sharing code for the note (each code is one-time use only) Created the DELETE /api/notes/{noteId}/share endpoint to delete a sharing code for the note (note owner only) Created the POST /api/notes/{noteId}/leave endpoint to let a user leave a note on its own Created the POST /api/notes/{noteId}/kick endpoint to let the note owner kick someone from the note Created a util function to validate a string for all common password requirements (min 8 chars, a number, a uppercase letter, a lowercase letter and a special character) Created a job to clear pending mails that haven’t been verified in over 10 mins Fixed route patterns, when inside a route(\"/...\") { ... } i was using get(\"/\") { ... } instead of get { ... } and this caused the base route to not exist (like /api/route ) but only the one with trailing slash (like /api/route/ ) once again no frontend yet so here’s some of the code"}, {"post_id": 75021, "ts": "2026-09-28T21:31:10Z", "hours": 3.9217, "text": "Installed a lib to hash & salt user passwords Moved all routes to a routes folder Update verification data in the DB schema Created a PublicDatabaseUser data class that doesn’t contain sensitive info such as password Created a util Crypto object to hash & salt strings Updated the verification mail template Fixed Email class not seeing the template file Email verification endpoint now shows a proper html page (html not made yet tho) All routes now include their method in the file and function name Created the following endpoints: GET /api/request-email POST /api/login GET /api/account PATCH /api/account DELETE /api/account None of those changes have been tested yet once again no frontend yet so just code screenshots"}, {"post_id": 74536, "ts": "2026-09-27T16:12:37Z", "hours": 5.4689, "text": "Initialized the app by taking & modifying some stuff from my other apps (mainly the userApps discord bot) ( EnvVariable enum, Random object, build process w/ tailwind & envs setup, middlewares, AppDatabase object) Created a routes skeleton to show how it will look approximately Created the API endpoint to register Created the API endpoint to logout Added an Email class used to validate emails, check for duplicates and send the verification code Added a job that every 5 minutes checks for users that have not verified their mail and if they haven’t verified in 10 mins, their account is deleted Installed a library to send emails there’s no frontend yet so i’ll show some of the API routes skeletons"}]...
|
Title: [MOVED] CollabNotes by @stefdp | Stardance
Title: [MOVED] CollabNotes by @stefdp | Stardance
Devlogs:
Initialized the app by taking & modifying some stuff from my other apps (mainly the userApps discord bot) ( EnvVariable enum, Random object, build process w/ tailwind & envs setup, middlewares, AppDatabase object) Created a routes skeleton to show how it will look approximately Created the API endpoint to register Created the API endpoint to logout Added an Email class used to validate emails, check for duplicates and send the verification code Added a job that every 5 minutes checks for users that have not verified their mail and if they haven’t verified in 10 mins, their account is deleted Installed a library to send emails there’s no frontend yet so i’ll show some of the API routes skeletons
Installed a lib to hash & salt user passwords Moved all routes to a routes folder Update verification data in the DB schema Created a PublicDatabaseUser data class that doesn’t contain sensitive info such as password Created a util Crypto object to hash & salt strings Updated the verification mail template Fixed Email class not seeing the template file Email verification endpoint now shows a proper html page (html not made yet tho) All routes now include their method in the file and function name Created the following endpoints: GET /api/request-email POST /api/login GET /api/account PATCH /api/account DELETE /api/account None of those changes have been tested yet once again no frontend yet so just code screenshots
Fixed auth middleware (it was using an invalid SQL query) in GET /api/email/request the token is now URL decoded before it’s used Updated POST /api/login to return a 204 instead of redirection Added pending email database keys for the users who are changing their mail Created the POST /api/verify-email endpoint to verify the mail (either at register or update mail) Added Password4J config file and set a salt length of 64 Created the notes table and the sharing codes table fixed Thymeleaf using wrong paths for frontend file locations Created the POST /api/account/update-email endpoint to let users change their mail Created the GET /api/notes endpoint to let the user see the notes he has access to Created the POST /api/notes endpoint to let the user create a note under his user Created the GET /api/notes/{noteId} endpoint to get the data of a specific note (if the user has access to it) Created the DELETE /api/notes/{noteId} endpoint to let a user delete his own notes (not the ones made by other even if he has access to them) Created the POST /api/notes/{noteId}/join endpoint to let a user join a note via its sharing code Created the POST /api/notes/{noteId}/share endpoint to create a sharing code for the note (each code is one-time use only) Created the DELETE /api/notes/{noteId}/share endpoint to delete a sharing code for the note (note owner only) Created the POST /api/notes/{noteId}/leave endpoint to let a user leave a note on its own Created the POST /api/notes/{noteId}/kick endpoint to let the note owner kick someone from the note Created a util function to validate a string for all common password requirements (min 8 chars, a number, a uppercase letter, a lowercase letter and a special character) Created a job to clear pending mails that haven’t been verified in over 10 mins Fixed route patterns, when inside a route("/...") { ... } i was using get("/") { ... } instead of get { ... } and this caused the base route to not exist (like /api/route ) but only the one with trailing slash (like /api/route/ ) once again no frontend yet so here’s some of the code...
|
1793710194.4091475
|
1794314994.4091475
|