<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/feed.xml" rel="self" type="application/atom+xml" /><link href="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/" rel="alternate" type="text/html" /><updated>2026-03-08T19:11:04+00:00</updated><id>https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/feed.xml</id><title type="html">Rohit Dayanand</title><subtitle>CSCI-UA 480 Student, Spring 2026</subtitle><entry><title type="html">Week 6</title><link href="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week7/" rel="alternate" type="text/html" title="Week 6" /><published>2026-03-08T00:00:00+00:00</published><updated>2026-03-08T00:00:00+00:00</updated><id>https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week7</id><content type="html" xml:base="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week7/"><![CDATA[<h2 id="blog-post-week-6">Blog Post Week 6</h2>
<p>We started by brainstorming what autonomous agents should actually do, like browsing the web or handling service requests. To avoid reinventing the wheel, we decided to build on an existing framework instead of starting from scratch.</p>

<p>Our first choice was OpenClaw, but the codebase was a mess. The architecture was too tightly coupled, making it nearly impossible to modify or extend without breaking things. We needed something more modular and maintainable.
<!--more--></p>

<p>That led us to Nanobot. It’s much cleaner, with a core of only 4,000 lines. The logic is easy to follow, and since extensions live in separate modules, we can contribute without messing up the main infrastructure.</p>

