How to work with Myanmar fonts?

There are two ways: natural (wrong) and pervert one.

Natural: Just use unicode. It simply work on Mac OS X and modern Android phone (with Unicode 5). However it is broken on older devices and ugly for native speakers.

Pervert one: Use ZawGyI font in Unicode mode.

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<link rel="stylesheet" href='https://mmwebfonts.comquas.com/fonts/?font=myanmar3' />
	<link rel="stylesheet" href='https://mmwebfonts.comquas.com/fonts/?font=zawgyi' />
	<style type="text/css">
		.zawgyi{
			font-family:Zawgyi-One;
		}
		.unicode{
			font-family:Myanmar3,Yunghkio,'Masterpiece Uni Sans';
		}
	</style>
</head>
<body>
	<h3>This is for ZawGyI font</h3>
	<p class="zawgyi">
		၅၀၀MB ေဒတာၾကိဳသုံး<br />
	</p>
	<h3>This is for unicode (myanmar3) font</h3>
	<p class="unicode">
		၅၀၀MB ဒေတာကြိုသုံး<br />

	</p>
</body>
</html>

More information:

Mo

DNS down on Unify Segurity Gateway if WAN1 does not work

If you use Unify Security Gateway you could be surprised if DNS going down when WAN1 down.

To solve it you should setup different DNS servers and create static routes.

Interface Configuration:
WAN1 – DNS I used OpenDNS1 and Google DNS1
WAN2 – DNS I used OpenDNS2 and GoogleDNS2

Static routes:
WAN1-DNS1 – 208.67.222.222/32 via interface WAN1
WAN1-DNS2 – 8.8.8.8/32 via interface WAN1
WAN2-DNS1 – 208.67.220.220/32 via interface WAN2

WAN2-DNS2 – 8.8.4.4/32 via interface WAN2

Answer found here – https://community.ubnt.com/t5/UniFi-Routing-Switching/Problems-with-DNS-on-USG/td-p/2165706

Как отдебажить почему не работают git ключи


GIT_SSH_COMMAND="ssh -v" git clone

https://developer.atlassian.com/blog/2016/04/different-ssh-keys-multiple-bitbucket-accounts/

Stop using /etc/hosts for for local development.

Install

# sudo port install dnsmasq

Включаем сервис, заменяем «Enabled»

# cp ./local/etc/LaunchDaemons/org.macports.dnsmasq/org.macports.dnsmasq.plist /Library/LaunchDaemons/
# sudo vim /Library/LaunchDaemons/org.macports.dnsmasq.plist
sudo launchctl load /Library/LaunchDaemons/org.macports.dnsmasq.plist

Config:

# sudo ln -s /opt/local/etc/dnsmasq.conf /etc
add to /etc/dnsmasq.conf:
"address=/exe/127.0.0.1"

Restart:

sudo launchctl stop org.macports.dnsmasq
sudo launchctl start org.macports.dnsmasq

Test:

1. Test that service started:

ps ax | grep dns

If not, call locally and check for error

/opt/local/sbin/dnsmasq

2. Call DNS:

dig test.exe @127.0.0.1

Use

Two ways:
1. Simple: configure /etc/resolv.conf to point to 127.0.0.1
2. Hardcore: Resolve only local zone there:

$ sudo mkdir -p /etc/resolver
$ sudo echo "nameserver 127.0.0.1" > /etc/resolver/exe
$ /opt 0$ ping -c 1 test.exe
EOF

Thanks

Based on https://passingcuriosity.com/2013/dnsmasq-dev-osx/, adopted for Ports

Stop NetBeans from using External GPU

Если ваш NetBeans страшно жужжит вентилятором и использует внешний GPU все дело в новой джаве которая по умолчанию его использует.
Выход? Переключиться на более старую версию джавы.

Проверяем:

$ java -version

У меня была «1.7.0_25″

Определяем где ее домашний каталог:

$ /usr/libexec/java_home -v 1.7

Должно получиться что-то вроде:
/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home

Смотрим есть ли системная джава:
ls /System/Library/Java/JavaVirtualMachines/
1.6.0.jdk/
Если нет – устанавливаем с сайта эппл

Находим папку Netbeans:
Открвывает Applications папку, нажимаем на Netbeans и правой кнопкой на «Show Packages Content».

