Блог Александра Башкирова

ИТ и бизнес, компьютеры и ПО, фото, программирование и просто мысли…
Этот сайт в основном посвящен тому, что мне интересно вне работы. Ведется в порядке хобби.
Все изложенное на сайте - мое частное оценочное мнение и не может быть истолковано иначе.
Со всеми вытекающими из этого последствиями.

пост для памяти

Подписаться на эту метку по RSS

Игорь Губерман

Просмотров: 3094Комментарии: 0
Книги

Все началось с того, что мне прислали ссылку на AdMe: http://www.adme.ru/vdohnovenie-919705/hlestkaya-poeziya-igorya-gubermana-717160/

Там самые наверное знаменитые "гарики" Губермана. "Да" - подумал я - а ведь когда-то я Губермана читал... и мне нравилось. И нашел тогда вот такую ссылку: http://lib.ru/GUBERMAN/ - там достаточный объем минимальной информации для знакомства с творчеством этого замечательного человека. Ну или вот: http://www.2lib.ru/getbook/3342.htm - там одна книга.

А творчество у него и вправду замечательное. Тем, что читаешь, и думаешь: блин, вот же, про меня же! Или не про меня, но очень близко... Как так сказал? Как нашел форму? Особенно, конечно, "гарики" - совершенно уникальная по содержнию и наполнению вещь.

В общем, ... пост для памяти, хвалебный, одна штука. Аминь!

Для памяти: ссылка на презентацию по проектному управлению

Просмотров: 2140Комментарии: 0
Работа

В общем, ссылка на классную презентацию хорошего человека, Павла Алферова:

http://www.slideshare.net/slideshow/embed_code/35566734

Проектное упраление и опыт.

Ошибка Virtualbox

Просмотров: 2746Комментарии: 0
Linux

В общем, при работе VirtualBox виртальная машина вылетела с какой-то странной ошибкой, что COM-объект не найден. Далее, не запускалась, с ошибкой, что тег не найден.

Все оказалось очень просто: /home/alexander/.VirtualBox/VirtualBox.xml имел нулевой размер. Восстановил из резервной копии (/home/alexander/.VirtualBox/VirtualBox.xml-pr) - все заработало как надо.

Для памяти, да.

Для памяти: как лечить Apache2 Negotiation: discovered file(s) matching request

Просмотров: 5465Комментарии: 2
Linux

В общем, на новом проекте попытался открыть http://%SITE%/ и http://%SITE%/test

http://%SITE%/ - открывался отлично, при запросе же http://%SITE%/test выдает Premission Denided'.

cat ~/WWW/%SITE%/error.log | tail -20 дал следующее:

[error] [client 127.0.0.1] Negotiation: discovered file(s) matching request: /home/alexander/WWW/%SITE%/www/test (None could be negotiated)., referer: http://SITE/

Как оказалось, не один я такой. В частности, здесь решают похожую проблему (на английском):

http://uommo.blogspot.ru/2013/02/apache2-negotiation-discovered-files.html

Ну а если коротко, и по-русски, то действуем так:

sudo nano -w /etc/apache2/sites-available/%SITE%

Там ищем Options Indexes FollowSymLinks MultiViews

Удаляем MultiViews, то есть строка должна стать Options Indexes FollowSymLinks

Выходим, сохраняемся.

Перегружаем апач: sudo /etc/init.d/apache2 reload

Все. В смысле, заработало :)

Для памяти. Как лечить pcfg_openfile: unable to check htaccess file, ensure it is readable, referer:

Просмотров: 8565Комментарии: 3
Linux

В общем, создавая новый проект, налетел на такую ошибку: pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://site

Причем, не подгружались картинки из /themes/%THEME%/images - то есть выглядело это так: `все работает`, но изображения на странице - отсутствуют.

Лечится достаточно просто.

1) Смотрим лог:

cat ~/WWW/%SITENAME%/error.log | tail -20

Видим в нем следующее безобразие:

[crit] [client 127.0.0.1] (13)Permission denied: /home/alexander/WWW/%SITENAME%/www/themes/ap/images/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://site/

2) Проверяем, что за права на папку

ls -li ~/WWW/%SITENAME%/www/themes/ap/

Получаем что-то типа:

6966642 drwx------ 2 alexander alexander  4096 мая   19 20:40 images

3408302 -rw-r--r-- 1 alexander alexander 15709 мая   19 20:36 index.php

Внимательно рассматривая сию картину, понимаем: читать папку images `никому низя`

3) Меням картин мира

chmod +rx ~/WWW/ap-pavel/www/themes/ap/images/

ls -li ~/WWW/%SITENAME%/www/themes/ap/

Получаем:

6966642 drwxr-xr-x 2 alexander alexander  4096 мая   19 20:40 images

