Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

INTERNSHIP - EYAD HUSSEIN #118

Open
eyad-hussein opened this issue Jun 23, 2024 · 53 comments
Open

INTERNSHIP - EYAD HUSSEIN #118

eyad-hussein opened this issue Jun 23, 2024 · 53 comments

Comments

@eyad-hussein
Copy link

eyad-hussein commented Jun 23, 2024

Week 1

  • Go fundamentals
  • Typescript fundamentals
  • coreutils: echo, env, cat, wc, head, tail, yes, true, false, tree (use gobyexample to speed up things)
  • Testing fundamentals
  • INI Parser project
  • Discipline

Week 2

  • How to write a bug report
  • Manual Testing
  • Github workflows
  • Apply on week 1
  • Makefile project
  • REST API
  • Swagger
  • Postman
  • pokemon API (create http client for pokemon API + tests)

Week 3

  • Backend (pastebin) (needs to have authentication so i can view my pastes as well)
  • Backend testing
  • Dockerize the backend

Week 4

  • Vue3
  • Pastebin frontend
  • Dockerize the frontend
  • Docker compose
  • Frontend testing

Selenium

  • Locating Elements
  • Selenium Locators

Cypress

  • Selecting Elements
  • Advanced Cypress Tutorial
  • Testing session

Week 5

  • Namespaces, CGroups, Docker
  • Intro to TFGrid
  • Terraform
  • Rust fundamentals

Week 6-end of internship distributed on teams (sdk-go, zos, sdk-ts, sdk-dart)

  • 4 solutions
  • GPU services integration *
  • ZOS service rewrites in rust
  • Freeflow twin
  • Threefold Connect *
  • Planetary Desktop/mobile App
  • Increase code coverage
  • Deployments web builder (drag/drop)
  • IaC
  • Heroku like system on the grid maybe? gridify pushing forward

Extras

  • bitcask paper
  • RESP Parser

Sessions

  • REST API
  • GraphQL
  • Protobuf
  • gRPC
  • Concurrency
  • Blockchain
  • Vue
  • Docker/CGroups
  • Testing
  • Redis
  • UNIX Programming
  • Caddy
  • Zinit
  • Flist
  • Raft
  • Packer
  • Zig
  • TLS
  • Encryption (symmetric/asymmetric)
  • 12 factor apps
  • Github flow
  • Building a small busybox based distro

Daily Work

  • write your own git
  • creating package in 2022
  • python
  • django rest framework DRF
  • pymotw
  • jinja
  • bottle
  • exploreflask
  • flask megatutorial
  • TDD with python/django
  • redis university
  • redis in action

The following topics are important to know about Redis:

  • Data structures
  • Pub/Sub
  • Data persistence (snapshots & AOF)
  • Transactions
  • Distributed locking
  • Resp Protocol

Software Development Process / Testing

  • Trunk based development

Networking

  • CCNA/CCNP

Linux

  • effective shell
  • ubuntu server guide
  • nginx
  • debian handbook
  • tmux
  • building root filesystem
  • coredns
  • Namespaces/CGroups
  • build container in 500Lines
  • unix programming

Raft/Distributed Systems

  • Distributed Systems Design Fundamentals
  • Slides
  • Raft
  • Wikipedia

Binary Serialization

  • Cap'n Proto
  • Flatbuffers
  • Protocol Buffers

Optional

  • Kubernetes
  • Helm Charts
  • Blockchain (substrate, cosmos, solidity?)
@eyad-hussein
Copy link
Author

eyad-hussein commented Jun 23, 2024

23rd of June 2024

  • Installed Go
  • Took my time learning and understanding the language by finishing the little go book by Karl Seguin and complementing it by gobyexample website
  • Worked on the coreutils project Coreutils - EYAD HUSSEIN #123 (comment)
    • head
    • tail
    • wc (word count)
    • cat
    • echo
    • tree
    • env
    • true
    • false
  • Started unix programming course, read about 10 pages from Chapter 2(first pdf file in the course)

@eyad-hussein
Copy link
Author

eyad-hussein commented Jun 24, 2024

24th of June 2024

@eyad-hussein
Copy link
Author

eyad-hussein commented Jun 25, 2024

