Site Sponsors:
GUI, TUI, ... GTUI? 
Surely the fear of being labeled "old fashioned" can be a key motivator in the need to support any new technology?

Audio Reborn


Consider - for example - the former stigma long associated with "obsolete radio." --Surely "Modern TV" & video triumphed over that old, "obsolete" audio-only entertainment?

Yet rising from the stigma of being "old fashioned" entertainment, for example, allowed iPod to become the hottest product of a new millenia!

Indeed, while now surely supporting video as well, the mainstay of a global, billion-dollar, portable-player industry even presently revolves around simple, audio-only, music players.

(Got record player? -Even the collector's vinyl-market has been reborn!)

Text Reborn


In a like manner, we are seeing the beginning of a Renaissance in the use of console user-interfaces.

How can we say such a thing?

Well, long seen as being "old fashioned", the removal of textual / terminal support from Microsoft Windows - only to be resurrected in Windows 10 - underscored the trend.

Not only can one now use textual terminal emulation programs such as "curses" once again (remember "ansi.sys" or "vt100.sys"?), but a whole "next generation" of computer enthusiasts are busy writing seemingly text-only applications.

Codename: T.U.I


Surely many anticipated a probable resurgence of the Textual / Terminal User Interface (TUI) as a rising generation enjoyed the green-screen 'blinkage from the "Codename: Kids Next Door" episodes. A whimsical & enjoyable cartoons series, each episode proudly featured a TUI.

Herculean efforts over such programs as Dwarf Fortress have also been rewarded. (The author of this text-game has even been invited to contribute his source code to the Smithsonian!)

GUI - TUI?


So when terminal emulation / cursor positioning was officially removed from Microsoft Windows, allot of us knew that we had to rely upon API support.

Indeed, for quite some time we have taught others how to use the Windows Console API to create much the same effect... even under Visual Basic!

Other companies - such as Citrix - stepped up to fill the void so as to support million-dollar markets.

Yet while the flavor is decidedly console, savvy software developers know that just about any drawing surface supports textual renderings. By mapping pixels to mono-spaced fonts and / or de-kerened character-cells, even Java & Qt panels can be used to create a "GUI TUI!"

Hybrid TUI's


So into the realm of the Graphical Text User Interface, or "GTUI" ... (i.e. Decidedly TUI - but so much more!) do we find ourselves, today. Spear-headed by such innovations as the SDL, yet another 20-year effort is enjoying an ever-increasing popularity in the planet's new, cross-platform, GTUI marketplace.

Turbo Vision ... for GTUI!


Yet - having seen many such trends before - allow me to note that there remains ample time for anyone to anticipate - and intercept - where the GTUI market is all heading.

Surely, for those who want to yet earn their place on Wikipedia (or perhaps on Wallstreet?), the clear and present need is to provide support for a cross-platform "WIMP" ("Windows, Icons, Menus and Pointer") user interface in the GTUI realm.

Indeed, those who feel the GTUI-WIMP need, need not work uninspired! -Not only are Turbo Vision -style UI's still moving on just-fine, but even Python 3 has cool new projects (such as picotui) to help speed us on our way!


Conclusion


So while I toil away to create as much training as I can for my C/C++, Java, .NET, LAMP, AWS, Hadoop, and Python students, please allow me to alert you to what I am finding to be an extremely interesting trend. Just as the death of "radio" was far, far too readily predicted, so too has the ultimate demise of the TUI, been greatly exaggerated!


Sharing is caring,

-Randall


Oh... Yea... 'Lest we forget: IMO the king of the GTUI world surely must be libtcod. While somewhat of a PITA to build under C/C++ (over time, what isn't? =) wee Python devotees also may enjoin some relief there, as well.

Our Java friends might also take a look at Jexter!


[ add comment ] ( 40 views )   |  permalink  |  related link
Microsoft Triumph! 
Some people say that we POSIX guys are biased. --Many believe that wee open source folks have something against commercial software platforms / tools.

In my case - as well as everyone else I know - nothing could be farther from the truth!

In very fact, while I personally do allot on free & open Linux / LAMP / POSIX worlds, when it comes to raking in the big bucks I - more often than not - find myself working with Microsoft technologies.

