Posts

I Was Wrong About Being Wrong

Image
In my previous post ( here ), I concluded that I was heading down the wrong solution path. Now I take it back. I was wrong about being wrong. link for image source ( here )  more of Bob's Banter ( here ) and also ( here ) about staying motivated QAB g ::: Admitting you were wrong QAB y ::: Admitting you were wrong          ^^---  The Mental Breakdown : Admitting When We Are Wrong         ^^--- Our Shrinking Attention Span         ^^--- [ Quastri ]  Why Admitting You're Wrong Feels Impossible         ^^--- [ Why Though? ]  Why You’d Rather Be Wrong Than Admit You’re Wrong                        ^^--- DK effect         ^^---  How To Overcome Failure & Learn From Your Mistakes - Jordan Peterson ... TO BE CONTINUED My error included not looking at the bigger system picture. The Xpander ca...

The Nitty Gritty

Image
  It's time to get down to the " nitty gritties ." The grandiose planning and scheming for the Xpander project [ here ] is done for now. So next I've got to break down the code into smaller pieces and figure out how to do the logic properly. First up is the analyzer for the input text. I've got to consider edge cases as well as the assumed general case. [Note to myself: Use r"/'''"  strings in the dictionaries! QABg ::: python r strings ] [G4G re r strings here ] [OTHER prefixed strings here !!] [Music for reading below boring stuff with is here ] Some of the possible permutations for the input text variable include: (0) An empty text string; (1) Only 1 character          (1a) A received lone char is a P3 or a P4 (no pre-fixed char)                     --what to do? (2) Only 2 characters:          (2a) Second one is a P3 or a P4 while first is not = a valid Abv ...

Hindsight: Thank Goodness I chose to use OOP for my current project

Image
  I only vaguely remember how my so-called "second" project for learning OOP evolved into my current "Xpander" project . I sure am glad though, that I found justification for doing it as an OOP project based on the idea that I will need different instances (a.k.a. different lookup dictionaries) for different situations  (a.k.a. different " contexts " ) . [QAAA =  ( Query Asked And Answered ) =  QA3 -->  here  and here ] In other words, (Abv = iow ?)   thank goodness I'm developing it as an OOP project. The project is too complex to not be an OOP project. [QA3 = here ]   ( Link to first image on the right is here ) Let me "step back" in time a bit. I used to write work-related macros in VBA for MS Word. My two most useful, hot key activated, macros were called "DoThis" and "ConvertThis" ( made up names here ). For the first macro, I would highlight a text string that was the name of yet another VBA macro and hit a hot ...

More Design and Planning for My "Xpander" [Abbv] Generator

Image
  Initial Draft ideas for  special Xpander cases The P4=(~)P3=(`) sequence: In this case consideration, the user types the following sequence ( each square bracketed [item] is a keystroke while curly bracket is multi-keys ): [space]  {script  name} [P4] [P3] [ script type ] { optional params k-v key name } [space] To do this, the users hits Shift with the left thumb and Tilde with index to invoke  [P4]    before letting go of Shift and hitting same Tilde key for generating at least a first  [P3]   ( there can be more P3's to follow )  {script name}  is one or more characters and specifies the name of a script to be run but does not include the registered file extension of the script ( e.g. the (dot).py extension ) Before the  {script name}  there can be a null, or a space or a line feed (LFCR) ( Note: The null case occurs when there is no space to the left of the  {script name} . it starts at slice index = 0 ...

Reverse Polish Abbreviations Generator

Image
[ The below provides a good example of pseudo code thinking about how to re-structure and progressively evolve / improve your program ] So in my previous post about "Something (Not) Happening" ( here ), I hinted at my reversal of strategy. I'm now switching to the use of  "post-fix" operators  instead of using "pre-fix" ones. This was for a project that I called my abbreviations -expanding Python program (an OOP project) but now I'm generalizing it to be an "Xpander" class for more than just abbreviations. ( The latter explained below and also in my next post .) So I was initially thinking like a programmer and assuming that the abbreviation expansion trigger (e.g., the prime char [`]  on the keyboard) should be hit first (in so-called "pre-fix" style) in order to invoke an abbreviation expansion operation. However,  I should have been thinking like a user of the software not like a programmer focusing on delimiters. Please se...

Something Happened (Not)

Image
There are times when it seems like nothing happened. [ Link to Memes Gen here ] [Link to Heller's book here ] Where was I these last few weeks (months?)  Can't fully remember. That DOES happen when you're 70+ years old. I had committed to journaling my travels through the Learning about Python (LaP) lands. Learning coding . However, unlike Odysseus of Homer fame, I fell for the Siren Calls of easy-to-do scroll ing habits. In particular, those of collecting binaural sound tracks. I've been "busy" as a non-productive bee in mindlessly hoarding those sound tracks   plus more  in hopes that listening to them will make me smarter. Of course, they do the exact opposite. The hoarding embeds itself as a non-productive, time-wasting bad habit. In short, I've succumbed to the allure of the Siren songs in place of finishing my second Python OOP project. ( See the sirens of Odysseus here ) That brings us to the topic of acquiring non-productive / subconscious ...