December
31
- Managing configuration in ranger.
30
- DiSSS technique, from Tim Ferriss.
- Binary trees implementations in Python.
- Managing builds in Travis CI.
29
- Using ClickUp for task and project management.
28
- Google IT
- Managing resources on cloud services, platform services (servers & databases), directory services, centralized management.
27
-
Google IT
-
Print services, NFS servers, chat communication services (XMPP, IRC, etc.)
-
Configure locales on Linux.
- Using Joplin & Todoist.
- Setting up bumblebee-status with i3.
26
- i3wm configuration: status bar, workspaces, themes, modules.
25
- Google IT
- Physical infrastructure services.
- Configuring network services.
- i3wm setup & configuration.
23
- Google IT
- IT infrastructure services.
- Regular expressions in Python.
- Working with JSON files in Python.
22
- Google IT
- System administration & tasks.
- Regular expressions in Python.
21
- Google IT
- Operating Systems: Filesystems; Process management; Remote access; Virtualization; Logging.
20
- Google IT
- Operating Systems: file and text manipulation, users & permissions, package & software management.
19
- Google IT
- Networking services: VPNs; proxies.
- Connecting to Internet: Dial-up, broadband, wireless, WANs.
- Troubleshooting: verifying connectivity, digging into DNS, cloud, IPv6.
- Operating systems: basic commands (PowerShell & Bash).
18
- Google IT
- Networking services: name resolution, DNS, DHCP, NAT.
- Implementing linked lists in Python.
17
- Google IT
- Routing (tables, protocols, addresses).
- Transport layer, application layer.
16
- Google IT
- Introduction to Computer Networking: Subnetting.
15
- Test Driven Development: Pytest; Unittest; Doctest; test doubles; test coverage.
14
- Google IT
- Introduction to Computer Networking: TCP/IP five-Layer model, basics of networking devices.
13
- Google IT
- Operating System: Installing Windows/Linux/Mac, virtual machines, Chrome OS.
- Networking: TCP/IP, history, limitations, impact, security, privacy.
- Software: abstractions; types of software; interacting with software.
- Troubleshooting: best practices, customer service, documentation & writing effective documentation, technical interview.
12
- Google IT
- Hardware: CPU & other components, overclocking, BIOS, computer assembly.
- Operating System: file systems, kernel, logs, user space, boot process.
11
- Add plugins to Pelican (static site generator): plugin
tag_cloud
. - Enrolled in Google IT Support Professional Certificate on Coursera.
- Introduction to IT support, history of computing, digital logic, computer architecture layer.
10
- Bootstrap (web framework): Tables.
- Pelican (static site generator): Use Pages in theme; Integrate menu items; Add a custom 404 error page.
- Read The Complete Software Developer’s Career Guide, by John Sonmez: Section 3 (What you need to know about software development) & Section 4 (Working as a developer). Section 4 contained the inspiration I needed to write about this Learning Progress.
9
- Manage Python dictionary with
(x, y)
coordinates (Advent of Code, day 3).
8
- Use fenced code blocks in Markdown.
- Add Markdown extensions in Pelican.
- Emmet syntax with Vim plugin
emmet-vim
.
7
- Compare strings that differ by one character (Advent of Code, day 2).
- Get common letters from two strings (Advent of Code, day 2).
6
- Customize scrollbar in CSS.
- Modify code blocks in CSS with Pygments.
- Module
asyncio
in Python (including sentdex tutorials on YouTube).
5
- Use
markdown-preview
plugin for Neovim. - Storing Python dictionaries into files & retrieving them.
- Convert list of strings to integers.
- Special Pythagorean triplet, Project Euler.
4
- Apply text transformations in CSS (example with Copyleft symbol instead of Copyright).
p5.js
library: Simple themes like shapes, colors & text.
3
- Use Vimwiki for note-taking.
- Arithmetic in JavaScript.
2
- Set
fzf
withag
in Neovim. - Remove all buffers except current one in Neovim.
- Use MathJax syntax.
- Conditionals in JavaScript.
1
- Vim’s location list.
fzf
behavior with.gitignore
&.ignore
files.- Functions in JavaScript.
- Swap partitions in Linux.
- Use Calcurse in terminal.
November
29
- Implement linked list in Python.
27
- SVG icon transparency in CSS.
- Make better use of
display
properties in CSS. - SVG rendering of PNG images with Inkscape.
- SVG support in modern web browsers.
26
- Use of HTML tag
<li>
in footer for images. - Get the Pelican version number from a template (answered on stackoverflow).
- Create direct templates in theme (answered on stackoverflow).
25
- Use Font Awesome.
- Disqus integration with comment counts.
- Correctly set Python host in Neovim.
24
- Link selectors in CSS.
- Security measures to take with VPN (Virtual Private Networks).
23
- Generate favicon for different devices and platforms.
22
- Make more responsive design in HTML5 & CSS3.
- Manage bookmarks on the command-line with Buku.
22
- Disqus website integration.
19
- Horizontal scrollable elements with Bootstrap.
- Jinja2 syntax.
- Linear gradients with transparency in SVG images.
18
- Gradient mask with transparency in Inkscape.
@media
queries in CSS.- Navigation bar togglers in Bootstrap.
17
- tmux color schemes and powerline settings.
16
- HTML Fundamentals (certificate).
- Use third-party fonts in HTML.
- Build a simple landing page in HTML5 & CSS3.
15
- Draggable JS.
- Set up SSH tunnel in MySQL Workbench & DBeaver.
14
- Customize forms in Flask micro-framework with WTForms.
- Manage pylint settings.
13
- SQLAlchemy in Flask micro-framework.
12
- Productivity tricks in KDE (Kool Desktop Environment).
11
- Manage notifications in Bash for terminated commands with NotiFyre.
10
- Review how to mount exFat filesystem on Linux.
- Installing fonts on a per-user basis on Linux (Ubuntu derivatives).
- Set Bash git prompt.
9
- Concept and application of inheritance in Jinja2 templates.
- Add Flask Babel to Flask projects.
- Set up
pylint
with Python project. - Validators in WTForms with Flask.
- Finishing Python Flask Tutorial with Corey Schafer on YouTube (including blueprints, sending emails, forms and user input, user authentication and managing database).
8
- TicTacToe tutorial serie with sentdex on YouTube.
- Building a Flask application with SQLAlchemy to manage database.
7
- Integrate user accounts in Flask application.
6
- Structuring Flask application in packages.
5
- Use draw.io to make flowcharts.
4
- Plot in Matplotlib and export to PDF files automatically from input files.
3
- Error handling in Python 3.
2
- Modify appearance of folds in Neovim.
- Integrate tmux with Neovim.
- Convert videos to GIF images.
- Review concept of mutability in Python.
1
- Configure tmux.
October
31
- Use compose key in Linux.
30
- Use of algorithms for forensic analysis of pictures.
- Review basics of Python 3 (built-in functions, indexes and slices in lists).
28
- Review tuples, strings and loops in Python.
breakpoint()
function in Python 3.7.- Integrate plugins in WordPress.
27
- Review Vim macros.
26
- Use and modify dictionary autocompletion in Neovim.
- Use mappings in Neovim that toggle one command.
- Create scatter plots, subplots, annotations and trendlines with Matplotlib.
25
- Regex examples in Vim.
- Use
pandas
&numpy
modules to manage data from CSV files to generate plots with Matplotlib.
24
- Iterators and iterables in Python.
- Selenium module in python and XPath selections.
23
- Arithmetic in SQL.
yaml
logging & configuration format.- Logging in Python with
logging
module.
22
- Apply circular text transformations in GIMP.
21
- Use quickfix list in Vim.
20
- Redraw the screen in Neovim and clear highlighted selection.
- Threading in Python.
- Incorporate log files automatically with Python script.
- Use
argparse
Python module.
19
- Configure MySQL/MariaDB server locally.
18
- Learn about
pipenv
. - Set Python PATH with different versions installed from source.
- Improve workflow of virtual environments in Python.
17
- Manage dashboard in Conekta.
- Functions to find elements in Python module
selenium
.
16
- Use
urllib.request
in Python to get the HTTP status of web pages programmatically.
15
- Options in
rsync
command to build backup script in Python.
14
- Applications of blockchain technology.
coverage.py
to test all Python code.- Simple algorithms in Python to count (reverse, consecutive).
12
- Review concept of recursion.
- Review conversion of numbers from different bases (mainly binary & octal).
11
- Themes in Pelican (static site generator).
- Set aliases for domain name to get HTTPS everywhere.
10
- Review rounding in Python (built-in functions &
math
module).
9
- Make a website on GitHub Pages.
- Git commands (submodule, branch, merge, revert, show, log).
8
- Use linters with
ALE
(Vim plugin). - Use JSON in Python.
- Use Twilio dashboard.
- Webhooks (reverse APIs).
7
- Use
argparse
module in Python scripts. - Threading in Python (
threading
module). - Install latest Python version from source (article on Real Python).
- Enable fonts with ligatures in Neovim.
rsync
command & graphical interfaces (including Grsync).
6
- Review Vim basics (editing, modes, word commands, search features, find and replace commands).
- Basic features in Krita (digital painting).
- Use applications packaged with flatpak.
5
- Options in Terminator (terminal emulator).
- Basics of restoring files with
extundelete
command.
4
- Set up account and website configuration in Disqus.
- Basics of restoring files with
extundelete
command. - Manage Flask messages (errors).
- Set up custom domain on Pythonanywere (superb platform to use Python in the cloud).
3
- Modal popups in Bootstrap.
- Concept of using AJAX to avoid page refresh.
2
- Fields validation in Flask WTForms.
- Capture and use arguments in URL within Flask application.
- Basic inner workings of Blockchain technology.
1
- Find duplicates in Vim and highlight them with macro.
- More on POST requests in Python with Flask application.
September
30
- Logging in multiple files in Python.
- Manage errors in pylint.
29
- Use CSS grids with Bootstrap.
- Convert images from PNG to SVG.
- String encryption in JavaScript.
28
- Connect to AWS database instance through SSH.
27
- Set CNAME and other records for domain name.
- Deploy a website to GitHub.
26
- Manage downloaded files with
selenium
module in Python. - Quickly clean big chunks of data in Vim with regular expressions.
25
- Working with invisible elements with
selenium
Python module. - Manage Python requests to login forms with hidden token.
24
- Regex to set more complicated mappings in Neovim.
- Set up xmodmap to remap all keys.
- Use diff mode in Neovim.
23
- Basics on Python web scraping with Beautiful Soup.
- Check/change DNS settings and speed.
22
- Start to use Silver Searcher.
- Buffer navigation with more mappings in Neovim.
21
- Watch short introduction on Neovim, by Nick Nisi.
- More options in
glances
terminal application.
20
- Spreadsheets graphs in LibreOffice.
- Sort dictionaries in Python.
19
18
- Vim & Neovim differences to better adjust configuration.
- Extract frames from videos in terminal with
ffmpeg
.
17
- Run Vim commands to affect all buffers with
:bufdo
&:argdo
. - Configure Git to authenticate with SSH.
16
- Finish reading Practical Vim, Second Edition, by Drew Neil. I love this book!
15
- Use Chrome with
selenium
module in Python.
14
- Use ADB & Fastboot to access Android phone from computer.
13
- Make use of
fzf
in terminal & Neovim. - Configure Neovim from scratch.
- Discover Oni, text editor powered by Neovim.
12
urllib
Python module by watching Socratica on YouTube.
11
- Review table joins in SQL.
- Set environment variables from terminal.
10
- Set and release clips in Inkscape to cut from objects.
9
- List all file types recursively in Bash.
- Sign SSL certificates on Pythonanywhere.
8
- Internet domains (top-level, generic, country code).
7
- Set up Flask application on Pythonanywhere with custom URL.
6
- Use
yaml
configuration files with Python.
5
- Set up project with Click (command line interface toolkit).
3
- Dictionaries being ordered in Python 3.7.
2
- Python
timeit
module & use of__init__.py
files. - Django tutorial serie with Corey Schafer on YouTube.
1
- Python
selenium
module: deal with page load time & XPath.
Earlier in 2018
Git & GitHub
- Contribute a pull request and get feedback.
- Make use of forks and public/private repositories.
- Use GitHub from terminal.
Python
- Algorithms & Data Structures on HackerRank.com, Code Abbey, Project Euler, etc.
- Finish Complete Python Masterclass on Udemy, by Tim Buchalka.
- Jupyter Notebooks.
- Build a CLI with Click.
- Use Anaconda distribution with scientific libraries.
subprocess
module in Python.
SQL
- [Basic] Certificate of Completion of Database for Developers, by Oracle.
Vim/Neovim & other text editors
- Clear variables and registers in Neovim to improve mappings efficiency.
- Completion with
Ctrl + x
in Neovim. - Control over buffers and windows in Neovim.
- Make use of
ctags
in Vim. - Plugin
vim-rhubarb
for Neovim. - Search files recursively inside a project in Neovim.
- Set
pdb
mappings in Neovim. - Start using more
comfortable-motion.vim
plugin with Neovim. - Start using plugin
ALE
with Neovim. - Start using plugin
deoplete.nvim
with Neovim. - Use
ctrlp
plugin. - Use
jedi-vim
plugin. - Use
vim-airline
settings plugin. - Use
vim-fugitive
to visualize differences between files in split windows. - Use setting
wildignore
in Neovim. - Vim script language.
- Use VS Code, Atom & nano (mainly).
Earlier
Linux
- Bash scripting.
- Disk encryption with cryptsetup.
- Use Bash terminal.
- Use distributions, including Kubuntu, Debian, Fedora, Ubuntu, Linux Mint, Mandrake, Mandriva and SuSE.
Basics of…
- Python: Get certificate for Python 3 Tutorial on SoloLearn.
- HTML, CSS, JavaScript, SQL, Visual Basic, Pascal, Scribus, LibreOffice, GIMP, Audacity, Inkscape, Blender, XAMPP (Apache distribution), Wordpress, Freeplane (mind mapping software).