Language Selection

English French German Italian Portuguese Spanish

Casual Programming and Linux Screen-Recorders

Filed under

After being retired (for four years) from teaching high school Computer Science, I decided to get back into programming again. I once taught a beginning programming class using the Ruby language, and I thought that would be a good way to get back into programming. So, I decided I needed a “Ruby refresher”, and I wanted to learn more about that language than I taught in the classroom.

After much surfing and sampling Ruby instructional videos online, I finally purchased Pragmatic Studio's Ruby Programming Video Course. Note that this course is not free--in fact, it's $199 US. But it includes a vast amount of material.

There are 25 videos covering everything from Numbers and Strings to Objects to Project Distribution. Better yet, the videos are HD in quality, and DRM free. So once registered, you can download all 25, and utilize them at your convenience. The total duration is nearly 5 hours, but since the videos are only 5-20 minutes each, you can work through the course in small increments. They are well put-together, follow a step-by-step sequence, vocally clear, and well done.

In addition, you get access to an online workbook that leads you through implementing a project similar to the one shown in the video lessons. Nearly every video has a corresponding workbook lesson, so you get to practice using the new concepts. Here's the Video Lesson Topic Outline (Items 1 & 13 each contain 2 videos):
01. Introduction(2 vids)  10. Objects Interacting  19. Input/Output
02. Running Ruby          11. Separate Souce Files 20. Inheritance
03. Numbers and Strings   12. Unit Testing         21. Mixins
04. Variables and Objects 13. Conditionals&TDD(2)  22. Distribution
05. Self                  14. Modules              23. Wrap Up
06. Methods               15. Blocks
07. Classes               16. Symbol and Structs
08. Attributes            17. Hashes
09. Arrays                18. Custom Iterators
So, yes, a sharp price—but with sharp instruction.

Making my Own Videos
Now, the quality videos from Pragmatic have inspired me to start making quality instructional videos. Again, after searching high and low for a good screen recorder, I finally chose another costly program: Demorecorder.

Yes, this program too is costly, but gives me the high-quality video and very-high quality audio that I'm looking for. There are differing levels of the program you can purchase:

  • DemoRecorder-Pro (node-locked license) – $247.00 (Volume Discounts Available)
    DemoRecorder Pro is for professional users who also create full screen recordings and who need premium support. (It is not intended for unattended long term recording of system usage. In that case please purchase the 24/7 edition)

  • DemoRecorder-24/7 (node-locked license) copy – $997.00
    DemoRecorder for long term recording for logging and documentation purposes of (mission critical) systems. (This edition not yet been officially released...but available in purchase preview edition).

  • DemoRecorder-Web (node-locked license) – $137.00 (Volume Discounts Available)
    For amateur user who also wants to show the videos on the Web using streaming with Flash technology. (And who does not need premium support, i.e., can wait longer for getting support queries answered.)

  • DemoRecorder-Standard (node-locked license) – $97.001 (Volume Discounts Available)
    For amateur user who does not need export to Flash Video. (And who does not need premium support, i.e., can wait longer for getting support queries answered.)

Now, considering the cost of Camtasia ($300 US), which is the best screen recorder available under Microsoft Windows, the prices seem reasonable. And DemoRecorder-Pro (or better) provides the capability of creating videos in the following formats: AVI, MPEG2, MPEG4, VOB, FLV, and FLV+SWF+HTML for video-streaming over the web.

Yes, I've tried several free screen-recorders in linux such as: recorditnow, kazam, Istanbul, and recordmydesktop. I'm using very good quality video cards, graphic cards, and good system throughput. The only one which gives me the quality I seek is DemoRecorder.

So, yes, I use a costly screen-recorder. But I do use FLOSS as well. I edit the video clips with kdenlive, use Libreoffice Impress for some presentations, gimp and mtpaint for drawing, and the codeblocks Integrated Development Environment and Geany text-editor for programming demonstrations.

I hope to have some material to present in 3 or 4 months.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Best recorder ffmpeg/avconv

I found that an avconv (ffmpeg) command with a carefully selected set of parameters can produce perfect quality screen recordings on high resoltion outputs even on my old core 2 duo directly encoding with h264. I don't have the command at hand right now, but leave a message if you are curious and I'll be back with this free solution.

I would be very interested in

I would be very interested in this.

Video was OK--audio was the problem

In terms of Screen Recorders, most videos were adequate--the big issue was the audio quality.

More in Tux Machines