25th of June 2024

  • Attended scrum meeting
  • Attended ini parser requirements meeting
  • Went through learn go with tests book until Structs, methods & interfaces and applied on every concept
  • Set up github actions workflow for building and testing go project(ini parser)
  • Read the first 10 pages from principles of system administration, chapter 1 from the unix programming course https://www.netmeister.org/book/01-introduction.pdf

@eyad-hussein
Copy link
Author

26th of June 2024

@eyad-hussein
Copy link
Author

eyad-hussein commented Jun 27, 2024

27th of June 2024

@eyad-hussein
Copy link
Author

eyad-hussein commented Jun 29, 2024

28th of June 2024

@eyad-hussein
Copy link
Author

eyad-hussein commented Jun 29, 2024

29th of June

  • Implemented remaining methods of INI parser with examples and tests and end user documentation

@eyad-hussein
Copy link
Author

30th of June

@eyad-hussein
Copy link
Author

eyad-hussein commented Jul 1, 2024

1st of July

@eyad-hussein
Copy link
Author

2nd of July

  • Created two docker files each for a different implementation of datetime server
  • Created a docker compose file that ran the two services successfully

@eyad-hussein
Copy link
Author

eyad-hussein commented Jul 3, 2024

3rd of July

  • Went to office
  • Attended rust session
  • Attended rest api, postman and swagger session
  • Finish datetime server project except for readme file

@eyad-hussein
Copy link
Author

4th of July

@eyad-hussein
Copy link
Author

7th of July

  • Worked on datetime client project, set up repo, handler, and tests

@eyad-hussein
Copy link
Author

8th of July

@eyad-hussein
Copy link
Author

eyad-hussein commented Jul 9, 2024

9th of July

@eyad-hussein
Copy link
Author

eyad-hussein commented Jul 10, 2024

10th of July

@eyad-hussein
Copy link
Author

eyad-hussein commented Jul 14, 2024

12th of July

@eyad-hussein
Copy link
Author

13th of July

@eyad-hussein
Copy link
Author

14th of July

  • Discussed gitea pr with Omar and refactored the code to resolve the comments

@eyad-hussein
Copy link
Author

15th of July

  • Done with documentation of gitea api expansion documentation and awaiting review
  • Downloaded Django and walked through the tutorial

@eyad-hussein
Copy link
Author

16th if July

  • Finished secretnote mvc project and submitted pr

@eyad-hussein
Copy link
Author

17th of July

  • Finished the backend of noteserver api/spa

@eyad-hussein
Copy link
Author

eyad-hussein commented Jul 19, 2024

18th of July

  • Set up vuejs
  • Watched vuejs crash course
  • Started implementation of the frontend of api/spa project

@eyad-hussein
Copy link
Author

21st of July

  • Continued working on the secret note app
    • Created tests for all the handlers
    • Created postman collections for testing the api

@eyad-hussein
Copy link
Author

eyad-hussein commented Jul 22, 2024

22nd of July

  • Continued working on the secret note app
    • Refactored code after review
    • Created unit tests for frontend
    • Created docker compose file

@eyad-hussein
Copy link
Author

23th of July

@eyad-hussein
Copy link
Author

24th of July

@eyad-hussein
Copy link
Author

28th of July

  • Worked on gitea projects api expansion issue
  • Worked on gitea-rebrander

@eyad-hussein
Copy link
Author

eyad-hussein commented Jul 29, 2024

29th of July

  • Refactored project to just be a simple python script and tested manually https://github.com/freeflowuniverse/gitea-rebrander
  • Worked on gitea projects api expansion
    • Figure out necessary logic to be implemnted to comply with github api
  • Worked on grid-compose
    • Refactor project structure
  • Read knowledge base of threefold manual

@eyad-hussein
Copy link
Author

30th of July

  • Worked on gitea projects api expansion
    • Introduced new logic
    • Refactored old code
    • Almost done with the endpoints of github api and special ones in the web router
  • Continued reading the threefold manual

@eyad-hussein
Copy link
Author

31st of July

  • Worked on gitea projects api expansion
    • Refactored old code
    • Done with all endpoints
    • Updated swagger api documentation
  • Worked on grid-compose
    • Revised up command implementation

@eyad-hussein
Copy link
Author

