Mawk is the default Awk interpreter in Ubuntu 14.04

And it sux. Sad
Take this eg. ...
% echo '4001966552\n4001966552' | mawk '{sum+=$1; print $1 ", " sum}END{print sum; printf "%lu\n", sum}'
4001966552, 4.00197e+09
4001966552, 8.00393e+09
8.00393e+09
2147483647

BusyBox on non-rooted Android devices

On rooted devices you can use the popular BusyBox app to set up BusyBox into /system/xbin and add this path to the default shell path.
On non-rooted devices it's a bit more complicated. Usually you can put your own stuff into /data/local/tmp and this is what I opted to do.

How to get a list of a user's (or channel's) public YouTube videos

The process is quite simple:
  1. Get an API key for the YouTube v3 Data API.
  2. Query the https://www.googleapis.com/youtube/v3/channels?part=contentDetails&forUsername={user_or_channel_name}&key={your_api_key} url and substitute the channel name and api key with the proper values.
  3. Query the https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId={playlist_id}&maxResults=50&key={your_api_key} url and substitute the playlist ID with the ID of the "uploads" playlist (fetched with the prev. query) and your API key. The result will contain max. 50 videos, but if it's so, there'll be a "nextPageToken" value that you can add to the URL in the "pageToken" parameter and request the next 50 videos, etc.

How to resume/continue file transfer over SSH/SCP

To recursively copy a directory's contents, continuing previously interrupted transfers, to/from a remote server via SSH/SCP, use rsync like this:
rsync --partial --progress -avz -e ssh <source> <destination>

where either <source> or <destination> can be a local path (eg. /directory/with/files/) or a remote path (eg. youruser@example.com:/new/directory/).

Touchpad vs. keyboard (typing) madness in Ubuntu

"A long time ago in a galaxy far, far away ..." there was a touchpad that would register touches/clicks even while the user was typing. Ubuntu has a setting to compensate for this: "System Settings / Mouse & Touchpad / Disable while typing". Unfortunately it does not work (at least in Ubuntu 14.04 / Trusty).

In Ubuntu 14.04 the "Disable while typing" in touchpad settings does not work

The problem is with the "-t" option for syndaemon. It messes with syndaemon's functionality. The solution is to uncheck the "Disable while typing" checkbox in System Settings (Mouse & Touchpad) and add your own syndaemon command in Startup Applications (eg. /usr/bin/syndaemon -i 1.0 -K -R -d).

Useful FFmpeg Commands

"FFmpeg is an extremely powerful and versatile command line tool for converting audio and video files. It is free and available for Windows, Mac and Linux machines. Whether you want to join two video files, extract the audio component from a video file, convert your video into an animated GIF, FFmpeg can do it all and even more."

How to speed up / slow down an audio stream with ffmpeg

Use the "atempo" filter:
ffmpeg -i input.mp4 -filter:a "atempo=0.5" -vn output.aac

How to change the framerate of an MP4 video without reencoding

I tried to find a solution for this question using ffmpeg, but had no luck. However the MP4Box method works like a charm.

How to concatenate multiple segments of the same video into a single file

Many video recorders (eg. GoPro cameras and many phones) split video files into 2 (or 4) GB pieces. To concatenate these pieces into a single file (without reencoding them), you can use ffmpeg's "concatenate" demuxer:
ls -1 G*0060.MP4 | sed -r "s/(.*)/file '\1'/g" > list.txt
ffmpeg -f concat -i list.txt -c copy GOPR0060.joined.MP4

Syndicate content Syndicate content