Skip to content
View Shahaf-F-S's full-sized avatar
πŸ‘¨β€πŸ«
Teaching Software Engineering
πŸ‘¨β€πŸ«
Teaching Software Engineering
Block or Report

Block or report Shahaf-F-S

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
Shahaf-F-S/README.md

Hi πŸ‘‹ My name is Shahaf

I am a self-taught software developer. Alongside being a passionate developer, I have been a pianist, a clay sculptor, an Origami artist, and a painter, my whole life. I also sketch and draw, compose music for the piano, and write.

I am a full-time Computer Science, Software Engineering, and Systems Engineering and Robotics teacher in high school, and I work on side projects and my hobbies in my free time.

I currently teach the following courses:

  • programming in Python Python
  • Programming in C# C#
  • Data Structures & Algorithms Data Structures & Algorithms
  • Networking & Cyber-Security & Data Systems Engineering Networking & Data Systems
  • Formal Languages & State Machines State Machines
  • Deep Learning Deep Learning
  • Control Systems & Robotics Deep Learning
  • Numerical Systems & Electronics Deep Learning

I was also a mentor of an FLL team and a member of an FRC team back when I was in highschool.

Fun fact: In my native language, the meaning of my name is a seagull πŸͺ½, sounds bad, but it's not a rare name where I live.

The fields of software engineering in which I'm most interested, are:

  • Finance, Quantitative Programming, and Algorithmic Trading
  • Data Science, Machine Learning, Deep Learning, Genetic Algorithms and Neuro-Evolution
  • Cyber-Security, networking and communication, spying on devices, remote take-over, virus and worm design, and more.
  • real-time large-scale systems for data handling, processing, storing, serving, and transmission by network
  • and more...

Tools, libraries, and languages I typically use:

(Programming Languages)

  • Python Python
  • C# C#
  • Java Java
  • C/C++ C C++
  • Arduino Arduino

(Data Processing Libreries)

  • pandas Pandas
  • numpy NumPy
  • opencv OpenCV

(ML and DL Libraries)

  • tensoflow Tensorflow
  • keras Keras
  • torch Torch
  • scikit-learn Scikit-Learn

(Networking Libraries)

  • fastapi FastAPI
  • uvicorn
  • socket
  • htmx
  • requests
  • scapy
  • backdoor-io (written by me)
  • sniffing-io (written by me)
  • sockets-os (written by me)
  • data-place (written by me)

(Finance Libraries)

  • blankly
  • yfinance
  • TALib
  • pandasTA
  • backtest.py

(Cryptocurrency Libraries)

  • ccxt
  • cryptocore (written by me)

(GUI Development)

  • tkinter (Python)
  • kivy/kivyMD (Python)
  • Android (Java/Kotlin)
  • flutter/flet (Dart/Python)

(IDEs - by JetBrains only πŸ™ƒ)

  • Pycharm (Python)
  • IntelliJ (Java)
  • Clion (C/C++)
  • Rider (C#)

(other tools)

  • WireShark

Some of the projects I have worked on (or still am working on):

  • Automatic low-memory, async, real-time cryptocurrency framework for screening, recording, modeling, experimenting, and sharing data. Also manages high-level trade chain representations, including an arbitrage engine.

  • Automation and orchestration system for controlling one computer using another, with a flexible and dynamic python/JSON based interface. Enables encapsulated/shared memory for processes, running commands sequentially/in parallel, creating custom commands, manipulating memory, transferring and creating files, executing code, running shell commands, and more.

  • A Socket-based networking framework in Python, for modular and asynchronous composition-based programming, enabling building large-scale servers and clients easily and efficiently, with custom callbacks, data storing, and automatic updates and transmissions of data across systems.

  • A Texas-Hold'em framework, with an efficient probability engine to compute all possible outcomes of the game at any stage, and calculate chances of success according to multiple criteria. Includes a game engine to run the game, vision card detection, and is easily integrated with web APIs.

  • Dynamic and pythonic packet sniffing system based around scapy sniffing, but much more modular, with real-time control over sniffing processes, a dynamic JSON supporting filtering system, for constructing static filters in real-time.

  • A CLI tool for binding programmatically many files into an executable, able to run custom commands using the specified files.

  • A python librery for extracting, decrypting and collecting sensitive data from the local databases of all major web-browsers, on windows, linux, and mac.

  • Auto license plate recognition and extraction using Machine Learning.

  • A video editing framework in Python, fully supporting video and audio, enabling you to load and save, cut and merge, edit, replace, and everything in between.

  • A Python wrapper around AliceVision's Meshroom Photogrammetry software, for automatically creating 3D models from source images of an object.

  • A composition-based framework for easily controlling loops and conditions-based operations, in single and multi-threading, asynchronous, with pausing and unpausing capabilities, timeout and delays, input arguments and real-time output storage, running, rerunning, terminating, and automatic exception handling.

Pinned

  1. data-place data-place Public

    A powerfull and flexible framework for designing async socket based data streaming and destribution systems, with automated parsing, dynamic data store and high-level control hooks.

    Python 1

  2. pyvideo pyvideo Public

    A lightweight module for simple handling of video frames and audio.

    Python 1

  3. sniffing-io sniffing-io Public

    A simple package for packet sniffing, with static/dynamic filtering options, real-time reaction, I/O operations and more.

    Python 1

  4. socketsio socketsio Public

    A python wrapper around socket for generalized communication protocols, unified socket interface, utility methods, and modular protocol swapping capeabilities. Including a socket based Pub/Sub system.

    Python 1

  5. feature-space feature-space Public

    A modular framework for combining pandas series features

    Python 1

  6. viral-genome-mutation-analysis viral-genome-mutation-analysis Public

    An example of the analyzing the genome of a virus for better understanding of its genes, in hope to be able to assess future mutations in specific genes.

    Jupyter Notebook