Week 15

For this week‘s project work, our goals was basically to finalize our final presentation and to present in front of the class. We use the weekend and Monday to curate our presentations to focus on all of the requirements that are needed for the group presentation and also to highlight things about actual budget tracker. So we did a run through Tuesday afternoon going through all of our parts making sure to make whatever edits that we needed to make so that it can go well on Wednesday, which was the day of our presentation. I would say that I was nervous about presenting, but we did very well by highlighting the points and getting across everything that we needed to for the group presentation.

When looking at the other groups were presenting, there was a group that presented key cloak, which was very fascinating and interesting. It highlighted all of the technicalities of their project. I like how the whole presentation flowed like it seemed like this was a presentation that was practice multiple times and made sure that it was ready to present in front of the class and it was great to see everyone’s progress from the beginning of the semester. I don’t quite remember everyone’s group, but I found the group that presented about like twitch third-party usage for the different feature is very interesting because I don’t think that I understood it as much in the beginning of the semester but seeing it all come together, it was wonderful. I think that this class has been very engaging, very thoughtful, and impactful in a sense of giving exposure to open source projects.

Read More

Week 14

Project Reflection

Our group has been making a lot of progress in the work we are compeleting with the Actual project. Jaden has been working on finalizing his PR by addressing the feedback from code rabbit. Sahiti is working on her second PR and trying to have that merged into the repo. I have been working on a PR request that is based on API documentations for splitting transactions. The issue was about how the document is incomplete and somewhat misleading. It stated that subtransactions only require an amount, but in practice they must include additional required fields such as account, date, and relational flags (parent_id, is_child, etc.). It also did not clearly explain the role of is_parent in enabling split behavior. Therefore, my PR addresses this issue and it has been merged into the repo last week Friday. Our group is preparing for our presentations and will be doing a mock run Tuesday evening to make sure we are prepared.

Read More

Week 13

Project Reflection

This week, my group was focused on finishing their up their PRs and finalizing it so that it can be merged into the master repository. I was addressing some conflict issues to my PR from my maintainer and things were going fine until it didn’t. For the issue I had selected, the goal was to convert one of the javascript files into a typescript file and the specific file I was working on was add_attribute.js. I made some modifications on this file and had submitted a PR. It seems like the time frame that I was modifying the files and adjust to my maintainers feedback, someone else had been working on that issue which was merged into the master branch. I did not realize until later that all the changes I had made was overwritten so the maintainer reviewing my PR did not see any of my changes and rather minor changes I had made from a file. That maintainer left a very rude comment which was unfair and rather for him to seek clarity on what I am trying to do, he was very harsh. Also, it was labeled as a “good first issue” so I think that he could have been patient and closed/mark the issue as completed since someone had gotten to the solution earlier than I did. His comment made me very upset because I had put a lot of effort to fix the issue and make sure the test pass. I do think there was miscommunication and misunderstanding but I can’t do anything about that. I will be exploring other issues to work on for the remaining of the semester.

Read More

Week 12

Class Discussion Reflection

During our class discussion, I saw how the industry shifted its perspective of viewing open source as a way of saving money and resources to a strategy that is used for collaboration. We explored how companies now collaborate in the “commodity layer” which is essential to fundational plumbing in a way to shre the cost while also having that unique “differentation layer”. We had also looked at some breakdowns from revenue models like Open Core and SassS which shows how “free” software can be used as a stepping stone for multibillion-dollar businesses like Red Hat. Our discussion really opened my eyes that open source is fundational to building the core of a business strategy for mordern technology.

Read More

Week 11

Weekly Post

Reading The Cathedral and the Bazaar changed how I conceptualize software development. The cathedral model feels more structured and more controlled, but less iterative and slower. I imagine a small team of software engineers meticulously constructing something behind closed doors, while the bazaar model feels chaotic but more constructive with tons of collaboration, rapid iterations, and quick responsive feedback. I find the bazaar model more exciting and more realistic than the cathedral model for modern software development. I think the bazaar model captures more of how collaboration occurs on the internet through open-source software development where contributors from all walks of life and different domains contribute through discussions and improvements in real-time.

The cathedral model is more useful in more sensitive and more critical contexts where stability, security, and consistency are more critical. However, I value the bazaar model more because I value learning, openness, and community growth, which I value more learning, openness, and community growth. AI programming tools seem to blur the lines. They seem to promote the bazaar model, as with AI, contributing to those models is much easier. Someone can generate code, iterate and test their ideas, and even contribute to open-source projects without going through the learning curve as deep programming knowledge is not needed to start. AI is a tool that can enhance both models. It works best when paired with the collaborative spirit of the bazaar. Artificial Intelligence lowers the barrier to entry. It should not replace the human insight, discussion and iteration that make open source so effective.

In terms of our group project we have made progress so far especially on the frontend. We have started building out components and structuring the user interface, which is helping us better understand how everything connects. Personally I have been one of the issues that I have selected for this class which is basically converting a javascript file into a typescript file. I am currently having difficulties with solving this issue but I am using tools to help assist me.

From reading groups progress reports it seems like many teams are facing similar challenges. Especially with integration and managing time. Some groups are along, in backend development while others are still finding solutions to tackle their issues. It is interesting to see how different teams prioritize parts of the project and how AI is being used by these teams to enhance their models.

Read More

Week 10

Weekly Report

