Static analysis of expl3 programs (2½): Status update and TeX language servers
Between family holiday, my wife’s trip to Кыргызстан, freelance work, and TUG 2024, I have had precious little time for the project since my previous post.
A Pony from the Bo-hay-mia
Between family holiday, my wife’s trip to Кыргызстан, freelance work, and TUG 2024, I have had precious little time for the project since my previous post.
This is my second devlog post for the development of a static analysis tool (so-called linter) for the expl3 programming language, which would help developers to discover bugs in their expl3 programs before even running them.
In 2021, I used the expl3 programming language for the first time in my life. I had already been eyeing expl3 for some time and, when it came to defining a LaTeX-specific interface for processing YAML metadata in version 2.11.0 of the Markdown package for TeX, I took the plunge.
I recently acquired a DELL Inspiron 15 7559 notebook and decided to supplement the pre-installed Windows OS with Debian Linux (Stretch), which has been my daily driver OS for about two years now and will soon become the stable Debian version. The machine contains two GPUs—an integrated Intel 915G GPU, and a dedicated nVidia GTX960M GPU—that are interconnected via the the nVidia Optimus GPU switching technology.
I did a remix of the Persona 3 “Mass Destruction” theme from the “Burn My Dread -Reincarnation: Persona 3-” album by Shoji Meguro (Atlus) and two versions of “Megalovania” from Undertale and Homestuck by Toby Fox.
The drawings of Sans and Gaster Blaster were kindly provided by Sallintha. The animation was created using Synfig Studio – a free open-source animation software that provides command-line rendering. All the assets and project files are available in a Git repository along with the two other remixes of the songs I did earlier.
I have discovered a nice algorithm for bitmap generation on GitHub today along with its C# implementation. It has the nice property of being easily understood but producing intriguing results.
After a bit of an ado, my submission to the Czechoslovak TeX Users Group Bulletin has been published.
During the course of this year, I have been working on witiko/markdown as a part of a project funded by the Masaryk University in Brno, Czech Republic. The project is based on the jgm/lunamark codebase and as of today, all the bugfixes (17) and syntax extensions (19, 20) introduced in witiko/markdown were merged into jgm/lunamark. This effectively concludes the project.
While I was watching the first volume of JoJo’s Bizzare Adventure: Diamond is Unbreakable, I fell in love with the battle theme of Koichi Hirose (Yuuki) and wondered what a remix with the intro theme of JoJo’s Bizzare Adventure: Phantom Blood (Sono Chi no Sadame) would sound like. Since the JoJo’s Bizzare Adventure: Diamond is Unbreakable OST got released on July 27th, I decided to throw together a quick prototype.
Lately, I have been stitching some of the panoramas I took during the vacation using Hugin. Since I took quite a lot of these, I though I would leverage the shell and let Hugin create the panoramas automatically using the workflow described at http://wiki.panotools.org/Panorama_scripting_in_a_nutshell.
This is our second day in the Yellowstone national park. Our plan for today is to cover the northwestern part of the part. Our first stop are the Artists’ Paintpots located between the Madison and Norris areas.
We will be spending the next four days in the Yellowstone national park. Today, we are headed to the West Thumb and Old Faithful areas. Our morning was spent in the Grand Teton national park.
Today, we are headed to the Grand Teton National Park.
Today, we are travelling across the state of Wyoming.
Today, we are headed to the Rocky Mountains National Park.
Today, we are headed to the Black Canyon of the Gunnison National Park.
Today, we are headed to the Mesa Verde National Park, where the dwellings of the Ancestral Pueblo people, who called Mesa Verde their home during 500s–1300s A.D., can be found. Perhaps most fascinating are the cliff dwellings built in the alcoves in the surrounding canyon sides, where the Ancestral Pueblo people retreated from the mesa tops during the 1200s. Shortly after that the people disappeared – presumably due to a long period of droughts, as evidenced by the annuli of the well-preserved pine logs that were used to support the building roofs, or an internal struggle.
Today, we are headed to the Monument Valley – a national park at the northern rim of Arizona where monumental rock formations, mesas and buttes predominate over the desolate wasteland.
Today, we are headed to the Grand Canyon National Park on a hike along the southern rim.
Today, we are headed to the Antelope Canyons in the Navajo Tribal Park. The entrance fees are pretty steep ($46 + $8 tribal fee per a visitor) and the ride on the back of an all-terain vehicle to the entrance to the upper canyon is fairly uncomfortable with all the sand flying around. The sights, however, are well worth the trouble.
Today, we are headed to the Bryce Canyon National Park.
Today, we are headed to the Zion National Park.
Today, we are moving from California to Utah across the southern rim of Nevada and the northern rim of Arizona and we are visiting the Valley of Fire state park along the way.
After a day of rest in the LA, we are now heading to the east. First stop: the Joshua Tree National Park.
Today we are taking some much-needed rest after the long flight before heading to Arizona. And what a better place to rest than the Hollywood Boulevard.
Having left Velešín in the early morning, we made it through the immigration interview at the Prague airport and departured at noon (GMT+2). Arrived in at the New York airport at 16:00 (GMT-4) and then at the Los Angeles airport at 21:30 (GMT-7).