CGI Coffee


Revelations of a Computer Graphics Apprentice

Develop Cross-Platform CLI and GUI Tools With Tcl/Tk. Powerful, Event-Driven, Open-Source And Future-Proof Toolkit… From the Past?!

What if I told you there exists a language, or a whole toolkit that:

  • Can be used to create cross-platform Console and GUI tools or apps
  • Those GUI apps look native on Windows, Linux and MacOS
  • Supports safe and efficient threading, non-blocking events and I/O
  • Has a small footprint of about 100MB with most common packages installed
  • Can produce very compact single-file apps for any supported platform
  • Is capable of building robust cross-platform Web Apps
  • Has existed and been in use by some of the largest corporations for over three decades
  • Is free and BSD-licensed, so you can do whatever you want with it, or to it

Would you believe me?

indiana-jones-tcl-tk-hero-title

Foreword

Documenting personal experiences on fascinating or useful topics is what I do. Real-time visualization, 3D simulation, data safety, energy efficiency, or even input devices, microcontrollers, and fitness — an endless stream of ideas for new studies and exploration is always on the ToDo list.

This particular topic turned up to be quite a bit more involved than I originally planned. But I promise: all information here is what I myself would've loved to have known before I started my Tcl/Tk toolkit learning journey.

I'm writing this long after my honeymoon phase with Tcl/Tk ended, and will try to be as objective and honest as possible. Both to you, and to myself. I have nothing to "sell" except my personal experience, hoping to better inform you and simplify the "onboarding" process if you ever decide to give Tcl/Tk a try.

Due to its command-centric nature, Tcl is a powerful, yet widely misunderstood language. I want to contribute to the conversation, aiming to clear up this persistent confusion with concise explanations and concrete examples. And a bit of flair, of course, to keep you entertained.

Please note: We’re skipping the "Programming 101" talk here with the assumption that you already have a baseline familiarity with general programming logic. If you know your way around an if statement and know what function is, you're probably ready to dive straight into Tcl-specific structures and syntax. Think of this article as both a "Tcl hands-up and a primer", in hopes to make you, too, discover and appreciate this almost 40-year old technology that quietly powers the world. And maybe convince you to try it for yourself, and spread the word.

As for the "About The Author" — if you're interested, please visit the "About" page.

Ready? Let's go.

Sneak Peek At Blender's DLSS Real-Time Denoiser — You Have To See This!

The Future is finally here!* (almost)

Deep Learning Super Sampling (DLSS) Ray Reconstruction might make its way into Blender (at least, it's in the works). And the potential is, without exaggeration, astonishing.

Unlike "traditional" denoisers, DLSS has a different way of reconstructing an image, and doesn't really care about scene lighting or polygonal complexity. Because of this, it's used in games to "upscale" a rather low-res natively-rendered output to a much higher-res target, like 4K or more. It's very effective and, ironically, despite being an upscaler, nowadays is almost synonymous with the "best quality" rendering preset in games. Simply because more and more devs get lazy and spend less effort on optimization, especially anti-aliasing techniques, simply "offloading" this task to a dedicated (and, unfortunately deeply proprietary) neuralnet upscaler like DLSS.

I bet like me, you have always wondered if this very approach could be used in a traditional 3DCG Creation app like Blender.

Well, wonder no more! Someone took an unfinished alpha version of Blender codebase with a DLSS integration, and compiled it into an actual test build.

Prepare to be amazed.

I can't even...

How To Fix Mouse Wheel Scroll Skipping In VirtualBox Linux Guests With X11 Desktop Environments (MATE, GNOME, KDE, or XFCE And Others)

virtualbox mouse wheel skip fix

If like me you've had enough the of mouse scroll skipping in X11-based Desktop Linux Guest VMs, after years of searching, I finally have the solution.

The Problem

In all Linux distros with any X11-based desktop environment that I've ever used in VirtualBox as guest OSes I've experienced the same infuriating issue: if I were to scroll the mouse wheel slowly (especially when scrolling up-down-up-down...) — the inputs would randomly get "eaten" for some reason. This led to them not being registered, which was extremely annoying, because I had no clue why this was the case only with the Linux guests, and never with Windows XP/7/10 ones.

Now I know!

Press F to Pay Respects

RIP Affordable Compute

It was a good run. F.

Get Your New Year Vibes From Ross's Game Dungeon Christmas Episodes

decorations

To go with the New Year's "wintery" vibe I want to share something unusual, in hopes you'll find it as entertaining as I did — Ross's Game Dungeon by Ross Scott.

The Man. The Legend.

freemans-mind

I found out about Ross though his famous "Freeman's Mind" series many years ago. A series, which you should totally watch in full, BTW. Chronologically, from the very first episode. Here's the complete YouTube playlist, for your convenience.

One day, while I was watching a new episode of Freeman's Mind, upon finishing it, YouTube recommended me one of his other videos from the "Ross's Game Dungeon" series. Don't remember which one it was, but I got hooked and soon ended up watching all of them in the weeks that followed...

Apple Making PC Folk Look Good With the macOS Tahoe Update

Hey, remember how in the recent article on boosting battery life on Windows laptops I mentioned how power efficient Apple laptops were? And how one of the factors playing into that was the following:

The OS is bespoke. That means, MacOS runs only on Apple devices and therefore has less overhead compared to multi-platform operating systems like Windows (x86, ARM) or Linux (x86, ARM, MIPS, RISC-V and more)

Well, about that...

Apparently, Apple decided that battery life on their machines was not a priority, and more overhead is better! That includes phones and tablets, BTW, since these also received the dreaded iOS 26 update. You know, the "Liquid Glass" one.

The one, which is absolutely nothing like Windows Vista. Not at all. And stop comparing the two!

apple-liquid-glass-amazing-ui-visibility

Naturally, users were pleased with the new design direction, better UI element readability, and highly praised the decision.

how-to-disable-ios-glass-question-on-forum

In a hilarious development, seems like there are actually even more similarities between macOS Tahoe and Windows Vista in yet another metric — battery life.

On Windows 10 Support EOL

windows-95-poster

The end of support for Windows 10 updates and the aggressive push from Microsoft to force users to upgrade to Windows 11 (which is apparently "incompatible" with tons of perfectly fine computers) reminded me of a certain gem from a bygone era. I bet you've never seen it, as it was a rather obscure parody of the Rolling Stones' "Start Me Up".

“Bought It Up” was a spoof of that track, and one of several parodies and jokes spawned by Microsoft’s relentless use of the "Start Me Up" slogan during the Windows 95 launch in 1995. Windows 3.1 users who got suckered into purchasing a copy of the new OS quickly grew frustrated with its requirements and the resulting upgrade costs.

This song was later animated and shared on the forums as a Macromedia Flash (SWF) movie. Remember those? Yes, Macromedia, which Adobe gobbled up much later, in 2005. So technically this one is from the OG era of Flash. Ah, memories…

Here's the original SWF file if you need it. You can play it using Ruffle, an open source Flash Player emulator.

Just a random piece of the early internet humor culture for ya. Guess history does repeat itself, who would've known, lol.