Indeed, we'll rake in ever more $$,$$$ when we combine POSIX, Microsoft, and other tools together (The higher the 'tech is stacked, the fewer there be to tackle it, my friends ...!)

Modern C/C++


While many marvelous tools have come and gone, at the time of this writing - and in my opinion - there are virtually NO decent open graphical tool sets for C/C++. --And I have tried just about all of them! (Conclusion: Never trust a developer - favoring ONE language - to concoct a language-savvy tooling ... for another?)

So as I turned my weary eyes back to Visual Studio this day, I was overjoyed to discover that "The Empire" has finally started to support those of us who - uh - like to live ... on "Hoth" !


(Hey 'Darth: Say "CHEEESE?")

Indeed, after downloading Visual Studio's 2017 Community Edition so that I could play with libtcod (they no longer liked my '2013 Pro) I tell 'ya truly - that a relatively new editor - known as Visual Studio Code - works REAL WELL out of the box... even in our icy monster-caves:



Sure - when time for working on C# & VB comes again (as it always will!) I will surely upgrade the '2013 to VS 2017 -- or whatever else the emperor de-jure requires us to buy so as to continue to move our hostage-ware VS Projects (like libtcod!) forward in their empire.


In the mean time however, it is VERRRRY refreshing to be able to quickly do a 'git - edit - as well as work with the console tools directly from Visual Studio Code, Express, or the Community Editions!

Yet THAT - as we might say - and to complete the analogy - is merely the tip of this iceberg of what the entire VS Family-Empire can do for Modern C/C++! =)

(And yes Slytherin, the 'Empire now even supports Python!)


[ add comment ] ( 48 views )   |  permalink  |  related link
Explorting Video Screens Shots 
Have you ever felt the need to capture a never-ending set of screen shots from a move?

Neither had I.

But ...

Step 1: Catching the .WAV (Audio Files)


After spending 5 days lecturing on C/C++, the plan was to turn 23 GB of captured .WAV audios into a full blown video creation. All I had to do was to slap a few hundred screens over 40 hours of my geeky nattering, and I could take the locus straight to post production.

Step 2: Exporting MP4 from PowerPoint (Video Files)


Microsoft's PowerPoint belched out the video files with their new "brand" of increasingly kludgey results (i.e. exported videos enjoyed random screen drops & blackouts - honestly people - where do they get their developers from these days?)

With a little trial & error however, we were able to divine the optimal timing for a reasonable "Step 3" frame extraction.

Step 3: Command-Line Quality


After converting the PowerPoint presentation into an MP4 file, the only chore remaining was to slice up the "1 slide per 5 second" default video file option into about 500 individual screen shots.

Resisting the temptation to write some code to slice up the video ourselves, we were only too happy to discover that we could use ffmpeg!

Command Line Options


Frequent visitors to this blog will recall that - in a previous article - we sang all praises to ffmpeg. --A command line tool, the ease in which we were able to export JPEG images from an MP4 presentation deserves turning the canting up an octave, or three:

ffmpeg -i Cpp1000.mp4 -ss 00:04 -r 0.20  "cpp1000_%04d.jpg"

By way of a demystification of the above, we should note that the "-i" option is for "input." Specifically, the input video file.

At the end of the above we see the output file, with a refreshingly "stdlib" way of automatically providing a 1's based name for each JPG file.

Curiously, in the middle we see the "-r command." Unexpectedly, the corresponding mnemonic for us to capture is the reverse of how one would expect to denote the frame-capture rates. (i.e. Uing "1 / NumSeconds" to set the frame-capture ratio desired (e.g. a value of '1' saves a frame every second, whereas '0.5' saves a frame every 2 seconds, '0.2' every 5 seconds, '0.1' every 10 seconds, '0.0167' for 60 seconds (etc.))

Finally, using '-ss' will allow us to jump to a starting time to begin our first screen capture. --In my case, an -ss of 4 seconds was required because only the last-second of our PowerPoint video conversion was usually good enough for human consumption.


Sharing is Caring!

-Randall





[ add comment ] ( 50 views )   |  permalink  |  related link

<<First <Back | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | Next> Last>>