DEV Community

Cover image for My Hacktoberfest 2024 Experience: Pushing Boundaries with C# 12 and .NET 8 ๐Ÿš€
Duc Nguyen Thanh
Duc Nguyen Thanh

Posted on

My Hacktoberfest 2024 Experience: Pushing Boundaries with C# 12 and .NET 8 ๐Ÿš€

This is a submission for the 2024 Hacktoberfest Writing challenge: Contributor Experience

Introduction
Contributing to Hacktoberfest 2024 led me to delve deeper into.NET 8 and C# 12. I had an amazing experience solving problems, developing my skill set, and feeling the fulfillment of contributing code to open-source projects thanks to the projects I worked on. It was a fantastic opportunity to improve my NUnit testing abilities and deepen my understanding of algorithms. Take a look back at my four PRs and the lessons I took away from them!


The Projects I Contributed To
For this yearโ€™s Hacktoberfest, I completed all four PRs, each one exploring a unique algorithm:

1. Geofencing Implementation with Unit Test

Geofencing

Objective: This project involved checking if a userโ€™s location is within a specified geofence boundary.
Learning: I discovered how critical it is to use edge cases in testing, like points precisely on the boundary, and how important geolocation accuracy is. Using NUnit, I tested various latitudes and longitudes, which made me realize how subtle changes can affect results in geospatial calculations.

2. Triangulation Algorithm

Triangulation

Objective: Implementing a triangulation algorithm to calculate a userโ€™s position based on three base stations' distances.

Learning: This was my first in-depth study of C# triangulation. Managing accuracy when working with large datasets was an interesting but difficult process. Through NUnit tests, I found that small changes in distance values could yield different results. Working with this algorithm improved my problem-solving and math skills, especially around geometric computations.

3. Geohashing Feature

Geohashing

Objective: I worked on encoding geographic coordinates into Geohash strings using an Encode method and verified the accuracy with NUnit.
Learning: Geohashing was unfamiliar to me, and understanding the algorithm's balance of precision and simplicity opened my eyes to its practical applications in location-based services. I tested random locations across Vietnam to validate its reliability, and this broadened my perspective on regional data.

4. Recommender Systems by User-Based Collaborative Filtering

Recommender Systems

Objective: This was an exciting venture into User-based Collaborative Filtering, a key algorithm in recommender systems.
Learning: Implementing the Pearson correlation to calculate similarity and using weighted sums for rating predictions was a satisfying experience. Seeing the algorithm successfully recommend items based on user preferences emphasized how useful collaborative filtering is in real-world applications like streaming and e-commerce.


Reflections on the Hacktoberfest Experience
Hacktoberfest 2024 wasnโ€™t just about getting PRs accepted. It was an immersive experience that offered opportunities to:

  • Collaborate with maintainers who provided useful feedback.
  • Use NUnit to improve code quality by rigorously testing and covering all edge cases.
  • Learn new algorithms that I had not previously worked with in depth, such as triangulation and collaborative filtering.
  • Give back to the community by participating in projects that may benefit developers worldwide.

I joined Hacktoberfest because I wanted to learn, contribute, and be part of a global movement that supports open source. Hacktoberfest has a way of inspiring commitment and creativity, and Iโ€™m already looking forward to next year!

Thank you, Hacktoberfest team, for organizing this amazing event. To fellow contributors, keep pushing boundaries and happy coding! ๐Ÿง‘โ€๐Ÿ’ปโœจ

Top comments (5)

Collapse
 
ngtduc693 profile image
Duc Nguyen Thanh • Edited

Geofencing Implementation with Unit Test: here
Geofencing

Collapse
 
ngtduc693 profile image
Duc Nguyen Thanh • Edited

Recommender Systems by User-based Collaborative Filtering: here
Recommender Systems

Collapse
 
ngtduc693 profile image
Duc Nguyen Thanh • Edited

Triangulation algorithms to find your location: here
Triangulation

Collapse
 
ngtduc693 profile image
Duc Nguyen Thanh • Edited

Geohashing Feature with Unit Tests: here
Geofencing

Collapse
 
ngtduc693 profile image
Duc Nguyen Thanh

Letโ€™s me know one you have any ideal or questions