Link
2023-09-11   dejbug.github.io

Link

I'm branching out again live-risc-v.pantheonsite.io but I have no link register. wiki Tournament season is around the corner and I am definitely feeling it. The pressure to write myself some study tools for chess, rather than just go and study chess. Ego-syntonic much? wiki

GUI

So we have an old 32-bit laptop running Windows 7 in the club and I need to put some PuppyLinux on a stick already. puppylinux-woof-ce:gh Meanwhile I've spent a day to find a good-enough cross-platform Python GUI framework and I'm not surprised to see it's Tkinter or bust. wiki:py Well, or curses, there's always curses.

Tkinter

Long story short, I'm learning to love Tk's design. tcl. I'll be leaning in to commit to it for quite some while. #aside Scid scid:sf is written in Tk so maybe that will come in handy. Those Scid guys have made design decisions that I can not comprehend. They took something simple and usable and turned it into a clickfest. That's the reason why I need my own opinionated tools.

wxPython

I need a tournament pairer frontend gh and was thinking of going back to wxPython gh since, sadly, I'm more familiar with its Win32 API than GTK. Only that the GTK port of the Windows ListCtrl docs:wxpython, amazingly, is utter rubbish. I had to quickly emulate a grid control with a FlexGridSizer docs:wxpython which of course is rubbish too. There is a real cell table in there somewhere, but I didn't like its feel. Still, here's a demo of something more powerful than what I need wiki:wxpython. More powerful often means more buggy and less portable. Docs are here extras:wxpython. One rather disheartening detail I ran into immediately with wx on Linux is that with GTK you apparently need to put a dummy Panel in a Frame, otherwise Accelerators simply will not work! gh wxPython has disappointed me too often in the past. I won't be using it again. And what's with the non-alphabetic ordering of their docs?

Win32 API

Really, all you need is a more powerful DrawFrameControl learn:M. You can write your layout managers, your blinking cursors, your so called 'virtual lists', really anything, yourself. All you need is the look and feel. And there's text metrics learn:M. There's ExtTextOutW learn:M or the slower DrawText learn:M. The first things I look for in a new framework. I don't know why browsers do not have this still.

PyImGUI

Well now. pyimgui:rtd Although from curses it is just a tiny step. But let's not get overboard just yet with GPUs.

Curses!

Curses is an option though gh. I've really started using curses while struggling with that Tetris challenge during AOC2022 last winter aoc. It was my first time there and I enjoyed it way too much. Hope it runs another year. Which means I'll need to brush up on algorithms and do more leetcode leetcode and/or hackerrank hackerrank etc. Here's suggestions for a competetive edge gist:gh.

Pygame

Given that I had to effectively rewrite the Grid control (steadily approaching the familiar ListCtrl REPORT mode) I stopped to ponder anyway what good a bloated framework like that was if it couldn't get this single thing I needed right and whether drawing a Grid with straightup SDL was indeed the better way forward. The question is with what to fill my working memory right now. And Pygame are still updating their wheels, even for these old machines. pygame The most recent python version running on a Windows 7 box is v3.8 py. Pygame has a 32-bit wheel for it, of Aug 14, 2023 vintage. pypi. And the docs docs:wxpython don't have to be crawled but are available locally with python -m pygame.docs. Also check out pyglet gh.

PyGTK

Going straight to GTK or Qt is to be seriously pondered in the future. wiki:py pygobject:rtd. gtk.org gtk.org

PyFLTK

Burning chrome
and midnight oil
I can't look away though when I see bare metal. FLTK soon came to mind fltk and so I searched for a Python port and sure enough there's something there as well. sf

Python in the back...

Web-wise I've decided to be working with a Python backend. I'll be faster with it. gh flask:palletsprojects flask:palletsprojects flask:palletsprojects docs:gunicorn. I've spent too much time looking at backbone gh and Vue and such. Who needs this, really? It's time to stick with VanillaJS and HTML5's web components. Maybe go with Svelte, later. svelte