1st of August

  • Worked on grid-compose
    • Finish up command
    • Implemented ps command
  • Finish knowledge base section of threefold manual

@eyad-hussein
Copy link
Author

4th of August:

Worked on grid-compose

  • Enhance up command - now deployment of two or more services on one network is possible
  • Enhance ps command - add -v and -o flag and formatted normal output to be in a table-like structure

@eyad-hussein
Copy link
Author

eyad-hussein commented Aug 6, 2024

5th of August

  • Worked on grid-compose
    • Changed all of the implemented logic to support deployment of mutiple services on one machine using the same network
  • Prepared for the session

@eyad-hussein
Copy link
Author

6th of August

  • Laid out the use cases of docker compose
  • Worked on the docker networking session

@eyad-hussein
Copy link
Author

7th of August

  • Confirmed cases with Omar
  • Watched all the sessions
  • Presented my session

@eyad-hussein
Copy link
Author

8th of August

  • Started reimplementation of docker compose to match the all the cases
    • Up command it done
  • Continued learn go with tests

@eyad-hussein
Copy link
Author

11th of August

  • Reimplemented ps command
  • Read concurrany in go

@eyad-hussein
Copy link
Author

12th of August

  • Finished reimplementation of grid compose commands

@eyad-hussein
Copy link
Author

eyad-hussein commented Aug 14, 2024

13th of August

@eyad-hussein
Copy link
Author

eyad-hussein commented Aug 15, 2024

14th of August

  • Worked on grid compose
    • Mostly done with the dependency resolution
  • dotenv parser
    • Mostly done with the parser too

@eyad-hussein
Copy link
Author

eyad-hussein commented Aug 18, 2024

15th of August

  • Worked on grid compose
    • Done with dependency resolution
    • Implemented health check
  • dotenv parser
    • Done with everything except documentation
  • Prepared for upcoming session

@eyad-hussein
Copy link
Author

eyad-hussein commented Aug 19, 2024

18th of August

  • Had a long meeting(review) with Omar discussing the grid-compsoe
  • Work with Amr on tfvpn - finsihed the login and started on the up commands

@eyad-hussein
Copy link
Author

19th of August

  • Attended the sessions
  • Discussed implementation of wireguard vpn with omar
  • Watch videos about wireguard, vpn, and vpn protocols
  • Set up a wireguard vpn server

@eyad-hussein
Copy link
Author

20th of August

@eyad-hussein
Copy link
Author

21th of August

  • Attended my colleagues' sessions
  • Worked on grid-compose
    • refactored code and structure
    • prepared demo
  • Worked on jitsi application
    • created necessary scripts
    • tested deployment of jitsi on the grid

@eyad-hussein
Copy link
Author

22nd - 24th of August

  • Finish dotenv parser
  • Implemented bencode
  • Created jitsi flist
  • Worked on grid-compose
    • Created a parser for different storage units
    • Refactored code that can be implemented using the unmarshler interface instead of creating methods for parsing
    • Added extensive validation

@eyad-hussein
Copy link
Author

25th of August

  • Had a meeting with Omar about Jitsi flist
    • Refactored the implementation based on the discussion
  • Continued preparing for the session
  • Watched tutorials for K8s and swarm

@eyad-hussein
Copy link
Author

eyad-hussein commented Aug 27, 2024

26th of August

  • Worked on Jitsi flist
    • Tested flist
    • Deployed application on playground
  • Attended sessions
  • Deployed seceretnote app using docker swarm
  • Read two chapters from learning eBPF

@eyad-hussein
Copy link
Author

27th of August

  • Attended my teammates' sessions
  • Discussed the content of my eBPF presentation with Abdulrahman
  • Did a demo on Jitsi application on Grid
  • Revised the flist with Omar
  • Revised the deployed app on the playground with Zainab

@eyad-hussein
Copy link
Author

29th of August

@eyad-hussein
Copy link
Author

eyad-hussein commented Aug 31, 2024

31st of August

  • Concluded tfvpn(tested manually)
  • Concluded k8s deployment for secretnote app
  • Refactored a couple of small details in grid-compose
  • Applied to MLH Fellowship
  • Implemented inmemory graphdb
  • Expand on tfvpn's documentation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant