2014-10-28

Использование Google Authenticator на двух устройствах

Двухфакторная верификация набирает всё большую популярность, и самая, пожалуй популярная программа для дополнительной верификации - Google Authenticator. Работу с Google Authenticator поддерживает сама Google, Amazon и многие другие. Однако представим на минуту, что вы вдруг потеряли свой мобильник, или забыли дома, а на работе срочно нужно войти в аккаунт с двухфакторной авторизацией - всегда желательно иметь запасной вариант на всякий случай.

Как правило, у многих сейчас есть несколько Android устройств - например телефон и планшет. Было бы здорово настроить Google Authenticator на двух устройствах одновременно. Однако если вы регистрируете одно устройство - второе зарегистрированное ранее перестает работать. Как же сделать так чтобы иметь запасное устройство для авторизации?

Выход оказался прост - в момент регистрации устройства, когда на экране показан штрих-код, одновременно сканируем штрих-код двумя устройствами. Оба устройства будут зарегистрированы для двухфакторной авторизации и оба смогут быть использованы для входа. Задача решена!

 

Оставить комментарий

 
  2014-03-02

Xubuntu

Решил переставить OS на рабочем ноутбуке. Пришло время снести установленный на соседнем разделе хакинтош - пользоваться которым було абсолютно нереально в силу тормозов. Во общем-то давно хотел попробовать вместо Ubuntu - которую я каждый раз затем несколькими телодвижениями превращаю, по сути в ту же xubuntu, так как ставлю xfce в качестве работчего стола, поставить сразу xubuntu из коробки.

Я надеялся что установка xubuntu позволит ибавиться от проблем с конфликтами с сервисами gnome - каждый раз приходится все подкручивать, подстраивать...

Результаты оказались неоднозначными.

В xubuntu меньше версий чем в Ubuntu - на ноутбуке стояла Ubuntu 12.10 - сейчас стоит Xubuntu 12.04,версии 12.10 Xubuntu в природе не существует а версия 13.04 работать на моём ноутбуке почему-то не захотела. Зато действительно из коробки заработал переключатель языков. Тема рабочего стола по умолчанию косит под макос, немного не так как я привык, но пока оставлю пока так, вполне удобно.

В целом эксперимент оказался вполне успешным. Хотя, конечно, проигрывает xubuntu по многим параметрам своей старшей сестре, зато ничего лишнего. Ну не идёт у меня юнити, ну не моё это.

 

Коментариев: 2

 
  2014-01-23

Кастомный php на сервере с Cpanel и WHM

Потребовалось обновить PHP на сервере с Cpanel и WHM. Делается это просто, но вот незадача, один из сайтов на сервере закодирован ionCube и максимальная версия PHP а которой он может работать 5.2.

Но мне кровь из носа нужна была версия 5.3. Однако, оказалось, что решить проблему не так уж и сложно, достаточно скомпилировать собственный cgi модуль php.

Указанная техника подойдет для пользователей shared хостингов где есть доступ к компилятору но нет рутовых прав, например это "официальный" способ для клентов masterhost.

Алгоритм получился следующий:

1. закачиваем на сайт скрипт с phpinfo(); и смотрим "configure command" секцию - это нужно чтобы не придумывать опции компиляции вручную - это долго и муторно. В моем случае получилось следующее:

'./configure' '--disable-fileinfo' '--disable-phar' '--enable-bcmath' '--enable-calendar' '--enable-exif' '--enable-ftp' '--enable-gd-native-ttf' '--enable-libxml' '--enable-magic-quotes' '--enable-mbstring' '--enable-pdo=shared' '--enable-sockets' '--enable-zip' '--prefix=/usr/local' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-bz2' '--with-curl=/opt/curlssl/' '--with-freetype-dir=/usr' '--with-gd' '--with-gettext' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' '--with-jpeg-dir=/usr' '--with-kerberos' '--with-libdir=lib64' '--with-libxml-dir=/opt/xml2/' '--with-mcrypt=/opt/libmcrypt/' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-mysqli=/usr/bin/mysql_config' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--with-pcre-regex=/opt/pcre' '--with-pdo-mysql=shared' '--with-pdo-sqlite=shared' '--with-pic' '--with-png-dir=/usr' '--with-sqlite=shared' '--with-xpm-dir=/usr' '--with-xsl=/opt/xslt/' '--with-zlib' '--with-zlib-dir=/usr'

Выкусываем из этой строки '--with-apxs2=/usr/local/apache/bin/apxs' - это команда сборки php как модуля Apache - мы собираем CGI поэтому она нам не нужна.

заменяем '--prefix=/usr/local' на '--prefix=/home/username/php' - это путь по которому команда make install сложит готовые файлы, мы же не хотим устанавливать php глобально.

Возможно, вы захотите внести какие-либо еще изменения в команду конфигурации.

2. Скачиваем нужную версию php с http://www.php.net/downloads.php

3. Распаковывем и в папке с исходниками запускаем нашу команду конфигурации и сборки.

./configure ...[то что мы подготовили на шаге 1]

make

make install

