COSC Hackweek Submissions

I have recently participated in Hackweek hosted by the COSC (CBIT Open Source Community). The tasks they assigned me improving my skills in Python, Git, open source workflows, and using developer tools.

Below is a summary of what I built and learned.


The first task I chose to do is a CLI Unit Converter as I am learing python and whanted to see if I’m able to do it.

1. CLI Unit Converter

I created a Python command-line tool that converts temperatures between Celsius and Fahrenheit using the argparse module.

What I did:

  • Implemented two flags: --celsiustof and --fahrentoc
  • Parsed command-line input to run only the selected conversion
  • Used clean, modular code with a main function and conditionals

View the repository: GitHub - CLI Unit Converter.


My second one was just submitting a pull request to an open source repo hosted by them

2. First Pull Request

I contributed to an open source repository by:

  • Forking the main repository
  • Creating a markdown file in the submissions folder
  • Describing my background, an open-source project I admire, and what I hope to learn
  • Opening a pull request to submit my contribution

The third one, was to find the author of any function from a python file from the repo they gave using GitLens which is a VS code extension. I didn’t know how to do this, hence asked chatgpt for help.

3. GitLens Detective

Using the GitLens extension in VS Code, I explored a repository’s commit history to find out:

  • Who authored specific functions
  • When they were last modified
  • Which commit added them

This taught me how GitLens can help understand code authorship and project evolution.

View the repository: GitHub - GitLens Detective.


The fourth one was an easy python code. It was to make a CLI Die using random module and mimic its rolling by adding a time delay.

4. CLI Dice Roller

Using Python, I built a basic command-line dice roller that simulates a real dice roll.

  • Uses the random module to generate values from 1 to 6
  • Adds a delay with time.sleep() for a more realistic rolling effect
  • Loops the roll until the user decides to stop

This hands-on scripting helped reinforce concepts like user input, loops, randomness, and CLI interaction.
It’s a simple but fun way to practice Python basics and improve CLI-based user experience.

View the repository on GitHub

Reflection

These tasks helped me get comfortable with practical development workflows:

  • Building and running command-line tools
  • Understanding version control and authorship with GitLens
  • Following open source contribution protocols

Doing these tasks felt exciting and intresting. This excitement motivated me a lot to keep contributing and learning through real-world challenges like this.

After conclusion of this Hackweek, I have placed at 98th place out of over 500 members.

COSC Hackweek Profile