Находим папку Contents/Resources/Netbeans/etc и правмс netbeans.conf
В этом файле прописывем

netbeans_jdkhome="/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home"

Запускаем NetBeans, наслаждаемся тишиной

Что бы вернуть как было можно или закомментировать эту строку или прописать правильную версию

Поставить phpredis на неподготовленную машину:

# apt-get install php5-dev=5.4.4-14+deb7u14
# mkdir ~/tmp/
# cd ~/tmp/
# wget https://github.com/nicolasff/phpredis/archive/master.zip
# unzip master.zip
# cd phpredis-master/
# phpize
# ./configure
# make && make install

# ls /usr/lib/php5/20100525/redis.so # lib should be in path already

# echo "extension=redis.so" >>/etc/php5/cli/conf.d/20-redis.ini
#  echo "extension=redis.so" >>/etc/php5/fpm/conf.d/20-redis.ini
# service php5-fpm reload

Проверить:

# php -r 'print phpinfo();' | grep 'Redis'
Redis Support => enabled
Redis Version => 2.2.5

Heartbleed bug fix on all systems

Check


# openssl version -a

If version < 1.0.1e OR early then April 8, we need to update it ASAP:

Debian


$ sudo apt-get update
$ sudo apt-get upgrade

Centos


$ sudo yum uppdate
$ sudo yum -y install openssl

Restart


$ sudo find /proc -maxdepth 2 -name maps -exec grep -HE '/libssl\.so.* \(deleted\)' {} \; | cut -d/ -f3 | sort -u | xargs --no-run-if-empty ps uwwp

restart all services here

Оптимизируем работу мака со вторым винтом

Я уже писал как отключить внешний диск в маке при старте и использовать его только когда это необходимо. К сожалению у системы выявлено несколько недостатков:

  1. Если на внешнем диске находится iTunes каждый раз при подключении телефона диск придется монтировать
  2. Хочешь послушать музыку – слушай шум. Перестал слушать музыку – продолжай слушать шум
  3. По факту диск включен почти всегда, страшно бесит

К счастью нашелся солюшен это проблемы:
1. Убедитесь что отключение дисков включено в Energy preferences
2. Научите мак выключать винт после одной минуты:

$ sudo pmset -a disksleep 1

3. Отключите спотифай

$ sudo mdutil -i off /Volumes/HDD

Тишина!

Делаем ожидание не таким томительным

Оптимизация рабочего процесса помогает не только повысить эффективность, но и избежать прокрастинации.

В этом нам поможет простой, но чудодейственный скрипт.

Обычно если какой-то скрипт или операция выполняется больше минуты есть желание со словами «компилится же!» пойти читать хабр. Тем временем скрипт заканчивается, а хабр как раз не заканчивается… Есть хороший способ как заставить держать себя в тонусе:

Если скрипт работает дольше нескольких минут – хороший повод написать нотификацию, которая будет проверять статус каждые 5 секунд, и в случае изменения состояния сообщит об этом в наушники:

$ watch 'if [ `ssh db " ls /var/data/*sql 2>/dev/null| wc -l "` -gt 0 ]; then say "Parsing file finished"; fi;'

Еще пример:

watch 'if [ `ssh db "ps ax | grep 'dumping.sh' | grep -v grep 2>/dev/null| wc -l "` -lt 1 ]; then say "Parsing file finished"; fi;'

Все! Слушай музыку, жди пока компьютер не скажет что можно идти проверять результаты работы скрипта. Кстати, а почему бы не сделать пару мелких но нудных дел, на которые не мог найти время уже неделю?

mysqldiff for free

Иногда нашего брата бьет по темечку вопрос: есть база на продакшене, есть база локальная, изменения есть в обоих и никто не знает что именно менялось. Очень часто в таком случае начинаешь гуглить всякие mysql diff tool, пытаться собрать их из исходников или купить за, шутка ли сказать, $260.

Тем не менее есть простой и понятный выход:


~/db 0$ mysqldump --xml production > prod.xml
~/db 0$ mysqldump --xml local > local.xml
~/db 0$ diff prod.xml local.xml

Ну а дальше по XML и так все понятно. Кстати в таком формате вполне можно и в репозитарий базу коммитить!