CGI Сoffee


Revelations of a computer graphics apprentice

Upcoming Blog Post — Microcontrollers!

The full post is available now.

Not much to see here but a short announcement of the upcoming post about microcontrollers.

I've been dying to take a deep dive into this topic ever since I built my first PC, but was scared away by the complexly of both the programming and the hardware aspects of the whole endeavor. And now, 15+ years later, I finally built up some courage to try and program one of those and it turned out to be an incredible and very, very straightforward and rewarding experience! What helped motivate me to finally bite the bullet was the worsening availability of semiconductors and the price hike on almost all electronic components and devices that followed suit.

Microcontroller on a breadboard

What must have also contributed was another project of mine where I modded a Panasonic RX-DT75 by adding audio over Bluetooth support via a new a voltage regulator with USB-level output, to which a Bluetooth USB module was then connected to gift this machine a new lease on life as a useful appliance and not just a relic of the past collecting dust on a shelf.

Panasonic RX-DT75 Bluetooth Mod

But boy would it still make one gorgeous dust-collector regardless!

Panasonic RX-DT75

Anyway, back to work!

Don’t Trust Open-Source Software in 2022 (Or Ever?)

Open-source community and the concept in general are mostly considered a good phenomena. Maintainers of the free Software are praised, as in most cases they are dedicating their own time and money to make sure the apps and modules they develop or look after can be used by the rest of the world. And they use this power to make the world a better place.

Except when they go a bit too far.

I Will Strike Down Upon Thee!

When was the last time you audited the code of the open-source Software you use on a daily basis?

Well, get used to doing that regularly from now on, since apparently RIAEvangelist, a maintainer of a popular node.js module named "node-ipc", came to a realization that he gets to decide the fate of some users' files as he recently submitted a new patch to the module which does something, that technically falls under the "malware" category: the update added new stealth functionality that would recursively go through the users' files and replace the contents of each one with the ❤️ (heart emoji) if it detected that the user was located in Russia or Belarus.

Insane IP geo patch that overwrites files

Apparently this was supposed (?) to help (?) stop (?) the on-going conflict between Russia and Ukraine? Don't ask... I don't get it either.

Buy That Zbrush License Before It’s Too Late!

ATTENTION!

MAXON is about to acquire Pixologic!

ZBrush — bye-bye perpetual licensing

If you were hesitant about purchasing that perpetual ZBrush license, YOU HAVE TO DO IT ASAP before they make it subscription-only, just like they did with Redshift Renderer!

Redshift subscription-only

It just keeps getting better, doesn't it?

YouTube, Dislikes and How the World Is Losing a Valuable Source of Critically Assessed Information

You might have heard of the recent YouTube announcement where they decided to remove public "dislike" counters from their platform.

After reading this I stopped for a moment and carefully considered what was it that made YouTube special for me. As a platform, as a source of information, news and entertainment, YouTube holds a special place in my life since a lot of my skills and achievements were made possible in part thanks to YouTube. It allowed people from all over the world freely share their ideas with anyone and everyone in the form of videos — one of the most effective ways to give and receive information on the Internet.

I quickly realized that the single most important aspect of the platform was the fact that it had a simple yet elegant way of ranking videos. 10 years ago they used a 5-star system and later switched to a familiar "bar" with a ratio based on the number of likes and dislikes the video would've received after its publication.

vsauce-screenshot-youtube-rating

The reason such approach is so effective despite the simplicity lies in the way the human brain operates.

It's a Biological Computer. It Needs Data

According to Cognitive Psychology, the latest scientific approach which looks at the mind as an information processor, any system needs, well, information to process. Processing in a lot of cases comes to forecasting the future based on memory the brain has accumulated over the lifetime of an individual, combined with the information received from the real world. The brain then determines whether an event, an individual, an apparatus or anything else is safe or dangerous, useful or pointless, worthy of one's time or not.

Blender 3.0 Removes OpenCL as Cycles GPU Rendering API

Sad news for the open-source and open-standards community coming from the Blender team:

OpenCL rendering support was removed. The combination of the limited Cycles kernel implementation, driver bugs, and stalled OpenCL standard has made maintenance too difficult. We are working with hardware vendors to bring back GPU rendering support on AMD and Intel GPUs, using others APIs.

At the same time CUDA implementation saw noticeable improvements in large part thanks to the better utulization of NVIDIA's own OptiX library:

  • Rendering of hair as 3D curves (instead of ribbons) is significantly faster, by using the native OptiX curve support
  • OptiX kernel compilation time was significantly reduced.
  • Baking now supports hardware ray-tracing with OptiX.

So NVIDIA wins... TWICE:

GPU kernels and scheduling have been rewritten for better performance, with rendering often between 2-7x faster in real-world scenes.

Why Am I Not Celebrating This?

All of this once again displays the real world difficulties of developing, maintaining and promoting open-source alternatives to commercial Software designed by the manufacturer to utilize the hardware capabilities of their products to the max.

And the end result? We're falling deeper and deeper into the vendor lock trap and as the vendors keep turning their proprietary hardware-interfacing Software and APIs into state-of-art ready-to-use solutions, those which are developed in a "democratic" environment keep tripping over their shoelaces failing to get any traction on the market they set out to provide the alternative on.

This makes me grateful that there do exist open-source APIs that work, like OpenGL and Vulcan. But... Why are we still in a situation where Vulcan, "the next generation graphics and compute API" is still incapable of providing even the same level of functionality as the dreaded OpenCL so that it could finally offer a real alternative to commercial compute APIs? Why didn't Blender team even mention Vulcan as something they would look into as an alternative to OpenCL?

A million dollar question...

The Amazing Sprite Fright by Blender Studio. Also Blender 3.0

It finally happened!

A NON-mediocre (in fact — absolutely amazing) 3DCG short film from Blender Studio!

Watch it NOW!

Excellent work, guys! Everything: the presentation, the comedic timing, the plot twist, the acting — just perfect! It's especially noticeable when compared to the Studio's previous works which... Let's be honest: they weren't great. Not that they needed to be much more than a collection of assets mashed together in the form of a more or less coherent story, but this one is on another level.

The film was made with Blender 3.0. Blender development coordinator Dalai Felinto says that the new release schedule for the stable release of Blender 3.0 is set for December, 2021. Can't wait!

Recharge Your USB Flash Drive Today or Say Goodbye to the Files Tomorrow

I know, I know. The title will inevitably raise some eyebrows. Rest assured, though, by the end of this brief post it will make perfect sense.

flash-memory-post-low-battery

A couple months ago I sat down to sort out my USB thumb drive collection. I have 10 of those used either to move large files between distant machines, as OS installation and recovery media, and to actually store some non-critical data. While going through the inventory I eventually plugged in the USB stick I brought back from my Summer 2018 trip to Japan. The last time I used it was around September 2018, when I transfered some video clips from the PlayStation 4 to study while building my Dynamic Sloshing Liquid Rig.

Which means the drive was left unused for 3 years.

Imagine my surprise when I found out that two out of three short in-game video clips were corrupted. The first clip wouldn't even copy over to the PC, while the other one took its sweet time and eventually, after about 30 minutes (for a 100 MB file), succeeded in getting copied to the HDD.

Overwhelmed by avid curiosity I immediately fired up the video player...

What you see here is the result of physical data corruption (a.k.a. "bit rot" or "data degradation" or "data decay"). While such graphic and "movie-like" damage is, ironically, quite fitting to the overall presentation of Horizon: Zero Dawn — a game about hunting mechanical dinosaurs in a post-apocalyptic world, — this incident begs the question...

What Happened?

To answer it, let's briefly recall how a Flash Drive actually works.