we need to inflict pain — on facebook

The title of this post it taken from a comment made by the Zuck himself with regards to Apple’s upcoming privacy policies against silent cross-application tracking on iOS apps and web sites. The best way to inflict pain as an individual is to use the product as little as possible, to maintain control and use it my way, not Zuck’s way.

I do have a Facebook account; my third since I first tried Facebook in the late 2000s.

  • The first time I joined Facebook I amassed hundreds of ‘friends’, played dozens of games (FarmVille being the number one), and posted all sorts of messages. Nothing outrageous, but in hindsight it showed what a blithering idiot I could be. It was as if all my adult control evaporated when I logged into Facebook. After several years I killed that account.
  • It wasn’t until the sometime around 2013 that I went back in again. This time I focused on keeping up with my kids and immediate family. I played no games, and was a  lot more circumspect about what I said. The problem that forced me to kill my second attempt was when I got into an argument over what one of my daughters said, and how my immediate family reacted. I reacted quite strongly on my daughter’s side, which stirred up a family shit-storm. Shortly thereafter I killed that account.
  • This last account I’ve kept limited to 19 people, all of them immediate work or professional friends, people I’ve come to care about. No family, not my kids. My kids have asked me not to friend them, and I understand their reasoning and respect that.

With my third foray into Facebook, I’ve adopted the following rules.

  • Little to no politics. I’m a card-carrying liberal to be sure, but I keep my comments to a minimum. If I comment at all it’s about technology issues, such as Facebook’s evil nature. I’ve unfriended a few people who’ve gone crazy conservative on me.
  • No more than ten minutes/day on Facebook. I have a timer I start to make sure that all I do is drop in, check on folks, then log out. I always log out, and I also kill that little photo login they want me to keep up on their login page. Sometimes I’ll put my account into lockdown for weeks at a time.
  • No ads. Every time Facebooks pops up an ad I kill it.
  • No recommended groups. Every time Facebook recommends a group I kill it. I’m following exactly who I want to follow. I neither need nor want any recommendations Facebooks may make.
  • Ignore recommended videos. The latest interface recommends videos for me, which I ignore. Totally.
  • Facebook and Instagram are not installed on my iPhone nor my iPads. I only visit those sites at home on my personal computer.

There are some others, but those are the key ones. I developed those first for Twitter, then adapted them to Facebook. Basically I’m an adult and can handle these social media properties in an adult manner, part of which is controlling how much of my time I invest in any and all of them. None of them, in particular Facebook, are to be trusted. As long as I never forget they’re adversaries I can keep them at arms length, so to speak. Whenever I feel I’m getting too involved I shut them down and walk away, weeks at a time if necessary. Social media isn’t addictive, but I am lazy at times and they can become a bad habit if I let them. I won’t let them, not anymore.

F*ck the Zuck.

building python 3.9.1 on jetpack 4.5 and the jetson xavier nx

These instructions will help you build Python 3.9.1 on the Jetson Xavier NX Development Kit running JetPack 4.5. There are two broad stages to building this version. The first is the installation of support developer libraries to allow all Python modules to successfully build, especially _ssl. If _ssl fails to build then pip will not be able to negotiate connectivity with any Python repo, making installation of modules fail. After the installation stage come the build steps.

Install Build Prerequisites

To build all Python modules the following libraries need to be installed. Simply copy-and-paste the following line:

sudo apt install zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev

Build Python

Download the latest version of Python, build, and install:

  1. Download the latest Python, version 3.9.1, from https://www.python.org/downloads/.
  2. Untar the file (we’ll assume it’s downloaded to the default ~/Downloads):
    tar xvf Downloads/Python-3.9.1.tar.xz
  3. Make a build directory at the same level as the untarred source directory. In my case I named the build directory build-python-3.9.1
  4. Change directory into the build directory.
  5. From within the build directory execute the configure script:
    ../Python-3.9.1/configure --enable-optimizations
  6. Run make with all active cores:
    make -j $(nproc)

    On my machine I enabled all six cores of the Jetson Xavier NX. Running with fewer cores will result in a longer build time.

  7. Install into the alternate location for this version of Python:
    sudo -H make altinstall
  8. Check for the alternate location with which python3.9. It should return /usr/local/bin/python3.9.

I created a Python 3.9.1 virtual work environment, something I highly recommend. I do that to keep the stock and newly installed environments distinct from one another. These are the specific steps I used to create that virtual Python environment.

  1. In your home directory create a work folder. On my system I named it ‘vpython’. Change directory (cd) into it.
  2. Then create a Python VE:
    python3.9 -m venv 39
  3. While you’re there you might as well update pip. Always count on the pip bundled with any version to be out of date with the official version. Using my environment as an example:
    $HOME/vpython/39/bin/python3.9 -m pip install --upgrade pip

Now you’re ready to use the latest Python.

Install PyQt5

I use Python library PyQt5. In order to do that you must install Ubuntu’s Qt5 support libraries as well as the Python module.

  1. Install Ubuntu Qt5 support: sudo apt install qt5-default
  2. Enable Python 3.9 virtual environment: source $HOME/vpython/39/bin/activate
  3. Install Python PyQt5: pip install PyQt5

You’re pretty much free to use Python 3.9 with PyQt5 at this point.

Note that these directions also apply to installation on the Jetson Nano on the same Jetpack version.