|
16351
|
Ecosystem Contributions S1 by @Q-Shadow | Stardanc Ecosystem Contributions S1 by @Q-Shadow | Stardance...
|
Q-Shadow
|
1
|
18.18
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-24T12:13:10Z", "hours": 16.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Project Description: Ecosystem Contributions S1 What I Made: Instead of building a traditional standalone game or app, I built infrastructure fixes for the foundational deep-tech libraries that power the global AI stack. Whenever I hit a wall or encountered downtime while working on local AI models, I shifted focus to diagnosing issue trackers, investigating open bugs, and writing native performance patches. Over the course of the season, I authored and submitted critical upstream Pull Requests and code reviews directly to PyTorch , TensorFlow , and JAX , alongside reviewing technical code for ecosystem tooling like Hoppscotch . ⚡ What Was Challenging: The primary challenge lay in working deeply within the low-level architecture of modern hardware backends—navigating CPU SIMD vectorization paths and CUDA parallel device execution layers. Debugging silent framework miscompilations (like C++ template types or implicit signed integer promotions breaking tensor math) required a deep understanding of compiler behaviors, IEEE 754 floating-point standards, and strict multi-backend performance invariants. Ensuring that these critical bug fixes didn’t introduce compile-time regressions or runtime memory overhead meant writing highly specialized, production-ready C++17 and Python codebases under the scrutiny of core framework maintainers. What I Am Proud Of: I am incredibly proud of engineering robust fixes for long-standing mathematical edge cases that could cause critical models to diverge in production. Specifically, resolving the torch.sign NaN propagation flaw across CPU register paths and GPU lambdas, fixing silent uint8 miscompilations inside torch.compile, and eliminating XLA-compiled loss scaling trajectory divergence inside TensorFlow’s distributed multi-worker training loops. Contributing code that successfully passes through intensive open-source CI checks and gets merged by core engineering teams at Google and Meta is an incredibly rewarding milestone. How People Can Test This: Because these are upstream contributions to core machine learning frameworks, you don’t boot up a traditional user interface to test them. Instead, you can pull the latest master/main branches of PyTorch , TensorFlow , and JAX to see these native patches in action. Alternatively, you can directly inspect the codebase modifications, optimization benchmarks, and regression testing harnesses by reviewing my public pull requests on GitHub: PyTorch PR #184874, #187024, and #186930; TensorFlow PR #119354 and #121366; and JAX PR #38617. This was just Season 1—the foundations are laid, the upstream pipelines are open, and the engineering caliber is only scaling up from here.", "repo": "https://github.com/kphantom0/Ecosystem-Contributions", "demo": "https://github.com/kphantom0"}]...
|
[{"post_id": 86321, "ts": "202 [{"post_id": 86321, "ts": "2026-11-01T09:47:46Z", "hours": 2.1825, "text": "Quick progress update on Kinetic-AG: I finished wiring up the package metadata and strict tool configs in pyproject.toml , then built out the pure-Python reference oracle ( kvl/_oracle_ref.py ). I also implemented the budgeted JSON SSA executor in kvl/dsl.py and added JSON-program support directly into verify_engine.py . For test coverage, I added differential, property, and exhaustive 4×4 binary-grid suites in test_kvl_properties.py . Everything compiling and running locally looks solid—the exhaustive oracle comparison, DSL smoke checks, and checker integration tests all passed. The only hiccup is the property test suite: running it through unittest threw an import error because hypothesis is missing, and I couldn’t pull it down since the package index was down/unreachable. Once that’s reachable to install hypothesis , the full property suite should be ready to roll."}, {"post_id": 12500, "ts": "2026-06-20T12:44:10Z", "hours": 1.0278, "text": "ID: JAX PR-1 I have made a PR which fixes an issue in jax-ml/jax repo. Pull Request (PR) URL: https://github.com/jax-ml/jax/pull/38617 Issue URL: https://github.com/jax-ml/jax/issues/38615"}, {"post_id": 11845, "ts": "2026-06-19T08:42:18Z", "hours": 4.1075, "text": "ID: Hoppscotch CR-1, 2 Reviewed 2 PRs in the Hoppscotch repo. URLs: https://github.com/hoppscotch/hoppscotch/pull/6381 https://github.com/hoppscotch/hoppscotch/pull/6447"}, {"post_id": 9999, "ts": "2026-06-16T15:15:32Z", "hours": 1.2681, "text": "ID: Tensor Flow PR-1 Summary This PR resolves an optimization trajectory divergence bug (detailed in #120986) that occurs when utilizing tf.nn.compute_average_loss inside a distributed multi-worker training loop ( MultiWorkerMirroredStrategy ) wrapped with XLA compilation ( jit_compile=True ). Root Cause Analysis The optimization trajectory splits between the non-XLA (reference) and XLA-compiled execution arms because of how active strategy contexts are evaluated across the function tracing boundary. Historically, compute_average_loss relied exclusively on distribute_lib.get_strategy().num_replicas_in_sync to infer the global batch size scaling constant. This utility queries the thread-local strategy_stack maintained by the eager runtime context. However, during the graph tracing initialization phase of tf.function(jit_compile=True) , this eager stack handle can become isolated or masked inside the polymorphic function builder thread space. Furthermore, if a trace is evaluated prematurely or during initialization steps, the stack can appear empty to the compilation tracer frame. When this handle is masked or evaluates to empty, compute_average_loss silently falls back to a default global_batch_size = 1 . Under XLA, this value is permanently constant-folded and baked directly into the HLO binary graph. During actual parallel execution inside strategy.run() , the underlying math executes math_ops.reduce_sum(per_example_loss) / 1 instead of dividing by the correct num_replicas_in_sync (e.g., 2 ). This permanently doubles the gradient magnitude on the XLA arm, causing stateful optimizers like Adam to immediately diverge. Implementation Details Context Resolution Pipeline : Added a new private utility helper _get_num_replicas_in_sync() inside tensorflow/python/ops/nn_impl_distribute.py . This helper modifies the strategy discovery topology to prioritize checking the lightweight, per-thread active environment handle distribute_lib.get_replica_context() . This context is guaranteed to be populated inside strategy.run() and cleanly survives the Python frame switches involved in XLA function tracing. Defensive Invariants : Added type and range validation assertions to ensure the resolved replica integer count is a strictly positive Python int to catch structural strategy bugs prior to HLO constant generation. Caller Redirection : Refactored compute_average_loss to route dynamic scaling factor discovery through the new _get_num_replicas_in_sync() pipeline. Testing Harness expansion : Appended comprehensive unit and integration regression test suites ( TestGetNumReplicasInSync and TestComputeAverageLossXLAContextMasking ) directly to tensorflow/python/ops/nn_loss_scaling_utilities_test.py to formally mock context-masking behavior and assert proper scalar output reductions under isolated tracing simulation environments. Verification Status Syntactic and AST structural verification passes cleanly via py_compile checks. Code style preserves the 2-space baseline indentation layout standard to the internal package architecture."}, {"post_id": 9858, "ts": "2026-06-16T09:58:16Z", "hours": 3.4183, "text": "ID: PyTorch PR-1 I have force-pushed an updated, compile-safe implementation to address the logical and architectural edge cases across both the CPU and CUDA backends. Core Changes & Fixes: Compile-Time Branching (CPU & CUDA): Added C++17 if constexpr (std::is_integral_v<scalar_t>) branching to decouple the type dispatch loops. This completely isolates the NaN-preservation logic to floating-point types ( float , double , Half , BFloat16 ). As a result, integral type paths completely elide the isnan guards at compile time, eliminating template instantiation errors and preserving the highly optimized native fast paths. CUDA Host-to-Device Fix: Inside sign_kernel_cuda , the host-side at::_isnan utility inside the GPU_LAMBDA has been replaced with the device-safe qualified c10::isnan intrinsic. This resolves the NVCC __host__ to __device__ namespace violation completely. Validation: The updated files have been verified locally. Both spin lint and lintrunner -a pass with zero code style or formatting errors, and local target compilation succeeds perfectly. The PR is now fully production-ready and structurally sound."}, {"post_id": 6846, "ts": "2026-06-11T14:31:27Z", "hours": 0.5814, "text": "ID: PyTorch PR-2 Another lint error fixed."}, {"post_id": 6826, "ts": "2026-06-11T13:32:05Z", "hours": 0.4167, "text": "ID: PyTorch PR-2 Fixed the lint error in PyTorch PR-2."}, {"post_id": 6762, "ts": "2026-06-11T10:18:22Z", "hours": 1.2864, "text": "ID: PyTorch PR-2 Summary of Upstream Work Investigated and resolved a silent miscompilation bug in torch.compile where abs() operations on unsigned integer tensors (such as uint8 ) routed through the C++ codegen produced incorrect downstream graph results (Fixes #187018). Engineering Execution Root Cause Diagnostics: Identified that the TorchInductor CPU codegen emitted std::abs({x}) unconditionally for scalar paths. In C++, std::abs lacks an overload for unsigned types, triggering implicit signed integer promotion that broke critical downstream unsigned wrap-around semantics during negation and reduction. Fix: Modified CppOverrides.abs() within torch/_inductor/codegen/cpp.py to handle types explicitly. Unsigned integers now bypass C++ math entirely as an identity operation ( x ), signed integers utilize a typed ternary bypass to avoid implicit promotion, and floating-point paths preserve the standard std::abs({x}) fallback. Validation & Testing: Authored a targeted regression unit test ( test_uint8_abs_codegen_issue_187018 ) within test/inductor/test_torchinductor.py under CpuTests . Verified that eager and compiled outputs now align flawlessly with strict parity."}, {"post_id": 6706, "ts": "2026-06-11T07:30:19Z", "hours": 3.6128, "text": "ID: PyTorch PR-1 This patch resolves a critical numerical divergence inside the PyTorch core library regarding how torch.sign handles NaN (Not a Number) floating-point elements. By replacing relational comparison dependencies with an explicit NaN-interception architecture, this modification ensures strict adherence to modern IEEE 754 floating-point standards and unifies execution parity across both CPU (SIMD Vectorized) and GPU (CUDA Threaded) runtimes. Engineering Deconstruction 1. The Architectural Flaw (The Root Cause) Previously, both the CPU and CUDA hardware backend kernels computed the numerical sign of a tensor element using raw relational comparison arithmetic expressions equivalent to: $$\\text{Result} = (0 < a) - (a < 0)$$ According to the IEEE 754 specification , any relational comparison operations evaluated directly against a NaN element must return false . Because of this constraint, when a NaN entered the execution block: $0 < \\text{NaN} \\implies \\text{false} \\ (0)$ $\\text{NaN} < 0 \\implies \\text{false} \\ (0)$ $\\text{Result} = 0 - 0 = 0$ This configuration silently swallowed the arithmetic NaN state, transforming an undefined input value into a normal, valid 0 tracking tensor, which broke expected downstream behavior in mathematical gradients and loss validation. 2. The Multi-Backend System Fix To fix this without degrading processing speeds, the implementation handles the problem at the hardware compilation level for both devices: Advanced CPU Kernel Path ( UnaryOpsKernel.cpp ) : Scalar Fallback : Integrated an immediate type-safe intercept layer using at::_isnan(a) . If true, the branch bypasses relational arithmetic entirely and returns the original NaN element. SIMD Vectorization : Packaged hardware registers to calculate masks using self_vec.isnan() . It applies a precise bitwise rewrite step via Vectorized<scalar_t>::blendv to preserve original uncorrupted data lanes right before register return. Parallel GPU Kernel Path ( UnarySignKernels.cu ) : Upgraded the global device execution lambda ( []GPU_LAMBDA ) to intercept thread blocks via at::_isnan(a) before the variable drops down into the low-level c10::signum(a) macro block."}]...
|
Title: Ecosystem Contributions S1 by @Q-Shadow | S Title: Ecosystem Contributions S1 by @Q-Shadow | Stardance
Devlogs:
ID: PyTorch PR-1 This patch resolves a critical numerical divergence inside the PyTorch core library regarding how torch.sign handles NaN (Not a Number) floating-point elements. By replacing relational comparison dependencies with an explicit NaN-interception architecture, this modification ensures strict adherence to modern IEEE 754 floating-point standards and unifies execution parity across both CPU (SIMD Vectorized) and GPU (CUDA Threaded) runtimes. Engineering Deconstruction 1. The Architectural Flaw (The Root Cause) Previously, both the CPU and CUDA hardware backend kernels computed the numerical sign of a tensor element using raw relational comparison arithmetic expressions equivalent to: $$\text{Result} = (0 < a) - (a < 0)$$ According to the IEEE 754 specification , any relational comparison operations evaluated directly against a NaN element must return false . Because of this constraint, when a NaN entered the execution block: $0 < \text{NaN} \implies \text{false} \ (0)$ $\text{NaN} < 0 \implies \text{false} \ (0)$ $\text{Result} = 0 - 0 = 0$ This configuration silently swallowed the arithmetic NaN state, transforming an undefined input value into a normal, valid 0 tracking tensor, which broke expected downstream behavior in mathematical gradients and loss validation. 2. The Multi-Backend System Fix To fix this without degrading processing speeds, the implementation handles the problem at the hardware compilation level for both devices: Advanced CPU Kernel Path ( UnaryOpsKernel.cpp ) : Scalar Fallback : Integrated an immediate type-safe intercept layer using at::_isnan(a) . If true, the branch bypasses relational arithmetic entirely and returns the original NaN element. SIMD Vectorization : Packaged hardware registers to calculate masks using self_vec.isnan() . It applies a precise bitwise rewrite step via Vectorized<scalar_t>::blendv to preserve original uncorrupted data lanes right before register return. Parallel GPU Kernel Path ( UnarySignKernels.cu ) : Upgraded the global device execution lambda ( []GPU_LAMBDA ) to intercept thread blocks via at::_isnan(a) before the variable drops down into the low-level c10::signum(a) macro block.
ID: PyTorch PR-2 Summary of Upstream Work Investigated and resolved a silent miscompilation bug in torch.compile where abs() operations on unsigned integer tensors (such as uint8 ) routed through the C++ codegen produced incorrect downstream graph results (Fixes #187018). Engineering Execution Root Cause Diagnostics: Identified that the TorchInductor CPU codegen emitted std::abs({x}) unconditionally for scalar paths. In C++, std::abs lacks an overload for unsigned types, triggering implicit signed integer promotion that broke critical downstream unsigned wrap-around semantics during negation and reduction. Fix: Modified CppOverrides.abs() within torch/_inductor/codegen/cpp.py to handle types explicitly. Unsigned integers now bypass C++ math entirely as an identity operation ( x ), signed integers utilize a typed ternary bypass to avoid implicit promotion, and floating-point paths preserve the standard std::abs({x}) fallback. Validation & Testing: Authored a targeted regression unit test ( test_uint8_abs_codegen_issue_187018 ) within test/inductor/test_torchinductor.py under CpuTests . Verified that eager and compiled outputs now align flawlessly with strict parity.
ID: PyTorch PR-2 Fixed the lint error in PyTorch PR-2.
ID: PyTorch PR-2 Another lint error fixed.
ID: PyTorch PR-1 I have force-pushed an updated, compile-safe implementation to address the logical and architectural edge cases across both the CPU and CUDA backends. Core Changes & Fixes: Compile-Time Branching (CPU & CUDA): Added C++17 if constexpr (std::is_integral_v<scalar_t>) branching to decouple the type dispatch loops. This completely isolates the NaN-preservation logic to floating-point types ( float , double , Half , BFloat16 ). As a result, integral type paths completely elide the isnan guards at compile time, eliminating template instantiation errors and preserving the highly optimized native fast paths. CUDA Host-to-Device Fix: Inside sign_kernel_cuda , the host-side at::_isnan utility inside the GPU_LAMBDA has been replaced with the device-safe qualified c10::isnan intrinsic. This resolves the NVCC __host__ to __device__ namespace violation completely. Validation: The updated files have been verified locally. Both spin lint and lintrunner -a pass with zero code style or formatting errors, and local target compilation succeeds perfectly. The PR is now fully production-ready and structurally sound.
ID: Tensor Flow PR-1 Summary This PR resolves an optimization trajectory divergence bug (detailed in #120986) that occurs when utilizing tf.nn.compute_average_loss inside a distributed multi-worker training loop ( MultiWorkerMirroredStrategy ) wrapped with XLA compilation ( jit_compile=True ). Root Cause Analysis The optimization trajectory splits between the non-XLA (reference) and XLA-compiled execution arms because of how active strategy contexts are evaluated across the function tracing boundary. Historically, compute_average_loss relied exclusively on distribute_lib.get_strategy().num_replicas_in_sync to infer the global batch size scaling constant. This utility queries the thread-local strategy_stack maintained by the eager runtime context. However, during the graph tracing initialization phase of tf.function(jit_compile=True) , this eager stack handle can become isolated or masked inside the polymorphic function builder thread space. Furthermore, if a trace is evaluated prematurely or during initialization steps, the stack can appear empty to the compilation tracer frame. When this handle is masked or evaluates to empty, compute_average_loss silently falls back to a default global_batch_size = 1 . Under XLA, this value is permanently constant-folded and baked directly into the HLO binary graph. During actual parallel execution inside strategy.run() , the underlying math executes math_ops.reduce_sum(per_example_loss) / 1 instead of dividing by the correct num_replicas_in_sync (e.g., 2 ). This permanently doubles the gradient magnitude on the XLA arm, causing stateful optimizers like Adam to immediately diverge. Implementation Details Context Resolution Pipeline : Added a new private utility helper _get_num_replicas_in_sync() inside tensorflow/python/ops/nn_impl_distribute.py . This helper modifies the strategy discovery topology to prioritize checking the lightweight, per-thread active environment handle distribute_lib.get_replica_context() . This context is guaranteed to be populated inside strategy.run() and cleanly survives the Python frame switches involved in XLA function tracing. Defensive Invariants : Added type and range validation assertions to ensure the resolved replica integer count is a strictly positive Python int to catch structural strategy bugs prior to HLO constant generation. Caller Redirection : Refactored compute_average_loss to route dynamic scaling factor discovery through the new _get_num_replicas_in_sync() pipeline. Testing Harness expansion : Appended comprehensive unit and integration regression test suites ( TestGetNumReplicasInSync and TestComputeAverageLossXLAContextMasking ) directly to tensorflow/python/ops/nn_loss_scaling_utilities_test.py to formally mock context-masking behavior and assert proper scalar output reductions under isolated tracing simulation environments. Verification Status Syntactic and AST structural verification passes cleanly via py_compile checks. Code style preserves the 2-space baseline indentation layout standard to the internal package architecture.
ID: Hoppscotch CR-1, 2 Reviewed 2 PRs in the Hoppscotch repo. URLs: https://github.com/hoppscotch/hoppscotch/pull/6381 https://github.com/hoppscotch/hoppscotch/pull/6447
ID: JAX PR-1 I have made a PR which fixes an issue in jax-ml/jax repo. Pull Request (PR) URL: https://github.com/jax-ml/jax/pull/38617 Issue URL: https://github.com/jax-ml/jax/issues/38615
Quick progress update on Kinetic-AG: I finished wiring up the package metadata and strict tool configs in pyproject.toml , then built out the pure-Python reference oracle ( kvl/_oracle_ref.py ). I also implemented the budgeted JSON SSA executor in kvl/dsl.py and added JSON-program support directly into verify_engine.py . For test coverage, I added differential, property, and exhaustive 4×4 binary-grid suites in test_kvl_properties.py . Everything compiling and running locally looks solid—the exhaustive oracle comparison, DSL smoke checks, and checker integration tests all passed. The only hiccup is the property test suite: running it through unittest threw an import error because hypothesis is missing, and I couldn’t pull it down since the package index was down/unreachable. Once that’s reachable to install hypothesis , the full property suite should be ready to roll.
Ships:
Project Description: Ecosystem Contributions S1 What I Made: Instead of building a traditional standalone game or app, I built infrastructure fixes for the foundational deep-tech libraries that power the global AI stack. Whenever I hit a wall or encountered downtime while working on local AI models, I shifted focus to diagnosing issue trackers, investigating open bugs, and writing native performance patches. Over the course of the season, I authored and submitted critical upstream Pull Requests and code reviews directly to PyTorch , TensorFlow , and JAX , alongside reviewing technical code for ecosystem tooling like Hoppscotch . ⚡ What Was Challenging: The primary challenge lay in working deeply within the low-level architecture of modern hardware backends—navigating CPU SIMD vectorization paths and CUDA parallel device execution layers. Debugging silent framework miscompilations (like C++ template types or implicit signed integer promotions breaking tensor math) required a deep understanding of compiler behaviors, IEEE 754 floating-point standards, and strict multi-backend performance invariants. Ensuring that these critical bug fixes didn’t introduce compile-time regressions or runtime memory overhead meant writing highly specialized, production-ready C++17 and Python codebases under the scrutiny of core framework maintainers. What I Am Proud Of: I am incredibly proud of engineering robust fixes for long-standing mathematical edge cases that could cause critical models to diverge in production. Specifically, resolving the torch.sign NaN propagation flaw across CPU register paths and GPU lambdas, fixing silent uint8 miscompilations inside torch.compile, and eliminating XLA-compiled loss scaling trajectory divergence inside TensorFlow’s distributed multi-worker training loops. Contributing code that successfully passes through intensive open-source CI checks and gets merged by core engineering teams at Google and Meta is an incredibly rewarding milestone. How People Can Test This: Because these are upstream contributions to core machine learning frameworks, you don’t boot up a traditional user interface to test them. Instead, you can pull the latest master/main branches of PyTorch , TensorFlow , and JAX to see these native patches in action. Alternatively, you can directly inspect the codebase modifications, optimization benchmarks, and regression testing harnesses by reviewing my public pull requests on GitHub: PyTorch PR #184874, #187024, and #186930; TensorFlow PR #119354 and #121366; and JAX PR #38617. This was just Season 1—the foundations are laid, the upstream pipelines are open, and the engineering caliber is only scaling up from here....
|
1793688737.1104271
|
1793775137.1104271
|
|
16352
|
My very own WebOS by @aarish1000 | Stardance
|
aarish1000
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @aarish1000 | Stardanc Title: My very own WebOS by @aarish1000 | Stardance...
|
1793195327.3978271
|
1793800127.3978271
|
|
16353
|
Askane Adventure: Awakening of Light by @LouisVinc Askane Adventure: Awakening of Light by @LouisVincenzo15 | Stardance...
|
LouisVincenzo15
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Askane Adventure: Awakening of Light by @Lo Title: Askane Adventure: Awakening of Light by @LouisVincenzo15 | Stardance...
|
1793235220.273291
|
1793840020.273291
|
|
16354
|
Askance Adventure: Awakening of Light by @louisvin Askance Adventure: Awakening of Light by @louisvincenzo | Stardance...
|
louisvincenzo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Askance Adventure: Awakening of Light by @l Title: Askance Adventure: Awakening of Light by @louisvincenzo | Stardance...
|
1793544753.7392602
|
1794149553.7392602
|
|
16355
|
Toothless phone holder by @park-jiho | Stardance
|
park-jiho
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Toothless phone holder by @park-jiho | Star Title: Toothless phone holder by @park-jiho | Stardance...
|
1793202928.8327372
|
1793807728.8327372
|
|
16356
|
My very own WebOS by @VD1 | Stardance
|
VD1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @VD1 | Stardance
|
1793559580.7953107
|
1794164380.7953107
|
|
16357
|
Frictionless by @aqsa | Stardance
|
aqsa
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @aqsa | Stardance
|
1793501792.8474069
|
1794106592.8474069
|
|
16358
|
My very own WebOS by @Kazamir | Stardance
|
Kazamir
|
0
|
0.77
|
0
|
[]
|
[{"post_id": 6747, "ts": "2026 [{"post_id": 6747, "ts": "2026-06-11T09:18:47Z", "hours": 0.7711, "text": "Part 1 complete"}]...
|
Title: My very own WebOS by @Kazamir | Stardance
Title: My very own WebOS by @Kazamir | Stardance
Devlogs:
Part 1 complete...
|
1793296537.5973694
|
1793901337.5973694
|
|
16359
|
Pompey by @naveeraasad220 | Stardance
|
naveeraasad220
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Pompey by @naveeraasad220 | Stardance
|
1793415023.2416885
|
1794019823.2416885
|
|
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
|
|
16361
|
What's near the Earth ? by @ROBIN_ | Stardance
|
ROBIN_
|
0
|
1.71
|
0
|
[]
|
[{"post_id": 8741, "ts": "2026 [{"post_id": 8741, "ts": "2026-06-14T15:20:21Z", "hours": 1.7094, "text": "So i upgraded the estethics of the website and i added an iss live and an satellites tab but they don’t work well, that’s strange so i will fix it. For the satellite i will use Celestrak data and only get “famous” satellite because it can easily overcharge the website and make it crash :( So yeah see you on another devlog."}, {"post_id": 7096, "ts": "2026-06-11T21:29:27Z", "hours": 0.0, "text": "Beta v.1 So i am doing the beta version, but the api key don’t work well… I use the N2YO api key but no data appear on the screen. So i will fix that and possibly after this work for adding a 3d sphere with the location of the user where he can easily see what satellite is over his head See you soon :) Robin_"}]...
|
Title: What's near the Earth ? by @ROBIN_ | St Title: What's near the Earth ? by @ROBIN_ | Stardance
Devlogs:
Beta v.1 So i am doing the beta version, but the api key don’t work well… I use the N2YO api key but no data appear on the screen. So i will fix that and possibly after this work for adding a 3d sphere with the location of the user where he can easily see what satellite is over his head See you soon :) Robin_
So i upgraded the estethics of the website and i added an iss live and an satellites tab but they don’t work well, that’s strange so i will fix it. For the satellite i will use Celestrak data and only get “famous” satellite because it can easily overcharge the website and make it crash :( So yeah see you on another devlog....
|
1793382826.1165783
|
1793987626.1165783
|
|
16362
|
Frictionless by @Devarth | Stardance
|
Devarth
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @Devarth | Stardance
|
1793354224.7240875
|
1793959024.7240875
|
|
16363
|
Drum Machine by @Kaiwen | Stardance
|
Kaiwen
|
0
|
8.47
|
0
|
[]
|
[{"post_id": 20002, "ts": "202 [{"post_id": 20002, "ts": "2026-07-01T14:07:50Z", "hours": 3.1411, "text": "oh my god its finally done, I had to rush it because i have other stuff to do"}, {"post_id": 19588, "ts": "2026-06-30T22:42:59Z", "hours": 3.4694, "text": "I finally done it! after refactoring I figured out how to add dynamic buttons, I feel like my progress will be much faster now I understand the syntax"}, {"post_id": 16258, "ts": "2026-06-26T13:04:40Z", "hours": 1.5347, "text": "Dynamic buttons per instrument"}, {"post_id": 6764, "ts": "2026-06-11T10:24:28Z", "hours": 0.3217, "text": "Trying to make the instrument tracks grow dynamically, not the coolest part but I am on my way :)"}]...
|
Title: Drum Machine by @Kaiwen | Stardance
Devlog Title: Drum Machine by @Kaiwen | Stardance
Devlogs:
Trying to make the instrument tracks grow dynamically, not the coolest part but I am on my way :)
Dynamic buttons per instrument
I finally done it! after refactoring I figured out how to add dynamic buttons, I feel like my progress will be much faster now I understand the syntax
oh my god its finally done, I had to rush it because i have other stuff to do...
|
1793285813.7903411
|
1793890613.7903411
|
|
16364
|
Frictionless by @kartikagarwal | Stardance
|
kartikagarwal
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @kartikagarwal | Stardance
|
1793404477.718928
|
1794009277.718928
|
|
16365
|
Parametric Gear Generator by @27sean_coleman | Sta Parametric Gear Generator by @27sean_coleman | Stardance...
|
27sean_coleman
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Parametric Gear Generator by @27sean_colema Title: Parametric Gear Generator by @27sean_coleman | Stardance...
|
1793180971.9444027
|
1793785771.9444027
|
|
16366
|
My very own WebOS by @navyabhatia | Stardance
|
navyabhatia
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @navyabhatia | Stardan Title: My very own WebOS by @navyabhatia | Stardance...
|
1793217214.2011442
|
1793822014.2011442
|
|
16367
|
My first slack bot! by @Liel | Stardance
|
Liel
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Liel | Stardance
|
1793177612.9229617
|
1793782412.9229617
|
|
16368
|
CineOs- Your personal theatre by @dalnrojs | Stard CineOs- Your personal theatre by @dalnrojs | Stardance...
|
dalnrojs
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: CineOs- Your personal theatre by @dalnrojs Title: CineOs- Your personal theatre by @dalnrojs | Stardance...
|
1793530287.2892663
|
1794135087.2892663
|
|
16369
|
My awesome macropad! by @Kiara | Stardance
|
Kiara
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Kiara | Stardance
|
1793393593.8353405
|
1793998393.8353405
|
|
16370
|
My awesome macropad! by @muhammadabdullah | Starda My awesome macropad! by @muhammadabdullah | Stardance...
|
muhammadabdullah
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @muhammadabdullah | Title: My awesome macropad! by @muhammadabdullah | Stardance...
|
1793487442.71102
|
1794092242.71102
|
|
16371
|
Frictionless by @Tiiya | Stardance
|
Tiiya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @Tiiya | Stardance
|
1793422334.1725674
|
1794027134.1725674
|
|
16372
|
My very own WebOS by @scar | Stardance
|
scar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @scar | Stardance
|
1793544808.3323712
|
1794149608.3323712
|
|
16373
|
My awesome macropad! by @Scarlet-s | Stardance
|
Scarlet-s
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Scarlet-s | Starda Title: My awesome macropad! by @Scarlet-s | Stardance...
|
1793551941.689513
|
1794156741.689513
|
|
16374
|
Untitled project by @gregorydaley1209 | Stardance
|
gregorydaley1209
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @gregorydaley1209 | Sta Title: Untitled project by @gregorydaley1209 | Stardance...
|
1793530106.1019502
|
1794134906.1019502
|
|
16375
|
My awesome macropad! by @des | Stardance
|
des
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @des | Stardance
|
1793181298.2169864
|
1793786098.2169864
|
|
16376
|
My very own WebOS by @Kye-Reece | Stardance
|
Kye-Reece
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Kye-Reece | Stardance
|
1793519350.0663722
|
1794124150.0663722
|
|
16377
|
art by @Jasmin | Stardance
|
Jasmin
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: art by @Jasmin | Stardance
|
1793379291.9695091
|
1793984091.9695091
|
|
16378
|
Autonomous AI Wrover by @Alvez | Stardance
|
Alvez
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Autonomous AI Wrover by @Alvez | Stardance
|
1793490622.9352026
|
1794095422.9352026
|
|
16379
|
koshipad by @koshi | Stardance
|
koshi
|
0
|
1.67
|
0
|
[]
|
[{"post_id": 32357, "ts": "202 [{"post_id": 32357, "ts": "2026-07-21T14:09:24Z", "hours": 0.79, "text": "Learning fusion 360 was really challenging, I took a huge break and didn’t work for days but my hackpad case is finally complete im going to work on Firmware now and ship my project."}, {"post_id": 12061, "ts": "2026-06-19T17:48:41Z", "hours": 0.5197, "text": "I’m finally done with PCB layout and routing, routing the LEDs was a tough work then right after that I got 62 errors because of LED footprint board edge clearance violation ദ്ദി╥ ᴗ ╥) I wasted a lot of time trying to figure out how to fix those when i just had to ignore those errors lol. Anyways I also realised we had to use kicad time tracker which I stared using after my pcb was done lol so yeah it took a lot more time than it shows. I also added a cute bocchi graphic there."}, {"post_id": 6738, "ts": "2026-06-11T08:51:31Z", "hours": 0.3592, "text": "Hello everyone koshi here! ( ˶ˆᗜˆ˵ ) This is my first devlog also my first hack club project. I’m making a macropad for the hackpad course and it has been really fun and exciting till now. I didn’t know anything about electronics and PCB so I spent the first two days just learning everything about it while also working on my schematic which is finally done. I ran into a small problem though, I was running short on 1 pin for the OLED display in the microcontroller so to solve that i sacrificed the push switch in the rotatory encoder now I can have everything, LEDs and OLED display along with rotatory encoder lol. Next step is working on the footprint. see you in the next Devlog!byee"}]...
|
Title: koshipad by @koshi | Stardance
Devlogs:
He Title: koshipad by @koshi | Stardance
Devlogs:
Hello everyone koshi here! ( ˶ˆᗜˆ˵ ) This is my first devlog also my first hack club project. I’m making a macropad for the hackpad course and it has been really fun and exciting till now. I didn’t know anything about electronics and PCB so I spent the first two days just learning everything about it while also working on my schematic which is finally done. I ran into a small problem though, I was running short on 1 pin for the OLED display in the microcontroller so to solve that i sacrificed the push switch in the rotatory encoder now I can have everything, LEDs and OLED display along with rotatory encoder lol. Next step is working on the footprint. see you in the next Devlog!byee
I’m finally done with PCB layout and routing, routing the LEDs was a tough work then right after that I got 62 errors because of LED footprint board edge clearance violation ദ്ദി╥ ᴗ ╥) I wasted a lot of time trying to figure out how to fix those when i just had to ignore those errors lol. Anyways I also realised we had to use kicad time tracker which I stared using after my pcb was done lol so yeah it took a lot more time than it shows. I also added a cute bocchi graphic there.
Learning fusion 360 was really challenging, I took a huge break and didn’t work for days but my hackpad case is finally complete im going to work on Firmware now and ship my project....
|
1793224250.9968748
|
1793829050.9968748
|
|
16380
|
My first slack bot! by @AFRO | Stardance
|
AFRO
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @AFRO | Stardance
|
1793785918.6932662
|
1794390718.6932662
|
|
16381
|
PIANO by @dravenlancaster79 | Stardance
|
dravenlancaster79
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-13T18:18:03Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "After many hours of leaning and tutorials(and many idea shifts), the piano is finished with a playable demo in wokwi! there was many struggles, the first of which being making multiple inputs and outputs, the next was getting each button connected to its own tone, after many hours of research it was finally finished and ready to go!", "repo": "https://github.com/dravenlancaster79-creator/DATHFINDER-piano", "demo": ""}]...
|
[{"post_id": 8234, "ts": "2026 [{"post_id": 8234, "ts": "2026-06-13T18:14:12Z", "hours": 0.6117, "text": "finished some firmare nd part searching !!!"}, {"post_id": 7661, "ts": "2026-06-12T20:05:09Z", "hours": 0.9747, "text": "So today so far ive been doing lots of reaserch and tests because when I use one input(button) and one output(light) everything works, but as soon as I add another in/out combo everything breaks has everything on and the buttons turn the lights off which is strange, idk if its code placement or what, ive been rewriting the code using INT instead of uint8_t(i did reaserch appearentlt its better but still breakin) SUCSESS IS AHEAD!!!"}, {"post_id": 7227, "ts": "2026-06-12T02:00:00Z", "hours": 0.4158, "text": "Currently made a Schematic,pcb design, as well as a 3d model! ran into issues with Arduino IDE But i hope to fix it so my hours will be logged soon, if not, going to resort to using VS code and transferring it to Arduino"}]...
|
Title: PIANO by @dravenlancaster79 | Stardance
De Title: PIANO by @dravenlancaster79 | Stardance
Devlogs:
Currently made a Schematic,pcb design, as well as a 3d model! ran into issues with Arduino IDE But i hope to fix it so my hours will be logged soon, if not, going to resort to using VS code and transferring it to Arduino
So today so far ive been doing lots of reaserch and tests because when I use one input(button) and one output(light) everything works, but as soon as I add another in/out combo everything breaks has everything on and the buttons turn the lights off which is strange, idk if its code placement or what, ive been rewriting the code using INT instead of uint8_t(i did reaserch appearentlt its better but still breakin) SUCSESS IS AHEAD!!!
finished some firmare nd part searching !!!
Ships:
After many hours of leaning and tutorials(and many idea shifts), the piano is finished with a playable demo in wokwi! there was many struggles, the first of which being making multiple inputs and outputs, the next was getting each button connected to its own tone, after many hours of research it was finally finished and ready to go!...
|
1793717447.1679606
|
1793803847.1679606
|
|
16382
|
My awesome macropad! by @24cguttridge | Stardance
|
24cguttridge
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @24cguttridge | Sta Title: My awesome macropad! by @24cguttridge | Stardance...
|
1793256528.0074444
|
1793861328.0074444
|
|
16383
|
art by @maddyson | Stardance
|
maddyson
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: art by @maddyson | Stardance
|
1793271294.778867
|
1793876094.778867
|
|
16384
|
My very own WebOS by @lilyyy | Stardance
|
lilyyy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @lilyyy | Stardance
|
1793303303.1919608
|
1793908103.1919608
|
|
16385
|
Desktop Buddy by @Lightfury | Stardance
|
Lightfury
|
1
|
22.0
|
0
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-31T06:21:49Z", "hours": 22.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made Desktop Buddy, Cinder, a little PyQt6 cat that hangs out on your desktop. You can drag it around, and right-clicking opens menus I styled myself, including a timer. My favorite part is the pet reaction: if you circle your cursor around the cat, it gets petted and hearts pop out :) The hardest part was getting the cat to look right. I spent ages polishing the tail and the outline so it didn’t look janky on a transparent window. I’m really proud of how the little interactions feel, especially the petting. To try it, run the app, drag the cat anywhere on your screen, circle it with your cursor to pet it, and right-click it to set a timer or exit. Giving in a detailed description into the feature: Timer: The timer offers you two options a pomodoro or a custom timer Stopwatch Water reminder: A water reminder where you can set the frequency of the reminder because staying hydrated is important! To do list: a simple minimal to- do to make sure your tasks are up to date .", "repo": "https://github.com/Ishita-Sreedhar/Cinder-", "demo": "https://ishita-sreedhar.github.io/Cinder-/"}]...
|
[{"post_id": 85356, "ts": "202 [{"post_id": 85356, "ts": "2026-10-31T06:12:16Z", "hours": 1.5553, "text": "Meet Cinder, a small cat for long work days. What she does Focus timer and Pomodoro Stopwatch To-do list with confetti Water reminders Pet her by circling your cursor around her How to start : Download Cinder.exe and double-click it. If Windows shows a blue SmartScreen box, choose More info, then Run anyway. Cinder isn’t code-signed yet. Website: https://ishita-sreedhar.github.io/Cinder-/"}, {"post_id": 75333, "ts": "2026-09-29T19:28:11Z", "hours": 0.9261, "text": "Integrated the custom and pomodoro timer with the main car finally donee!"}, {"post_id": 72770, "ts": "2026-09-23T18:26:35Z", "hours": 8.3636, "text": "⏱️ TimerAdded Pomodoro and Custom timer modes. Implemented countdown, start/pause, work/break phases, and completion alerts. -Added custom duration input with validation. -Added timer selection screen with Pomodoro/Custom options. -Added custom timer UI with background, fonts, and styling. -Implemented draggable timer windows. -Currently working on the right-click Exit menu for the timer window."}, {"post_id": 28836, "ts": "2026-07-15T10:47:32Z", "hours": 4.1825, "text": "Devlog 2 Cinder now slowly wags his tail Looks at what you do as you move your cursor Blinks his eyes periodically Displays different messages when you start using Cinder, based on the time of day Sleeps after 10+ minutes of inactivity In Development: To-do list integration Reminders integration Water reminders integration"}, {"post_id": 22975, "ts": "2026-07-05T17:35:21Z", "hours": 6.8122, "text": "Hi! Making a cute lil cat desktop buddy. Meet Cinder y’all !!!"}]...
|
Title: Desktop Buddy by @Lightfury | Stardance
De Title: Desktop Buddy by @Lightfury | Stardance
Devlogs:
Hi! Making a cute lil cat desktop buddy. Meet Cinder y’all !!!
Devlog 2 Cinder now slowly wags his tail Looks at what you do as you move your cursor Blinks his eyes periodically Displays different messages when you start using Cinder, based on the time of day Sleeps after 10+ minutes of inactivity In Development: To-do list integration Reminders integration Water reminders integration
⏱️ TimerAdded Pomodoro and Custom timer modes. Implemented countdown, start/pause, work/break phases, and completion alerts. -Added custom duration input with validation. -Added timer selection screen with Pomodoro/Custom options. -Added custom timer UI with background, fonts, and styling. -Implemented draggable timer windows. -Currently working on the right-click Exit menu for the timer window.
Integrated the custom and pomodoro timer with the main car finally donee!
Meet Cinder, a small cat for long work days. What she does Focus timer and Pomodoro Stopwatch To-do list with confetti Water reminders Pet her by circling your cursor around her How to start : Download Cinder.exe and double-click it. If Windows shows a blue SmartScreen box, choose More info, then Run anyway. Cinder isn’t code-signed yet. Website: https://ishita-sreedhar.github.io/Cinder-/
Ships:
I made Desktop Buddy, Cinder, a little PyQt6 cat that hangs out on your desktop. You can drag it around, and right-clicking opens menus I styled myself, including a timer. My favorite part is the pet reaction: if you circle your cursor around the cat, it gets petted and hearts pop out :) The hardest part was getting the cat to look right. I spent ages polishing the tail and the outline so it didn’t look janky on a transparent window. I’m really proud of how the little interactions feel, especially the petting. To try it, run the app, drag the cat anywhere on your screen, circle it with your cursor to pet it, and right-click it to set a timer or exit. Giving in a detailed description into the feature: Timer: The timer offers you two options a pomodoro or a custom timer Stopwatch Water reminder: A water reminder where you can set the frequency of the reminder because staying hydrated is important! To do list: a simple minimal to- do to make sure your tasks are up to date ....
|
1793728559.0573554
|
1793814959.0573554
|
|
16386
|
My first slack bot! by @Sun | Stardance
|
Sun
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Sun | Stardance
|
1793393476.0658295
|
1793998276.0658295
|
|
16387
|
dragonfist limitless by @ciacxz | Stardance
|
ciacxz
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: dragonfist limitless by @ciacxz | Stardance
|
1793465628.5331724
|
1794070428.5331724
|
|
16388
|
My awesome macropad! by @Summerr | Stardance
|
Summerr
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Summerr | Stardanc Title: My awesome macropad! by @Summerr | Stardance...
|
1793285476.248209
|
1793890276.248209
|
|
16389
|
My awesome macropad! by @Peanutbutter | Stardance
|
Peanutbutter
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Peanutbutter | Sta Title: My awesome macropad! by @Peanutbutter | Stardance...
|
1793354077.944743
|
1793958877.944743
|
|
16390
|
My first slack bot! by @scar | Stardance
|
scar
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @scar | Stardance
|
1793566127.4708755
|
1794170927.4708755
|
|
16391
|
My first slack bot! by @Kye-Reece | Stardance
|
Kye-Reece
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @Kye-Reece | Stardan Title: My first slack bot! by @Kye-Reece | Stardance...
|
1793785644.8832648
|
1794390444.8832648
|
|
16392
|
Untitled by @Tiiya | Stardance
|
Tiiya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Tiiya | Stardance
|
1793188131.181115
|
1793792931.181115
|
|
16393
|
Untitled by @Sun | Stardance
|
Sun
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @Sun | Stardance
|
1793404420.7465584
|
1794009220.7465584
|
|
16394
|
My awesome macropad! by @neha_sunil | Stardance
|
neha_sunil
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @neha_sunil | Stard Title: My awesome macropad! by @neha_sunil | Stardance...
|
1793490450.0191681
|
1794095250.0191681
|
|
16395
|
ETT by @umerasif | Stardance
|
umerasif
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ETT by @umerasif | Stardance
|
1793372105.958296
|
1793976905.958296
|
|
16396
|
My first slack bot! by @maddyson | Stardance
|
maddyson
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @maddyson | Stardanc Title: My first slack bot! by @maddyson | Stardance...
|
1793274681.8755581
|
1793879481.8755581
|
|
16397
|
My awesome macropad! by @Tiiya | Stardance
|
Tiiya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Tiiya | Stardance
|
1793450987.8497667
|
1794055787.8497667
|
|
16398
|
Frictionless by @maddyson | Stardance
|
maddyson
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Frictionless by @maddyson | Stardance
|
1793519694.8490853
|
1794124494.8490853
|
|
16399
|
Smooth Parkour by @CarmeloTheGoat | Stardance
|
CarmeloTheGoat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Smooth Parkour by @CarmeloTheGoat | Stardan Title: Smooth Parkour by @CarmeloTheGoat | Stardance...
|
1793242422.0377824
|
1793847222.0377824
|
|
16400
|
My very own WebOS by @Tiiya | Stardance
|
Tiiya
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My very own WebOS by @Tiiya | Stardance
|
1793339339.9056726
|
1793944139.9056726
|