3408302 -rw-r--r-- 1 alexander alexander 15709 мая   19 20:36 index.php

Большой ПС.

Я не разбирался конкретно с тем, нужно ли давать всем +rx, просто сделал - так как локальная машина, доступ к локальным сайтам закрыт на уровне IPTables, сайты повешены на нестандартные порты... и по большому счету - думать, действительно ли нужно запускать скрипты в папке всем, просто не хотелось. На реальном хостинге - скорее всего добавлял бы +rx для группы, и +r для всех.

Переход от php::mysql к php::mysqli

Просмотров: 3338Комментарии: 0
Linux

Я писал, что при переходе на php > 5.5 вылезает рдостная ошибка "Deprecated: mysql_pconnect(): The mysql extension is deprecated and will

be removed in the future: use mysqli or PDO instead in %file_name%" (при условии, что работа с БД была реализована через расширение php::mysql). В общем, я не мудрствуя лукаво, переписал класс для работы c БД на функции рекомендованного расширения php::mysqli.

В принципе все просто, минут 10 - и вуаля, готов новый класс. Под него - обертка, и все. Все работает. Но! Вылезла одна проблема: при работе с mysqli кодировка слетает напрочь. В общем, как показала практика, лечится это несложно. Для лечения надо помнить, что:

1) под root коннкт будет идти в latin1. Соответственно - если коннект на домашней машине (как у меня) был под root - заводим "правильного" пользователя, даем ему нужные привелегии - и прописываем его.

2) сразу же после коннекта устанавливаем кодировку:

$db_id = mysqli_connect($db_host,$db_user,$db_pass,$db_name);

mysqli_set_charset($db_id, $set_names);

Для памяти:

Как в mysql создать пользователя с правами на базу

CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass';

GRANT ALL PRIVILEGES ON databasename.* TO 'user'@'localhost' WITH GRANT OPTION;

Хотя все должно подхватываться на лету, "чисто по привычке" рестартую mysql (ну вот такой я извращенец):

$ mysqld restart;

Skype, Ekiga, Viber

Просмотров: 3654Комментарии: 0
androidLinux

Начну, наверное с заявления: меня достал скайп на мобильном. Я не знаю, умеют ли программисты Microsoft оптимизировать свои Android-приложения, но скайп под андроид  на текущий момент просто чудовищен: медленный, тупой, периодически вешает систему. Не, понимаю, что 4 ядра и 2 гига оперативки могут решить проблему... но у меня нет ни того, ни другого. Кроме того - под Linux клиент не обновлялся не рискну предположить сколько времени (из-за чего - проблемы со связью: в режиме чата все гуд, а в режиме звонка... ну, через раз, скажем так, особенно плохо ему от конференций). Так что начал смотреть в сторону альтернатив.

Первое, что нашел - Ekiga (http://www.ekiga.net). Программный телефон + SIP адрес. Плюсы - живет и работает под Linux, есть клиент под Windows. Тестирование показало, что все удобно.... если звонить и говорить. А если в режиме чата, то у меня не получалось :) Это раз. Два - не нашел клиента под Android. Три - коллеги, с которыми приходится общаться в командировках, не очень в курсе, что это за зверь такой.

Второе, что смотрел - чат Фейсбук. Тут ситуация обратная - чат-то есть... да вот звонить и говорить как-то "не получается". Нету такой функциональности. Хотя в ФБ есть вроде как все, кто нужен. (Хотя )

В общем, коллеги же подсказали классную вещь - Viber (http://www.viber.com). Это фактически Скайп-2, а скорее "убийца скайпа", с несколькими плюшками и особенностями. Во-первых, клиенты есть под все ОС (под Linux - только 64bit, об этом чуть позже). Во-вторых, он легкий (не жрет ресурсов телефона и с точки рения трафика). В зоне уверенного приема реально говорить по 3G интернет. В-третьих, он привязывается к номеру телефона - архиудобно (с моей точки зрения) - особенно, в рабочих моментах: добавил коллегу в телефонную книгу, у него есть Viber - звони! Как и в скайп, звонки внутри сети - бесплатны. С точки зрения мобильного трафика - очень даже, трфика жрет мало.

Определенной ложкой дегтя было то, что клиента Viber под Linux 32bit нет (только под 64bit и только в виде .deb пакета, без исходников). Скачанный по прямой ссылке "типа 32-bit клиент" не завелся. В итоге - скачл дистрибутив для Windows, поставил его под Wine - и вуаля, все очень чудесно работает. Кроме разве что того, что кнопки "выход" нет, как класса. Так что пришлось "выходить" из приложения остановкой Вайна. В остальном - полный восторг и без каких-либо нареканий.

Для памяти:

остановить Wine: /usr/bin/wineserver --kill