Notes tagged with "Thoughts"
on hugo
Where have I been with blogging to this point?
-
In 2013 I gave blogging a start and built one with my own homegrown tool. I’m guessing at the time none of the python static site generators really appealed to me for one reason or another. That and it’s an obvious programmer cliche to build it yourself, especially if its been already done numerous times elsewhere.
-
The problem with writing your own blog engine is simply software maintenance. My original blog engine was written in python 2, which is now officially defunc. I doubt I could port it to python 3 without running into poor design decisions that I would then be compelled to fix. I need to write stuff down, not get sucked into a programming rabbit hole.
On note categorization
What am I generally capturing notes on?
- basic “how to” instructions (e.g. setting up and configuring a server).
- cheatsheets (e.g. common commands, points I typically forget).
- collecting my thoughts on a subject (e.g. like this post).
And what broad areas do I cover?
- programming languages (e.g. python, go, html, css, javascript, etc.)
- libraries (e.g. flask, hugo, pelican, etc.)
- tools (e.g. vim, tmux, invoke, etc.)
- experience (e.g. assessing software quality, work environments)
So, is it Categories and/or Tags?
Command Line Libraries
Python Command Line Libraries
I really don’t like any of the cli libraries out there. The one I like best is docopt
and mainly because it is simple to understand and use. The problem with docopt
is that it only does command line parsing. It does not handle argument
type conversion or validation, nor does it do dispatching. It does leave your
cli interface decoupled from your application, whereas some of these other convience libraries,
such as click, couple the building of cli commands and arguments to functions and tend
to make heavy use of decorators - a style I don’t find appealing. They also
tend toward being application frameworks - something I don’t mind, but I’d rather have
more choice over how things are implemented.