Devices: RaspAnd, Raspberry Pi and More

  • RaspAnd Project Now Lets You Run Android 10 on Your Raspberry Pi

    Arne Exton released today a new version of his RaspAnd project that lets you run the latest Android 10 mobile operating system on your tiny Raspberry Pi computer. For $9 USD, RaspAnd 10 promises to make it easier to install Google’s latest Android 10 mobile operating system on your Raspberry Pi computer, but let’s take a look at the new features and improvements it brings over previous versions. First and foremost, RaspAnd 10 is compatible with several recent Raspberry Pi models, including the recent Raspberry Pi 4 with 8GB RAM, but also older models, such as the Raspberry Pi 3 Model B and Raspberry Pi 3 Model B+.

  • Create a stop motion film with Digital Making at Home
  • The people problem

    Systems used to be designed by groups of engineers. Integration and test engineers waited on the developers and toes tended to get trodden on, with hidden code picked apart and untouchable historic designs questioned - all for product development. There was certainly no room for ego! Today, favourite tools may be replaced by those common to the technologies inside a device. Xilinx Zynq devices have two debug ports to allow individual debugging of the Processor Section or Programmable Logic. On Zynq you can chain these ports into one, so tools that are aware of both worlds deliver greater insight. Other devices may only offer specific insight. Vendors will offer a toolset to work with this, but it may be different to what people are used to. Suddenly, this new wonder-device to solve everyone’s design problems is upsetting the engineering apple cart across all engineering disciplines. [...] Silicon vendors offer a step-up in trying to build Linux for their device, and may offer a pre-built image to boot from. This will need modifying for your needs. It’s amazing how many common command-line tools don’t show up by default. Don’t be fooled into thinking moving from a Raspberry Pi to another platform will be straightforward.

Programming: Python, Rust, PHP, C++ and More

  • Python For Loop: Everything You Need to Know

    Loops are one of the essential elements in any programming language, and Python is not an exception to it. Loops are used to repeat a statement or a block of statements multiple times. If there were no concept of loops in programming languages, we have to write each statement again and again for the number of times we want to execute it. Python provides two types of loops to handle looping requirements, i.e., the while loop and the for loop. In this tutorial, we will learn everything about the for loop statement in Python. Before getting started with this tutorial, It is necessary to have Python installed and set up in your environment path. If you don’t have it installed already, refer to our step by step guide to install Python on Linux. The code presented in this tutorial can be run on the python shell, but it is recommended to run the code in a Python IDE. If you don’t have a python IDE installed in your system or want to know which IDE is a better choice to install, you can refer to our guide Top 10 best python IDE compared.

  • NihAV Is An Experimental Multimedia Framework Written In Rust

    NihAV is an experimental multimedia framework written in the Rust programming language. At the moment it's focused on diving into supporting decoders for different formats that lack open-source support right now / not yet reverse engineered, exploring new approaches for conventional multimedia concepts, and other experiments for advancing audio-video frameworks.

  • rra-c-util 8.3

    n this release of my utility library for my other packages, I finally decided to drop support for platforms without a working snprintf. This dates back to the early 2000s and a very early iteration of this package. At the time, there were still some older versions of UNIX without snprintf at all. More commonly, it was buggy. The most common problem was that it would return -1 if the buffer wasn't large enough rather than returning the necessary size of the buffer. Or, in some cases, it wouldn't support a buffer size of 0 and a NULL buffer to get the necessary size.

  • Embedded Programming and Beyond: An Interview with Warren Gay

    Interested in embedded programming? Warren Gay, an Ontario, Canada-based senior programmer, is an excellent resource for professional programmers, students, and makers alike. Here he talks about his new book, FreeRTOS for ESP32-Arduino (Elektor, 2020), and shares insights about FreeRTOS, ESP32, Arduino, embedded technologies, and more. You are sure to find his input informative and inspiring, especially if you plan to work with ESP32 or Arduino in the near future.

  • PHP 7.1 - 8 new features

    In the PHP 7.0 version function declaration accepts a return type, with the release of 7.1 version functions and parameters can return/accept null by prefixing the data type with a question mark(?). if the data type passed as parameter or returned by a function is different from the type specified a TypeError exception will be thrown.

  • Senior Developers don’t know Everything

    For about 20 years, I’ve been doing C++ and Qt and KDE development. I suppose that makes me a “senior software engineer”, also in the sense that I’ve hacked, programmed, futzed, designed, architected, tested, proved-correct, and cursed at a lot of software. But don’t let the label fool you: I look up just as much in the documentation as I ever did; senior developers don’t know everything.

