воскресенье, 6 сентября 2015 г.

Замена стекла крышки Nexus4 на carbon

После того, как в моем Nexus4 треснуло стекло, мне показалось интересной идея сделать новую вставку из карбона. Вариант просто наклеить карбоновый ламинат я не рассматривал, так как это все-таки не то. Ламинает на дает глубины картинки, как настоящий толстый карбоновый лист. Я использовал этот толщиной примерно 0.8mm
Вдохновил меня на это замечательный пост на xda-developers

В отличие от автора на xda-developers, у меня не было станка под рукой. Поэтому процесс и инструменты выглядели примерно так:

  • Удалил сначала старую крышку, использую термо фен. Делал аккуратно, так как она плотно приклеена к модулю беспроводной зарядки
  • Сделал бумажный трафарет и наклел его на карбоновую пластину
  • Dremel для резки . Вот с такой насадкой . Отрезать получилось довольно точно. Далее работа напильниками
  • Мелкие напильники для доведения граней до более-менее ровного вида. 
  • Мелкое сверло для отверстий под камеру и вспышку. Далее опять же, доведение напильником
  • Чтобы довольно толстый карбон хорошо сел и не выступал, я сточил ему грани.
  • Ну и в самом конце посадил на вот такую двустороннюю пленку
Итог мне понравился. Намного прочнее чем хрупкое и стекло. Ну, и внутренее удовольствие от созерцания карбона :)





суббота, 25 апреля 2015 г.

Автоматический бекап конфигов и скриптов в облачный git

Линукс особенная операционная система. Имяя лишь одни конфиги, можно восстановить систему в точно такое же состояние с нуля, даже если стереть все остальные директории.
Поэтому иметь их бекап просто необходимо.
Для себя я решил хранить все текстовые конфигурационные файлы в облаке используя систему гит. Что позволяет обеспечить

  1. просто удобный бекап, без страха что-то потерять.
  2. доступность с любой машины
  3. версионность и удобный просмотр всех сделанных изменений
  4. ведение нескольких версий логов при неоходимости

Звучит, отлично! Осталось только все настроить и сделать так, чтобы бекап был полностью автоматический.
Для себя я выбрал вариант коммитить раз в день вечером сами конфиги /etc, содержимое хоума, и также мои скрипты.

1. Для создания репозиториев я выбрал bitbucket , главным образом за неограниченное количество прайват репозиториев. Не вижу смысла кому-то светить конфиги или скрипты, используемые для личных нужд. Итак, завел на нем три репозирия : под /etc, хоум директорию и /usr/local/bin скрипты

2. Далее настроил доступ по ssh. Для этого надо сгенерить private/public пару ключей. Процесс очень хорошо описан на самом bitbucket. На данном этапе требуется только наличие private ключа на машине. Подкладываться он будет автоматически скриптом при коммитах.

3. Далее создаем локальные git репозитории на каждую директорию:
Имя вашего репозитория можно посмотреть в веб интерфейсе bitbucket

  cd /etc   
  git init   
  git remote add origin git@bitbucket.org:vasya_pupkin/configs.git 

4. Для хоума я также написал .gitignore файл, чтобы комиттить только конфиги. И исключать все остальное что , как оказалось может там лежать. Пример моего .gitignore для домашней директории:
  # exclude everything   
  /*   
  # excepting directories and files beginning with .   
  !/.*   
  #specifically exclude these cache directories   
  /.local   
  /.dropbox-dist   
  /.config/google-chrome*   
  /.config/MIB*   
  **/RecentDocuments   
  /temp   
  #exclude specifically different log files and cache everywhere   
  **/*ache   
  **/*humbnails   
  **/*.log   
  **/*core   
  **/*.swp   
  **/*.swo   
  **/*.bak   
  .xsession*   
  #exclude some common binaries   
  **/*.zip   
  **/*.png   
  **/*.jpg   
  **/*.jpeg   
  **/*.svg   
  **/*.so   
  **/*.dll   
  #exclude secured files   
  **/*ssh   
  **/*.kdbx