Before the Spring Break, my team and I had analyzed the codebase and the issues that are in the actual repo. When we did a deep analysis of the issues, we all selected what issues we want to tackle. The issue that I selected was basically converting one of the JavaScript files into a TypeScript file. I have been working on converting the files and seeing how to make these changes to the files. My team members have confirmed whether my code works, and I have tested to see if the test cases have passed, and they have. This week, I plan on merging my edits to the main repo (as it is currently in the forked repo). I also plan on making more contributions to the other open-source project. Last week, I made contributions to the Wikipedia page, but I am a bit confused on how to contribute to OpenStreetMap. Therefore, I will be doing more research on how to actively contribute to more open-source projects.

Read More

Week 8

Stand Up’s Reflection

As I was listening to all the groups verbal presentations, I really liked how all groups are focusing on a different niche because we are getting different presepectives of open source projects. The different niches include Finance, AI, Python libraries and much more. I could tell that there were like one or two groups that were more ahead than others because they were discussing about creating their own issues that they want to fix to the application. This made me think about potentially looking at our application and seeing what changes we wanted to make. However, we though for our first issue, it would be best if we worked on an existing issue to start. I also realized that many groups ran into some issues when downloading the environment either because some dependincies needed to be installed or issues with the devices. We all had solutions as to how to resolve that issue which was great. After all teams presented their stand up’s, my group and I immediately started working on finding an issue to focus on and we have decided that we will try to work on resolving the issue. My group are very excited to start working on the issues we have selected.

Read More

Week 7

Group Work Reflection

So far, group work has been very well. I have collaborated with my group members, Jaden and Sahiti for other group activities and I believe that we are relatively a good group. We have good communication and we know when to be focused and serious and also know when to joke around. When deciding on a project idea, we all discussed about our project evaluations and what type of projects we are interested in. Then, we have evaluated which projects are best for the course and have new users opportunities. We have not ran into any obstacles. We do plan on discussing what type of contributions we want to make to our project starting with documentation.

Read More

Week 6

Project Aspirations

The type of project I hope to contribute with my group are any projects related to AI and cybersecurity that are related to ensuring security of private data and information. I would also want to contribute to a project that deals with improving web development because I do want to improve in these skillsets. I am still not sure what exactly I want my group project to be but it could also be something that is fun. However, I don’t have a limited idea as to what project I want to contribute to but my main goals are to contribute to a project that addresses a real-life issue and targets a solution to amend this problem.

Read More

Week 5

Presentations Takeaway

The biggest take-away from my group project is how we were able to collaborate and communicate with one another. Despite our schedules being busy, we still made sure that roles were divided for the project and that we executed a plan on how we should go about our presentations. Based on other groups’ presentations, I realized that there were groups that had creative extension ideas like the NYU images for each tab and the sound effects on the YouTube videos. I thought that each group had creative and different ideas and it was interesting to see the way that they executed the projects.

Read More

Week 4

Git Exercise

When completing this exercise, I realized that there were a lot of Git commands that I was already familiar with like touch, echo, git clone, and more. One key takeaway from this exercise is that there are distinctions between the working directory, the stage area, and the repository. Therefore, running git add does not commit the changes right away but it prepares them; this provides a sense of version control. One thing that I learned is how to recover a file that has been deleted. Previously, I thought that when files are deleted, I would have to manually create the file. Now I know the Git commands that allow you to restore the earlier commit where I can restore the deleted file.

Read More

Week 3

Team Progress

This week, my team and I started the planning process for our open source project, affirmME. The purpose of this browser extension is to use an API that will keep track of the users completed work.When the user clicks on the extension button, it will generate a positive message that will motivate users to keep up the good work.

Read More

Week 2

Part 1

The benefits of having a document like this are to have rules and regulations for everyone to follow. This enforces that all members who are a part of the community follow guidelines and ensures individuals from different ethnicities and backgrounds to be welcomed. By establishing a baseline of rules and safety, it signals an inclusive environment and recognizes any toxic behaviors from its members.

Read More

Week 1: Open Source

Why Open Source Projects?

When I think of “open source”, I think of code that is accessible to everyone where others can see, implement, and modify. I also think of how there are different people collaborating on a project and finding new ways to improve the functionality of the project.

The advantages from open source projects are that people can learn from real code and these projects are accessible to a wide range of people. Additionally, by having a wider range of collaboration, this can make it easier to find bugs and different issues that may have occured. This is a great source for students to gain real world experiences.

In contrast, closed source projects are where you get more control of the project that you are working on. Additionally, closed projects avoid any risky contributions that can affect the functionality of the project .With a closed circle of collaborators working on the project, it can be easier to see who is the owner of the project and who is accountable for a specific part of the project.

However, there can be potential problems with open source projects in which it is not guaranteed that the project is regularly maintained and there might be lack of documentation. It may be difficult for new contributors to get into the project because they have to understand the overall code.

I decided to take this class because I was interested in learning how to collaborate in software development projects and how this relates to real world practices. With my computer science background, it is important to improve my technical skills and have preparation for real-world software development situations.

Projects Used on a Regular Basis

  • Visual Studio Code
  • Python
  • Git/GitHub
  • Jupyter Notebook

As a Computer Science student, I often use VSCode to develop and contribute to most of the projects using python and other coding languages. Git/GitHub has played an influential role in contributing to the code with others. By using Jupyter Notebook, it gives me the opportunity to use code and charts that are great for understanding the code. This semester, I hope to contribute to open source projects that use these tools and expand on my learning.

Read More