Future-proof your tech-skills with Linux, Python, vim & git as I share with you the most timeless and love-worthy tools in tech — and on staying valuable while machines learn... and beyond.

Python as in Monty. That’s important.

Python farts in the general direction of of people who would like to do things in a less-pragmatic way.

Can Python Really Be This Good?

There are many programming languages in the world, but there is one that stands in the path of JavaScript’s world domination. And is Rust. No, I mean it’s Python, for you see you can’t be a casual Rust developer — or at least I can’t because it’s still basically very C-like, and C no-fit my brain.

The Perpetual Newb

I know I look like I think I know a lot, but truth is I’m always just figuring things, cause I don’t know shit. I might look like Gilfoyle, but I had to figure out who that was. And I assure you I am not that, like at all. I couldn’t really do anything naturally with coding until about 10 years in with Python and vim.

Jupyter Yay VSCode Nay

Python gives you the instant reward a lot faster than vim. You don’t start to feel really feel the vim groove for a few years, but Python is bursting with instant rewards because Jupiter. Don’t fall into the VSCode trap here. A vendor-dominated power tool is okay here and there, but don’t back your career on it.

Python is a Framework

I need the support struts and frameworks provided by Python. Yes, Python is a framework. I did not realize it at first, but as you start to learn about the 3 basic Python datatype as, Lists, Dicts and Tuples, you start to see the personality of a well thought out system for expressing data structures and automation. The primitives aren’t so primitive. You can build a lot of useful stuff fast from these well-designed abstractions.

Lists, Tuples & Dicts, Oh My!

The world is staring to think that way given the popularity of JSON, basically beating out XML for this sort of thing. But Python’s dicts, the equivalent to JSON, only starts to tell the story. They each have their own special syntactic sugar to make reading and writing them easier. Dict use {name: “curly”, value: “braces”} while [“lists”, “use”, “square”, “brackets”]. (“Parenthesis”, “are for tuples”).

Tuples Are For Tables

At first lists and tuples look alike, but because of their interfaces and how they’re used, they couldn’t be more different. Lists are dynamic, allowing inserting, appending and extending. Lists are of any and often changing length. Tuples are of a fixed length, making them perfect for passing the equivalent of row-like database records around. A table of tuples is a grid like an Excel tab or SQL table.

Dict Keys are Sets

An interesting thing about the Python dict datatype, which are json-like key/value-bundles, is that the keys are always unique in a dict. If you try to add a second record with the same key it will replace the first record. This leads to a discussion of the fourth datatype, set(). It doesn’t have its own symbol, but it recycles curly-braces for very good reason.

Python Articles

Pandas Articles

Project Jupyter

Using Jupyter Notebooks on JupyterLab is a miraculously easy way to get onto both Linux and Python on your Windows 10 or 11 laptop. That is to say, when you run Python code in a Jupyter Notebook on your laptop, you’re running the exact same Linux Python code that you can lift and move onto a headless Linux server for automation.

What’s a Jupyter Notebook?

From within the Web browser, you will be accessing official latest CPython reference specification Python 3.11 through a Notebook. It runs in this special way some call REPL, or Read-Eval-Print Loop, but it’s so much more than that. You can feel your way through code, because it really never stops running. You can check contents of variables, testing your code while you write it without having to “run the program” traditionally.

Are You Stuck in “LOST” Mode?

In the past, the problem with this sort of environment was that it locked you into what I call “Lost” mode. You sit there and hit a button. You’re never off the hook for hitting that button. If you want to automate that something, it’s not so easy. Aren’t we in the age of automation? Shouldn’t taking something I do in Jupyter, cleaning and prepping it up only a tiny-bit for 24x7-use and throwing it onto a place to run forever-forward be cheap and easy?