Skip to content
View NicholasSynovic's full-sized avatar
🌴
Livin' Life
🌴
Livin' Life
Block or Report

Block or report NicholasSynovic

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
NicholasSynovic/README.md

Nicholas M. Synovic's GitHub Account

Computer Science Researcher and Ph.D Student @ Loyola University Chicago

Table of Contents

About

This GitHub page is for my academic, personal, and work repositories.

For more personal information about me, you can visit my homepage here.

Repository Scheme

After crossing 100 repositories in April of 2024, I decided to evaluate how I have been using GitHub. I found that I implement many antipatterns and smells that make it difficult to work on projects and keep track of work. Because of this, I've decided to implement the following rules for each of my repositories:

  1. Name all projects to follow a standard schema.
    • Much of my time is spent going through my collected repositories trying to figure out what each does, how it relates to other projects, or if it is a singleton repository. Thus, a naming schema to ensure that repository names are consistent has to be created and put into place to allow for ease of access. A repository name is different from the project name. See point 2 for more information on project names.
    • The schema is as follows: research|web|tool|prime|final|_project-name.
      • Archived projects follow research|web|tool|prime|_project-name_archive.
      • Part one of the schema defines a general tag for the repository. Part two of the schema is the project name of the repository. Part three is optional and defines if the repository is archived.
  2. Project names are always listed in the project description and must have an acronym. The acronym is always lowercase for ease of typing.
    • Example: Process Internal Metrics (prime)
  3. Disable as many optional features as possible that allow for collaboration on repositories by default.
    • This is to reduce the amount of clutter and features that I need to worry about when I start working on a project and to allow me to enable features as needed.
  4. API docs, regardless of the size or scope of the project, are a must.
  5. A Makefile must be included and support the following: - build: Build and install the project, - create-dev: Create the development environment to work on the project, and - run: (Optional) execute the code
  6. A well-written README.md file that documents the project and its goals as well as hosted on GitHub Pages when readily available.

Popular repositories

  1. hacks_xiaomi-yi-4k-camera_archive hacks_xiaomi-yi-4k-camera_archive Public archive

    Xiaomi Yi 4k Action Camera (z16v13...) Firmware 1.10.9 Hacks

    Shell 2 1

  2. prime_metrics-dashboard_archive prime_metrics-dashboard_archive Public archive

    This is a platform for producing and observing metrics by mining open-source software repositories on GitHub.

    Python 1 6

  3. final_comp363_archive final_comp363_archive Public archive

    The card game Emperor created for my COMP 363 class at Loyola University Chicago.

    C# 1 5

  4. image-depth-masking image-depth-masking Public archive

    Using MiDaS, generate a mask for images based off of the depth values

    Python 1 2

  5. bsaber-playlist-collector bsaber-playlist-collector Public archive

    A tool to collect and download all official and community playlists from bsaber.com

    Python 1

  6. asgard asgard Public

    Forked from rsethi21/asgard

    Code to support the Asgard low powered computer vision cluster at Loyola University Chicago

    Shell 1