Notes for Week 30 of 2020

Friday, July 31, 2020, 8:34:55PM

Had to install Skype as a backup because Discord is so horribly bad. The Discord technical team is rather unprofessional on so many levels. Every time I experience one of their broken live upgrades I wince. I’ve working in far to formal and fault-intolerant environments before where people die if shit doesn’t work. Discord doesn’t give a fuck, clearly.

Friday, July 31, 2020, 6:39:19PM

Having a spectacular week. I came across Cliff Young. I guess he’s the reminder that I needed that humans are incredible beings and have enormous potential that is practically imperceptible in today’s day-to-day living. I’ve been fighting the “humans are shits” feeling for a while and the Universe brought Cliff into my path for a reason. I don’t have to feel bad that I’m doing the “marathon shuffle” when I hike/walk/run or even that I might feel inclined someday to actually wear “gum boots” someday on a run — and you know I am gonna do it.

Today while on a particularly glorious section of wooded trail the noon-day light broke through and illuminated the trail in such spectacular fashion that I actually broke down and cried quite a lot. The leaves where back-lit and illuminated, the smells of the forest overwhelmingly fragrant. Critters all around me scurried and birds sang. As I have frequently experience (and often forgotten) I became one with my surroundings. I feels almost as if I’m actually one with everything around me. I sometimes imagine the atoms of my body just releasing the forces that bind them together and being absorbed.

These days I’m run/walking 13 miles a day — every day. My life has been filled with periods of time when I was connected with the outdoors and when I was not. Every time I have lost that connection my life has failed in some way. I feel outstanding exhilaration every day and a desire to make every indoor hour count even more so that I can get back outside. I fit into all my Patagonia gear again so looks like the Winter won’t hold me off. Four hours a day outside, every single day, that is one very real secret to happiness.

Tuesday, July 28, 2020, 4:53:42PM

Added detection of /tmp/commitmsg to my save command. Sure makes for more useful messages. I have come a long way from doing WIP messages even for notes log entries. Still most of my notes will just be generic commit messages, but not the others.

Tuesday, July 28, 2020, 8:42:33AM

There’s a pattern with me. Once I get outside a lot and establish the habit of being outside for more than two hours a day I just don’t want to go back to doing anything inside. I have to force myself to code at all. It becomes a chore. That’s how I know that deep down I’m actually not a techie at my core. I’m more of a writer, explorer, and traveller than anything.

That also explains my obsession with technologies that enable the exchange of knowledge and storied, that help others become their own gurus so they can learn on their own terms. The idea of creating (or at this point even playing) a video game absolutely sickens me. Given the obsession I had with Witcher 3 and, for a while, with Overwatch, that is really telling. It shows me that our brain chemistries are more in control of us than most of us would care to admit. Right now my brain is literally addicted to the endorphin and dopamine high from trekking 10 miles a day as fast as I can, of taking a road less travelled on occasion just to see where it leads. Of getting lost and being okay with it as I find my way back home.

It’s no surprise that my body has transformed, almost completely. I’m not a tan/sunburned, long bearded, Patagonia-wearing dude who quietly nods and smiles to passing travelers on the path, all facing their own individual struggles, all oblivious to the pointless traffic and pollution around them. I’ve been reminded I’ve always been a member of a different tribe, one with members who wonder silly things like, “can I fit my hammock in my pack and take a nap between two-hour hikes?”

Monday, July 27, 2020, 7:48:36PM

Just hearing about the “bullet” method for note taking. Seems interesting but I have a feeling that digitally thing form of logging might be better for me so long as I have a way to search them.

I am partial simply to use the Pandoc Markdown div notation for this stuff:

Need to walk the dog.

Monday, July 27, 2020, 7:44:44PM

Need to look into a book recommended from a friend called Make It Stick. Wondering if it is new or just rehashing the old stuff we already know.

Monday, July 27, 2020, 7:17:11PM

Need to put an article together that has all the great, free code sharing sites out there. Here’s the best so far:

Those are my favorites — especially which I can use from within a vi session to send and receive specific lines and sections.

Monday, July 27, 2020, 7:08:30PM

Found out today that is on some Python version previous to Python 3.6 because someone I’m helping cannot use f-strings. This is the standard used by his university that costs him $960 per course. I’m fucking out of my find with how stupid that is.

Monday, July 27, 2020, 4:22:41PM

Had a good reminder today how important it is to keep the Go interfaces in the top level of the package and the mostly private implementation of those interfaces in their own second-level subdirectories (subpackages). It makes the names work out perfectly. Instead of ending up with a parser.Parser and node.Node you get pegn.Parser and pegn.Node. This also allows the removal of the redundant name in the constructors so instead of parser.NewParser() and node.NewNode() you get parser.New() and node.New().

To any old-school Java or C++ class-based OOP programmers who might be reading this. Creating the top-level interfaces of the package feels like writing the top of a class, and coding the specifics of the subpackage subdirectory implementation files feels like the body and methods of a class.

I have coded other Go stuff like this before, but this pegn package really serves to illustrate how powerful the approach of public interfaces and a private implementation can be in Go when combined. It is definitely not the intuitive approach that I see beginners use, but it is very clearly the most idiomatic Go design. I will be so glad to use pegn, ezmark, dtime, cmdtab and other packages to demonstrate this. I’m very motivated to get this really polished to show how objectively simpler and superior Go coding is to Rust.

Monday, July 27, 2020, 9:26:35AM

The demand for PEGN parsing solutions will only increase as the tech world continues to simplify the human-computer interface with text and conversational interface layers. The demand for highly efficient and sophisticated language grammars will also increase as will the demand for software developers who understand them and can create them properly.

The pegn package I’ve been building falls directly into that space seeking to meet the needs of developers who need to implement domain-specific languages quickly and easily. There’s no need for ever developer to create a new PEG parser every time. There’s not even a need to redefine the most common tokens and classes used in any DSL. They are all included in PEGN and the pegn implementations.

Very few people on planet Earth will even understand enough to grasp the impact of something like this. But to those who do, this will be very clear and appreciated. I just wish I could find more of such people.

Sunday, July 26, 2020, 5:03:34PM

Looking over plans for the rest of the year and comparing my offerings with those of others and it is clear I need to make a few changes. Here’s the summary after talking it over with Doris:

  1. Complete and organize opensource projects (PEGN, Ezmark, kn, RWX.GG, README.World) enough for allow others to contribute and put into their own portfolios. Recruit help.

  2. Simultaneously continue working on porting the original Python SkilStak challenge set to language-agnostic challenges.

  3. Identify language-specific challenges and organize them as well. Create a challenge summary page for each language that embeds the language-agnostic ones.

  4. Create Polyglot Programming Twitch/YouTube video walkthroughs of the challenges done in simultaneously in Bash, JavaScript, Python, and Go.

  5. Update the SkilStak curriculum to take into account the additions.

  6. Formalize the SkilStak waiting list.

  7. Raise SkilStak rates minimally after curriculum updates are in place mostly due to limit of 25 community members maximum.