1030Concatenating Videos with ffmpeg

Concatenating videos with the Quicktime Player requires unnecessary decoding/encoding, with takes time and computational resources.

Solution: Concatente Files von FFMPEG

https://trac.ffmpeg.org/wiki/Concatenate

Using ffmpeg

  1. Create a list: mylist.txt

    file '/path/to/file1.mp4'
    file '/path/to/file2.mp4'
    file '/path/to/file3.mp4'
  2. Run ffmpeg ffmpeg -f concat -i mylist.txt -c copy output.mp4

Troubleshooting

[concat @ 0x7fc407904080] Unsafe file name '2008-08-05 21_38_08.mov' mylist.txt: Operation not permitted

Filenames should not have spaces, escape them with \.

1028Setting up GitHub Command-Line Access

This is a short, condensed instruction how to set-up command-line access to github.com. Written is response to onboard new FabAcademy students - and get them started with MkDocs.

This guides is for macOS 12 or higher. My Mac uses macOS Ventura 13.0.01.

Step 1: Creating a new SSH Key

Go to the .ssh directory.

$ cd ~/.ssh

Made new key:

$ ssh-keygen -t ed25519 -C "your_email@example.com"
  • Don't just copy, put in your email. I also added a password.
  • Also, don't copy the $, just the ssh-keygen -t ed25519 -C "your_email@example.com" part. But with your email.

You can name your key. For this example, we call it id_github_test.

Step 2: Adding SSH Key to ssh-agent.

$ eval "$(ssh-agent -s)"

Step 3: Adding Key Info to config

Open .ssh/config in your favourite text editor. If you want to stay at the command line, use nano.

Add the following:

Host *.github.com
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_github_test

Step 4: Adding the Key to ssh-agent

Adding private key to ssh-agent

$ ssh-add --apple-use-keychain ~/.ssh/id_github_test

This add the new key to the Apple Keychain.

If you used a passphrase when you created the key, you will be asked for it now.

Enter passphrase for /Users/georg/.ssh/id_github_test: 
Identity added: /Users/georg/.ssh/id_github_test (your_email@example.com)

Step 5: Adding Public Key to github.com

  • Log into Github
  • Profile > Settings > SSH and GPG Keys
  • Click 'New SSH Key'

Copy and paster your public key, in this example case, id_github_test.pub.

The tutorial on Github suggest to copy the public key using a command:

$ pbcopy < ~/.ssh/id_github_test.pub      

pbcopy - for paste board copy is the terminal interface to the macOS' Copy & Paste. pbcopy < read the content of a file into the copy memory. After running pbcopy you can press Command-V to paste the text.

  • Paste the copied SSH Public Key.

Step 5.1: Two-Factor Authentication at GitHub.com

I setup Two-Factor Authentication at GitHub.com, I had to confirm the addition of a new key via my mobile GitHub App. Your mileage might vary.

Step 6: Testing the connection

$ ssh -T git@github.com
Hi trembl! You've successfully authenticated, 
but GitHub does not provide shell access.

Ok, great! It worked!

Now you can clone, add, commit, push and pull!

Sources:

1027SSH Key Permissions too open

This warning is pretty self- explanatory:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/georg/.ssh/my_rsa_key' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

Solution

Limit the key to read/write access by the user only:

chmod 600 ~/.ssh/my_rsa_key

It's also possible to make it only readable by the user, but then you need to chmod every time you want to update/change it.

chmod 400 ~/.ssh/my_rsa_key

Sources: StackOverflow

1025hugo Shortcuts

Quick run through hugo Installation & Update on macOS.

Install hugo

brew install hugo

Check Version

hugo version

hugo v0.109.0+extended darwin/amd64 BuildDate=unknown

Upgrade hugo

brew upgrade hugo
Warning: hugo 0.109.0 already installed

Create New Site

hugo new site my-new-hugo-site
cd my-new-hugo-site
git init
git submodule add https://github.com/theNewDynamic/gohugo-theme-ananke themes/ananke
echo "theme = 'ananke'" >> config.toml

hugo does not come with an in-built theme, therefore we need to clone the anake theme into themes/ananke. More hugo themes. Clone and update config.toml.

Serve Site

hugo server

Build Site

Just hugo, nothing else.

hugo
Start building sites … 
hugo v0.109.0+extended darwin/amd64 BuildDate=unknown
INFO 2022/12/26 19:37:15 syncing static files to /

                   | EN  
-------------------+-----
  Pages            | 10  
  Paginator pages  |  0  
  Non-page files   |  0  
  Static files     |  1  
  Processed images |  0  
  Aliases          |  1  
  Sitemaps         |  1  
  Cleaned          |  0  

Total in 154 ms

1024mkDocs Shortcuts

Quick run through mkDocs Installation & Update on macOS.

Install mkDocs

pip install mkdocs

Check Version

mkdocs -V

mkdocs, version 1.1.2 from /usr/local/lib/python3.9/site-packages/mkdocs (Python 3.9)

Update mkDocs

pip install -U mkdocs
mkdocs -V

mkdocs, version 1.4.2 from /usr/local/lib/python3.9/site-packages/mkdocs (Python 3.9)

Install mkdocs-material

pip install mkdocs-material

Update to latest mkdocs-material

pip install -U mkdocs-material

Create new mkDocs Site

mkdocs new my-new-site

Start Serving Site

cd my-new-site
mkdocs serve

Stop Serving Site

⌨️: ^[ctrl]-C

1021Facebook Custom Share Link

Facebook's depreciate Custom Share Link (as of 2022). Still work, but not recommended.

https://www.facebook.com/sharer/sharer.php?u=custom_url

Share this post!

1019Importing Screenshots to Photos with Automator

A simple Automator Action to import Screenshots in OSX into Photos:

  • Select the Folder to which the Action is attached
  • "Add to existing top-level album" - called "Screenshots"

I also have my Screenshots Folder on Dropbox, the Folder Actions are attached to that Folder.

1017Finding and Deleting Files without Content

Finds all empty JPEGs at current directory:

find . -maxdepth 1 -name "*.jpg" -size 0

Finds and deletes all empty JPEGs at current directory:

find . -maxdepth 1 -name "*.jpg" -size 0 -delete

Finds and deletes all empty JPEGs in all sub-directories.

find . -maxdepth 2 -name "*.jpg" -size 0 -delete

Sources: 1, 2

1014Installing IIJmio Sim-Card on iPhone

Problem: IIJMIO Network not working: Solution: Dowload and Install Profile

  1. Go to https://t.iijmio.jp/en/apn/
  2. Download and Install the Profile
  3. That's it.

1010Importing a MySQL File with Command Line

Working with XAMPP and and phpMyAdmin makes dealing with databases more visual, but importing large db dumb files can fail/take a long time.

Importing from the command line is faster and more stable.

Use the XAMPP mysql, if there is not a global mysql

cd /Applications/XAMPP/xamppfiles/bin 

Import on Local Server

mysql -u username -p db_name < ~/path/to/db/file.sql

Import with specified Server

mysql -u username -p -h hostname db_name  < ~/path/to/db/file.sql

Checking Status of MySQL Server

mysqladmin -u username -p -h hostname status
  • -p asks for the password on execution
  • Importing a ca. 300MB file takes ca. 5 seconds.
  • Make sure the DB "db_name" already exists.

Troubleshooting

I exported all the DB from one installatino as one, big localhost.sql and then tried to import it in another one. That creates the following error:

ERROR 2006 (HY000) at line 127571: MySQL server has gone away

Some DBs have been imported, but not all.

Workaround: Export/Import DBs individually.