100 Days of Code

 

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 ‘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

Going thru “CS50 2020 – Lecture 7 – SQL” lecture on YouTube. Starting a Flask project for a non-for-profit.

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)

Quare FreeBSD?

– FreeBSD Friday series on Friday

Python: continuation of Learn Python 3 the Hard Way

–  py4e.com/lessons

– 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