Business in the front

I was wasting too much time writing autosuggestion boxes. First in JS, so I wouldn't neglect the "leg days" (web dev). Can't say that it's my cup of noodles yet. Afterwards went back to Python. Almost went down the wrong rabbit hole there. Been looking for a fast Levenshtein distance wiki implementation (after my naive three-liner turned out too slow for 'human name'-sized strings). This is of course just one of a couple string distance algos wiki and jellyfish has you covered Python-wise. gh Anything bespoke would have to be interfaced with SWIG swig or pure ctypes or rephrased in Cython docs:cython but then I'd need a build environment on that target machine docs:cython. Turns out none of that is needed. A simple substring matcher does a perfect job of speeding up my tournament entries. It's almost as if each player is coming with their own three letter name mnemonic. I don't even have to think about it. This really surprised me.

JsDoc

I like this style of documenting libraries, autogen'd from source annotations underscorejs (think doxygen for millenials doxygen ). But to use the tools jsdoc.app you need to use the npm package manager which I still can't get myself to do. Maybe someday and if npm install --ignore-scripts So won't break dependencies. But there must be something better out there wiki that doesn't require you to trust blog.npmjs.org an entire ecosystem of dependencies. I like my dependencies few and matured. I detest all background magic. Instead, npm reminds me of that Duchovny movie Evolution. Monsters (2012) is a better one imdb.
On balance, it’s npm’s belief that the utility of having installation scripts is greater than the risk of worms. This is a tradeoff that we will continue to evaluate.blog.npmjs.org
Diminuitive much?

Home

I really want to find a web framework I like. Am not happy with our club page. #Index wiki #Python jinja:palletsprojects gh flet.dev #JS es5:gh #DOM zeptojs.com underscorejs gh quasipartikel.at #CSS getskeleton.com tailwindcss.com #MVC dojotoolkit.org v2.vuejs.org backbonejs.org gh gh #Android ionicframework.com capacitorjs.com capacitor.nativescript.org docs.nativescript.org #Misc gh gh incubator:apache

But wait, there's more...

Functional toolbelt for python toolz:rtd pypi. "libavg allows programmers, media artists and designers to quickly develop media applications. It uses python as scripting language, is written in high-speed C++ and uses modern OpenGL for display output." libavg.de "PARI/GP is a cross platform and open-source computer algebra system designed for fast computations in number theory..." pari.math.u-bordeaux.fr. kivy.org flet.dev

TIL

I had never heard about the QUIC protcol before wiki. My CCNA days are obviously long past. "QUIC: A UDP-Based Multiplexed and Secure Transport" datatracker:ietf. This needs to be looked at soon pypy.org.

Closing Tabs

