Архив

Архив раздела ‘FAQ’

Как отладить нестандартную loss-функцию на Keras?

Основная проблема с Loss функцией — это проблема с выводом значений переменных внутри неё, она компилируется и затем выполняется на GPU, где никакой print не работает. Методика для отладки может быть следующая.

1) Создаем 2 numpy-массива, содаржащие TRUE и PREDICTED значения. Например:

2) Делаем стандартную Python функцию которая вычисляет на основе этих переменных Loss. Убеждаемся что она работает верно.

3) Пишем функцию для Keras с использованием бекенда и которая затем будет передваться как loss-функция в метод compile.

4) Вызываем numpy функцию и keras функции:

Убеждаемся что результат одинаков. Если нет правим ошибки.

Ubuntu vs новые видеокарты

20 апреля 2017 Нет комментариев

Возникла проблема с установкой Unubtu на новый компьютер с четырьмя NVIDIA GTX 1080 Ti. Шаги по установке:

1) Качаем образ из официального репозитория (я использовал 16.04): releases.ubuntu.com

2) Записываем на загрузочную флешку с помощью Rufus: rufus.akeo.ie

3) Загружаемся с флешки, на этом этапе возникли ошибки вида «NMI watchdog: BUG: soft lockup — CPU#0 stuck for 22s! [migration/0:9]» или «nouveau pfifo sched_error 08» — это как выяснилось проблемы с драйверами видеокарты.

Решение состоит из следующих этапов:

1) Совет как всё же начать установку найден здесь: https://ubuntuforums.org/showthread.php?t=2354834

Выбираем при загрузке «Установка Ubuntu» и жмём «e» на клавиатуре. Меняем строчку:

на

И жмём F10. Должен появится графический интерфейс, который даст установить Ubuntu. подробности по установке можно почитать здесь:
http://www.tecmint.com/install-ubuntu-16-04-alongside-with-windows-10-or-8-in-dual-boot/

2) После перезагрузки надо снова добавить «nomodeset vga=791» с помощью кнопки «e».

Если нет интернета (не видно Wi-Fi), ставим драйвера по этому гайду:

http://help.ubuntu.ru/wiki/broadcom

Теперь надо поставить последние драйвера для видеокарты. Жмём на экране «Ctrl + Alt + F3»  попадаем в терминал, выполняем

и ставим последние доступные вида «nvidia-367», в моём случае было:

Если всё поставилось успешно, то ребутимся

3) Если не получается войти в Ubuntu, после логина снова выкидывает на форму логина, то решение можно почитать здесь:

https://askubuntu.com/questions/223501/ubuntu-gets-stuck-in-a-login-loop

Categories: FAQ Tags:

Как запустить программу в Linux которая будет работать после выхода

1) Запустить программу «myprogram»
2) Нажать Ctrl+Z
~~~ [1]+ Stopped myprogram
3) Ввести команду (после процента номер который указан выше [1])
~~~ disown -h %1
4) Ввести (тот же номер):
~~~ bg 1
5) На экране появится [1]+ myprogram &

После выполненных действий можно смело выходить и программа продолжит работать.

Второй метод:
1) Создать новый screen и запустить программу там:
screen -S anyname

word2vec — бинарники под Windows x64

13 ноября 2015 Нет комментариев

Пришлось тут собрать себе word2vec под Windows на 64-х битную платформу. Столкнулся с рядом проблем, поскольку код писался под Linux. Было пару функций POSIX которые пришлось добавлять и Pthreads под Windows искать. Так что если кто-то не хочет мучиться бинарники под Windows (64 бит) в архиве (~350KB).

mysqladmin и Plesk

27 августа 2015 Нет комментариев

Дефолтный вызов не работет. Надо делать так:

mysqladmin -uadmin -p’cat /etc/psa/.psa.shadow’ pr

Categories: FAQ Tags:

Интернет во Франции (сентябрь 2014)

