June 17, 2019

[SOLVED] Increase playback speed of online videos (e.g. Vimeo)


  1. Go to your video URL
  2. Open developer console (e.g. F12)
  3. Paste document.getElementsByTagName('video')[0].playbackRate = 1.5;
  4. Hit Enter

October 16, 2018

[SOLVED] Inject angularjs on elements added by innerHTML (e.g. magento 1.9 checkout)


function injectIbanValidation() {

    var ibanPlaceholder = document.getElementById('iban_placeholder');

    var ibanInput = '<input type="text" ng-model="iban" ng-iban/>';

    //emulate html injection in    ibanPlaceholder.innerHTML = ibanInput;

    var ibanElement = ibanPlaceholder.querySelector('input');

    /**     * inject angular component magic     */    var $injector = angular.injector(['ng', 'mpb.app', ['$provide', function($provide) {
        var $rootElement = angular.element(document.querySelector('body'));
        console.log('$rootElement', $rootElement);
        $provide.value('$rootElement', $rootElement);
    }]]);

    if (ibanInput) {
        $injector.invoke(['$rootScope', '$compile', function($rootScope, $compile) {
            console.log('invoke', $rootScope, $compile);
            $compile(angular.element(ibanInput))($rootScope);
        }])
    }

}

August 27, 2018

[SOLVED] Update google Cloud DNS A record to your local IP via bash



UpdateARecord.sh

#!/usr/bin/env bash
echo "My public IP:$(curl -s ipinfo.io/ip)"
ZONE_NAME='example-com'DOMAIN_NAME='somefacysubdomain.example.com.'

gcloud dns record-sets transaction abort -z=$ZONE_NAME
gcloud dns record-sets transaction start -z=$ZONE_NAME

#show current A record
gcloud dns record-sets list --zone $ZONE_NAME --name "$DOMAIN_NAME" --type=A

#remove old record
OLD_IP=$(gcloud dns record-sets list --zone $ZONE_NAME --name "$DOMAIN_NAME" --type=A | sed -n 2p | awk '{print $4}')
gcloud dns record-sets transaction remove -z=$ZONE_NAME \
   --name="$DOMAIN_NAME" \
   --type=A \
   --ttl=300 "$OLD_IP"

#add new record
gcloud dns record-sets transaction add -z=$ZONE_NAME \
   --name="$DOMAIN_NAME" \
   --type=A \
   --ttl=300 "$(curl -s ipinfo.io/ip)"

#check incoming changes
gcloud dns record-sets transaction describe -z=$ZONE_NAME

#make changes
gcloud dns record-sets transaction execute -z=$ZONE_NAME


#display updated DNS records
gcloud dns record-sets list --zone $ZONE_NAME

[SOLVED] magento package.xml to modman



https://gist.github.com/printminion/36bf4a948ac7e2faa23c

March 14, 2018

[SOLVED] Fatal error: Class 'Mage_Adminhtml_Helper_Help_Mapping' not found

After magento upgrade getting an error
Fatal error: Class 'Mage_Adminhtml_Helper_Help_Mapping' not found Solution: set proper rights to the parent folder app/code/core/Mage/Adminhtml/Helper/Help chmod a+x app/code/core/Mage/Adminhtml/Helper/Help chmod a+r app/code/core/Mage/Adminhtml/Helper/Help

February 28, 2018

[SOLVED] mysql identify big tables

