guide


CGI Coffee

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.

VDB cloud with Softimage ICE and Redshift - a step-by-step tutorial

Since my first post about Softimage and OpenVDB was more of a brief overview than a tutorial, I decided to create a step-by-step guide on how to create a .vdb cloud-like grid with Softimage ICE using Mr.Core's (Oleg Bliznuk's) compounds and explain how they work on the way.

rendered vdb clouds

To follow the tutorial, download the compounds and connect the extracted workgroup in Softimage (File -> Plugin Manager -> Workgroups -> File -> Connect):

vdb compounds workgroup