Для /etc также небольшой .gitignore
  **/ssh 


5. Чтобы автоматически коммитить изменения я прописал вот такой конфиг в fcrontab
  %nightly * 20-23 /usr/local/bin/backup_configs /home/myuser | systemd-cat -t backup_configs  
  %nightly * 20-23 /usr/local/bin/backup_configs /usr/local/bin | systemd-cat -t backup_configs  
  %nightly * 20-23 /usr/local/bin/backup_configs /etc | systemd-cat -t backup_configs


Данный крон конфиг будет запускать скрипт для коммита изменений один раз в день между 20 и 24.00 , как только сможет.
Добавленная в конец команда "| systemd-cat -t backup_configs" требует наличия systemd и перенаправляет весь вывод скрипта в системный журнал.
Логи удобно можно посмотреть командой
journalctl -t backup_configs --since today

6. Ну и собственно сам скрипт. Так как доступ настроeн по ssh, то скрипт каждый раз подымает ssh агента, и подсовывает ему private кей для логина. А потом этого агента киляет.
Скрипт также использует systemd-cat для записи в systemd журнал
#!/bin/bash
BACKUP_DIR=$1
RSA_KEY="/home/myuser/.ssh/git_key"

function cleanup {
    /bin/kill $SSH_AGENT_PID
}
trap cleanup EXIT

cd $BACKUP_DIR
echo "Backup $BACKUP_DIR" | systemd-cat -t backup_configs
if [ -z "$SSH_AUTH_SOCK" ] ; then
  eval `ssh-agent`
  ssh-add $RSA_KEY
fi

git add .
git commit -m 'automated backup' .
git push -u origin master


среда, 8 апреля 2015 г.

Конвертация 5.1 audio DVD (SACD и DVD-A) в линуксе

Фильмы с dolby звуком уже давно привычны , и все к ним привыкли.
Но вот audio dvd со звуком 5.1 довольно редки.
Мне совершенно случайно удалось послушать несколько 5.1 версий уже знакомых треков, и я просто влюбился в звук. Вроде мелодия знакомая, только впетатление как будто сменил колонки за 10 долларов на колонки за 1000 :)

Вобщем под впетатлением раздобыл несколько электронных рипов своих любимых артистов.
Все рипы были в  SACD либо DVD-A форматах. 
SACD представляет собой просто ISO и не открывается в линуксе вообще, 
DVD-A открывается, но слышится только шум, так как диск зашифрованный.

Вобщем после рытия , нашел три программы , которые ни в жизни бы не стал ставить просто так. Но альтернатив как говорится...

SACD:
Вот тут нашел iso2dsd и тут dsd2flac. Вот если что прямые линки:

Сначала запускал iso2dsd , потом dsd2flac. Обе программы отработали стабильно без ошибок примерно на 5 дисках. Что стало приятным сюрпризом, от бинарников, у которых даже сайта нет.
На выходе получается 24 битный 5.1 flac.

DVD-A:
Единственная программа , которую нашел под линукс это Dvd audio extractor. Под виндовс люди используют foobar, но заводить ради этого wine или виртуалку не хочется.
Я скачал 64 битные deb файлы Dvd audio extractor и просто распаковал. В моей gentoo все заработало.
Я сохранял в 24 битный 5.1 flac. Хотя программа позволяет сохранить и в другие форматы.

Dvd audio extractor  отлично поддерживает линукс и делает свою работу очень хорошо. Хотят за него ребята 38 долларов кстати. Я пока использовал 30 дневный триал. Как закончится буду думать , надо ли мне оно, или все таки foobar в wine :)

Да,  и моя конфигурация 64 Bit kernel 3.19.1, kde-4.14.6

Очень печалит конечно, что было сделано все, чтобы люди не могли прослушать это на компе. Но как показало время , оба эти формата почти уже умерли,  а значит прогресс движется в правильном направлении. 
Ну и в идеале хотелось бы увидеть поддержку 5.1 в cloud сервисах, таких как spotify.