Усилитель Интернета 2.0
Усилитель Интернета первой версии был создан в суровых походных условиях. Он на славу поработал, но обладал серьезными недостатками. Во-первых, созданный из подручных материалов, был он ненадежен. Того и гляди какой-нибудь проводок отвалится. Во-вторых, в собранном виде занимал много места, создавал путаницу из проводов. Поэтому, собираясь снова в дорогу, решил я смастерить устройство понадежнее.

Подробности под катом.
( Читать дальше )

Подробности под катом.
( Читать дальше )
Консольный проигрыватель для файлов flac
Использование консоли не исключает прослушивания музыки, причем порой не менее комфортного, чем в GUI-режиме. Широко известны, например программы mpg123, ogg123. А вот с форматом flac дела обстоят похуже. Нет для него толковы консольных проигрывателей. Хотя его поддерживают mplayer (он вполне себе консольный, если что), а также пакет ffmpeg, в состав которого входит, и плейер, это продукты очень громоздки. Чтобы не тратить на них ресурсы, я написал однострочник-алиас, опирающийся на стандартную утилиту кодирования/декодирования пакета flac.
Сижу уже минут 20 слушаю музыку, работает!
Запускать из директории, в которой находятся прослушиваемые файлы.
alias flac='ls -1 *.flac | while read l ; do flac -d -o - "$l" | aplay ; done'Сижу уже минут 20 слушаю музыку, работает!
Запускать из директории, в которой находятся прослушиваемые файлы.
Slax 7: wifi в консольном режиме
О живом дистрибутиве Slax было сказано немало. Сейчас этот проект взяла на буксир какая-то GmbH и он обрел новое дыхание. С каждым релизом доработок напильником становится всё меньше (например, русификация теперь выполнена отлично). Запускать дистрибутив можно хоть в GUI (KDE) режиме, хоть в консольном. Persistemt mode, опять-таки, можно выбрать прямо из загрузчика. И все-таки кое-что подправить пришлось: если в графическом режиме wifi-соединение настраивается очень просто, то в консольном пришлось повозиться.
Вообще-то, я уже давно не боюсь настраивать wifi в консоли. На этот счет существует универсальный железобетонный рецепт, который еще никогда не подводил. И вот на тебе, на любимом, не перегруженном избыточным функционалом Slax'е способ не заработал. Чего я только не делал: менял драйвера, скачивал firmware, экспериментировал с настройками /etc/wpa_supplicant.conf — ничего не помогало.
Наконец, в одной статье мелькнуло, что причиной может стать два одновременно запущенных процесса wpa_supplicant. Проверил — так и есть. Точнее говоря я и раньше этот процесс видел, но считал его производным от своего. А тут понял, что запускает его какой-то системный демон. Но это еще не решение, т.к. убить этот посторонний процесс, работающий с совершенно неподходящими параметрами, никак не получалось, кто-то его упорно перезапускал. Перерыл все настроечные сетевые файлы — непонятно какойлеший демон запускает и всё тут. Наконец выяснил, что корень зла кроется в
Закомментировал в нем весь контент, перезагрузился — нет паразитного процесса, ура! Дальше дело техники: пишем в rc.local
Сеть есть, ip-адрес через dhcp получен.
Вообще-то, я уже давно не боюсь настраивать wifi в консоли. На этот счет существует универсальный железобетонный рецепт, который еще никогда не подводил. И вот на тебе, на любимом, не перегруженном избыточным функционалом Slax'е способ не заработал. Чего я только не делал: менял драйвера, скачивал firmware, экспериментировал с настройками /etc/wpa_supplicant.conf — ничего не помогало.
Наконец, в одной статье мелькнуло, что причиной может стать два одновременно запущенных процесса wpa_supplicant. Проверил — так и есть. Точнее говоря я и раньше этот процесс видел, но считал его производным от своего. А тут понял, что запускает его какой-то системный демон. Но это еще не решение, т.к. убить этот посторонний процесс, работающий с совершенно неподходящими параметрами, никак не получалось, кто-то его упорно перезапускал. Перерыл все настроечные сетевые файлы — непонятно какой
/etc/dbus-1/system.d/dbus-wpa_supplicant.confЗакомментировал в нем весь контент, перезагрузился — нет паразитного процесса, ура! Дальше дело техники: пишем в rc.local
wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf 1>/dev/null 2>/dev/null &
Сеть есть, ip-адрес через dhcp получен.
- —
- 01 апреля 2013, 21:53
- комментировать
Lua и Android
Прогаммирование для Android может и не сложнее, чем, скажем, просто написание программ на Java но требует соблюдения большого количества условностей: особая структура проекта, упаковка, отладка в эмуляторе. Всё это довольно трудоемко. Хочется же быстро попробовать, сразу увидеть результат. К сожалению, хотя в состав последних версий Android и входит JavaScript движок V8, написание программ на интерпретируемых языках для этой ОС требует, опять таки, дополнительных телодвижений. Есть, например, проект SL4A. Его используют приверженцы Python'a, но меня этот вариант не устраивает: JavaScript, на котором я интенсивно писал в последние месяцы, там поддерживается очень криво (через прокладку rhino, да и то не на всех прошивках).
Несколько лучше в SL4A обстоит дело с поддержкой скриптового языка lua, но тоже не блестяще (с 2010 года этот плагин не обновлялся и не стыкуется со свежей версией самого фреймворка). Но нет худа без добра. Ковыряясь с этим хозяйством я обнаружил, что lua очень похож на JS и освоить его быстро вполне себе можно. Есть даже фреймворк для lua-разработки прямо в мобильной среде — SigmaScript. Только вот возможности его, как мне показалось, весьма ограничены…
Среди массы проектов для программирования на lua под Android резко выделяется AndroLua. Автор этого довольно свежего проекта (код обновлялся 2 месяца назад) совершил как минимум два подвига. Во-первых, скомпилировал стандартный lua-движок в нативную андроидскую библиотеку, во-вторых, вкорячил в свое приложение еще и LuaJava — фреймворк для стыковки программ на lua и Java. Поскольку программы для Android как раз и работают в Java-среде (хотя и несколько специфической), это дает возможность обращаться практически ко всем возможностям ОС (точнее говоря API).
В AndroLua есть также возможность кодить не с экранной клавиатуры смартфона, а с нормальной, хардварной, подключенной к ПК. Это еще одна причина того, что я не стал делать ставку на SigmaScript, где такой возможности нет. Чтобы кодить в такой клиент-серверной среде нужно включить на мобильном устройстве режим отладки по сети, подключиться с ПК, пробросить порты, запустить на смартфоне AndroLua (она поднимает сервер-интерпретатор на порту 3333) и вводить команды прямо с консоли:
О том, что обращаться к Java-API Android-устройства действительно удается, свидетельствует скриншот:
Несколько лучше в SL4A обстоит дело с поддержкой скриптового языка lua, но тоже не блестяще (с 2010 года этот плагин не обновлялся и не стыкуется со свежей версией самого фреймворка). Но нет худа без добра. Ковыряясь с этим хозяйством я обнаружил, что lua очень похож на JS и освоить его быстро вполне себе можно. Есть даже фреймворк для lua-разработки прямо в мобильной среде — SigmaScript. Только вот возможности его, как мне показалось, весьма ограничены…
Среди массы проектов для программирования на lua под Android резко выделяется AndroLua. Автор этого довольно свежего проекта (код обновлялся 2 месяца назад) совершил как минимум два подвига. Во-первых, скомпилировал стандартный lua-движок в нативную андроидскую библиотеку, во-вторых, вкорячил в свое приложение еще и LuaJava — фреймворк для стыковки программ на lua и Java. Поскольку программы для Android как раз и работают в Java-среде (хотя и несколько специфической), это дает возможность обращаться практически ко всем возможностям ОС (точнее говоря API).
В AndroLua есть также возможность кодить не с экранной клавиатуры смартфона, а с нормальной, хардварной, подключенной к ПК. Это еще одна причина того, что я не стал делать ставку на SigmaScript, где такой возможности нет. Чтобы кодить в такой клиент-серверной среде нужно включить на мобильном устройстве режим отладки по сети, подключиться с ПК, пробросить порты, запустить на смартфоне AndroLua (она поднимает сервер-интерпретатор на порту 3333) и вводить команды прямо с консоли:
./adb connect 10.10.10.10
./adb forward tcp:3333 tcp:3333
lua interp.lua
О том, что обращаться к Java-API Android-устройства действительно удается, свидетельствует скриншот:
- —
- 28 марта 2013, 00:13
- комментировать
Установка Android 4.0 на Asus EEE
Когда-то я уже писал о том, как установить Android на нетбук. В тот раз сделално это было скорее из любопытства, т.к. проект Android-x86 еще не был так развит, как сейчас, да и с поддержкой русского языка, помнится, были проблемы. Теперь же с их сайта можно скачать такой смачный дистрибутив, что будучи установленным на старый обшарпанный портативный компьютер он обладает теми же возможностями, что и навороченные планшеты только что из магазина. У меня даже бизнес-идея родилась: скупать старые нетбуки, ставить на них такой софт, протирать тряпочкой и перепродавать тысяч за 7
. Впрочем, всех, наверно, больше интересует как установить операционную систему.
Во-первых, можно поступить банально. Скачать и прожечь iso-образ, подключить к нетбуку переностой CD-ROM, выбрать пункт «Установить на жесткий диск» и установить как любой другой дистрибутив. Но это лишит вас мультизагрузки. Дело в том, что мой Кузя — заряжен под завязку всевозможными Linux-дистрибутивами, на все случаи жизни. Тут и Slax, и Superb Mini Server, и Parted Magic. Терять всё это богатство не хотелось бы. Поэтому я просто добавил в мультибут-меню (использую isolinux) строчку для запуска Android и скопировал на загрузочный раздел необходимые файлы.
Android загрузился без проблем, дал возможность настроить язык и время, показал бездну своих возможностей (заработало всё имеющееся железо: wifi, камера, звук).

