MySQL 5.6 & PHP 4.4

В MySQL 5.6 значительно поменялись настройки безопасности.

При попытке соединения с базой данных из PHP 4.4.x появляется ошибка:

Client does not support authentication protocol requested
by server; consider upgrading MySQL client

Что бы заставить работать PHP 4.4 вместе с MySQL 5.6 нужно:

  1. Добавить в файл my.conf параметр skip-secure-auth после чего нужно перезапустить сервис MySQL
  2. Обновить информацию о пароле пользователя. Вместо нового формата нужно использовать старый. Для этого:
UPDATE mysql.user SET plugin = 'mysql_old_password'
WHERE User = 'some_user' AND Host = 'some_host';
FLUSH PRIVILEGES;
SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');

Как запустить VBScript в режиме x86 \ Как запустить консоль в режиме x86

Возникла достаточно интересная проблема.

Есть старый VBScript’ик, который соединяется с базой данных и забирает оттуда данные. Делает он это через драйвер, который ставится вместе с BDE.

Проблема… Нужно перенести этот скрипт из Windows Server 2003 на Windows Server 2012 R2. При попытке прямого запуска получаем ошибку — невозможно соединиться с базой. Более того, он даже не может создать объект.

Как решить это?

Continue reading

Windows 8.1. Проблемы после установки

Ну да, траблы… Как-то я не совсем с начала начал. Итак, ура-ура, Windows 8.1 вчера появилось в релизе для лицензионных пользователей и доступна через магазин приложений Windows. Штука по мне так хорошая (я сейчас о 8.1), так что задумал я обновиться. Вчера сделать этого не получилось по простой причине — нет времени, ну совсем нет времени. Сегодня вот добрался. Решил обновить всё.

Процесс обновления занимает достаточно приличное время, не засекал, но чай выпить успел и не один раз :)

На одной машине все прошло хорошо — установилось, работает. На второй же как-то криво все встало. Ругается на какой-то драйвер Logitech, который внезапно пропал, а в системе ничего от Logitech то и не было — разберусь потом. KIS 2014 решил попадать немножко,  а дампы почему-то отправить не в состоянии сам. Ну и самое интересное… Я заметил, что включилась встроенная графика Intel… Не понял! Залез в диспетчер устройств… Что я вижу? Intel Graphics работает, а AMD что-то там отключено. Причина мол не совпал драйвер. Пытаюсь решить проблему из диспетчера устройств просто попыткой обновить драйвер, а бесполезно, говорит все и так у вас хорошо, а то что устройство не работает никого не волнует.

Лезу на сайт AMD. Там есть такая прекрасная вещь как AutoDetect Drivers. Вроде как это маленькая программа нужна что бы определить какие нужны драйвера в систему. Поставил — не работает она совсем (везде где не ставил кстати не работает!) Ок, пошел… скачал другой инструмент — определятор именно для мобильной графики. Определить определила, файл предложила сохранить и вылетела с ошибкой! Ну что за глюченая программа то? Взял последний Beta-драйвер, но проблему это не решило. Буду воевать дальше.

Google Play: Developer Console. Alpha\Beta Tesring

На последнем Google I/O 2013 Google же анонсировал возможность Alpha\Beta — тестирования приложений в магазине Google Play. Штука интересная, нужная, но при попытке выложить так приложение у меня возникли дикие проблемы, которые удалось решить не сразу, поэтому я надеюсь, что этот материал будет полезен начинающим разработчикам, тем более, что материала по данной теме на русском языке я не нашел. Есть только небольшая заметка на stackoverflow.com

Выкладка Бета\Альфа-версии отличается от релизной выкладки тем, что:

  1. Приложение недоступно по средствам поиска в Google Play.
  2. Если это единственное приложение у разработчика, то его страницы просто нет.
  3. Приложение доступно для тестирования только пользователям по приглашению. Об этом ниже.

На странице «Файлы APK» Появляется блок «Бета-тестировщики», который внутри выглядит так:

