Photo of a fist punching a punching bag

Even with one hand tied behind my back, I can still make a fist. (It's coded to run on *NIX.)


Hey folks of the P0x!

I hope you haven't missed me too much while I've been gone. I've been a busy little beaver this last week, thanks to ongoing problems with Windows making my balls heavy and generally screwing me over. Same old, same old, right? Well, no, not exactly. It's got worse than ever before. There's a first time for everything, I suppose, even when I thought I was well familiar with my machine's chicanery.

This time, it's the antivirus software I was running (Avast) having removed CMD and findstr, thus preventing me from running a lot of software, particularly CLI-based, since Windows can't find it in %PATH%. (That's a serious problem, since using the console is mainly how I interact with Windows anyway; everything else is a resource hog and takes ages to load and run, then crash or hang for another age. Technically, I could run stuff by explicitly specifying the path to it, but ain't nobody got time for that.) Technically Windows 8+ is a virus, but I still have stuff on my HD that I haven't backed up and I don't want to throw the baby out with the bathwater. I haven't quite reached that level of frustration yet.

In order to get around/past it, I changed to using *NIX through WSL. I've been meaning to learn to use bash as an actual scripting language (beyond a handful of commands) and the CLI properly for a while anyway, so it's not necessarily a bad thing that adversity has forced me to. What made me choose *NIX? Well, apart from its obvious technical superiority to Windows and the ridiculous price of Apple products, that would be having run Windows for many years. Familiarity breeds contempt (although I remember 2K and XP fondly, despite having to restart any time I installed/uninstalled anything or encountered a Fatal Exception).

This week in things I did:

  • Tried (and failed) to get xorg/X11 running as a server on Ubuntu 20.04 and Debian Bullseye on WSL, using VcXSrv and/or Xming on Windows. Removed Ubuntu 20.04 and reinstalled it using WSL, before learning that it's possible to get WSL to run bash directly without invoking ~/.bashrc or ~/.profile (which is how I fixed Debian by reverting the changes X made.) Not everyone can write a decent tutorial.
  • Installed Ubuntu 22.04 on WSL, because my AV started quarantining parts of the OS (CMD and findstr in the System/Win32 dirs).
  • Uninstalled Avast, using a low-level tool from Avast (which basically bypasses the OS from a TSR in RAM, ala DOS days).
  • Installed wine, winetricks, vcrun6, vbrun6 and wsh on my old Ubuntu laptop. (I can now run VBScript on *NIX!)
  • Installed a metric sh*tton of software on Ubuntu (~2.5 GB).
  • Uninstalled a sh*tton of apps on Windows, since they have either equivalents or alternatives on *NIX. (Thank goodness for AlternativeTo.net and apt search!)
  • Installed Vundle and a sh*tton of plugins for Vim (mostly for syntax highlighting and source-control). Vundle is way easier to use than Pathogen!
  • Customised .vimrc to give me Windows-like key bindings (mainly <S-Insert> for pasting , <C-X>/<F4> for quitting and <C-S> for saving the buffer from Normal mode). Got chastised by the Vim SE community for doing it wrong instead of learning to use Vim and VimScript properly (id est from scratch). IDGAF; I'm moving on to get some work done. (Snark: 1, Vim SE: 0)
  • Tried to shrink my HD using Windows' Disk Manager, but there are apparently unmovable files preventing that (so I've got ~0.49 TB of unused space). Of course, it doesn't tell me what those files are (or where) in case it might be useful for once or I can move/delete them myself. (I suspect they are hyperfile.sys and pagefile.sys or something in System/Win32 which Windows needs to run, because that would be just fucking typical of Windows.) It looks like I'm probably not going to be able to create a ~0.2 TB partition for all the files I want to back up (which, TBH, is mostly pr0n that took hours to download from eporner). Also, my laptop has no CD/DVD drive and I have to use a slow USB 2.0 one, if I can even find a shop that still sells writable DVDs, those having been superseded by Blu-Ray and flash drives as large as 128 GB, neither of which I have nor can afford.
  • Removed BitLocker encryption from the HD and downloaded a GParted LiveCD with the intent of shrinking the primary partition that way, hoping not to incur data loss.
  • Wrote some size-optimised example/test NASM and C code (the exact same code on *NIX and Windows). On *NIX, it's about 10-20x smaller than on Windows, in most cases. Hmm ...
  • Started writing a number of eBooks to publish on LeanPub (including Compound Fractures, an expansion of the Fractures stories I've published here, my autobiography and a commentary on/guide to programming with Arduinos and BeagleBones).
  • Figured out how to use a pure JavaScript/jQuery library to create customisable QR codes, in the process learning that it's possible to fit up to 1 250 ASCII characters into one (by attempting to make one for the entire Gettysburg Address). It's available on my Website, if you want to play with it. It bombs out if you give it ASCII-extended characters (particularly diacritics and umlauts).

This month in things still to do:

  • Learn PowerShell, since I'm running wsl -d Ubuntu-22.04 from it and it's slow AF, which doesn't surprise me. Only MS would cock up re-implementing/rewriting bash in .Net, which is probably why they gave us WSL. (For some reason, WSL didn't create a shortcut for Ubuntu like it did with Debian Bullseye.)
  • Learn VBScript and use it to script WMI
  • Learn bash and zsh
  • Learn to use Vim and VimScript properly
  • Get all my passwords into KeePassXC, out of password-protected CSV and ODS files.
  • Get better acquainted with all the CLI-/TUI-based applications, tools and utilities I've installed on *NIX
  • Learn Python and play with all the CLI/TUI libraries I've installed (mostly extensions to curses, but one's a pretty awesome-looking port of TurboVision to Python) because yay, actual drop-downs, menus and select lists for TUIs in Python! The Python wrapper for notcurses has been updated, so I'm hoping some bugs have been fixed there. Also, I hope the source-code is well-commented, since the manual/PDF doc is outdated.
  • Actually learn how to use pointers in C/C++ and learn the rest of those languages.
  • Learn Cython.
  • Learn Nim #chooseNim
  • Write an interpreter for Brainfart, an extension of Brainf*ck, to make development with it a little easier, if not any more practical. (Since I've got an assignment I can write in any language I choose, I'd like to write it in one of my own, partly to prove that I'm smart enough to do so, but mainly to be dickish. The caveat is that I've only got an hour to do so and there's no way I can get even a single non-trivial Webpage or script finished in that amount of time, unless I use already written templates that require a minimum of code from me. It's either that or figure out how to embed executable code in/call it from MultiMarkdown, using the converter as a CGI. That could be interesting.)
  • Find a goddamn job, preferably fully remote as a freelancer/IC, which enables me to pick my own tech stack.
  • Write an .editorconfig file and place it in either ~/.config/ or ~/.local/ (maybe both; both could be good if I symlink it from one to the other)
  • Write some TUI-based apps as replacements for the Windows ones that don't have alternatives on *NIX
  • Find a suitable replacement(s?) for MS Teams, Google Meet, Slack and Zoom, then convince people to actually use it/them.
  • Convince people that Mumble is better than Discord.
  • Lurk moar on IRC channels, particularly the Arduino one on freenode.
  • Learn to create Telegram and WhatsApp bots (since I've installed Python libs for them)
  • Fork lynx and/or w3m-img to see if I can add CSS and JS support. Maybe it would be easier to fork Firefox/SpiderMonkey/SeaMonkey/Ungoogled Chromium and write a TUI for it/them. I'll call it Chimera or Manticore for the LoLs. At one stage, I was looking at how to write a plugin to use Arweave Mail with Thunderbird (which I was going to call Weaver), but that didn't happen. I'd rather make it for Filecoin or Storj.
  • Spend some time on Mastodon.
  • Clean my room (again!)
  • Install PowerShell on *NIX, purely for the LoLs.
  • Learn as much about ASP, ASP .Net, C#, MVC and Web API as I can, to become ZAF's answer to Jon Skeet (to spite a company that wouldn't hire me because I didn't know some of its tech stack, mainly how to get it to work with Entity Framework and MS SQL Server).
  • Figure out how to get an ASP .NET MVC site running on mod_asp or mod_mono (or write my own Apache/NginX module).
  • Learn PERL 5, Raku (PERL 6) and PHP 8/9.
  • Port as much of my software as I can to be Web-based (a bit like JoliCloud) so that the only software I need to run is a Web browser and a server (possibly running from a BeagleBone or Raspberry Pi with some capes/hats).
  • Create a LeanPub account and publish what I've writ so far.
  • Finish writing the books I've started. Write a post here, giving discount coupon codes to my readers.
  • Back up my files, find a way to bypass Windows and get rid of it for good (except if I run it in a container).
  • Figure out how to repurpose an old solar panel and cellphone LiPo battery for use as a rechargeable power source for an Arduino/BeagleBone/RPi, using a switching boost converter.

Anyway, I've got a lot I want to get done, some stuff I need to get done and, as always, poor time management. I leave you with this Aussie gem (since Mr. Sawyer thinks I live down under, for some reason):

As busy as a cat ... burying sh*t ... in concrete!

Until next time, whenever that might be,
Snark out!


Thumbnail image: Photo by Pixabay on Pexels

How do you rate this article?

7


Great White Snark
Great White Snark

I'm currently seeking fixed employment as a S/W & Web developer (C# & ASP .NET MVC, PHP 8+, Python 3), hoping to stash the farmed fiat and go full Crypto, quit the 07:30-18:00 grind. Unsigned music producer; snarky; white; balding; smashes Patriarchy.


Return to the Source
Return to the Source

Use the Force; read the source! This blog is mostly a collection of study notes on ASM, ASP .NET, Blender, BASIC, C/C++, C#, ChucK, Computer Architecture, Computer Literacy, CSS, Digital Logic, Electronics, F#, GIMP, GTK+, Haskel, Java, Julia, JavaScript (ES6+) & JSON, LISP, Nim, OOP, Photoshop, PLAD, Python, Qt, Ruby, Scheme, SQL (MySQL & SQLite), Super Collider, UML, Verilog, VHDL, WASM, XML. If I can learn it and make notes on it, I'll write about it. || Blog images copyright Markus Spiske and Pixabay

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.