6 сентября 2014 Нет комментариев

Одно из самых выгодных предложений по мобильному интернету от Lebara Mobile. Стоимость СИМки – 5 Евро, далее за 15 Евро покупаете пакет на 5 Гбайт. После покупки СИМки требуется через сайт или по телефону поддержки активировать её, указав свои данные ФИО и адрес. Мы смогли это сделать даже по русскому паспорту по телефону, просто продиктовав их на слух. Далее после покупки пакета за 15 Евро активируете его по телефону как: *133*код_с_чека*# «вызов». Появится сообщение что у вас теперь 5000 Мбайт интернета. Далее потребуется получить настройки шлюза в интернет. Я это сделал через их сайт здесь: http://lebarafr.tweakker.com/choose — выбираете свой телефон и приходит СМС с настройками. Итого 5 Гбайт инета за 20 Евро. Купить саму симку от Lebara можно в многочисленных магазинах по продаже сигарет.

Дополнительная инфа по другим операторам собрана здесь: http://prepaidwithdata.wikia.com/wiki/France (частично устаревшая).

Categories: FAQ, Путешествия Tags:

Мобильный интернет на Канарах (Тенерифе, Испания, 2014 год)

25 января 2014 3 комментария

Перед поездкой на Тенерифе озаботился вопросом, за сколько можно купить СИМку для интернета, что бы вставить её в роутер и не знать проблем. Сайты основных кампаний показывали привлекательные тарифы и даже доступность LTE. Но по приезду оказалось что не все так просто. На острове работает 3 больших мобильных оператора: Vodafone, Orange и MoviStar. Однако как выяснилось все привлекательные тарифы предлагаются только на контрактной основе, то есть на длительный срок и при покупке смартфона. Для туристов все иначе. LTE тоже нет, только 3G. В итоге мы остановились на двух наиболее удобных тарифах:

  1. Movistar — платишь 20 Евро, далее по 2 евро в день. Будет выделено 500 Мб траффика в день. Выгодно если тратите много трафика и приехали на долгое время.
  2. Vodafone — 20 Евро стоит симка с 1.5 Гбайта траффика и возможно нам повезло но дали ещё 1.5 Гбайта в подарок. Итого 3 Гбайта за 20 Евро. В итоге остановились на этом тарифе.

В Orange цена была хуже чем в Vodafone, если не ошибаюсь 2 Гбайта за 34 Евро. Сравнить цены всех этих операторов можно сходив, например, в торговый центр GranSur (в городе Adeje, Torviskas), где все три оператора сидят на одном пятачке.

Как получить значение цифр с кнопок социальных сетей?

15 августа 2013 Нет комментариев

В данной заметке я расскажу как получить цифры с кнопок 6 популярных социальных сетей: Вконтакте, Facebook, Twitter, Google+, Мой мир (Mail.ru) и Одноклассники. Всё ниже написанное действительно на август 2013 года. Под катом приведен пример кода на PHP для получения данных в виде цифры.

Допустим у вас есть URL-странички, для которой вы хотите получить количество «лайков» в соц. сетях.
Для примера будем использовать URL: http://amvnews.ru/index.php?go=Files&in=view&id=3248
Так же вам понадобится закодированное значение Encoded URL: http%3A%2F%2Famvnews.ru%2Findex.php%3Fgo%3DFiles%26in%3Dview%26id%3D3248 — в PHP для его получения используется функция urlencode($url);

Список URL по которым можно получить лайки для заданных соцсетей

1) Вконтакте (vk.com)
URL: http://vk.com/share.php?act=count&index=1&url=[Encoded URL]
Пример: http://vk.com/share.php?act=count&index=1&url=http%3A%2F%2Famvnews.ru%2Findex.php%3Fgo%3DFiles%26in%3Dview%26id%3D3248
Требуемое значение: второй параметр у функции VK.Share.count(1, [нужная циферка]);