4. Если все прошло успешно то в папке /home/username/php/bin появится файл php-cgi eго нужно скопировать в папку ~/public_html/cgi-bin/ с именем php: cp "~/php/bin/php-cgi ~/public-html/cgi-bin/php"

5. В .htaccess помещаем следуюшие строчки:

Action php-script /cgi-bin/php
AddHandler php-script .php

Вуаля, новая версия php установлена на сервер. Обратите внимание, все операции можно проделать без рутового доступа, что может пригодится пользователям shared хостингов которым не нравится невозможность вносить изменения в php.ini

php.ini я положил в /home/username/php/lib/php.ini, скопировал существующий из /usr/php/lib/php.ini и внес в него необходимые мне изменения.

Вобщем, все оказалось не так уж и страшно, спасибо masterhost за вот эту инструкцию.

 

Оставить комментарий

 
  2013-11-30

Как подключить Андроид 4+ как USB накопитель в Ubuntu

Правильный ответ - никак. Вернее я пока не нашел способа как это сделать. Похоже в этим в четверке есть некоторые проблемы, так как флеш память в Android 4+ отформатирована не FAT32 а ext3.

Но мне всё же очень хочется увидеть файловую систему из файлового менеджера под Linux - на выручку нам приходит fuse (нашел здесь)

1. На компьютере с Юбунту ставим необходимые пакеты:

$ sudo add-apt-repository ppa:webupd8team/unstable
$ sudo apt-get update
$ sudo apt-get install -y go-mtpfs

2. Подключаем телефон в режим MTP

3. Монтируем устройство как папку:
$ go-mtpfs /media/MyAndroid &

Теперь файловая система на флешке доступна в папке /media/MyAndroid, что и требовалось.

 

Оставить комментарий

 
  2013-08-17

Как собрать Кубик Рубика

Купил ребёнку Кубик-Рубика, в месте с ним шла схема как его собрать, второй день играюсь сам. Оказывается, чтобы его собрать не нужно обладать никаким особым логическим, пространственным или любым другим мышлением - все что нужно это следовать схеме и всё получится. Задача давно решена, обкатана алгоритмически, систематизирована и реализована.

При этом в сети можно найти множество алгоритмов сборки этой замечательной головоломки

На yuotube - множество можно увидеть в живую роботов для сборки кубика, сделанных руками умельцев.

Вот пример, бессмысленный и беспощадный:

Хотел было сделать свой решатель Кубика Рубика для Андроид - в самом деле - фотографируешь кубик как он есть и получаешь готовую инструкцию как собрать - очень удобно.

Но оказалось, это уже реализовано. Вот прекрасный пример подобного приложения. Приложение прекрасно тем, что оно работает - проверено. И хотя рейтинг у него всего тройка - я бы поставил ему десятку. Во первых, в приложении нет рекламы - а значит ребята его сделали для нас безвоздмездно, то есть даром, во вторых приложение доступно в исходных кодах на github - а значит, что если кому-то что-то в приложении не нравится, он может сам это исправить!

 

Оставить комментарий

 
  2013-01-05

Дуальная загрузка Mountain Lion и Ubuntu

Ещё летом я превратил свой Acer 4810 в Хакинтош и с тех пор он у меня по большей части простаивает, так как использовать его можно только для разработки под айфон, для полноценной работы использовать его использовать не удобно, всё-таки совместимость железа у Асера с Mac OS оставляет желать лучшего. Но вот, вчера подумалось, почему бы не поставить на него еще и Ubuntu?

Основная трудность была в том, что чтобы поставить Mountain Lion нужно было переразбить винчестер таблицей GUID взамен привычной MBR. Но как оказалось Ubuntu прекрасно понимает такое разбиение. Поставить Ubuntu оказалось делом простым, а вот загрузчик Chameleon используемый Хакинтошем был благополучно заменен Grub'ом. Чтобы починить Хакинтош пришлось слегка порыться в интернете - работающее решение нашел здесь.

Идея в следующем - заставить Grub вызывать загрузочный сектор Chameleona сохранённый в виде файла на диске с linux, далее этот файл уже сам знает что далать.

Скачиваем Chameleon c сайта разработчиков - так как загрузчик уже установлен на разделе с Hackintosh то потребуется только файл boot0 из дистрибутива Сhameleon который нужно положить в /boot/ в разделе с линукс и заставить grub вызывать этот файл при загрузке.

для этого открываем

sudo nano /etc/grub.d/40_custom

и добавляем туда следующее:

menuentry "Hackintosh" {
insmod part_gpt
insmod hfsplus

#replace this location with
#your OS X partition
set root='(hd0,gpt2)'

#replace this UUID with the UUID from your grub.cfg
search --no-floppy --fs-uuid --set=root 777eaee489759bd8

#replace the (hd0,6) portion with your
#Linux partition designation
chainloader (hd0,6)/boot/boot0
}

Сигнатуру 777eaee489759bd8 нужно взять из записи сгенерированной grub для раздела с Mac OS а также заменить hd0,2, hd1 на реальные значения, которые можно найти командой fdisk -l и du.

Затем нужно обновить grub:

sudo update-grub

