As part of my residence in #python on Freenode, I use a bunch of text macros, or factoids. Here’s a list of them:
|anaconda||Anaconda (a) is often unneeded because there are binary wheels on PyPI (b) wastes disk space — how many Anaconda packages do you really use? (c) I’ve seen bugs caused solely by broken Anaconda packages (d) Anaconda, Inc. is a for-profit company. Why should I trust them to do things right? How can I be sure it’s safe? (e) Anaconda’s Spyder requires libselinux on SELinux-free systems.|
|django||Warrick’s Tenth Law: “Any sufficiently complicated Bottle or Flask app contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Django.”|
|factoids||I’m using factoids (text macros) extensively on this channel. Here’s a list: https://chriswarrick.com/pub/factoids.html|
|learnpy||If you can already program in another language: official tutorial https://docs.python.org/3/tutorial/ ; if not: Think Python http://greenteapress.com/wp/think-python-2e/ or https://automatetheboringstuff.com/|
|learnpyN||For newcomers to programming: Think Python http://greenteapress.com/wp/think-python-2e/ or Automate the Boring Stuff with Python https://automatetheboringstuff.com/|
|learnpyY||If you can already program in another language, read the official tutorial at https://docs.python.org/3/tutorial/|
|lpthw||Learn Python The Hard Way is not worth the $30 price tag. It’s discouragingly slow and boring. 19% of the book is printing. It makes you memorize truth tables instead of understanding logic. It often makes you Google things instead of teaching them. Go get a refund and read those instead (free!): http://greenteapress.com/wp/think-python-2e/ or https://automatetheboringstuff.com/|
|pipenv||Pipenv is a dependency management tool. It isn’t compatible with most workflows, and comes with many issues. https://chriswarrick.com/blog/2018/07/17/pipenv-promises-a-lot-delivers-very-little/|
|runpackage||You cannot run individual .py files that are part of a package. Instead of python foo/bar.py, use python -m foo.bar (you must be in the project top-level directory — that is, the directory that contains your top-level package). See also: https://go.chriswarrick.com/entry_points|
|test||Hello, world! ąćęłńóśźż|
|typing||Type hints are awesome, in general… unless you end up with Dict[str, Union[List[Dict[str, Union[str, int, float]]], Dict[int, List[Dict[str, Union[bool, int, str]]]], int]] for a fairly simple JSON structure.|
You can find me in #python and on Freenode as ChrisWarrick, and also in a bunch of other places.
The factoids are made possible by a WeeChat plugin I wrote. This page is generated using a simple Python script.