2) Facebook
URL: http://graph.facebook.com/?ids=[Encoded URL]
Пример: http://graph.facebook.com/?ids=http%3A%2F%2Famvnews.ru%2Findex.php%3Fgo%3DFiles%26in%3Dview%26id%3D3248
Требуемое значение: цифра напротив «shares»

3) Twitter
URL: http://urls.api.twitter.com/1/urls/count.json?url=[Encoded URL]
Пример: http://urls.api.twitter.com/1/urls/count.json?url=http%3A%2F%2Famvnews.ru%2Findex.php%3Fgo%3DFiles%26in%3Dview%26id%3D3248
Требуемое значение: цифра напротив «count»

4) Google+
URL: https://plusone.google.com/_/+1/fastbutton?url=[Encoded URL]
Пример: https://plusone.google.com/_/+1/fastbutton?url=http%3A%2F%2Famvnews.ru%2Findex.php%3Fgo%3DFiles%26in%3Dview%26id%3D3248
Требуемое значение: у Google все немного сложнее, так как у него нет готово API для получения цифры. Значение ищите в области кода
<script type="text/javascript">window.__SSR = {c: [нужная циферка] ,a:'bubble' .

5) Мой мир (Mail.ru)
URL: http://connect.mail.ru/share_count?func=mrc__shareInit&url_list=[Encoded URL]
Пример: http://connect.mail.ru/share_count?func=mrc__shareInit&url_list=http%3A%2F%2Famvnews.ru%2Findex.php%3Fgo%3DFiles%26in%3Dview%26id%3D3248
Требуемое значение: цифра напротив «shares»

6) Одноклассники
URL: http://www.odnoklassniki.ru/dk?st.cmd=extOneClickLike&uid=odklocs0&ref=[Encoded URL]
Пример: http://www.odnoklassniki.ru/dk?st.cmd=extOneClickLike&uid=odklocs0&ref=http%3A%2F%2Famvnews.ru%2Findex.php%3Fgo%3DFiles%26in%3Dview%26id%3D3248
Требуемое значение: второй параметр функции ODKL.updateCountOC('odklocs0','[нужная циферка]','0','0');
Читать далее…

Список баз данных с размером

В консоли на сервере (из под root) набираете: mysql, а там:

SELECT table_schema "Data Base Name", sum( data_length + index_length) / 1024 / 1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema;

Выведется табличка со всеми базами данными с их размером такого вида:

Пофиксить БД

mysqlcheck -acroae --auto-repair --optimize [bdname]
mysqlcheck -acroae --auto-repair --optimize --all-databases

Categories: FAQ Tags:

Для тех кто столкнулся с вирусом km0ae9gr6m

Если у вас есть сайт и вы обнаружили, что кто-то непостижимым образом дописывает в конец файлов JS или PHP кусок javascript’а с тегами /*km0ae9gr6m*/…/*qhk6sa6g1c*/, то источник вашей проблемы это уязвимость в Plesk-панели! Злоумышленник меняет файлы через FileManager встроенный в Плеск. Вы можете убедиться в этом посмотрев ActionLog, где будет много разных заходов в Plesk с разных IP. У меня это выглядело как-то так:

85.221.166.199 user [2012-06-21 17:32:34] 'CP User Login' ('Contact Name': '' => 'name')
188.134.45.0 user [2012-06-22 20:41:18] 'CP User Login' ('Contact Name': '' => 'name')
85.117.53.120 user [2012-06-24 02:53:27] 'CP User Login' ('Contact Name': '' => 'name')
203.179.95.45 user [2012-06-27 05:36:37] 'CP User Login' ('Contact Name': '' => 'name')
46.121.12.88 user [2012-06-27 12:20:59] 'CP User Login' ('Contact Name': '' => 'name')
188.134.45.0 user [2012-06-28 03:10:12] 'CP User Login' ('Contact Name': '' => 'name')
58.186.192.176 user [2012-06-30 15:00:53] 'CP User Login' ('Contact Name': '' => 'name')
182.186.199.223 user [2012-06-30 15:00:53] 'CP User Login' ('Contact Name': '' => 'name')
119.155.16.97 user [2012-06-30 15:00:53] 'CP User Login' ('Contact Name': '' => 'name')
111.95.140.224 user [2012-06-30 15:00:53] 'CP User Login' ('Contact Name': '' => 'name')

