Блог очередного разработчика

Sanasol

Alex

This author hasn't added his/her bio.

Mobile Chrome http streaming(m3u8) doesnt work

Wrong X-TARGETDURATION in m3u8 playlist causes error on Andorid Chrome. Error not visible in console or everywhere else, so its really hard to detect. Chrome Desktop ignore this error for some reason, but mobile sensitive to it. I have wrongly thought that it should be full video duration. Solution is: X-TARGETDURATION should contain duration of longest video fragment. Here is an example of a Media Playlist: #EXTM3U #EXT-X-TARGETDURATION:10 #EXTINF:9.009, http://media.example.com/first.ts #EXTINF:9.009, http://media.example.com/second.ts #EXTINF:3.003,.. Read More

Debian Jessie bitcoind BerkeleyDB

Installing dependencies like here build unix BerkeleyDB is required for the wallet. Debian repository doesn’t contains libdb4.8. So need to get sources and compile it manually. Get db4.8 source, compile and install:

Tell your system where to find db4.8

Then move to bitcoin sources folder and compile it:

Sources: https://github.com/bitcoin/bitcoin/issues/3686#issuecomment-35211263 https://github.com/bitcoin/bitcoin/issues/3686#issuecomment-35236768

MySQL utf8 Incorrect string value

How to fix “Incorrect string value” errors? Mysql support only 3 bytes in «basic» utf8. So in case of use some new characters like emoji it gives Incorrect string value error. To fix this error you need change encoding utf8 to utf8bm4.

CloudFlare отдача и кеширование видео

Стриминг видео с сервера очень сильно кушает канал. Поэтому появляется мысль кешировать видео через CloudFlare. При этом надо сохранить возможность перемотки и разбить файлы на небольшие куски, чтобы CF ничего не заподозрил, а так же не попасть под лимит который не кешируется. Будем использовать Uppod плеер. 1. Разбить видео 2. Создать страницу сайта UP 19.07 Трафик продолжает снижаться

Ubuntu Gnome huge CPU usage of gnome-keyring-daemon when starting Google Chrome

I have a lot saved passwords in Google Chrome about 2000. So when I try to sync it on any linux distr. I got high cpu usage from keyring daemon. To prevent it we need disable password encryption ;( 1. Open Terminal 2.

or

3. Find these lines at end of file

4. Replace with

5. Save it. 6. Kill all keyring processes. 7. Restart Chrome, wait password sync… Read More

Laravel 5.2 + JWT + Dingo API + PHPUnit

The token could not be parsed from the request For some magic reasons(simulating requests) phpunit can’t pass tests with JWT token header or GET param token=?. Solution is just add few lines to middleware or anywhere else like this. Got it work with this code in my middleware:

Result middleware for api auth

Поменять IP на всех сайтах в Cloudflare

Заменяем старый IP на всех доменах добавленных в CloudFlare. Ставим из композера: jamesryanbell/cloudflare

Создаем php файл

  Заполняем переменные: старый/текущий IP, новый IP, email аккаунта на CF, API ключ CF Запускаем … Профит!

Генератор миксов для кальяна

Я большой любитель кальяна, и придумалось сделать генератор миксов. Так как кальян я курю почти каждый день, запомнить все вариации чаш которые я забиваю(чтобы не повторяться) стало трудновато. При этом хочется пробовать новые варианты, а не делать одно и тоже. В общем на фоне этого не так давно пришла мысль вести это в каком-нибудь «списке дел» или еще где-то. Но это слишком трудно, каждый раз записывать и придумывать новые варианты, я слишком стар.. Read More

Скидка на доступ к Бородачу

Вчера началась складчина на доступ к бородач сервису. За 540 рублей вместо обычных 999р можно получить полный доступ к сервису. Складчина «авторская», каждый получает персональный оплаченный аккаунт на сервисе. Т.е. это оптовая покупка, а не один аккаунт на всех 🙂 Складчина проходит здесь

Отказоустойчивость use case

VPS #1 — Франция nginx+php mysql-1 haproxy VPS #2 — Канада nginx+php haproxy VPS #3 — Нидерланды nginx+php mysql-2 haproxy mysql — master-master репликация. haproxy — балансирует запросы на два mysql мастера. haproxy.cfg

На каждый сервер идёт свой поддомен. Чтобы завалить сервис необходимо положить как минимум 2 хоста из 3. Для этого надо знать какие хосты держат mysql сервера. В противном случае класть придётся все хосты, дабы вывести из строя сервис.