Теперь я могу при загрузке выбирать что загружать - Ubuntu или Mountain Lion. Кстати, новая Ubuntu работает на Acer 4810 порядка шести часов, что не может не радовать.

 

Коментариев: 2

 
  2012-11-16

Новое за день

Узнал за сегодняшнее утро:

1. полезный сервис для дистанционного доступа к Windows ammyy.com - бесплатный, проприетарный, неплохая альтернатива VNC+VPN.

2. Windows 7 Starter Edition позволяет запускать аж целых 3 (Три!) программы одновременно! Многозадачность для бедных! И это в двадцать первом веке!

3. Чтобы посмотреть в Windows какие программы какие порты слушают:

> netstat -aon | more

Плодотворное выдалось утро...

 

Оставить комментарий

 
  2012-10-27

HTML5 placeholder аттрибут в IE

Есть такой аттрибут в HTML5 - placeholder - он используется для создания серенькой подсказки для элементов ввода, что очень удобно. Большинство браузеров уже вовсю поддерживают placeholder, Но к сожалению, эта штука не работает в IE, и по этой причине placeholder используется не часто.

Сделал небольшой скрипт для jquery, который добавляет поддержку placeholder в этом замечательном браузере:

$(function(){
    //fix placeholders in IE
    if ($.browser.msie){
        $('input[placeholder]').each(function(){
            if (this.value==''){
                var original_value = this.value;
                var this1 = this;
                var value = this.value = this.getAttribute('placeholder');
                this.style.color = 'gray';
                $(this).focus(function(){
                    if (this.value==value){
                        this.value = '';
                        this.style.color = 'black';
                    }
                });
                $(this).blur(function(){
                    if (this.value==''){
                        this.value = value;
                        this.style.color = 'gray';
                    }
                });
                $(this.form).submit(function(){
                    //restore original value
                  if (this1.value==value){
                      this1.value = original_value;
                  }
                });
            }
        });
    }
});

Надеюсь, кому-нибудь поможет.

Upd. Обновил скрипт, сделал восстановление оригинальных значений при сабмите формы.

 

Коментариев: 7

 
  2012-09-14

Ипользование Google Maps а Android устройствах

Оказывается, включить в приложение на Android работу с картами от Google Maps проще простого. Благодаря тому, что обе эти системы разработаны в Google создать работающий пример приложения с гуглокартами можно буквально за несколько минут.

Вот здесь подробное step by step руководство как это сделать.

 

Оставить комментарий

 
  2012-09-07

Как поставить Mountain Lion на Acer Aspire 4810TG

Оказывается, Mountain Lion неплохо себя чувствует на Acer Aspire 4810TG. Установка довольно простая, но я пока не все заставил работать. В приведённом посте я намеренно не ставлю никаких гиперссыслок на конкретные файлы - кому надо-тот найдёт.

Берем установочный диск Mountain Lion (если нет, подойдет хакнутый от olario)

Скачиваем и прожигаем HackBoot1 и HackBoot2

Скачиваем MultiBeast for MountainLion

Все готово чтобы начать. Сразу предупреждаю, все данные на жестком диске в процессе будут уничтожены, поэтому все самое ценное с компьютера нужно будет убрать.

В биосе компьютера ставим диск в режим AHCI а переводим графику в дисктретный режим .

Загружаемся с HackBoot1, вынимаем диск и вставляем дистрибутив Mountain Lion, нажимаем F5 и загружаемся с этого диска.

Загрузившись, в инсталяторе запускаем дисковую утилиту, и переразмечаем диск в режиме GUID. Создаем раздел и ставим на него наш Mountain Lion.

Инсталлятор говорит, что загрузка занимает примерно 20 минут, у меня получилось больше часа.

После завершиния установки компьютер попросит презагрузиться. После того как мы выним из него диск, установленная система загрузиться сама не сможет - нам потребутеся загрузочный диск HackBoot2. (На самом деле HackBoot1 у меня тоже срабатывал).

Вставив HackBoot2 при загрузке, просим систему стартовать с жесткого диска, после чего Горный Лев прекрасно стартует.

Инсталяция из коробки не поддерживает сетевую карту, и звук, чтобы всё это заработало, нужно поставить MultiBeast, которая поставит необходимые драйвера. Весь вопрос как поставить MultiBeast на только что установленную систему - сеть не работает, USB - тоже. Я для этого содал Fat раздел на жёстком диске, загрузился с загрузочного диска с Ubuntu и загрузил на раздел Multibeast. После чего перезагрузился опять с Mountain Lion и запустил Multibeast c этого раздела.

В Mountain Lion выбираем:

EasyBeast Installation

Multibeast — UserDSDT or DSDT-Free

VoodooHDA 0.2.1

PS2/ Keyboard/Mice

maoji AtherosL1cEthernet

FakeSMC

GraphicsEnabler=No

После применения указанных патчей систем может загружаться без HackBoot2.

Что пока не работает:

разрешение дисплея пока 1024 x 768 из-за чего изображение слегка вытянуто

не работает WiFi

зато работает Ethernet и Звук. В такой конфигурации на систему вполне нормально встаёт xcode, так что теперь можно заняться программированием под iPhone и iPad.

 

Коментариев: 2