Put all the fundamentals to use with this advanced Arduino project. Hobbyists, STEM Teachers, and Students will all be challenged by this project.Continue reading Arduino Game – TicTacToe
Follow along as I Learn how to add Closed Caption to my videos.
Approach One – Multiple Tools, Manual and Automation
I first used Audacity to separate the audio from my video file. My video is in MP4 format encoded for posting onto YouTube.
After I imported the audio I used the export tool to save it as an MP3, it took about 30 seconds.
Audacity MetaData for MP3 Export
Audacity – Export Progress
IBM Watson – Speech to Text
Next, I uploaded this speech file to IBM’s Watson – Speech to Text tools, it went ahead and started transcribing. Here is some of the process:
The results are impressive but either I have poor enunciation or other spoken-word issues. For know I am just going to move forward and worry about fixing errors later.
When the audio is fully transcribed I moved to the “Word Timings and Alternatives” tab. I’m not a transcriptionist however, it is pretty clear that each word is accompanied by the amount of time it consumes. There are also additional tags like %HESITATION.
The first captioning tool I am trying is Amara, it is free to use for Public videos. I don’t see this as a problem as it adds additional presence for my video anyway. Win-Win. Unfortunately, the timing file from Watson is not a format that Amara understands. As a result, I would have to add captioning timing.
And that is is for the first round.
IBM’s Watson – Speach-to-Text is a very impressive tool, I am certain it will be part of my future efforts. Amara is also very impressive and accepts complete sub-title files. There is a disconnect between the two. Watson does not have a sub-title output format, why would it. So the next round will be turning the Watson output into a Captioning file suitable for import to Amara.
The 3d Printed Spring Scale can be used in place of regular education spring scales. The learner can engage in Force, Torque and Weight measures. The Spring Scale can be introduced to existing Science and STEM curriculum. Giving the student the option to print, assemble and use their own tool to enhance the experience. At the end of the lab the Student can take the 3d Printed item outside the classroom for additional measurements.Continue reading 3d Printed Spring Scale
The time tested project of many High School and College Physics curriculum, this 3d printed version brings this classic into the modern age. Even lighter than Balsa wood and infinitely more modular, the 3d Printed Mousetrap allows the student to engage in 3d Design and Manufacture with their project.Continue reading 3d Printed Mousetrap Car
The 3D Printed Springscale gives the learner a chance to explore the mechanism for measuring weight, torque, and force. The 3D Printable creates the opportunity for the student to have a one to one with the tool. Learners can take the scale with them and measure various weights, torques, and forces outside the classroom.Continue reading Spring scale – 3D Printed
How to keep them happy together.
Running a Low Traffic Website on a Low-End server is a great way to learn. Constrained resources necessitate careful planning of your services. In my journey to keep MySQL from crashing due to memory constraints, these two items fixed the problem.
I manage my own web site ( this site ) as a means to learn and grow my technical know-how. It does not generate any revenue, yet. As a result, I spend the least amount of money on it as possible resulting in the most anemic server. At the writing of this article, my site was slowing to a crawl and MySQL was regularly crashing. Inspecting the processes that where running I found that
kswapd, the swap file daemon, was chewing on 50% of my CPU time. It was time for a beginner’s lesson in resource management.
Put MySQL on a Diet
WordPress uses MyISAM as the default storage mechanism. On my distribution InnoDB is included in the default setup. It is not needed for WordPress. As I am only running WordPress on this server I decided to remove InnoDB and free up some memory.
To remove InnoDB support you will need to find your mysql.cnf. More specifically you will need to find the instance that is being used by MySQL. I am running Ubuntu 18.x on my server. Ubuntu is a Debian based system so my configuration file is located here:
The MySQL configuration file uses sections denoted with brackets . For example., there are two sections one name [mysqld_safe] and one called [mysqld]. The sections are completed at the start of the next section.
Place the following command anywhere after the
[mysqld] but before the next 
You can now restart the MySQL service with one of the following commands:
service mysql restart
systemctl restart mysql
sudo /etc/init.d/mysql start
Break up the Apache Party
When I checked in on Apache using the command
top.I had 26 processes running for Apache. My website just simply isn’t popular and not so important that it needs that much attention. The spammers and search engine bots can wait. Maybe someday I will need more resources for connections but not today.
With the version of Apache2 I am running on a Debian based system the configuration can be found in the mods-available sub-directory. However is you work from the mods-enabled directory you will see a smaller sub-set of choices. You will also answer the question of whether or not the mod you are configuring is actually enabled simply by seeing it in the directory.
To tame Apache bring up the configuration file in your favorite editor, mine nano.
sudo nano /etc/apache2/mods-enable/mpm-prefork.conf
I changed the following to lines to experiment on performance:
MaxSpareServers 8 MaxRequestWorkers 10
Squeeking in under the wire
These two tasks have moved my server sentiment from annoying to hopeful. This micro-server now sits just below the meager physical memory limit imposed by it’s $3.00 budget. Take a look at my output from
top - 09:50:03 up 15:11, 1 user, load average: 2.76, 1.17, 0.91 Tasks: 93 total, 2 running, 52 sleeping, 8 stopped, 0 zombie %Cpu(s): 8.4 us, 7.0 sy, 0.0 ni, 84.0 id, 0.5 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 492640 total, 8576 free, 379640 used, 104424 buff/cache KiB Swap: 524284 total, 267688 free, 256596 used. 67740 avail Mem
I am just getting by with a teeny bit of left-over space. The key bit is
kswapd has calmed down and now MySQL is no longer crashing. It may be short-lived but it is a victory for today.
Had to up the MaxRequestWorkers to 25, pages kept timing out.
Trying to find the lowest number of “Starting” and “Spare” servers I can get away with. Starting with one and having three spare.
Update3: Final Update
Looks like I have tamed the beast. I am now sitting at about 100mb free space. The final step was deactivating WordPress Plugins I did not need. I am very glad it worked as I was about to start dis-abling Apache2 mods that WordPress does not use and I am fairly ignorant on that subject, for now.