2020-03-11 Update: I did not finish this but learned a lot about workflow along the way. It is okay to quit on some thing once you do not find value.
I love to learn, but I become distracted by new things to learn. This 100DaysOfCode is for me stay motivated and focused on two specific technologies I would like to learn more in detail: BSD, C and Python. My progress log will be available on this post below and also briefly on my Twitter feed.
Day 1
BSD: install FreeBSD according to instruction given by Roller Angel in FreeBSD Fridays.
Python: watch Brian Will’s Python (all parts in one) video.
Day 2
BSD: watch Absolute FreeBSD interview with Micheal W Lucas on BSD Now 267
Python: Exercise 1 & 2 of Learn Python 3 the Hard Way
Day 3
BSD: watch a Micheal W Lucas presentation on FreeBSD from Michigan!/Usr/Group
Python: Exercise 3 & 4 of Learn Python 3 the Hard Way
Day 4
BSD: watch Deb Goodkin’s Intro to FreeBSD from the FreeBSD Fridays series.
Python: Exercise 5 & 6 of Learn Python 3 the Hard Way
Day 5
BSD: watch History of BSD Fast Filesystem, by Dr. Marshall Kirk McKusick
Python: watch Lecture 1 of CPython internals: A ten-hour codewalk through the Python interpreter source code by Philip Guo
Day 6
BSD: read Introduction and chapter 1 of Absolute FreeBSD book
Python: Exercise 7, 8 & 9 of Learn Python 3 the Hard Way
C: Unit 1.0 & 1.1 from edX’s C Programming: Getting Started
Day 7
BSD: DJWare’s FreeBSD 12 YouTube video
Python: Exercise 10 of Learn Python 3 the Hard Way
C: Unit 1.2 from edX’s C Programming: Getting Started
Day 8
BSD: read chapter 2 of Absolute FreeBSD book
Python: Exercise 11, 12, & 13 of Learn Python 3 the Hard Way
C: read an article entitled After All These Years, the World is Still Powered by C Programming on the Toptal Engineering blog – (Toptal is a freelance network to help hire software developers)
Day 9
BSD: watch intro video from Marshall Kirk McKusick‘s Introduction to the FreeBSD Open Source Operating System by LiveLessons and start Introduction to ZFS by Dan Langille from FreeBSDFriday series
Day 10
BSD: start a new FreeBSD install and finish Introduction to ZFS by Dan Langille from FreeBSDFriday series
C: begin Unit 1.3 from edX’s C Programming: Getting Started
Python: Exercise 14 & 15 of Learn Python 3 the Hard Way
watch Lecture 2 of CPython internals: A ten-hour codewalk through the Python interpreter source code by Philip Guo
Day 11
BSD: watch Introduction to FreeBSD Security
Python: Exercise 16 & 17 of Learn Python 3 the Hard Way
C: Unit 1.3 from edX’s C Programming: Getting Started
Day 12
Python: Exercise 18, 19, & 20 of Learn Python 3 the Hard Way
BSD: read an article from itsfoss.com – 6 Reasons Why Linux Users Switch to BSD
Day 13
BSD: Introduction to Hardware Hacking with Raspberry Pi by Tom Jones from FreeBSD Fridays series.
Python: Exercise 21 & 22 of Learn Python 3 the Hard Way
watch Lecture 3 of CPython internals: A ten-hour codewalk through the Python interpreter source code by Philip Guo
Day 14
BSD: read Absolute OpenBSD ch 1 -3 and install OpenBSD
C: edX C course
Python: Exercise 22 & 23 of Learn Python 3 the Hard Way
Day 15
BSD: set up Jails via BSD Programming Workshop by Roller Angel
Python: Exercises 24 & 25 of LPTHW
Day 16
C: edx C course – finish unit 1
Python: Exercises 26 & 27 of LPTHW
Day 17
BSD: Absolute BSD – read ch 4
Python: exercises 28 & 29 of LPTHW
C: edx C course – Unit 2.0
Day 18
Python: exercises 30 & 31 of LPTHW
Day 19
Python: learning Flask – progress seen on my GitLab repo.
Day 20
Python: continuing learning Flask
Day 21
Python: exercises 32 & 33 of LPTHW, more Flask learning
BSD: Intro to Jails during FreeBSD Fridays session
Day 22
Python: exercises 34 & 35 of LPTHW, complete a Flask TODO app, learn about Jinja templates and SQLAlchemy
Day 23
Python: start a Flask course on Udemy by Jose Portilla, exercise 36 of LPTHW
C: start Unit 2.0 of edX course
BSD: set up Python on FreeBSD
Day 24
Python: section 8 of Flask course on Templates by Jose Portilla
Day 25
Python: section 9 of Flask course on Forms by Jose Portilla
Day 26
Python: section 10 of Flask course on Databases by Jose Portilla
Day 27
Python: continue Practical Python Udemy course by Maximilian Schwarzmülle – learn about working with files and Error Handling
Day 28
start the Linux Upskill Challenge to see where I am at – using Google Cloud Platform just so I am familiar with that cloud provider.
Day 29
Python: section 11 of Flask course on application layout by Jose Portilla
Day 30
Linux Upskill Challenge days 2 – 10.
Day 31
install pure Debian 10 in a VM and test out applications I care about
Day 32
Python: begin section 12 of Flask course on user authentication by Jose Portilla
Day 33
Python: finish section 12 of Flask course on user authentication and start 13 on a social company blog example by Jose Portilla
Day 34
continue section 13 of Flask course on building out a social company media blog. Just finished sections on Error Pages and Core Views & Templates structure
Day 35
begin CS50’s Flask lecture
Day 36
continue CS50’s Flask lecture
Day 37
finish CS50’s Flask lecture
code seen: https://gitlab.com/cdnuzzo/learn-flask/-/tree/master/cs50
Day 38
start Python project by @Tutorialinux doing web scraping of Humble Bundle website https://youtu.be/7SWVXPYZLJM
code: https://gitlab.com/cdnuzzo/learn-computer-science/-/tree/master/python/web-scraper
Day 39
finish Python project by Tutorialinux doing web scraping of Humble Bundle website https://youtu.be/7SWVXPYZLJM
re-enforce knowledge on Lists from Python 3 Programming Course: 7 – Lists
Day 40
do lecture 6 of CS50 on Python to make sure no knowledge is missing for the basics. https://youtu.be/kM4oZTJaO8k
Day 41
learn some theory and do some thread coding examples from Real Python. find resources here: https://gitlab.com/cdnuzzo/learn-computer-science/-/blob/master/python/README.md
Day 42
Day 43
Finishing “CS50 2020 – Lecture 7 – SQL”. Starting “CS50’s Web Programming with Python and JavaScript 2020:.
Spoke with the non-for-profit board members on why I want to do this and they agreed.
Looking Forward
This series: https://www.oreilly.com/library/view/introduction-to-the/9780134306049/
Day 44
start Flask app prototype
installs: debian, openbsd, nixos, freebsd, arch,
C: finish Unit 2.0 edX course
BSD: Absolute FreeBSD book read (continue)
– FreeBSD Friday series on Friday
Python: continuation of Learn Python 3 the Hard Way
– additional CPython internals: A ten-hour codewalk through the Python interpreter source code lectures
C: edX C programming courses
Day 50 – 60:
Python: explore Flask, Django – anticipating the creation of a “database viewer” program
misc.
Python: 100DaysOfWeb course by Talk Python, Python Memory Management course by Talk Python, Linux Academy’s Python scripting for SysAdmins course, other Python books – automate the boring stuff, finish Udemy’s Max Python Blockchain course
BSD: jails, ZFS, additional BSD installs, OpenBSD talks
Michigan!/Usr/Group presentations: Jails, OpenBSD, ZFS
future topics:
SRE specific curriculum: https://github.com/andrealmar/sre-university
Computer Science research (a la PhD)
- create a game
SRE, Go, C, NAS, filesystems, Docker, Nginx, systemd, K8s, BPF, bash, AWS, MySQL, hacking – Hacker101, Kali Linux, NixOS, Linux kernel development, quantum computing