Some may call it escapism when it's really inspiration. Looking at old photographs. wiki
He was known as "Richard the Fifth" because he often finished in fifth place in tournaments.wiki
Janowski played very quickly and was known as a sharp tactician who was devastating with the bishop pair. Capablanca annotated some Janowski games with great admiration, and said, "when in form [he] is one of the most feared opponents who can exist". Capablanca noted that Janowski's greatest weakness as a player was in the endgame, and Janowski reportedly told him, "I detest the endgame."wiki
He was one of the very few modern grandmasters to have employed Bird's Opening (1.f4) with any regularity, and had a long-term association with the move 1.b3, a system commonly known as Larsen's Opening or the Nimzo–Larsen Attack in his (and Aron Nimzowitsch's) honor. He played the Dutch Defence with success at a time when the opening was rarely seen at the top level.wiki
But see here: wiki
Boleslavsky, together with fellow Ukrainians Bronstein, Geller ... , turned the King's Indian Defence from a suspect variation into one of the most popular defences today. Hans Kmoch ... calls the King's Indian configuration of black pawns on c6 and d6 (especially if the d-pawn is on a semi-open file) "the Boleslavsky Wall".wiki
He noticed that the little girl liked to stare at glass chess pieces behind the window. He later bought his daughter her first chess set. The three-year-old was able to beat her father and grandmother after a few weeks.wiki
Many of Koltanowski's relatives were murdered in the Holocaust. Koltanowski survived because he happened to be on a chess tour of South America and was in Guatemala when the war broke out. In 1940, the United States Consul in Cuba saw Koltanowski giving a chess exhibition in Havana and decided to grant him a U.S. visa. Koltanowski met his wife Leah on a blind date in New York in 1944. They settled in San Francisco in 1947.wiki
Since Keres lost his first four games against Botvinnik in the 1948 tournament, suspicions have sometimes been raised that Keres was forced to "throw" games to allow Botvinnik to win the championship. Chess historian Taylor Kingston investigated the available evidence and arguments, concluded that Soviet chess officials had given Keres "strong hints" that he should not hinder Botvinnik's attempt to win the World Championship, and that Botvinnik only discovered this about halfway through the tournament and reportedly protested so strongly that he angered Soviet officialswiki
I suffer from this.
"Kotov syndrome" In Kotov's 1971 book Think Like a Grandmaster, he described a situation when a player thinks very hard for a long time in a complicated position but does not find a clear path, then, running low on time, quickly makes a poor move, often a blunder.wiki
In a conversation at the event, Fischer quoted Krogius' observation that "[m]istakes are often made when a player persists in his delusions", to which Krogius replied: "Perhaps this thought guided you when you were preparing for the match? We saw a completely new Fischer in Reykjavik, very different from the old one." The match was won 12½ to 8½ by Fischer.wiki
We reached a very complicated position where I was intending to sacrifice a knight. The sacrifice was not obvious; there was a large number of possible variations; but when I began to study hard and work through them, I found to my horror that nothing would come of it. Ideas piled up one after another. I would transport a subtle reply by my opponent, which worked in one case, to another situation where it would naturally prove to be quite useless. As a result my head became filled with a completely chaotic pile of all sorts of moves, and the infamous "tree of variations", from which the chess trainers recommend that you cut off the small branches, in this case spread with unbelievable rapidity. And then suddenly, for some reason, I remembered the classic couplet by Korney Ivanović Chukovsky wiki: "Oh, what a difficult job it was. To drag out of the marsh the hippopotamus." wiki... After a lengthy consideration I admitted defeat as an engineer, and thought spitefully to myself: "Well, just let it drown!"wiki
He was considered to be a brilliant attacking genius, but nevertheless played very sound chess, being less willing than Tal to complicate with unforeseeable results.wiki
Zaitsev had been born with a clubfoot. In 1971, he had an operation to correct the problem. Details are hard to come by, but Zaitsev died of complications from the surgery.wiki
Kurnosov was hit and killed by a motorist on 8 August 2013 at 2:45 am in his home town Chelyabinsk, aged 28.wiki
One of Gligorić's most famous games was this win against the former world champion Tigran Petrosian at the great "Tournament of Peace" held in Zagreb in 1970. It displays Gligorić's virtuosity on the Black side of the King's Indian and his willingness to play for a sacrificial attack against one of history's greatest defenders.wiki
"It wasn't so bad in the early morning when the streets were empty, but when it got light and the crowds came out I really hated it." ... Petrosian used his rations to buy Chess Praxis by Danish grandmaster Aron Nimzowitsch, wiki the book which Petrosian later stated had the greatest influence on him as a chess player. He also purchased The Art of Sacrifice in Chess by Rudolf Spielmann. wiki The other player to have had an early effect on Petrosian's chess was José Raúl Capablanca. https://en.wikipedia.org/wiki/Jos%C3%A9_Ra%C3%BAl_Capablancawiki
Bolbochán qualified to play in the Sousse interzonal but didn't participate due to the Argentine Chess Federation not having enough funds to send him.wiki