betagoogle

Сразу после публикации есть ссылка, но при переходе на нее (и авторизации на Google) получаем ошибку 404. Все потому что нужно сначала создать сообщество на Google Plus и пригласить туда людей, а уж после этого можно давать им эту ссылку. Создать сообщество можно тут. После этого ссылка начнет открываться и тестеры смогут увидить примерно такую картинку (название приложение, группы и автора закрыты):

betagoogle2

После нажатия кнопки «Учавствовать в тестировании» у пользователя появляется возможность скачать приложение.

При этом стоит заметить, что приложение добавляются на Google Play несколько часов… Поэтому сначала ссылка будет вести в пустоту, потом оно появится в Google Play, но при попытке скачать приложение телефон будет говорить: «приложение не найдено». Это нормальное поведение. Нужно еще подожать часа два-три.

Очень кратко. Надеюсь понятно. Если есть вопросы, вы как обычно можете задать их в комментариях.

SQL: Обертка на RAND()

В SQL есть функция RAND() которая может генерировать псевдослучайные числа.  Например такой запрос:

Select Rand()

Вернет:

rand

Дальше можно немного модифицировать выборку. Скажем, нам нужно, что бы выбиралось целое число от 0 до 100, тогда запрос будет таким:

SELECT FLOOR(100*RAND());

Ну и если от 10 до 100, то таким:

SELECT FLOOR(100*RAND()+10);

В языке SQL поддерживаются функции, так почему бы не написать обертку на Rand, которая будет генерировать числа от и до нужных нам границ?

Continue reading

Android: Не удается обнаружить телефон (HTC Wildfire S)

Установив все, что нужно для разработки на Android в Ubuntu, у меня возникла проблема. Я захотел протестировать работу приложения (это был Hello word, ну да не важно) на реальном устройстве и… оно отображалось некорректно. Вопросики в названии и модели устройства. Вообще с моим телефоном в этом плане тяжело. На Windows — вообще не находит — как я добился того, чтобы определялся, написано тут, там же написано как в целом тестировать на реальном устройстве. Ну да меня унесло опять на Windows, вернусь :)

Continue reading

Как определить, запущено ли приложение из-под виртуальной машины?

Именно такой вопрос сегодня встал передо мной. Google говорит, что информации много. Стал смотреть.

Первое, что попалось, было это(EN). Статья на сайте хорошая, приложение из комплекта даже работает, если его просто запустить, да и мне кажется, что это наиболее правильный метод определения, но к сожалению… После добавления библиотеки мое приложение перестало работать нормально и вылетало с ошибкой «не является приложением Win32» (Could not load file or assembly ‘VmDetectLibrary.dll’ or one of its dependencies.  is not a valid Win32 application. (Exception from HRESULT: 0x800700C1))

Continue reading

Windows XP и ExFAT

Несколько дней назад купил себе внешний жесткий диск, отформатирован он был под NTFS, поэтому на Windows 8 (дома) все прекрасно работало, как, думаю, и на других версиях Windows.

Проблема в том, что Mac OS X Mountin Lion не умеет писать в тома, отформатированные под NTFS, поэтому я переформатировал диск в ExFAT. Разместил там файлы и все прекрасно, но… Вот пришел я на работу, а тут же Windows XP, которая смогла диск определить, но файловую систему определила как ROW и никак иначе. Ну подумал, что всё… Никак не исправить — винда не поддерживает, остается только переформатировать под NTFS и всё. Но нет, Google подсказал, что можно поставить это (зеркало) обновление и все заработает.

Сделал. И правда, работает. Жаль только, что для установки обновлений требуются права администратора.

 

ntldr is missing и что с этим можно сделать

У знакомых приключилась проблема — не загружается компьютер и пишет что-то непонятное ntldr is missing press alt+ctrl+del to reboot.

Немного поискав, нашел решение тут. А теперь по-русски и несколько в другом варианте (ну не прикольно полностью переводить)

Continue reading