<p>Right now, we’re figuring out how to add the most value. Instead of just adding a new feature, we want to build a “breakage testing suite.” Agent frameworks often break when third-party APIs change or deprecate endpoints. Our system would automatically detect these failures and alert the community. By focusing on reliability, we’re helping Nanobot scale and making it easier for everyone to keep their integrations working.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Blog Post Week 6 We started by brainstorming what autonomous agents should actually do, like browsing the web or handling service requests. To avoid reinventing the wheel, we decided to build on an existing framework instead of starting from scratch. Our first choice was OpenClaw, but the codebase was a mess. The architecture was too tightly coupled, making it nearly impossible to modify or extend without breaking things. We needed something more modular and maintainable.]]></summary></entry><entry><title type="html">Week 6</title><link href="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week6/" rel="alternate" type="text/html" title="Week 6" /><published>2026-03-02T00:00:00+00:00</published><updated>2026-03-02T00:00:00+00:00</updated><id>https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week6</id><content type="html" xml:base="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week6/"><![CDATA[<h2 id="blog-post-week-6">Blog Post Week 6</h2>

<p>I’ve been thinking a lot about the current state of LLM orchestration, specifically how to move beyond basic prompting and into using local tools for orchestration my own tasks. I already have openclaw on my machine to do work, but the tools are still pretty terrible. My goal is to work on a project where we’re expanding the frontier of tools into things I find useful.</p>

<!--more-->

<p>I’ve been diving into frameworks like LangChain, LlamaIndex, and Haystack, as they’re essential for managing the complexity of tool-calling, memory, and retrieval pipelines. In terms of a longer project, I would love to think about a way to compress existing abstractions for things like web pages and human UI so we use less tokens and can improve net performance through small but slightly creative techniques.</p>

<p>Because this space is so new, we’re constantly dealing with model drift, breaking API changes, and the inherent unpredictability of orchestration. I’m comfortable navigating that instability through my work in Kalshi/Polymarket. I’ve found that small changes in these systems can cascade quickly, so I focus heavily on technical execution and reading deep into codebases to understand architectural tradeoffs.</p>

<p>One of the most impactful experiences I’ve had recently was evaluating Hummingbot for crypto market making. It gave me a real appreciation for modular system design, specifically how strategies plug into exchange connectors. It got me thinking about how that kind of extensibility could be generalized beyond crypto to broader CLOB-style (Central Limit Order Book) markets. Applying that level of architectural insight—moving from a specific crypto implementation to a generalized abstraction—is where I think I contribute the most value.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Blog Post Week 6 I’ve been thinking a lot about the current state of LLM orchestration, specifically how to move beyond basic prompting and into using local tools for orchestration my own tasks. I already have openclaw on my machine to do work, but the tools are still pretty terrible. My goal is to work on a project where we’re expanding the frontier of tools into things I find useful.]]></summary></entry><entry><title type="html">Week 5</title><link href="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week05/" rel="alternate" type="text/html" title="Week 5" /><published>2026-02-22T00:00:00+00:00</published><updated>2026-02-22T00:00:00+00:00</updated><id>https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week05</id><content type="html" xml:base="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week05/"><![CDATA[<h2 id="blog-post-week-5">Blog Post Week 5</h2>

<p>The biggest takeaway from my own group work this week was realizing that writing the code is only half the battle. I learned that you have to spend an equal amount of time simplifying and documenting your work so that others can actually build on it without hitting a wall. Watching the other groups’ presentations and extensions reinforced this, as the projects that stood out weren’t just the ones with the most complex features, but the ones that communicated their logic clearly. It became obvious that technical skill is wasted if your teammates can’t understand your interface, and that the “human” part is clear.</p>

<!--more-->

<p>Commenting on the Wednesday videos, the keynote from Kelsey Hightower was especially impactful because of his perspective on the open-source community. He described maintainers as “hidden tailors” who take generic software and fit it to specific needs, much like the man who stayed open late on a Sunday to tailor his sports coat. When HashiCorp created a clone of his project, he didn’t get angry; he viewed it as a sign of success, arguing that if you can influence a major company to build something based on your work, you’ve achieved something great. He famously challenged founders to stop building “moats” in the “age of flight,” suggesting that providing unique value is better than trying to protect code that anyone can eventually bypass or fork. This is a perspective echoed deeply by Linus who beleives the community acted with money grubbing intentions instead of genuine need.</p>

<p>Craig McLuckie’s talk added a layer of caution to this by focusing on the security risks of AI-assisted development. He pointed out that while generative AI tools make us faster, they often rely on stale data from years ago, which can lead developers to unknowingly pull in “abandonware” or malicious libraries. Linus Torvalds mirrored this pragmatism in his fireside chat, dismissing the heavy hype around AI by calling it “autocorrect on steroids.” Linus emphasized that while AI is a great tool for finding bugs or getting a project to the 90% mark, the final 10%—the maintenance, the core logic, and the reliability—still requires the deep, human understanding that defines projects like the Linux kernel.</p>

<p>Observing these professional presentations taught me that the best communicators lead with a narrative rather than just technical data. Kelsey Hightower didn’t need complex slides because he used a personal story about a tailor to explain the philosophy of open source, while Linus showed that being authentic and blunt is more engaging than being overly polished. Based on these observations, I need to improve my own presentation style by focusing on the “Why” before the “How.” I want to move away from just listing features and instead focus on creating a clear on-ramp for my audience, ensuring that my communication is as well-structured as the code it’s describing.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Blog Post Week 5 The biggest takeaway from my own group work this week was realizing that writing the code is only half the battle. I learned that you have to spend an equal amount of time simplifying and documenting your work so that others can actually build on it without hitting a wall. Watching the other groups’ presentations and extensions reinforced this, as the projects that stood out weren’t just the ones with the most complex features, but the ones that communicated their logic clearly. It became obvious that technical skill is wasted if your teammates can’t understand your interface, and that the “human” part is clear.]]></summary></entry><entry><title type="html">Week 4</title><link href="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week04/" rel="alternate" type="text/html" title="Week 4" /><published>2026-02-16T00:00:00+00:00</published><updated>2026-02-16T00:00:00+00:00</updated><id>https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week04</id><content type="html" xml:base="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week04/"><![CDATA[<h2 id="project-evaluation--nautilustrader">Project Evaluation — NautilusTrader</h2>

<p>I was one of the students who recommended the NautilusTrader project, so I was glad to see others evaluating it closely. One observation that stood out — and that I agree with — is that the lead maintainer appears to be largely a single individual. I’ve personally seen him tagged across hundreds of Discord threads, which suggests he’s carrying a heavy support and development load. Recognizing this is important when evaluating a project’s sustainability and contributor experience, because a single-maintainer bottleneck can both slow progress and create delays in reviewing pull requests.</p>

<!--more-->

<p>At the same time, it’s encouraging that the project is still very active. It’s clear that Nautech Systems is continuing to invest effort into maintaining and developing the codebase. That level of activity makes the project feel alive rather than abandoned, which is critical when choosing an open-source project to contribute to.</p>

<p>What excites me most about NautilusTrader is that it operates in a technically deep domain (algorithmic trading infrastructure) where contributions can be both intellectually challenging and practically impactful. It’s not just a toy project — it’s software that people may rely on for real workflows.</p>

<p>The biggest challenge I anticipate is onboarding complexity. Projects in specialized domains tend to have steep learning curves, both in terms of the codebase and the underlying domain knowledge. Additionally, with a small maintainer team, getting guidance or feedback may take time.</p>

<p>To overcome this, I plan to start with small, low-risk contributions such as documentation fixes, minor bugs, or tests, while carefully reading existing issues and discussions to understand current pain points. I also plan to ask precise, well-researched questions and be patient with response times given the maintainer’s workload.</p>

<h2 id="git-exercises">Git Exercises</h2>

<p>Honestly, I don’t have much critical feedback on the Git exercises themselves because I already use Git extensively in my work. However, it was still valuable to revisit the fundamentals. In practice, I often rely on tools, shortcuts, or even LLMs to generate complex commands (for example, advanced <code class="language-plaintext highlighter-rouge">git diff</code> usage), so going back to the underlying concepts helps reinforce what’s actually happening under the hood.</p>

<p>Rebuilding that mental model — especially around the structure of the <code class="language-plaintext highlighter-rouge">.git</code> directory and how commits and objects are stored — is useful for debugging and for understanding Git beyond the surface-level commands.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Project Evaluation — NautilusTrader I was one of the students who recommended the NautilusTrader project, so I was glad to see others evaluating it closely. One observation that stood out — and that I agree with — is that the lead maintainer appears to be largely a single individual. I’ve personally seen him tagged across hundreds of Discord threads, which suggests he’s carrying a heavy support and development load. Recognizing this is important when evaluating a project’s sustainability and contributor experience, because a single-maintainer bottleneck can both slow progress and create delays in reviewing pull requests.]]></summary></entry><entry><title type="html">Week 2</title><link href="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week02/" rel="alternate" type="text/html" title="Week 2" /><published>2026-02-08T00:00:00+00:00</published><updated>2026-02-08T00:00:00+00:00</updated><id>https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week02</id><content type="html" xml:base="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week02/"><![CDATA[<p>We’ve decided to build our project using the Gemini local LLM platform. Making that choice was a turning point for the group—it allowed us to stop debating and start defining our actual technical requirements.</p>

<!--more-->

<p>The Technical Reality Check</p>

<p>One of the first things we realized is that running local LLMs isn’t “resource-light.” Through some initial testing, we’ve established our hardware baseline: we’re looking at machines with at least 16 GB of RAM and more than 4 Cores. Having these constraints settled early is a huge relief because it gives us a clear sandbox to play in and prevents us from designing something that our own hardware can’t actually execute.</p>

<p>What I’ve Discovered About Collaboration</p>

<p>The most rewarding (and surprising) part of this process hasn’t been the code, but the group dynamics. I’ve realized that my role in this team is centered around alignment.</p>

<p>I discovered something about myself during our brainstorming sessions: I have a deep-seated need for consensus. I’ve learned that you can’t just push a “good idea” and expect it to fly. People’s excitement and their willingness to put in the late-night hours are completely contextual to how much they feel “bought-in” to the vision.</p>

<p>Wins and Roadblocks</p>

<p>The Good: Once we hit that deep consensus, the momentum changed. The energy in the “room” shifted from “What should we do?” to “How do we build this?”</p>

<p>The Challenges: We are still navigating the learning curve of the Gemini local platform and ensuring everyone on the team has the environment access they need, especially given those hardware requirements.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[We’ve decided to build our project using the Gemini local LLM platform. Making that choice was a turning point for the group—it allowed us to stop debating and start defining our actual technical requirements.]]></summary></entry><entry><title type="html">Week 2</title><link href="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week01/" rel="alternate" type="text/html" title="Week 2" /><published>2026-02-01T00:00:00+00:00</published><updated>2026-02-01T00:00:00+00:00</updated><id>https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week01</id><content type="html" xml:base="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week01/"><![CDATA[<p>I thought the code of conduct activity reflects to me the differences in compensation and intent. With Go, it is almost wholly maintained internally by google engineers who are compensated purely for maintaining and/or advancing Golang. Versus with the general code of conduct, it’s clear this is meant to bridge engineers with different technical capacities, timezones, ideas, motives, etc. are not all necessarily aligned. We get the big tent method that can more representative of a general swath of interests, versus a open source model funded wholly by a corporation’s engineers that act with a certain bias but are more likely to meet the objectives.</p>

<!--more-->

<p>RE the video - the Sheldon example makes a lot of sense in terms of consesus and the need for small, tightly aligned groups who respect each other’s capacity and abiliy. Otherwise stalling is a serious risk. But obviously in real-life alignment is not a priori - which is why agreement over a set of arbitration procedures, discussion methods, and active communication is critical towards the end output. This is where I think the code of conduct makes sense as we agree on voting procedures or consesus mechanisms that keeps the ball rolling. Apart from that, I think a lot of it is intent based - if individuals want to be combative, they will do so regardless of policies. Policies just lay out penalties - and angry but smart users will ‘walk the line’, which doesn’t dispel the core concern of their intent. This is why larger projects as the video mentioned needs an unbiased perspective, like in the case of Linux a Linux Foundation Staff Member that acts as a moderator and considers the good of the project.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[I thought the code of conduct activity reflects to me the differences in compensation and intent. With Go, it is almost wholly maintained internally by google engineers who are compensated purely for maintaining and/or advancing Golang. Versus with the general code of conduct, it’s clear this is meant to bridge engineers with different technical capacities, timezones, ideas, motives, etc. are not all necessarily aligned. We get the big tent method that can more representative of a general swath of interests, versus a open source model funded wholly by a corporation’s engineers that act with a certain bias but are more likely to meet the objectives.]]></summary></entry><entry><title type="html">Week 1</title><link href="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week01/" rel="alternate" type="text/html" title="Week 1" /><published>2026-01-25T00:00:00+00:00</published><updated>2026-01-25T00:00:00+00:00</updated><id>https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week01</id><content type="html" xml:base="https://ossd-s26.github.io/weekly/RohitDayanand-weekly/RohitDayanand-weekly/week01/"><![CDATA[<p>Hi, my name is Rohit and I’m a junior majoring in CS and Finance. Week 1 was about learning a bit more of who’s in my class, the history of open source, clarifying misinterpretations (open source != free).</p>

<!--more-->

<p>I’m looking forward to get started on a larger project that’s going to be a challenge.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Hi, my name is Rohit and I’m a junior majoring in CS and Finance. Week 1 was about learning a bit more of who’s in my class, the history of open source, clarifying misinterpretations (open source != free).]]></summary></entry></feed>