100 Days Of Code Challenge
19 Min Read
2020
My #100daysofcode progress logs via twitter, and beyond.
April 2020
Day 1: As part of #100DaysOfCode
— Mpho Mphego (@MphoMphego) April 17, 2020
- I created a twitting bot for posting tweets from CLI, less distraction and can still track my learning progress.
- Added @intelsoftware OpenVINO Toolkit docker based image for portability: https://t.co/WTRpfMzE18#100DaysOfCode #Code pic.twitter.com/WHHkqICnsU
Day 2 and 3:
— Mpho Mphego (@MphoMphego) April 19, 2020
- Worked my serverless daily diary capstone final project for @udacity Cloud Developer nano degree.
- Made some improvements on the tweeter bot to handle multiple user accounts.
- Improved my @intelsoftware OpenVINO docker image.'#100DaysOfCode #Code
Day 4:
— Mpho Mphego (@MphoMphego) April 20, 2020
- No Code day...
- Watched a talk @anjuan gave at @devconfza titled: 'Managing the Burnout Burndown'#100DaysOfCode #Code
Day 5:
— Mpho Mphego (@MphoMphego) April 22, 2020
1. Take initiative and never stop learning.
2. Teach others what you know.
3. Assume nothing, question everything.
4. Respect constructive criticism.
5. Give credit where it's due.#100DaysOfCode #Code
Day 6:
— Mpho Mphego (@MphoMphego) April 22, 2020
- Spent sometime debugging my serverless application offline using: https://t.co/LNOeATX72B
- Dockerized my dev env with help from: https://t.co/6Yu4cmu6BR#100DaysOfCode #Code
Day 7:
— Mpho Mphego (@MphoMphego) April 24, 2020
- Updated the serverless application and ensured that the rest API works with the correct endpoints using postman.
- Upgrade from Ubuntu 18.04 to 20.04, which took more time than I anticipated.#100DaysOfCode #Code
Day 8:
— Mpho Mphego (@MphoMphego) April 24, 2020
- Finally submitted my @udacity #CloudDeveloper capstone project, which is a simple serverless diary application.
I guess now I can call myself a full-stack developer LOL!#100DaysOfCode #Code
Day 9:
— Mpho Mphego (@MphoMphego) April 25, 2020
- Finally completed @udacity #CloudDeveloper Nanodegree program, it;s been a long 3.5 months.
Fork and make a PR to improve my code: https://t.co/uLabF0r8ZC#100DaysOfCode #UdacityLevelUp #Code pic.twitter.com/fzzYqZh6T9
Day 9:
— Mpho Mphego (@MphoMphego) April 26, 2020
- Spend sometime going through the basics of the Intel Distribution of OpenVINO Toolkit.
- Familiarizing myself with different Computer Vision model types and choosing the right Pre-Trained Model for your App#100DaysOfCode #Code #UdacityLevelUp
Day 10 and 11:
— Mpho Mphego (@MphoMphego) April 28, 2020
- Watched @lexfridman's Can Machines Think? Alan Turing's paper discussion video.
- Spent today explaining the basics of radio astronomy, vlbi and dft to our jnr engineer.#100DaysOfCode #Code #UdacityLevelUp
Day 12:
— Mpho Mphego (@MphoMphego) April 30, 2020
Didn't code much, but spent a lot of time watching PyCon2020 talks.
- Static Typing in Python by @di_codes was interesting.
- Automate the Boring Stuff with Slackbo by @takanory#100DaysOfCode #Code #UdacityLevelUp
Day 13/100:
— Mpho Mphego (@MphoMphego) April 30, 2020
- I recently upgraded my Dell XPS 15 to #Ubuntu 20.04 LTS, and decided to write a blog post with some troubleshooting steps.https://t.co/huHzDoD0L3#100DaysOfCode #Code #UdacityLevelUp
May 2020
Day 14&15:
— Mpho Mphego (@MphoMphego) May 3, 2020
- Finished a lesson on, The Model Optimizer as part of the @udacity #Intel Edge AI Nanodegree program.
- Worked through some exercizes and updated docker images.#100DaysOfCode #Code #UdacityLevelUp
Day 16:
— Mpho Mphego (@MphoMphego) May 5, 2020
- Documented ways on converting Tensorflow, ONNX, Caffe models to Intermediate Representation which is used with the Inference Engine on the @IntelSoftware OpenVINO Toolkit.
Collaborations are welcome: https://t.co/4nSTqU1Bkq#100DaysOfCode #Code #UdacityLevelUp
Day 17:
— Mpho Mphego (@MphoMphego) May 6, 2020
- Spent half of my day trying to automate SOCKS5 proxy authentication on Selenium Firefox geckodriver for a webscrapper. This isn't working out, I guess I'll have to resort to using firefox profiles and modify creds before loading#100DaysOfCode #Code #UdacityLevelUp
Day 18:
— Mpho Mphego (@MphoMphego) May 8, 2020
Spent sometime explaining TDD and why we need it to our intern and went through an example on out #Python Automated Qualification Framework.#100DaysOfCode #Code #UdacityLevelUp
Day 19:
— Mpho Mphego (@MphoMphego) May 8, 2020
I spent most of my day working on my latest blog post on, My experience and what I learned from @Udacity Cloud Developer Nanodegree.https://t.co/hA1tFeRHLY#100DaysOfCode #Code #UdacityLevelUp
Day 20:
— Mpho Mphego (@MphoMphego) May 12, 2020
Battled with vehicle detection which reports the color and type of vehicle through OpenCV and intel openVINO.#100DaysOfCode #Code #UdacityLevelUp
Day 21:
— Mpho Mphego (@MphoMphego) May 14, 2020
- Fixed my vehicle detection code using OpenCV and OpenVINO by choosing the right model and optimizing the code.
- Complete lesson on deploying an edge app, streaming video over the net and doing inference on it#100DaysOfCode #Code #UdacityLevelUp
Day 22:
— Mpho Mphego (@MphoMphego) May 14, 2020
- Went from the basics of AI at the Edge, built my skills with pre-trained models, the Model Optimizer, Inference Engine and more with the @Intelsoftware OpenVINO TL, and even learned more about deploying an app at the edge.#100DaysOfCode #Code #UdacityLevelUp
Day 23:
— Mpho Mphego (@MphoMphego) May 16, 2020
- Researched on possible models to use for @udacity @intelsoftware Edge AI person counter project.
- Updated documentation on using docker image to download models from model zoo and converting TF model to Intermidiate Representation#100DaysOfCode #Code #UdacityLevelUp
Day 24:
— Mpho Mphego (@MphoMphego) May 17, 2020
- Finally managed to run OpenCV on docker container with x11, but now am having issues with running inference on my frames.
- Updated some documentation wrt to running GUI apps on docker#100DaysOfCode #Code #UdacityLevelUp
Day 25:
— Mpho Mphego (@MphoMphego) May 17, 2020
- Got side tracked from my learning path, had to update a webscrapper to support SOCKS5 proxy auth and cloudflare spoofing with alternating Useragent, So many tabs to close.#100DaysOfCode #Code #UdacityLevelUp
Day 26 & 28:
— Mpho Mphego (@MphoMphego) May 19, 2020
- Decided to use SSD MobileNet COCO model with @IntelSoftware #OpenVINO to count people moving in/out of ROI for my @udacity project.
- Code still flaky but kinda works, will spend next few days to fix it.#100DaysOfCode #Code #OpenCV #UdacityLevelUp pic.twitter.com/nshNrmTzyc
Day 29 & 30:
— Mpho Mphego (@MphoMphego) May 21, 2020
- Spent the past 2.5 days trying to, detect when a person crosses the blue line and exiting on the red line. Point of all this is to count number of people in the video using #OpenVINO and #OpenCV2.#100DaysOfCode #Code #UdacityLevelUp pic.twitter.com/V9OulxVWR9
Day 31 & 33:
— Mpho Mphego (@MphoMphego) May 24, 2020
- Finally completed my person counter project using #OpenVINO, encountered few glitches but it came through.
- Sadly I failed to run it on docker containers though but mmmyyeeh!#100DaysOfCode #Code pic.twitter.com/Qo1h8lC2Nz
Day 34:
— Mpho Mphego (@MphoMphego) May 25, 2020
- Working on a blog post documenting my person counter project.
- Planning to revive my @youtube channel with a walk-through on my project.#100DaysOfCode #Code #UdacityLevelUp
Day 35 & 36:
— Mpho Mphego (@MphoMphego) May 28, 2020
- Compiled and Published a post on, "AI At The Edge - An Introduction To @IntelSoftware Intel #OpenVINO Toolkit."https://t.co/luTsW6iy66
- A sequel to this post will be on the project I completed recently: Person Counter App.#100DaysOfCode #Code #UdacityLevelUp
June 2020
Day 37&41:
— Mpho Mphego (@MphoMphego) June 2, 2020
- Compiled and Published a post title: "Face Mask Detection Using Intel #OpenVINO And #OpenCV"https://t.co/kPvhIWbzF4
- Created my First @YouTube tutorial (My English kept running away and I butchered it lol.)https://t.co/N4XTA898Ll#100DaysOfCode #UdacityLevelUp
Day 42:
— Mpho Mphego (@MphoMphego) June 7, 2020
- Reviewed and used the Intel DevCloud for running deep learning models on the CPU and integrated GPU.#100DaysOfCode #Code #UdacityLevelUp
Day 43:
— Mpho Mphego (@MphoMphego) June 8, 2020
- Made progress wrt @udacity EdgeAI, lessons on how to choose the right hardware and inference model, based on a number of factors.#100DaysOfCode #Code #UdacityLevelUp
Day 44:
— Mpho Mphego (@MphoMphego) June 9, 2020
- Re-watched one of my fav talks by @hillelogram
- Currently listening to @testandcode episode: 107 (Property Based Testing in Python with Hypothesis - Alexander Hultner)https://t.co/CulNpLeTC4https://t.co/LlQLRFIxEx#100DaysOfCode #Code #UdacityLevelUp
Day 45:
— Mpho Mphego (@MphoMphego) June 11, 2020
- Researched ways of running inference on an FPGA (Intel Vision Accelerator Design (VAD) with Intel Arria FPGA) using the @intelsoftware DevCloud with pre-existing bitstreams ensuring that they match my network.#100DaysOfCode #Code #UdacityLevelUp
Day 46-48:
— Mpho Mphego (@MphoMphego) June 13, 2020
- I've been working on a "Smart Queue Monitoring System" which is running on various hardware on @intelsoftware DevCloud.
- Currently works 100% on CPU, next it's GPU, VPU then finally an FPGA.
Time now: 2:50 AM Phew!!!!#100DaysOfCode #Code #UdacityLevelUp pic.twitter.com/HuNR0chzyi
Day 49-52:
— Mpho Mphego (@MphoMphego) June 17, 2020
- Finally completed my "Smart Queue Monitoring System" project which was tested on various hardware (CPU, GPU, VPU and FPGA.) on @intelsoftware DevCloud using @IntelSoftware #OpenVINO.
- Link to repo and study in the comment.#100DaysOfCode #Code #UdacityLevelUp
Day 53:
— Mpho Mphego (@MphoMphego) June 20, 2020
- Learned about Generative AI (GANs) and @awscloud DeepComposer.
- Built a custom Generative Adversarial Network (GAN) to generate music using DeepComposer on @awscloud SageMaker.#100DaysOfCode #Code #UdacityLevelUp
Day 54-58:
— Mpho Mphego (@MphoMphego) June 26, 2020
- Spent the week investigating ways of running @micropython on an ESP32-CAM for video streaming purposes.
- The idea is to stream video from esp32 to a Raspberry Pi running @IntelSoftware OpenVINO toolkit.https://t.co/ym7xucjpNl#100DaysOfCode #Code #UdacityLevelUp
July 2020
Day 59-60:
— Mpho Mphego (@MphoMphego) July 1, 2020
- Got derailed and worked on my #EasyEquities side project that scrapes my portfolio and updates a Google sheet with my current investments.
- Made a shareable sheet for anyone to use (Assuming you in RSA)https://t.co/gPSUJpMf9u#100DaysOfCode #Code #UdacityLevelUp
Day 61:
— Mpho Mphego (@MphoMphego) July 1, 2020
- Integrated #GoogleSheet API with my #EasyEquities scrapper to push data directly to my #GoogleSheet, and added script as cronjob every 2 hrs during business hours.
Now I can easily track my wins and losses!https://t.co/6hT94Cbb4V#100DaysOfCode #Code #UdacityLevelUp pic.twitter.com/zagg7IZ1H6
Day 62:
— Mpho Mphego (@MphoMphego) July 3, 2020
- Learned about Optimization Techniques and tools relevant to edge computing.
- Learned how to measure the performance of models by using FLOPs and MACs as performance metric#100DaysOfCode #Code #UdacityLevelUp
Day 63:
— Mpho Mphego (@MphoMphego) July 5, 2020
- Learned that when optimising a model consider separable (depthwise and pointwise) convolutional layer over the standard convolutional layer, by doing so the number of FLOPs(floating point operations) to run the model is reduced.#100DaysOfCode #Code #UdacityLevelUp
Day 64:
— Mpho Mphego (@MphoMphego) July 6, 2020
- I learned about the different techniques for benchmarking model size and reduction, by means of quantisation, weight sharing and knowledge distillation.
- Played around with the @intelsoftware OpenVINO DL Workbench.#100DaysOfCode #Code #UdacityLevelUp
Day 65:
— Mpho Mphego (@MphoMphego) July 7, 2020
- Today was all about advanced application profiling using the @intelsoftware VTune Amplifier and finding bottlenecks in my application. I do not like installing foreign software in my PC so I will spend few hours dockerizing it.#100DaysOfCode #Code #UdacityLevelUp
Day 66-69:
— Mpho Mphego (@MphoMphego) July 13, 2020
- Been up since 2AM due to the storm and decided to continue working on my project that uses the @IntelSoftware #OpenVINO #FaceDetection, gaze and other models to control a Computer Mouse Pointer using @AlSweigart's PyAutoGUI module.#100DaysOfCode #EdgeAI #Python pic.twitter.com/y1UIEUXcty
Day 70-71:
— Mpho Mphego (@MphoMphego) July 18, 2020
- Finally completed my blog post that has been in my draft for almost 3 week titled:
How I Deployed A People Counter App At The Edge Using @Intelsoftware OpenVINO.
>>> Link in the comments. <<<#100DaysOfCode #EdgeAI #Python pic.twitter.com/8SVftSWYkn
Day 71-74:
— Mpho Mphego (@MphoMphego) July 18, 2020
- Completed my project that uses the @IntelSoftware
#OpenVINO #FaceDetection, #GazeEstimation and other models to control a Computer Mouse Pointer using #PyAutoGUI module.
- Blog post and (flaky) code coming soon!#100DaysOfCode #EdgeAI #Python pic.twitter.com/0PtlrfQSPj
Day 75:
— Mpho Mphego (@MphoMphego) July 20, 2020
- Completed my blog post titled: How I Deployed A Computer Pointer Controller Using Gaze Estimation.
- Graduated from the @udacity @IntelSoftware #EdgeAI for IoT Developers #nanodegree
#100DaysOfCode #EdgeAI #Python
Day 76:
— Mpho Mphego (@MphoMphego) July 22, 2020
- Revisited my #COVID19 #FaceMask detection project and improved it slightly.
- Performance increased, total model load an inference time on both models decreased.
- Only running mask inference if face is detected.https://t.co/rnw1eM8SuK
#100DaysOfCode #EdgeAI #Python
Day 77:
— Mpho Mphego (@MphoMphego) July 26, 2020
- Revisiting Computer Vision fundamentals from understanding the importance of light source and the maths behind CV using Matlab (I know!!)
This is through a CV basics course from @coursera #100DaysOfCode #EdgeAI #Python
Day 78:
— Mpho Mphego (@MphoMphego) July 31, 2020
- Going back to the basics, learned about the 3-levels paradigm of computer vision (cognitive science as David Marr's Tri-Level Hypothesis).
- Computational theory, Representation & Algorithms, and Implementation#100DaysOfCode #EdgeAI #Python
August 2020
Day 79:
— Mpho Mphego (@MphoMphego) August 1, 2020
- Been meaning to create a REST API for one of my project and have been gravitating towards #fastapi for a while now.
After watching the talk+demo from @tiangolo on @abhi1thakur's channel - I am sold.#100DaysOfCode #EdgeAI #Python
Day 80:
— Mpho Mphego (@MphoMphego) August 2, 2020
- Back on my path of AI+CV
- I've started looking at #skimage lib for manipulating images as opposed to #OpenCV, and from where I stand seems well-structured. Will need to check the performance between #skimage and OpenCV.#100DaysOfCode #EdgeAI #Python #ImageProcessing
Day 81-83:
— Mpho Mphego (@MphoMphego) August 5, 2020
- Learned how to do restore images in order to remove objects, logos, text, or damaged areas in images!
- Also learned how to denoise, segmentation, and find elements in images by their contours using #SkikitImage#100DaysOfCode #EdgeAI #Python #ImageProcessing
Day 83:
— Mpho Mphego (@MphoMphego) August 5, 2020
- Enhanced the contrast of this image so that it may appear more dramatic using the Contrast Limited Adaptive Histogram Equalization (CLAHE)#100DaysOfCode #EdgeAI #Python #ImageProcessingDatacamp pic.twitter.com/026fRarvPq
Day 84:
— Mpho Mphego (@MphoMphego) August 9, 2020
- Learned about image denoising, restoration and most importantly segmentation using the SLIC (Simple Linear Iterative Clustering) filter algorithm which creates Superpixels based on k-mean clustering. #100DaysOfCode #EdgeAI #Python #ImageProcessingDatacamp pic.twitter.com/MJT2Rmg8Oy
Day 85:
— Mpho Mphego (@MphoMphego) August 11, 2020
- Learned about some useful feature extraction mainly edge (Canny) and corner (Harris Corner) detection (very useful for object detection etc).#100DaysOfCode #EdgeAI #Python #ImageProcessingDatacamp
Day 86-89:
— Mpho Mphego (@MphoMphego) August 17, 2020
- Completed the Image Processing with Python course on @DataCamp
- Rewatched talks given by the Python Sensei @dontusethiscode
-- https://t.co/B7MxQxf3bT
-- https://t.co/OrFHB98FIh#100DaysOfCode #EdgeAI #Python #ImageProcessingDatacamp
Day 87-90:
— Mpho Mphego (@MphoMphego) August 18, 2020
Juggling between a number of things is one of the traits I've learned to master (I choose to believe that bhahaha)
- Halfway into week 3, re-learning about NNs and DLs from @coursera's @deeplearningai_ course offered by @AndrewYNg#100DaysOfCode #Python #DeepLearning pic.twitter.com/TO6rXndp3N
Day 91:
— Mpho Mphego (@MphoMphego) August 20, 2020
- Compiled a blog post titled: Face Blurring Using Scikit-image Cascade Classifiers.
- Based on some of the skills learned from @DataCamp's Image Processing with Python course.
<< LINK IN THE COMMENT >>#100DaysOfCode #Python #DeepLearning #ImageProcessingDatacamp
Day 92-94:
— Mpho Mphego (@MphoMphego) August 27, 2020
- Completed all lessons for Neural Networks and Deep Learning @deeplearningai
- Working on a gesture controller project that uses facial landmarks to control game play for my son as part of his exercise routine#100DaysOfCode #Python #DeepLearning
Day 96:
— Mpho Mphego (@MphoMphego) August 29, 2020
- Working on gesture control project which uses facial landmarks and tracks a persons nose then determine the body direction of movement.
- My son loves "Subway Surfer" , so I thought he would love playing it using body movements.#100DaysOfCode #Python #DeepLearning pic.twitter.com/GrrtXdey3B
September 2020
Day 97-125+:
— Mpho Mphego (@MphoMphego) September 24, 2020
- Finalizing my game controller using body movements.
- Wrote 2 blogs: How to create face detection in under 10 lines and adding makefiles to your projects
- Created a #OpenVINO utility library and a youtube video demoing it.#100DaysOfCode #Python #DeepLearning
November 2020
Completed course 4 of 5 of Deep Learning Specialization offered on Coursera
- Course 1: Neural Networks and Deep Learning -> Cert
- Course 2: Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization -> Cert
- Course 3: Structuring Machine Learning Projects -> Cert
- Course 4: Convolutional Neural Networks -> Cert