Записки утконоса-программиста

Сборка libhybris со своим тулчейном

Итак, похоже проблемы с hybris были в том, что ядро собранное компилятором из SDK тупо не работало. Необходимо было его пересобрать. Пришлось подправлять кое что:
Код BASH:
  1. export PATH=/bin:/sbin:/usr/sbin:/usr/bin:/home/neochapay/mer/android/droid/toolschain/4.5.1/bin:/home/neochapay/mer/sdks/sdk/usr/bin
  2. export ANDROID_EABU_TOOLCHAIN=/home/neochapay/mer/android/droid/toolschain/4.5.1/bin
  3. export ANDROID_TOOLCHAIN=/home/neochapay/mer/android/droid/toolschain/4.5.1/bin
  4. export ANDROID_BUILD_PATHS=/home/neochapay/mer/android/droid/toolschain/4.5.1/bin
  5. export ARM_EABI_TOOLCHAIN=/home/neochapay/mer/android/droid/toolschain/4.5.1/bin
Вроде собралось нормально...тестить буду сегодня вечером и завтра.

Sailfish OS - Hardware Adaptation Development Kit - Я скоро продолжу

Я тут решил, коли я перевожу HADK, то почему бы не портировать его на новую железку?.. Если коротко то примерно вот такие вот у меня реакции на всё это...
Sailfish OS - Hardware Adaptation Development Kit - Я скоро продолжу

Подробности будут...позжее...

Sailfish OS - Hardware Adaptation Development Kit - Часть вторая

Итак, в в первой серии нашего сериала, мы настроили SDK и теперь готовы к полёту...Сегодня мы получим и соберём исходники CyanogenMod необходимые для Android HAL
Sailfish OS - Hardware Adaptation Development Kit - Часть вторая

Sailfish OS - Hardware Adaptation Development Kit - Часть первая

Итак, далее в статьях будет представлен очень вольный перевод Hardware Adaptation Development Kit для Sailfish OS . Повествование будет вестись по мере продвижения и погружения. Данная работа делается как заявка работы в Открытой Мобильной платформе - мол типа возьмите меня на работу. Ну поехали. Сегодня настраиваем SDK.
Sailfish OS - Hardware Adaptation Development Kit - Часть первая

Первоочередная необходимость для адаптации Sailfish OS для вашего устройства это:
1 - иметь само устройство (Логично да?)
2 - иметь 64 битный линуксовый дистрибутив (У меня стоит Kbuntu 15.04)

Почтой завалило...

Исходное: Есть веб сервер, есть почтовый сервер, сайт должен пересылать почту, плюс всякие служебные сообщения. Но тут случился коллапс...
Почтой завалило...

Суть коллапса:
Кроме почты был настроен cron и он переодически слал почту на root@domain...всё бы норм ну слал бы и слал, НО! на почтовом сервере стоит fail2ban который вежливо следил чтобы ни чего не натворили злобные все. И он заметил, что почтового ящика root@domain то нет, а письма на него шлють да шлють, ну и забанил его...
Обнаружил я это через пару дней, когда пользователи начали жаловаться, что активации аккаунтов не приходят на почту.
Ну ок. Решаем проблему с баном записав ip веб сервера в белый лист:
В файл /etc/fail2ban/jail.conf прописываем в переменной ignoreip ip вебсервера. Всё гуть.
Но тут меня осиняет, а давай создам я почту root@domain пусть льётся чё будет плохого...
Почтой завалило...