Software and Games: Cloud Hypervisor, Joplin, Kodi, MuseScore, Bashtop, Grounded

  • Intel Cloud-Hypervisor 0.9 Brings io_uring Block Device Support For Faster Performance

    Intel's Cloud Hypervisor focused on being a Rustlang-based hypervisor focused for cloud workloads is closing in on the 1.0 milestone. With this week's release of Cloud-Hypervisor 0.9 there is one very exciting feature in particular but also a lot of other interesting changes. 

  • Joplin

    Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are searchable, can be copied, tagged and modified either from the applications directly or from your own text editor. The notes are in Markdown format. Notes exported from Evernote via .enex files can be imported into Joplin, including the formatted content (which is converted to Markdown), resources (images, attachments, etc.) and complete metadata (geolocation, updated time, created time, etc.). Plain Markdown files can also be imported. The notes can be synchronized with various cloud services including Nextcloud, Dropbox, OneDrive, WebDAV or the file system (for example with a network directory). When synchronizing the notes, notebooks, tags and other metadata are saved to plain text files which can be easily inspected, backed up and moved around.

  • Kodi 19 Alpha 1 Released With AV1 Decoding, Many Other HTPC Improvements

    Kodi 19 "Matrix" Alpha 1 has been released for this very popular, cross-platform open-source HTPC software.  Kodi 19 is bringing many exciting improvements as a major update to this open-source home theater software. 

  • Scorewriter MuseScore 3.5 Released with Chord Symbol Playback

    MuseScore, free music composition and notation software, released version 3.5 with long list of new features, bug fixes, and other improvements. MuseScore 3.5 contains one of the most requested features: Chord Symbol Playback. The feature is disabled by default so far. You can enable it by going to Edit > Preferences > Note Input.

  • Bashtop: An Htop Like System Monitor But Much More Useful

    As cool as Htop there is one thing that it's seriously lacking in and that is system monitoring tools, this may not be a problem for you but if you want a system monitor than bashtop is a much better option to choose, it let's you do most of the process management stuff that you want from htop but it comes with things like hard drive usage, network usage and cpu usage statistics. 

  • An Early Look at Grounded

    You’re in control of a child, who looks like he/she hasn’t entered the teenager years just yet. Among four different children — two boys and two girls — they’ve got a big problem: they’ve been shrunk to the size of an insect. Join them in their adventure — either by yourself or with a group of online friends — as they fight to survive in someone’s backyard, trying to build shelters whilst defending against bugs, and figure out why they’ve shrunk in the first place. Enter Grounded, developed by Obsidian Entertainment — the studio that brought us such titles as Pillars of Eternity, The Outer Worlds, and Star Wars: KOTOR2.

Fedora: LTO, Nest and More

  • Fedora 33 Moving Closer To LTO-Optimizing Packages

    Going back to last year Fedora has been working to enable link-time optimizations by default for their packages. That goal wasn't achieved for Fedora 32 but for Fedora 33 this autumn they still have chances of marking that feature off their TODO list.  LTO'ing the Fedora package set can offer not only performance advantages but in some cases smaller binaries as well. This is all about applying the compiler optimizations at link-time on the binary as a whole for yielding often sizable performance benefits and other optimizations not otherwise possible. LTO is great as we often show in benchmarks, especially in the latest GCC and LLVM Clang compilers. 

  • Zamir SUN: Report for session 1 of FZUG @ Nest with Fedora

    Last month, Alick suggested the Fedora Zhongwen User Group (FZUG) can do a online meetup during Nest with Fedora. And based on the survey, people registered for two time slots, the first one is 9:00 PM Saturday evening UTC+8 which is not a good time for Alick, so I take up the coordinating role for this session. As for the tool, we decided to use Jitsi, as it should work fine for most of us and do not have any limitations. What’s more, it’s totally open source. During the meeting, I firstly introduced Nest with Fedora and it’s previous offline version, Flock to Fedora, to the attendees. It’s interesting to see that during the past years, we not only have new users in China, but also new contributors. One attendee shares that his motivation of being a packager is that deploying packages for their research in the lab is cumbersome before. So he decided to package all into Fedora and then he can just simply install them on every machine. It is good to know that people contribute back because they want to solve their own problems. Maybe this can be a talking point to attract more contributors in the future. After the self introduction, we continue by sharing our interesting stores with Linux. That is a lot of fun.

  • Jon Chiappetta: Last piece of relay software needed for my home bridged network

    If you are running a bridged/relayd network with macs on it you may need to also forward the multicast broadcasts (mDNS related) that allow the devices to automatically discover each other. On the WRT wifi client side, there is a pkg called avahi-daemon and you can configure to operate in “reflector” mode to forward these broadcasts across the specified interfaces. Running this service along with the dhcprb C program which takes care of layer 2 arp requests & dhcp gateway forwarding has been pretty smooth so far!