Skip to content
View ngir0003's full-sized avatar

Highlights

  • Pro

Block or report ngir0003

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
ngir0003/README.md

πŸ‘‹ Hi, I’m @ngir0003

πŸ‘€ About Me

Hello! I’m Samuel Ngiri (@ngir0003), an enthusiastic developer with a passion for building automated systems, seamless workflows, and solving problems with innovative solutions. I have extensive experience in software development, system configuration, and web scraping projects. Additionally, I have a deep interest in improving healthcare technology, particularly in age care and disability services.

I'm also interested in:

  • Software automation and optimization
  • Virtual environments and virtualization
  • Web scraping for data analysis
  • Cybersecurity and encryption technologies
  • Cloud services (e.g., Nextcloud)
  • Technology solutions for age care and disability services

🌱 What I'm Currently Learning

I'm constantly learning and expanding my skill set, with a focus on:

  • C++ Programming: I’m working on the Alphatron-001 virtual machine simulation, which executes machine code instructions and follows the fetch-decode-execute cycle. This project helps deepen my understanding of low-level computing and system architecture.
  • Web Scraping (Python): Developing scraping modules for dynamic websites like uflix.to to gather movie and series data. This includes parsing HTML, handling pagination, collecting metadata, and managing scraped data in an SQLite database, along with downloading images.
  • System Configuration: Configuring services like stunnel for secure connections and automating server environments using Cygwin on Windows and VirtualBox for running macOS.
  • Web Development: Building dynamic, interactive web pages using HTML, CSS, JavaScript, and PHP. I’m focused on user interfaces like Service Coordinator Dashboards for managing healthcare workflows.
  • Automation in Healthcare: Exploring how technology can streamline and improve care for the elderly and disabled, drawing from my experience in aged care.

πŸ’» Installations & Projects

1. Web Scraping Setup (Python)

I’m developing a Python-based scraping system that alternates between scraping movies and series data from dynamic websites like uflix.to. The setup includes:

  • Python Virtual Environment: I run my projects in a virtual environment (myenv) on my machine monero, under the user xnero. Key components of the scraping setup:
    • get_movies_series.py: Manages alternating scraping for both movies and series.
    • movies.py: Extracts movie data (titles, IMDb ratings, release dates, countries, etc.).
    • series.py: Extracts series data using a similar method to movies.
    • Logger Module: Custom logging (logger.py) for tracking the scraping process and troubleshooting.
    • Database (SQLite): Scraped data, such as titles and metadata, is stored in an SQLite database, while images are downloaded and saved to local directories (/data/images/movies and /data/images/series).

2. Nextcloud Installation (Snap)

I installed Nextcloud via Snap, running under the www-data user. It handles file sharing with an emphasis on encryption and security, ensuring that sensitive files are protected, especially in environments like healthcare services.

3. Stunnel Configuration

I set up stunnel to encrypt traffic for multiple services:

  • Webmin on port 4443: For server administration.
  • BasicSwap on port 12701: For handling swap transactions securely.
  • HTTPS on port 8080: For encrypting web traffic on my local setup.

4. Cygwin for Windows Development

To enhance my development experience on Windows, I installed Cygwin, which provides a UNIX-like shell environment. This helps me automate tasks and run shell scripts with ease, making it an ideal tool for cross-platform development.

5. VirtualBox macOS Setup

I use VirtualBox to virtualize macOS on my Windows system, allowing me to test and develop in macOS environments. I’ve automated the installation process using custom scripts, saving time when setting up development environments.

6. Alphatron-001 Simulation (C++)

I’m building the Alphatron-001 virtual machine simulation, a project that explores low-level computing concepts, including:

  • Fetch-decode-execute cycle for machine code.
  • Implementing custom machine code instructions (INPUT, OUTPUT, INC, SUM, etc.).
  • Developing programs such as sum.alp and maxof2.alp for testing various features of the simulation.

7. C++ Program for Roman Numerals Conversion

This project handles conversion between Arabic and Roman numerals, with features such as:

  • Converting Roman numerals to Arabic and vice versa.
  • Supporting multi-digit Roman numerals.
  • Implementing a "Plus Mode," where Roman numerals in an input string are summed up automatically.

πŸ“‚ Project Files

  • web_scraping/: Python scripts (movies.py, series.py, get_movies_series.py) for scraping dynamic websites and saving data locally.
  • alphatron/: C++ files for the Alphatron-001 virtual machine simulation.
  • cpp_projects/: C++ projects, including the Roman numeral converter and other utilities.
  • nextcloud_config/: Configuration files for setting up and securing Nextcloud.
  • stunnel_config/: Configuration files for encrypting traffic using stunnel.

πŸ’žοΈ Collaboration

I’m open to collaborating on:

  • Web Scraping Projects: Projects that involve large-scale data collection, management, and automation.
  • System Automation: Building automated systems using Python, shell scripting, or C++ to streamline workflows.
  • Virtual Machine & System Simulation: Projects related to simulating or building virtual machines and low-level system programming.
  • Healthcare Technology: Applying my tech skills to innovate in aged care and disability services, making systems more efficient and accessible.

πŸ“« How to Reach Me


πŸ˜„ Pronouns

He/Him


⚑ Fun Fact

I recently completed a placement at The Homestead Retirement Village as a Personal Care Worker. This hands-on experience gave me valuable insights into how technology can be used to improve care services for the elderly and disabled, and I’m passionate about integrating tech solutions into this space to create impactful innovations.


Popular repositories Loading

  1. ngir0003 ngir0003 Public

    Config files for my GitHub profile.

  2. monero-playground monero-playground Public

    Forked from spirobel/monero-playground

    play around with the monero-wallet-rpc and get started building monero apps!

    Shell

  3. elk-stack elk-stack Public

    Forked from alfredodeza/elk-stack

    A sample all-in-one ELK stack repo with Codespaces

  4. webScraping webScraping Public

    Python

  5. telegram_bot telegram_bot Public

    Python