А вот что стало в итоге: около 30 тысяч сообщений встали в очередь postfix и работа офиса встала...отправляются письма, но они встают в очередь после тех 30 тысяч сообщений от root@domain короче ахтунг.
Надо чистить очередь сообщений. Итак: Решение проблемы:
Код BASH:
  1. mailq | grep "root@domain" | awk '{ print $1 }' | sed s/*// | postsuper -d -
удалилось большая часть сообщений - почта ожила и начала работать. Слава яйцам.
Ну и на последок, чтобы cron не слал ненужный хлам, добавил в crontab оконцовки, направляющие всё в вальгалу /dev/null
Код BASH:
  1. 0 * * * * indexer --all --config /home/shop/files/config/sphinx.conf.in --rotate > /dev/null 2>&1
И всё стало тихо и нормально.

Новый опыт:
1. Настроил почтовый сервер.
2. Настроил relay с одного сервера на другой
3. Научился работать с очередью postfix

Приложение ChebFM

Я тут обновляю глобально приложуху интернет радио ЧебФМ Сейчас оно в перешло в стадию публичной беты и его можно преставить на суд публики. Естественно с учётом того, что устанавливая приложение Вы понимаете, оно для теста.
Приложение ChebFM

Приложение ChebFM

Приложение ChebFM


Тоесть, приложение стало не просто чатом, через него можно почитать новости, посмотреть фоточки и так далее.
Качать тут: http://neochapay.ru/upload/users/chebfm_last.apk

По всем глюкам и предложениям отписываться ТУТ!

Текущая версия 0.4.9.1[21]

Немного грязного кода, позиционирования и прочего...для новеньких.

Итак, сегодня я покажу как создать свой тип контейнера(?) в QML и как связать сигналы в C++ со слотами в QML ну и да код грязненький но не страшно. Итак задача: Расчитать точное астрономическое время и на его основе сделать часики.
Получится такой приложук:
Немного грязного кода, позиционирования и прочего...для новеньких.

Загрузчик не готов!

Не получилось у меня за месяц подружиться нормально с uBoot пришлось возвращаться к проприоритарщине. Ну да и ладно. Проблема в загрузчие Superboot от самсунг залочен на загрузку с венды .А у меня её...нет короче. Ладно за нас уже решили все проблемы 2 года назад и есть скриптик.
Код BASH:
  1. #!/bin/bash
  2. SDDEV=$1
  3. SDPART="1"
  4. SB=$2
  5. help(){
  6. echo "Usage:";
  7. echo " sdcard_formatter_mini210.sh /dev/sd[x] /path/to/SuperBoot210.bin";
  8. echo " Formats SD Card, makes FAT32 partition, and copies Superboot to beginning of card.";
  9. exit 0;
  10. }
  11.  
  12. if [ $# -eq 0 ] || [ "$1" == "-h" ] || [ "$1" == "--help" ]; then
  13. help
  14. fi
  15.  
  16. if ! [ -a $SB ]; then
  17. echo "Superboot file does not exist."
  18. exit 1;
  19. fi
  20.  
  21. (echo o; echo n; echo p; echo 1; echo ; echo ; echo t; echo c; echo w;) | sudo /sbin/fdisk $SDDEV > /dev/null 2>&1
  22.  
  23. sudo /sbin/mkfs.msdos -n "FriendlyARM" $SDDEV$SDPART > /dev/null 2>&1
  24.  
  25. sudo dd iflag=dsync oflag=dsync if=$SB of=$SDDEV bs=512 seek=1 > /dev/null 2>&1
  26.  
  27.  
Ну вот и результат. Дальше будем собирать mer для Friendlyarm

Загрузчик не готов!

Удалить Советник Яндекс Маркета с сайта

Бесит...очень он.
Удалить Советник Яндекс Маркета с сайта

Код JAVASCRIPT:
  1. $("a[title='О программе']").parent().parent().remove();
  2. $('html').attr("style","");
Естественно кнопку с заголовком "О программе" если она есть у вас на сайте переименуйте

Textarea with placeholder

Код QML:
  1. id: bodyFeed
  2. width: parent.width-10*mm
  3. height: 100*mm-10*mm
  4. anchors{
  5. fill: parent
  6. margins: 1
  7. }
  8. style: TextAreaStyle {
  9. backgroundColor: "#fff"
  10. }
  11.  
  12. text: "Placeholdertext"
  13. anchors{
  14. top: parent.top
  15. topMargin: 5*mm
  16. left: parent.left
  17. leftMargin: 5*mm
  18. }
  19. visible: (bodyFeed.activeFocus || bodyFeed.text.length > 0) ? false : true;
  20. }
  21. }
Странно что приходится извращаться и этого нет в официальной поставке.