mysql identify big tables
SELECT table_schema as `Database`, table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` FROM information_schema.TABLES ORDER BY (data_length + index_length) DESC;

November 22, 2017

[SOLVED][gitlab-ci-multirunner] Cannot connect to the Docker daemon at unix:///var/run/docker.sock




Two errors you can fix like that

#1 set privileged = true

2017-11-21T15:17:26.802822881Z mount: permission denied (are you root?)
2017-11-21T15:17:26.803090353Z Could not mount /sys/kernel/security.
2017-11-21T15:17:26.803107368Z AppArmor detection and --privileged mode might break.
2017-11-21T15:17:26.806984781Z mount: permission denied (are you root?)


#2 Mount /var/run/docker.sock as a volume

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?




/etc/gitlab-runner/config.toml


concurrent = 4
check_interval = 0

[[runners]]
  limit = 4
  name = "fancy name"
  url = "https://www.gitlab.com"
  token = "secret token"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "alpine:3.4"
    privileged = true
    disable_cache = false
    volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]
  [runners.cache]
    Insecure = false

November 21, 2017

[SOLVED]"[: 1: [: Syntax error: end of file unexpected"



If you getting
"[: 1: [: Syntax error: end of file unexpected" 
in gitlab while executing jobs in under .gitlab-ci.yml
check if your entrypoint.sh of the Docker image you using in this job.


Wrong:
exec $@


Right:
exec "$@"


Source: https://docs.docker.com/engine/reference/builder/#exec-form-entrypoint-example

July 22, 2017

[SOLVED]Synology: "You have exceeded your emergency code limit. Please contact your system administrator"


Got stuck with "You have exceeded your emergency code limit. Please contact your system administrator" on your synology?

Me too.. ..my mobile phone wend dead taking the Google Authenticator app with it and my trusty Synology DS411+II don't wont let me to log in without 2-auth.

This blogpost suggested to add your own reset codes to google_authenticator file - it didn't work for me :(

Here is my solution - I renamed the file.

Login with your admin account via ssh.
and rename (remove) the google_authenticator file

cd /usr/syno/etc/preference/<username>/
mv google_authenticator google_authenticator_backup

and logged me with my account via web interface and got this shiny 2-auth configuration dialog.




May 2, 2017

Open canvas content as data url

Select

document.location = $0.toDataURL()

[SOLVED]Fatal error: Call to a member function setSaveParametersInSession() on a non-object

If you get "Fatal error: Call to a member function setSaveParametersInSession() on a non-object"


check if your config.xml is properly formatted and class names are between XML tags without new lines

Wrong:
<blocks>
    <some_widgets>
        <rewrite>
            <adminhtml_some_info>ClassName
            </adminhtml_some_info>
    </some_widgets>
</blocks>


OK:
<blocks>
    <some_widgets>
        <rewrite>
            <adminhtml_some_info>ClassName</adminhtml_some_info>
    </some_widgets>
</blocks>

April 6, 2017

[SOLVED] Wrong resolution on second display



If you don't see required resolution

xrandr


#add new mode
xrandr --addmode VGA-1 "1920x1080"

#activate mode via xrandr
xrandr --output VGA-1 --mode  "1920x1080"

Source: http://www.martinaulbach.net/linux/command-line-magic/59-setting-higher-screen-resolution-for-external-monitor-in-ubuntu-14-10

February 18, 2017

[SOLVED]Error response status: 6 Selenium error: no such session (Chrome selenium tests on gitlab runner)

Selenium tests with chrome on gitlab gave me this error "Error response status: 6 Selenium error: no such session". I order to fix it

Install virtual display
apt-get install -qq -y xvfb

#try to fool google-chrome to run without sandbox
mv /usr/bin/google-chrome /usr/bin/google-chrome-orig \
    && echo '#!/bin/bash' > /usr/bin/google-chrome \
    && echo '/usr/bin/google-chrome-orig --no-sandbox --disable-setuid-sandbox --allow-sandbox-debugging "$@"' >> /usr/bin/google-chrome  \
    && chmod +x /usr/bin/google-chrome

Before starting your test start virtual display
Xvfb :0 -ac +extension RANDR -screen 0 1366x768x24 &

than run your test in
xvfb-run polymer test -l chrome

Make your own or use my docker image
https://hub.docker.com/r/printminion/polymer-tester/

Example dockerfile: https://github.com/printminion/polymer-tester/blob/master/Dockerfile


Error:
(node:4444) DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
Installing and starting Selenium server for local browsers
Selenium server running on port 38917
Web server running on port 2000 and serving from /builds/printminion-group/canvas-editor-base
chrome 56                Tests failed: {"message":"[get(\"http://localhost:2000/components/canvas-editor-base/generated-index.html?cli_browser_id=0\")] Error response status: 6 Selenium error: no such session\n  (Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.7.3-coreos-r2 x86_64) (WARNING: The server did not provide any stacktrace information)\nCommand duration or timeout: 38 milliseconds\nBuild info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'\nSystem i...
Test run ended in failure: Error: [get("http://localhost:2000/components/canvas-editor-base/generated-index.html?cli_browser_id=0")] Error response status: 6 Selenium error: no such session
  (Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.7.3-coreos-r2 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 38 milliseconds
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'
System info: host: 'runner-4e4528ca-project-266495-concurrent-0', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.7.3-coreos-r2', java.version: '1.8.0_121'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{message=chrome not reachable
  (Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.7.3-coreos-r2 x86_64), platform=ANY}]
Session ID: 6ec7ed7d595d2f61a6b0eca7a536976c

chrome 56 (error)                    

Error: Error: [get("http://localhost:2000/components/canvas-editor-base/generated-index.html?cli_browser_id=0")] Error response status: 6 Selenium error: no such session
  (Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.7.3-coreos-r2 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 38 milliseconds
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'
System info: host: 'runner-4e4528ca-project-266495-concurrent-0', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.7.3-coreos-r2', java.version: '1.8.0_121'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{message=chrome not reachable
  (Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.7.3-coreos-r2 x86_64), platform=ANY}]
Session ID: 6ec7ed7d595d2f61a6b0eca7a536976c

error:   cli runtime exception: Error: Error: [get("http://localhost:2000/components/canvas-editor-base/generated-index.html?cli_browser_id=0")] Error response status: 6 Selenium error: no such session
  (Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.7.3-coreos-r2 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 38 milliseconds
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'
System info: host: 'runner-4e4528ca-project-266495-concurrent-0', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.7.3-coreos-r2', java.version: '1.8.0_121'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{message=chrome not reachable
  (Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.7.3-coreos-r2 x86_64), platform=ANY}]
Session ID: 6ec7ed7d595d2f61a6b0eca7a536976c
error:   Error: Error: [get("http://localhost:2000/components/canvas-editor-base/generated-index.html?cli_browser_id=0")] Error response status: 6 Selenium error: no such session
  (Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.7.3-coreos-r2 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 38 milliseconds
Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'
System info: host: 'runner-4e4528ca-project-266495-concurrent-0', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '4.7.3-coreos-r2', java.version: '1.8.0_121'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{message=chrome not reachable
  (Driver info: chromedriver=2.27.440175 (9bc1d90b8bfa4dd181fbbf769a5eb5e575574320),platform=Linux 4.7.3-coreos-r2 x86_64), platform=ANY}]
Session ID: 6ec7ed7d595d2f61a6b0eca7a536976c
    at /usr/local/lib/node_modules/polymer-cli/node_modules/web-component-tester/runner/steps.js:151:27
    at Generator.next (<anonymous>)
    at fulfilled (/usr/local/lib/node_modules/polymer-cli/node_modules/web-component-tester/runner/steps.js:4:58)
    at process._tickCallback (internal/process/next_tick.js:103:7)
ERROR: Build failed: exit code 1

January 10, 2017

[SOLVED]Docker API connection refused 127.0.0.1:2376

Create a file called /etc/systemd/system/docker-tcp.socket to make Docker available on a TCP socket on port 2375.

[Unit]
Description=Docker Socket for the API

[Socket]
ListenStream=2375
BindIPv6Only=both
Service=docker.service

[Install]
WantedBy=sockets.target


Then enable this new socket:

systemctl enable docker-tcp.socket
systemctl stop docker
systemctl start docker-tcp.socket
systemctl start docker
Test that it's working:

docker -H tcp://127.0.0.1:2375 ps


Source: https://coreos.com/os/docs/latest/customizing-docker.html

August 1, 2016

[SOLVED] Create copy of Raspberry PI SD-Card


sudo fdisk -l

Take note of how the SD card is identified.
In my case it is /dev/sdb1.
Then:
sudo dd bs=4M if=/dev/sdb | gzip > /home/your_username/image`date +%d%m%y`.gz

This will compress the image using gzip.
To restore the backup on SD card:
sudo gzip -dc /home/your_username/image.gz | sudo dd bs=4M of=/dev/sdb

June 3, 2016

[SOLVED]Renew ssl letsencrypt certificate on bitnami server

#!/bin/bash
#renew ssl letsencrypt certificate on bitnami server
#https://gist.github.com/printminion/6ec2fc0fefaba8e0a98a63a6d73b0802/edit

sudo /opt/bitnami/ctlscript.sh stop apache
cd /home/user/certbot
#./certbot-auto certonly --standalone -w /opt/bitnami/apache2/conf/ -d example
.com -d www.example.com
./certbot-auto renew
sudo cp /etc/letsencrypt/live/example.com/fullchain.pem /opt/bitnami/apache2/conf/server.crt
sudo cp /etc/letsencrypt/live/example.com/privkey.pem /opt/bitnami/apache2/conf/server.key
sudo /opt/bitnami/ctlscript.sh start apache


Gisthttps://gist.github.com/printminion/6ec2fc0fefaba8e0a98a63a6d73b0802

June 2, 2016

[SOLVED] Set hostname to to terminal window




Add this to your .bashrc file:

show only hostname

PROMPT_COMMAND='echo -ne "\033]0;${HOSTNAME}\007"'

show user@hostname and path

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'

Source: http://tldp.org/HOWTO/Xterm-Title-4.html

February 13, 2016

[SOLVED]Create CRC list of files in directory recursively on Busybox (Synology)

Create CRC list of files in directory recursively on Busybox (Synology)

  find -type f -print0 | xargs -0 cksum > checklist.chk

 exclude Synology's @eaDir-Dirs
  find -type f ! -path "*/@eaDir/*" -print0 | xargs -0 cksum > checklist.chk

 You can also try to install md5sum via ipkg