Пароли от панелей похоже стащили довольно давно, но только сейчас пустили их в ход. То есть даже если у вас панель уже обновлена, но пароли вы не меняли, злоумышленники просто пользуются данными полученными уже многие недели или даже месяцы назад.

Что делать?
1) Обновить панель до последней версии включая все апдейты.
2) Поменять все пароли для всех пользователей панели включая админа.
3) Найти все зараженные файлы:
cd /var/www/vhosts
grep -rl --include=*.{php,js,html,htm} "km0ae9gr6m" *

4) Пофиксить их
5) Можно также проверить файлы которые менялись за последние несколько суток:
find ./ -name '*.*' -mtime -7 -print

На всякий случай некоторое время после, следить кто именно заходит через Plesk на ваш сайт. Полезные ссылки (на инглише):
http://blog.unmaskparasites.com/2012/06/22/runforestrun-and-pseudo-random-domains/#comment-19257
http://forum.parallels.com/showthread.php?p=630300#post630300

Посмотреть список измененных файлов за последние сутки

Иногда при поиске подозрительных вещей полезно посмотреть список измененных файлов за некоторое время (например, за последние сутки). Под Linux сделать это можно следующей командой:
find ./ -mtime -1 -print — поиск в текущей директории файлов измененных за последние сутки
find ./ -mtime -7 -print — поиск в текущей директории файлов за последнюю неделю
find ./ -name '*.js' -mtime -7 -print — поиск в текущей директории файлов за последнюю неделю с расширением js
find ../dir/ -name '*.php' -exec grep -nH keyword {} \; — найти слово keyword в содержимом php-файлов папки ../dir/ и вывести только имена файлов с номером строчки
find -maxdepth 1 -type f |wc -l — посчитать число файлов в текцщей директории
grep -r --include=*.php "super_text" ~/ — найти заданный super_text во всех PHP файлах в домашней директории
find ./ -name '*.js' -mtime -7 -printf "%u %P %t" — поиск в текущей директории файлов за последнюю неделю с расширением js и выводом в спец формате

Categories: FAQ Tags:

Найти вирусы, руткиты и трояны на Linux-сервере

В данном случае решение приводится под CentOS:
1. Скачать последнюю версию rkhunter: http://sourceforge.net/projects/rkhunter/files/
2. tar zxfv rkhunter-1.4.0.tar.gz
3. cd rkhunter
4. ./installer.sh
5. rkhunter --propupd
6. rkhunter --update
7. rkhunter --check — запуск проверки

Далее анализируем LOG: /var/log/rkhunter.log Ищем следующие строчки:

[17:12:14] Rootkit checks...
[17:12:14] Rootkits checked : 315
[17:12:14] Possible rootkits: 2
[17:12:14] Rootkit names : SHV4 Rootkit, SHV5 Rootkit

Далее ищем рецепт лечения.

Categories: FAQ Tags:

Просмотр нужных процессов под Linux

Посмотреть процессы с заданным именем:
ps ax | grep [h]ttpd
Посмотреть количество процессов с заданным именем:
ps ax | grep -c [h]ttpd

Categories: FAQ Tags:

Как записать видео с сайта webvybory2012.ru

На данный момент предложено два варианта.

Номер 1: С использованием средства захвата экрана, как пример FastStone Capture.
http://freehabr.ru/blog/2802.html

Номер 2: Запись видео напрямую из потока. Более правильно и качественно, но более сложно для реализации:
http://habrahabr.ru/blogs/e_gov/139292/

Categories: FAQ Tags: