<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://adityapandeycn.github.io/feed.xml" rel="self" type="application/atom+xml"/><link href="https://adityapandeycn.github.io/" rel="alternate" type="text/html" hreflang="en"/><updated>2026-09-19T16:36:35+00:00</updated><id>https://adityapandeycn.github.io/feed.xml</id><title type="html">blank</title><subtitle>Engineering, open source, and computational neuroscience. </subtitle><entry><title type="html">GSoC 2025 with CERN-HSF</title><link href="https://adityapandeycn.github.io/blog/2025/gsoc-2025-cern-hsf/" rel="alternate" type="text/html" title="GSoC 2025 with CERN-HSF"/><published>2025-06-28T00:00:00+00:00</published><updated>2025-06-28T00:00:00+00:00</updated><id>https://adityapandeycn.github.io/blog/2025/gsoc-2025-cern-hsf</id><content type="html" xml:base="https://adityapandeycn.github.io/blog/2025/gsoc-2025-cern-hsf/"><![CDATA[<p><img src="/assets/img/gsoc2025.png" alt="GSoC 2025" width="100%"/></p> <p>I’m excited to share that I’ve been selected for Google Summer of Code 2025 with CERN-HSF, working on “Using ROOT in the field of genome sequencing.”</p> <h2 id="what-is-this-blog-about">What is this blog about?</h2> <p>This blog will document my Google Summer of Code experience with CERN-HSF, focusing on applying the ROOT framework to genomic data analysis.</p> <h2 id="why-cern-hsf">Why CERN-HSF?</h2> <p>I’ve been interested in CERN since learning about the Higgs boson discovery in 2012. The technology behind particle physics research always fascinated me, so when GSoC 2025 applications opened, CERN-HSF was my top choice.</p> <p>The HSF (HEP Software Foundation) operates as an umbrella organization for high-energy physics software projects. What attracts me to this field is how particle physicists tackle fundamental questions about the universe using cutting-edge computational tools.</p> <h2 id="project-discovery">Project discovery</h2> <p>I spent time exploring the HSF project ideas published on February 11 and found two that matched my interests:</p> <p><strong>Project 1: TMVA SOFIE - HLS4ML Integration</strong></p> <p>This focused on machine learning inference optimization within ROOT’s TMVA toolkit. The goal was integrating hls4ml with SOFIE to enable efficient ML model inference, converting models from Keras, PyTorch, and ONNX formats into optimized C++ code.</p> <p><strong>Project 2: Using ROOT in Genome Sequencing</strong></p> <p>This involved applying ROOT’s data processing capabilities to genomic data storage and analysis, using particle physics tools for biological research.</p> <h2 id="following-the-selection-process">Following the selection process</h2> <p>CERN-HSF has a structured two-phase selection process due to the high number of applicants.</p> <p><strong>Phase 1 (Feb 27 to March 24): Pre-selection and evaluation tests</strong></p> <p>Following the guidelines, I waited until February 27 to contact mentors. I sent emails for both projects, attaching my CV and explaining my motivation for each choice.</p> <p>Both project mentors responded with evaluation tests.</p> <p>For TMVA SOFIE / HLS4ML, the test evaluated:</p> <ul> <li>C++ and Python programming skills</li> <li>Understanding of machine learning frameworks (PyTorch, ONNX)</li> <li>Knowledge of hls4ml architecture and high-level synthesis concepts</li> <li>Familiarity with ROOT’s TMVA system</li> <li>Understanding of model optimization and inference techniques</li> </ul> <p>For Using ROOT in Genome Sequencing, the test covered:</p> <ul> <li>C++ and Python programming proficiency</li> <li>Understanding of ROOT framework and its data structures</li> <li>Knowledge of genomic data formats (SAM/BAM files)</li> <li>Familiarity with bioinformatics tools and workflows</li> <li>Understanding of data compression and storage optimization</li> </ul> <p>Both tests were challenging and required practical coding skills alongside theoretical knowledge. The mentors emphasized that the tests were private, solutions should be personal, and response time was part of the evaluation.</p> <p><strong>Phase 2 (March 24 to April 8): Proposal development</strong></p> <p>By April 1, I received emails from both mentors that I had passed the evaluation tests. This began the second phase, where I discussed project ideas, timelines, and objectives with mentors.</p> <p>The mentors helped me develop detailed proposals for both projects. The application deadline was April 8, and I submitted 3 proposals.</p> <h2 id="the-selection-results">The selection results</h2> <p>On May 8, Google announced the accepted student projects. Earlier I received an email from one of the organization admins saying I was selected for 2 projects and needed to make a choice.</p> <p>It was good to know that I had been selected for both projects. That meant both proposals and evaluation performances were strong enough for acceptance through the competitive two-phase process.</p> <h2 id="making-the-decision">Making the decision</h2> <p>Choosing between the two projects was difficult since both offered unique learning opportunities. I ultimately chose “Using ROOT in the field of genome sequencing” because:</p> <ol> <li><strong>Interdisciplinary nature:</strong> it combines computational physics with bioinformatics</li> <li><strong>Novel application:</strong> ROOT isn’t commonly used for genomic data analysis</li> <li><strong>Practical relevance:</strong> genomic datasets are growing rapidly and need efficient storage solutions</li> <li><strong>Technical innovation:</strong> working with ROOT’s new RNTuple format alongside traditional bioinformatics tools</li> </ol> <p>Also the most important factor was that my previous GSoC was in bioinformatics, so it made sense to streamline my experience. Seeing Google DeepMind’s work in the field made it more interesting too. I also became part of Princeton University’s Compiler Research Team, working with some of the finest developers.</p> <h2 id="building-on-previous-experience">Building on previous experience</h2> <p>This isn’t my first GSoC participation. My previous experience taught me valuable lessons about:</p> <ul> <li>Managing project scope and setting realistic milestones</li> <li>Maintaining regular communication with mentors and the community</li> <li>Documenting progress systematically (mandatory for CERN-HSF students)</li> <li>Writing clean, maintainable code for open source projects</li> </ul> <p>That experience helped me navigate the structured selection process and better evaluate which project would be the best fit.</p> <h2 id="project-overview">Project overview</h2> <p>The selected project focuses on extending GeneROOT capabilities through:</p> <ul> <li>Reproducing previous results and validating comparisons against ROOT master</li> <li>Compression analysis comparing ROOT’s strategies with Samtools for BAM/RAM conversions</li> <li>RNTuple implementation for efficient genomic data storage</li> <li>File splitting techniques and different ROOT file splitting approaches</li> <li>Performance benchmarking and comparison reports</li> </ul> <p>ROOT typically achieves 10-50% smaller file sizes and multiple times faster read throughput compared to traditional formats. Applied to genomic data, this could improve storage efficiency and analysis speed for research institutions.</p> <h2 id="working-with-my-mentors">Working with my mentors</h2> <p>I’ll be working with:</p> <ul> <li>Martin Vasilev from University of Plovdiv</li> <li>Vassil Vassilev from Princeton University</li> <li>Fons Rademakers from CERN</li> </ul> <p>These developers have extensive experience with ROOT and particle physics data analysis.</p> <h2 id="whats-coming-next">What’s coming next</h2> <p>I’m currently working on the project and have done most of the part involving the RNTuple converter.</p> <p>In upcoming posts, I’ll document technical implementation details, performance comparisons, challenges in interdisciplinary software development, and lessons learned.</p> <p>Thanks for reading! I’m looking forward to contributing at this intersection of particle physics and genomics research.</p>]]></content><author><name></name></author><category term="blog"/><category term="GSoC"/><category term="CERN"/><category term="open-source"/><summary type="html"><![CDATA[Selected for Google Summer of Code 2025 with CERN-HSF, working on ROOT for genome sequencing.]]></summary></entry><entry><title type="html">First Month of GSoC</title><link href="https://adityapandeycn.github.io/blog/2024/first-month-of-gsoc/" rel="alternate" type="text/html" title="First Month of GSoC"/><published>2024-07-06T00:00:00+00:00</published><updated>2024-07-06T00:00:00+00:00</updated><id>https://adityapandeycn.github.io/blog/2024/first-month-of-gsoc</id><content type="html" xml:base="https://adityapandeycn.github.io/blog/2024/first-month-of-gsoc/"><![CDATA[<p><img src="/assets/img/nerve.jpg" alt="Neuronal morphology" width="100%"/></p> <p>This is about my experience in Google Summer of Code, a recap of the first month with INCF.</p> <h2 id="pre-cap-of-my-first-month">Pre-cap of my first month</h2> <p>Continuing my previous post about GSoC with INCF, I’m writing down what I learned.</p> <p>The first month went like the wind, probably the most impactful month for me learning programming. It’s been an incredible journey of growth and discovery, both in technical skills and professional development.</p> <p>One major accomplishment was creating a pull request that added a new module for loading and parsing SWC files. Developing this module taught me a lot about file handling, data structures, and efficient parsing techniques.</p> <p>Perhaps most important was learning software development best practices, which dramatically improved the quality and maintainability of my code:</p> <ol> <li><strong>Writing test files:</strong> thorough unit tests from my mentors, catching bugs early.</li> <li><strong>Adding docstrings:</strong> clear documentation so anyone can understand and contribute.</li> <li><strong>Implementing type hints:</strong> more readable code and fewer type-related errors.</li> <li><strong>Utilizing logger functions:</strong> proper logging instead of <code class="language-plaintext highlighter-rouge">print</code>, making debugging far more efficient.</li> </ol> <p>These practices gave me a deeper understanding of what it means to be a professional software developer. Support from my mentors at INCF has been invaluable.</p> <h2 id="ucl-lab-meetings">UCL lab meetings</h2> <p>I was fortunate enough to attend Silver Lab’s weekly meeting, where they discuss lab challenges and researchers share learnings of the week. Academia’s calm, composed culture stands out. Much of technological progress stands on the shoulders of research work done there. I don’t always follow every paper discussion, but thinking from first principles helps everything click.</p> <h2 id="whats-next">What’s next</h2> <p>Until now we have developed a program to successfully load and parse SWC data. The next step is converting it to NeuroML, covering edge cases and understanding soma handling. Thankfully I have Cvapp (a Java-based converter developed by my other mentor Padraig Gleeson) to look up to.</p> <p>Thank you for joining me on this adventure. Looking forward to sharing more challenges and lessons in the next posts.</p> <p>Happy reading!</p>]]></content><author><name></name></author><category term="blog"/><category term="GSoC"/><category term="open-source"/><category term="neuroscience"/><summary type="html"><![CDATA[A recap of my first month with GSoC at INCF: SWC parsing, software practices, and UCL lab meetings.]]></summary></entry><entry><title type="html">Google Summer of Code with INCF</title><link href="https://adityapandeycn.github.io/blog/2024/google-summer-of-code/" rel="alternate" type="text/html" title="Google Summer of Code with INCF"/><published>2024-06-13T00:00:00+00:00</published><updated>2024-06-13T00:00:00+00:00</updated><id>https://adityapandeycn.github.io/blog/2024/google-summer-of-code</id><content type="html" xml:base="https://adityapandeycn.github.io/blog/2024/google-summer-of-code/"><![CDATA[<p><img src="/assets/img/gsoc-banner.png" alt="GSoC" width="100%"/></p> <p>Welcome to my second post. I’m excited to share my thoughts and experiences about Google Summer of Code.</p> <h2 id="what-is-this-post-about">What is this post about?</h2> <p>This post covers my initial experience with Google Summer of Code with <a href="https://www.incf.org/">INCF</a> (International Neuroinformatics Coordinating Facility).</p> <h2 id="the-organization-incf">The organization: INCF</h2> <p>INCF promotes the field of neuroinformatics and aims to advance data reuse and reproducibility in global brain research.</p> <p>INCF works on exciting applications of computer science to medical data and serves as an umbrella organization for many projects worldwide. The primary reasons INCF felt like a natural fit:</p> <ul> <li>INCF has participated as a mentoring organization in GSoC since 2011.</li> <li>An interesting and well-documented list of ideas (released early, around December).</li> <li>A systematic, well-organized, and welcoming community of passionate people from diverse backgrounds.</li> </ul> <h2 id="the-proposal">The proposal</h2> <p>I started contributing in December 2023 through April 2024 and began writing my proposal around mid-March. After talking to my mentor I quickly made a first draft with a rough estimate of the work. Writing a proposal is an iterative process. Regular feedback from my mentor <a href="https://profiles.ucl.ac.uk/77575-ankur-sinha">Ankur Sinha</a> helped me fine-tune the timeline and add detail.</p> <h2 id="my-experience">My experience</h2> <p>In my initial phase of learning Machine Learning basics, a senior advised me to watch Geoffrey Hinton’s lectures on Neural Networks. I watched the first few lectures and understood how neural networks are designed with reference to the brain. I wanted to know more and found the NeuroML project. I started contributing by raising PRs; during this phase my mentor Ankur Sinha helped me immensely with huge patience. Finally, I got selected into Google Summer of Code. I was thrilled.</p> <p>My GSoC project involves developing an interactive SWC to NeuroML converter in Python. The SWC format is widely used for representing neuronal morphology data, while NeuroML is a standardized format for describing biophysically detailed neuronal models.</p> <p>The converter simplifies converting SWC data into NeuroML, making it easier for researchers to integrate morphological data into computational models. A key component is an interactive tool that lets users visualize and manipulate neuronal morphology before converting to NeuroML.</p> <p>To ensure robustness, I tested against a range of neuronal reconstructions from <a href="https://neuromorpho.org/">NeuroMorpho.org</a>. The project is hosted with the NeuroML community. I am deeply grateful to Google for this opportunity and to my mentors, Ankur Sinha and Padraig Gleeson, for their guidance.</p> <h2 id="whats-next">What’s next?</h2> <p>In the coming posts, I plan to write about the technical challenges I face during GSoC, plus updates on personal projects and lessons learned along the way.</p> <p>Happy reading!</p>]]></content><author><name></name></author><category term="blog"/><category term="GSoC"/><category term="open-source"/><category term="neuroscience"/><summary type="html"><![CDATA[Getting started with GSoC 2024 at INCF: NeuroML, SWC morphology conversion, and mentorship.]]></summary></entry><entry><title type="html">My First Blog Post</title><link href="https://adityapandeycn.github.io/blog/2024/my-first-blog-post/" rel="alternate" type="text/html" title="My First Blog Post"/><published>2024-06-12T00:00:00+00:00</published><updated>2024-06-12T00:00:00+00:00</updated><id>https://adityapandeycn.github.io/blog/2024/my-first-blog-post</id><content type="html" xml:base="https://adityapandeycn.github.io/blog/2024/my-first-blog-post/"><![CDATA[<p>Welcome to my new blog! This is the first post, and I’m excited to share my thoughts and experiences with you.</p> <h2 id="what-is-this-blog-about">What is this blog about?</h2> <p>This blog will cover a wide range of topics that interest me, including technology, programming, books, and personal growth. I’ll share my insights, opinions, and any interesting discoveries I make along the way.</p> <h2 id="why-start-a-blog">Why start a blog?</h2> <p>I’ve always enjoyed writing and sharing my ideas with others. A blog seemed like a natural way to do that while also challenging myself to learn and grow. I hope that by putting my thoughts out there, I can not only document my journey but also connect with like-minded individuals and have engaging discussions.</p> <h2 id="whats-next">What’s next?</h2> <p>In the coming posts, I plan to dive deeper into specific topics that fascinate me. Some areas I’m particularly interested in exploring include:</p> <ul> <li>Web development (HTML, CSS, JavaScript)</li> <li>Python programming and computational neuroscience</li> <li>Productivity tips and tools</li> <li>Book reviews and recommendations (geopolitics and foreign affairs)</li> </ul> <p>I’ll also share updates on any personal projects I’m working on and the lessons I learn along the way.</p> <p>Thank you for joining me on this adventure! I’m looking forward to sharing my thoughts and experiences with you. Feel free to leave comments, suggestions, or just say hello.</p> <p>Happy reading!</p>]]></content><author><name></name></author><category term="blog"/><category term="introduction"/><category term="open-source"/><summary type="html"><![CDATA[Welcome to my blog, a place for technology, programming, books, and personal growth.]]></summary></entry></feed>