(Фото, конечно, не фонтан, прошу извинить. И еще замечание для брезгливых: на заслуженном, потемневшем от времени корпусе Кузи не грязь, а краска-серебрянка, попавшая внутрь из аэрозольного баллончика при очередной реставрации).
После перезагрузки персональные настройки, конечно же, сбросились. На то он и Live-CD. Вводить каждый раз при загрузке часовой пояс, локаль и свое имя как-то не хотелось… Но мы же знаем, что у «живых» дистрибутивов, как правило, есть опция persistent mode, позволяющая сохранять изменения. Погуглив и поискав по вышеупомянутому сайту, я ничего толкового не нашел. Зато обратил внимание на слово DATA= в параметрах загрузочного меню. Подставил туда путь к созданному на флешке ext3-разделу и… да, угадал! Изменения стали сохраняться, видавший виды Кузя превратился в полноценный планшет, да еще и с нормальной хардварной клавиатурой.
Китайские товарищи (прект Android-x86 развивается в Поднебесной) оснастили дистрибутив отличным набором приложений, среди которых очень неплохой эмулятор терминала. Вот как бы Vim с Midnight Commander'ом еще туда прикрутить…
. Впрочем, всех, наверно, больше интересует как установить операционную систему.Во-первых, можно поступить банально. Скачать и прожечь iso-образ, подключить к нетбуку переностой CD-ROM, выбрать пункт «Установить на жесткий диск» и установить как любой другой дистрибутив. Но это лишит вас мультизагрузки. Дело в том, что мой Кузя — заряжен под завязку всевозможными Linux-дистрибутивами, на все случаи жизни. Тут и Slax, и Superb Mini Server, и Parted Magic. Терять всё это богатство не хотелось бы. Поэтому я просто добавил в мультибут-меню (использую isolinux) строчку для запуска Android и скопировал на загрузочный раздел необходимые файлы.
Android загрузился без проблем, дал возможность настроить язык и время, показал бездну своих возможностей (заработало всё имеющееся железо: wifi, камера, звук).

(Фото, конечно, не фонтан, прошу извинить. И еще замечание для брезгливых: на заслуженном, потемневшем от времени корпусе Кузи не грязь, а краска-серебрянка, попавшая внутрь из аэрозольного баллончика при очередной реставрации).
После перезагрузки персональные настройки, конечно же, сбросились. На то он и Live-CD. Вводить каждый раз при загрузке часовой пояс, локаль и свое имя как-то не хотелось… Но мы же знаем, что у «живых» дистрибутивов, как правило, есть опция persistent mode, позволяющая сохранять изменения. Погуглив и поискав по вышеупомянутому сайту, я ничего толкового не нашел. Зато обратил внимание на слово DATA= в параметрах загрузочного меню. Подставил туда путь к созданному на флешке ext3-разделу и… да, угадал! Изменения стали сохраняться, видавший виды Кузя превратился в полноценный планшет, да еще и с нормальной хардварной клавиатурой.
Китайские товарищи (прект Android-x86 развивается в Поднебесной) оснастили дистрибутив отличным набором приложений, среди которых очень неплохой эмулятор терминала. Вот как бы Vim с Midnight Commander'ом еще туда прикрутить…
- —
- 25 марта 2013, 00:19
- комментировать
Осторожно: фальшивый Яндекс
Продолжаются атаки на почтовые ящики, в число жертв которых я чуть было опять не попал: в очередной раз повелся на развод хакеров. Лишь в последний момент понял в чем дело и поменял пароль.
Ключевым звеном атаки является, как и прежде, социальная инженерия. Дело было так. Есть у нас сотрудница, по имени, допустим, Алиса. Она сейчас в командировке, это важно. Утром мы с ней обменялись парой служебных писем. Через 20-30 минут после того, как от нее пришло последнее письмо, мне в ящик падает еще одно, где отправителем снова значится Алиса. К письму приложены документы, судя по превью — командировочное удостоверение, какие-то счета и т.д.

Ну конечно, человек в другом городе, присылает какие-то документы, как не открыть. Щелкаем по превью, попадаем на страницу авторизации Яндекса.

А, перелогиниться, куки истекли? Святое дело. Только вот где же увеличенная картинка-документ? И что это за странный адрес в строке браузера? Да и Алиса-то, оказывается, не наша… Шухер! Срочно менять пароль!
На этот раз обошлось, но если бы хакеры были порасторопнее и первыми сменили пароль к моему ящику — пришлось бы с ним попрощаться. Да и не только с ним, а еще и с содержимым Яндекс-диска, заботливо собранной подборкой rss-подписок. А у меня это хозяйство, ни много ни мало, с 2001 года… Так что будьте бдительны.
Ключевым звеном атаки является, как и прежде, социальная инженерия. Дело было так. Есть у нас сотрудница, по имени, допустим, Алиса. Она сейчас в командировке, это важно. Утром мы с ней обменялись парой служебных писем. Через 20-30 минут после того, как от нее пришло последнее письмо, мне в ящик падает еще одно, где отправителем снова значится Алиса. К письму приложены документы, судя по превью — командировочное удостоверение, какие-то счета и т.д.

Ну конечно, человек в другом городе, присылает какие-то документы, как не открыть. Щелкаем по превью, попадаем на страницу авторизации Яндекса.

