Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions src/constants/MarkdownFiles/authors/shubham-singh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
name: "Shubham Singh"
slug: "shubham singh"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because you don't have a hyphen here, the page is not the same as what is linked from your blog.

This is resulting in a blank page, when navigating from the blog.

Screenshot from 2025-06-22 20-35-54

Please add the hyphen, test the results, and push your changes upon success.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried that in his PR as well, somehow it does not seem to work. Ive tried pasting my blog and changing the slugs, does not work :( May be @FirePheonix Try raising a new PR?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It works for me, so I recommend trying the change in this PR.

hyphen added:
Screenshot from 2025-06-22 21-23-48

result (page works):
Screenshot from 2025-06-22 21-22-26

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i've been trying to do this for so long(since wednesday). thanks devin.
And yeah, I found the ACTUAL issue.

I put FirePheonix in .md file's slug.
I should've been firepheonix.
Now everything is working fine.

title: "Maintainer and GSoC'25 Contributor"
organization: "SugarLabs"
description: "Maintainer and GSoC'25 Contributor at SugarLabs"
avatar: "https://avatars.githubusercontent.com/u/174003514?s=400&u=e43600ba24f563f3799388137119ae119c74ffac&v=4"
---

<!--markdownlint-disable-->

# About Shubham

Shubham Singh is a passionate developer, open-source contributor, and Google Summer of Code 2025 contributor at SugarLabs. As a core contributor, he brings together creativity and functionality, optimizing both the user experience and technical performance of projects. Shubham is currently working on enhancing educational tools, with a focus on accessibility, interactivity, and meaningful design—empowering learners globally through open-source innovation.


## Experience

- **GSoC 2025**: Music Blocks v3 color sensor development
- **SugarLabs Maintainer**: Active contributor to various projects

## Current Projects

- Music Blocks v3 Development of Color Sensor.
- SugarLabs website development


## Connect with Me

- **GitHub**: [@FirePheonix](https://github.com/FirePheonix)
- **Email**: [[email protected]](mailto:[email protected])
- **LinkedIn**: [Shubham Singh](https://www.linkedin.com/in/shubham-singh-8a5643198/)
- **Twitter**: [@shubhamm069](https://x.com/shubhamm069)
- **Website**:
- **Discord**: [ctrlaltresett](https://discord.com/users/Shubham#0418)
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
---
title: "GSoC '25 Week 2 Update by Shubham Singh"
excerpt: "Adding the entire prototyped interface ON TO the music blocks"
category: "DEVELOPER NEWS"
date: "2025-06-14"
slug: "2025-06-14-gsoc-25-FirePheonix-week02"
author: "@/constants/MarkdownFiles/authors/shubham-singh.md"
tags: "gsoc25,sugarlabs,week02,FirePheonix"
image: "assets/Images/GSOC.png"
---

<!-- markdownlint-disable -->

# Week 2 Progress Report by Shubham Singh

**Project:** [Color Sensor for Music Blocks](https://github.com/sugarlabs/musicblocks/issues/4537)
**Mentors:** [Devin Ulibarri](https://github.com/pikurasa), [Walter Bender](https://github.com/walterbender)
**Reporting Period:** 2025-06-08 – 2025-06-15

---

## Goals for This Week

- Basic UI for Image Upload/Real-time Video upload and adjustment.
- Integrating the developed UIs onto the widget blocks within Music Blocks.
- Researching existing audio integration patterns in the phrase maker and note blocks.

---

## This Week's Achievements

1. **Interface Implementation for Lego Notations**
- Successfully integrated the LegoBricks block directly onto the Music Blocks canvas.
- Modified 6 different files to implement an entirely new block type.
- Music Blocks already has sophisticated color detection for internal pixels, but couldn't detect colors from external sources like uploaded images or webcam feeds — this limitation was addressed.
- The codebase proved beautifully encapsulated and thoroughly documented, making the learning curve smoother.
![Interface Implementation](https://i.ibb.co/d0X9zXjF/1st.png)

2. **Real-time Video Integration**
- Implemented real-time video functionality through webcam integration.
- Added full editing capabilities and canvas manipulation for live video feeds.
- Interface provides seamless interaction between video feed and detection algorithms.
![Real-time Video Feature](https://i.ibb.co/cXL4Hpxq/2nd.png)

3. **Export Mechanism Research**
- Conducted extensive research into existing export mechanisms within Music Blocks.
- Deep-dived into Phrase Maker widget documentation and codebase.
- Studied how different blocks export output as both MIDI files and action blocks.
![Export Research](https://i.ibb.co/bVD8Z54/image.png)

---

## Challenges & How I Overcame Them

- **Challenge:** UI integration complexity — getting the UI integrated into Music Blocks proved more challenging than expected due to intricate dependencies and specific implementation patterns required by the block system.
**Solution:** Leveraged multiple resources including mentor consultations, existing documentation on "how to add new blocks," and analyzed previous implementations for reference patterns.

- **Challenge:** User workflow design — determining optimal user workflow for the Lego Bricks block required careful consideration of user interaction patterns and integration with existing functionality.
**Solution:** Scheduled focused discussion with mentor during regular meeting to analyze phrase maker export functionality, gaining crucial insights into user experience patterns and technical approaches.

---

## Key Learnings

- Gained comprehensive understanding of **output mechanisms** and how different blocks handle their output generation and processing.
- Deepened appreciation for **code architecture** including inheritance patterns, code modularity, and custom return types within the Music Blocks ecosystem.
- Improved skills in **development workflow** including exports, imports, code reusability, documentation practices, and collaborative development workflows.

---

## Next Week's Roadmap

- Implement comprehensive mapping of musical notes to Lego brick colors.
- Complete the core implementation during weeks 2 and 3, ensuring robust functionality and thorough testing.
- Focus on algorithmic challenges for note-to-color mapping system.

---

## Resources & References

- **Project Issue:** [Color Sensor for Music Blocks](https://github.com/sugarlabs/musicblocks/issues/4537)
- **Music Blocks Repository:** [sugarlabs/musicblocks](https://github.com/sugarlabs/musicblocks)
- **Documentation:** Music Blocks Developer Guide

---

## Acknowledgments

Thank you to my mentors [Walter Bender](https://github.com/walterbender) and [Devin Ulibarri](https://github.com/pikurasa) for invaluable guidance throughout this development phase. Special thanks to Walter for his advice during our biweekly meeting on how the phrase maker exports output as ACTION blocks.

---