А, перелогиниться, куки истекли? Святое дело. Только вот где же увеличенная картинка-документ? И что это за странный адрес в строке браузера? Да и Алиса-то, оказывается, не наша… Шухер! Срочно менять пароль!
На этот раз обошлось, но если бы хакеры были порасторопнее и первыми сменили пароль к моему ящику — пришлось бы с ним попрощаться. Да и не только с ним, а еще и с содержимым Яндекс-диска, заботливо собранной подборкой rss-подписок. А у меня это хозяйство, ни много ни мало, с 2001 года… Так что будьте бдительны.
Еще вариант корпуса для Rapsberry Pi
Есть в продаже мышки премиум-класса, вот такие:

Стоят половину чьей-то зарплаты, но нас сейчас интересуют не их регулируемый угол атаки и прочие высокотехнологичные параметры, а упаковка, в которой сия мамба поставляется. Это коробка из добротного полированного пластика с прозрачной крышкой. Очень аккуратно выполненная вещь, выбрасывать которую рука, думаю, мало у кого поднимется. Поэтому, если кто-то терзается сомнениями по поводу использования такой минивитрины — смотрите сюда:

Да, это опять RPi, прикрутить который к такой коробке — дело получаса. В нижнем отсеке прекрасно размещаются блоки питания и usb-хаб. Аудиосигнал выводится наружу удлинителем.
Спасибо камраду romachan2 за коробочку
.

Стоят половину чьей-то зарплаты, но нас сейчас интересуют не их регулируемый угол атаки и прочие высокотехнологичные параметры, а упаковка, в которой сия мамба поставляется. Это коробка из добротного полированного пластика с прозрачной крышкой. Очень аккуратно выполненная вещь, выбрасывать которую рука, думаю, мало у кого поднимется. Поэтому, если кто-то терзается сомнениями по поводу использования такой минивитрины — смотрите сюда:

Да, это опять RPi, прикрутить который к такой коробке — дело получаса. В нижнем отсеке прекрасно размещаются блоки питания и usb-хаб. Аудиосигнал выводится наружу удлинителем.
Спасибо камраду romachan2 за коробочку
.
Rapsberry Pi: подключение wifi донгла
Поначалу я подключал RPi к локальной сети посредством кабеля, но это сильно портило внешний вид «музыкальной шкатулки». Решено было купить простенький wifi-адаптер (Ralink Technology, Corp. RT5370). После подключения навесить на него сетевой интерфейс не получилось, хотя утилитой iwconfig он определялся. Оказалось, что не хватает firmware. Скачал весь комплект командой
Затем скопировал файл rt2870.bin в каталог /lib/firmware и устройство заработало.
git clone http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.gitЗатем скопировал файл rt2870.bin в каталог /lib/firmware и устройство заработало.
Rapsberry Pi: весь звук ушел в HDMI
Похимичил я с сетевыми настройками Rapsberry Pi и испортил их. Пришлось подключаться не по ssh, а с помощью клавиатуры и монитора. Когда с сетью разобрался и перезагрузился — пропал звук. Это в моей ситуации недопустимо, т.к. RPi используется в качестве музыкального проигрывателя.
Стал разбираться. alsa настроена нормально, миксер выставлен на приличную громкость, колонки подключены правильно. При запуске проигрывателя музыка, судя по изображению на консоли, как бы воспроизводится, но из колонок звука нет.
Думал уж спалил что-нибудь, ан нет. Оказывается, RPi выбирает выходное устройство для аудио автоматически, а поскольку HDMI-монитор тоже с точки зрения alsa является звуковым устройством, его таковым и назначили при подключении. Чтобы принудительно гнать звук в штекер наушников в автозагрузку нужно добавить
Стал разбираться. alsa настроена нормально, миксер выставлен на приличную громкость, колонки подключены правильно. При запуске проигрывателя музыка, судя по изображению на консоли, как бы воспроизводится, но из колонок звука нет.
Думал уж спалил что-нибудь, ан нет. Оказывается, RPi выбирает выходное устройство для аудио автоматически, а поскольку HDMI-монитор тоже с точки зрения alsa является звуковым устройством, его таковым и назначили при подключении. Чтобы принудительно гнать звук в штекер наушников в автозагрузку нужно добавить
amixer cset numid=3 1
