Pull to refresh
35
0.1
Василий Е @bazilxp

DevOps

Send message

Разукрашиваем вывод mysql-client в консоли

Reading time4 min
Views31K
Цвет и звук — это те небольшие радости, которые могут разукрасить и облегчить будние администратора при постоянной работе с консолью. Вывод цветовой информации регулируется так называемым escape-последовательностями, определяющими среди прочего цвет текста и цвет фона.

Общий вид: \033[Xm, где X — это значение параметра (цифра). Например, echo -ne "\033[34mHELLO" выведет синим цветом «HELLO». Таблицу цветов и других доступных параметров (подчеркивание, мигание и т.п.) можно получить в документации man console_codes в разделе «ECMA-48 Set Graphics Rendition». Обычно поддержка цвета интегрирована в само приложение, но mysql-client не входит в число таких программ.

В интернете не раз был встречен вопрос о разукрашивании консоли mysql, но нигде не нашлось рецепта. Только общие слова «может быть состряпать обертку» или «посмотрите в исходном коде». Такой вопрос на StackOverflow жил без ответа более 2 лет! «Жил» было специально употреблено в прошедшем времени, потому что ответ нашелся.

Поможет нам утилита grc. Она доступна в большинстве дистрибутивов и о ней многие знают. Но как обернуть в нее вывод mysql-client?


Читать дальше →

TCP/IP proxy на Go

Reading time7 min
Views21K
Я снова вернулся к любимой задаче для освоения новых языков. После написания движка для блога на Go, захотелось снова поразмять пальцы, болезный TCP/IP proxy/debugger теперь написан на Go.

Вкратце, TCP/IP proxy — это программа, которая умеет принимать соединения и «пробрасывать» их на указанный адрес. Попутно ведутся логи переданных данных. Это очень удобно при отладке различных самодельных сетевых протоколов.

В плане функциональности версия на Go, как и эрланговская, ведет три лога: двунаправленный шестнадцатеричный дамп и бинарные логи в обоих направлениях, «от» и «к» удаленному хосту. Питоновская версия бинарные логи не ведет.

Конечно, все многопоточно. И так как в Go параллельное программирование настолько просто (и безопасно), количество параллельных активностей для каждого соединения даже больше, чем в версии на Эрланге.
Читать дальше →

Серверное malware или зачем нужны ssh-логгеры

Reading time5 min
Views4.4K
Доброго времени суток. Хочу рассказать вам о полезности ssh-логгеров.
В качестве серверной системы я предпочитаю использовать FreeBSD. И, как правило, устанавливаю termlog – системная утилита для логгирования ssh-сессий всех пользователей. К сожалению, сейчас в 9 версии termlog помечен как broken, потому что utmp был признан устаревшим и заменен на utmpx, поэтому termlog работает максимум только на 8 версии с небольшой правкой исходников:
Файл fileops.c, функция snp_setup
+       logname[rindex(logname,'/')-logname] = 'D';
         sm->fp= fopen(logname, "w");


Будем все же надеяться, что termlog перепишут для 9-й версии, потому что это очень полезная утилита. И вот почему. Однажды на тестовом сервере, который имел dyndns адрес и использовался для экспериментов, я установил termlog и создал пользователя test с паролем test, на котором проверял работу termlog, после чего благополучно забыл об этом пользователе. Спустя некоторое время, я обнаружил записанную ssh-сессию пользователя test, о котором кроме меня никто не знал:
Читать дальше →

Свободный и бесплатный шрифт Cuprum теперь доступен в четырёх начертаниях (обычное, курсивное, полужирное, полужирный курсив)

Reading time1 min
Views67K
Любителям шрифта Cuprum настала пора сугубо возрадоваться: его автор, даровитый и плодовитый дизайнер-шрифтовик Иван Гладких, более известный как Джованни Лемонад (Jovanny Lemonad), сегодня выпустил переработанную и существенно дополненную версию своего детища. Вместо одного прежнего начертания Cuprum теперь наделён четырьмя!

[показ Cuprum]

Читать дальше →

С первым апреля!

Reading time2 min
Views4.1K


Первое апреля две тысячи двенадцатого года войдёт в историю Интернета как день, когда:

Читать дальше →

Баним чужой аккаунт на Free-lance.ru

Reading time2 min
Views14K
Так уж исторически получилось, что у меня были два аккаунта на Free-lance.ru. Один я заводил когда-то сам, а другой заводил мой наёмный сотрудник. Ни один из аккаунтов по назначению так и не был использован, просто они были когда-то давно заведены, частично заполнены и заброшены, с бывшим сотрудником я давно уже расстался, но доступ к обоим аккаунтам остался.
Сегодня приходит от сервиса очередное письмо с текстом:
Приглашаем вас вновь посетить Free-lance.ru
Мы заметили, что вы давно не заходили на Free-lance.ru. Тем временем, на сайте публикуется около 40 000 проектов в месяц, а средняя стоимость проекта составляет 20 000 рублей. Наверняка, многие из этих проектов будут вам интересны.

Надо сказать они приходят периодически и отключить их вероятно нельзя никак (игра с комбинацией флажков в разделе настройки уведомлений аккаунта нужного эффекта не принесла). Сегодня захотелось это наконец прекратить. Я видел два варианта действий:
  1. Сменить почту на несуществующую в природе (или чужую) и забыть.
  2. Честно выпилить аккаунты на сервисе.

Я решил попробовать действовать честно.
И появились нюансы

Android. Обзор боевых приложений

Reading time2 min
Views323K
Доброго времени суток!

Наряду со статьей "iPhone: MiTM атака из кармана", родилась почти аналогичная статья про Android.

Мы уже знаем, на что способен iPhone. Уступает ли ему Android?

Было рассмотрено около 25 боевых приложений. Хочу предоставить вам результат маленького исследования. Многие приложения даже не запустились, некоторые подвесили телефон намертво, но некоторые даже работали!

Весь софт тестировался на телефоне LG Optimus, с версией Android 2.3.

Итак, краткий обзор боевого софта на Android:

Читать дальше →

Создаем движущиеся картинки с помощью Processing

Reading time3 min
Views11K
image

На Хабре есть статья, как получить синемаграфы с помощью бесплатной программы от Microsoft. Меня заинтересовала эта тема и я решил написать короткий скетч для скриптового языка Processing. Что это за язык программирования можно почитать здесь. Подобные движущиеся картинки представляют собой набор нескольких десятков кадров, у которых большая часть пикселей прозрачна.
Читать дальше →

Программа Zen обыграла в го профессионального игрока 9 дана с форой в 4 камня

Reading time2 min
Views8K
17 марта были сыграны две партии в го между программой Zen19, созданной японским программистом Ёдзи Одзимой и профессиональным игроком Такэмия Масаки, обладателем 9 дана, одним из лучших игроков мира. В первой партии, с форой в 5 камней, программа победила с преимуществом в 11 очков, во второй — с форой всего в 4 камня ей удалось опередить Масаки на 20 очков. В любительском го каждый камень форы соответствует очередному уровню мастерства, а в профессиональном — разница в 1 камень соответствует 3 данам. В рейтинге популярного игрового сервера KGS Zen19 сейчас имеет 6 дан. Это значит, что программа уже почти достигла высшего любительского уровня и скоро может перейти в «высшую лигу» го. После матча Такэмия Масаки признался, что не ожидал такого высокого уровня от компьютера. Zen работала на мини-кластере из четырёх компьютеров (dual 6-core Xeon X5680/4.2 GHz, 6-core Xeon W3680/4 GHz и два 4-core i7 920/3.5 GHz), соединённых гигабитной сетью.
Читать дальше →

Gephi как средство визуализации данных

Reading time4 min
Views51K
Так уж случилось, что я оказался ассистентом у профессора в университете. Никогда не думал, что прийдётся сталкиваться с оценкой рисков и визуализацией данных, будучи, по призванию, криптографом. Курс называется «Информационные сети» и включает в себя: анализ случайных процессов, моделирование малых миров; компьютерные алгоритмы для оценки свойств сети; экспериментальные исследования крупных сетей, а также анализ рисков, которые трудно предсказать.

В виду того, что курс читается в основном для ИТ-шников, лектор сделал ставку на то, чтобы дать достаточно теории с минимумом математики и большим количеством практики. Для большинства вышеупомянутых задач подходит программа NetLogo. Она включает собственный язык программирования высокого уровня, который позволяет с лёгкостью моделировать различные случайные процессы. Для визуализации разнообразных данных была выбрана программа Gephi.

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

Собственно постановка задачи была таковой: визуализация каких-либо реальных данных средствами Gephi.

Читать дальше →

svnconfbackup: скрипт для резервного копирования конфигурационных файлов

Reading time7 min
Views4K
Несколько лет назад передо мной встала задача резервного копирования конфигурационных файлов. Да не простого, а такого, чтоб в любой момент можно было бы просмотреть что и когда изменилось. Я знал о существовании csvbackup, но хотелось свой скрипт, с Subversion и без Perl'а.
Читать дальше

Единый API для сокращателей/разворачивателей ссылок

Reading time1 min
Views6.6K

Преамбула


Есть такой сокращатель ссылок http://g.ua, но у него, к сожалению, нет публичного API, чего весьма хотелось для использования в своих проектах.

— Обидно. — подумалось мне и я решил писать свой сокращатель. Потом, хорошо подумав, понял, что их и так много. Зачем еще один нужен? Он просто затеряется в этом изобилии.

В общем сделал я API к нему и выложил на https://shrt.org.ua для всеобщего обозрения.

Фабула


Прикрутив g.ua к своему скрипту-скриншотилке для picpost.pp.ua я успокоился на несколько часов. Вечером, в разговоре с другом мне пришла в голову абсолютно идиотская мысль: «А не прикрутить ли туда мне еще несколько сокращалок. Было бы удобно использовать один API для получения коротких URL не переписывая кода.»

Засев за Sublime Text 2 я довольно быстро накидал получение ссылок с 5-7 сокращалок и вывод этих URL через 1 API.

В итоге я получил то, что хотел. Но смесь bash и PHP не давала покоя и весь код был переписан и готов представить проектик на суд общественности. Глядишь, кому-то и пригодится.
Читать дальше →

Использование HTML5 и JavaScript для разработки приложений под Windows Phone

Reading time11 min
Views17K

Cегодня я хочу рассказать о том, какие дополнительные возможность разработки приложений под Windows Phone есть у владеющих HTML5 и JavaScript.
Читать дальше →

Полноценная поддержка юникода в SQLite для iOS. Пример приложения

Reading time2 min
Views4.4K
Здравствуйте. В этой статье я опишу процесс создания простейшего приложения для iOS и внедрение в него используемого мной метода для обеспечения корректной работы с русским (и не только) языком таких SQLite-конструкций, как UPPER/LOWER, LIKE или ORDER BY.

Описанный метод использовался при разработке в XCode 4.2 под управлением OS X Lion 10.7.2.

Ниже очень подробная инструкция с картинками.
Читать дальше →

Как воспользоваться вебкамерой в эмуляторе Android

Reading time8 min
Views30K

Многие разработчики, особенно начинающие, пользуются эмулятором Android для создания своих приложений. Это позволяет делать очень многое без подключения телефона. Почти всё. Вот именно это «почти» и относится, например, к вебкамере. Для большинства приложений может быть и достаточно будет такого вида, ведь можно передать «нужное» изображение на обработчик, а окончательно протестировать уже на реальном устройстве. Для приложений которые работают с дополненой реальностью так работать будет совсем не удобно. Хотелось бы иметь видеопоток. В случае если телефона с андроидом под рукой нет — это проблема.
В прошлой заметке я писал о том, как работают методы распознавания маркера дополненой реальности. Данная статья будет посвящена тому, как воспользоваться вебкамерой в эмуляторе Android.
Читать дальше →

Рисуем картинки с помощью кривой Гильберта

Reading time5 min
Views46K
В субботу на прошлой неделе «дело было вечером, делать было нечего», и мы с хабраюзером sourcerer разговаривали не понятно о чём. И почему-то речь зашла речь о задаче обратной к задаче построения графика функции по её выражению. То есть, например, у нас есть выражение y(x) = (cos0,5x ⋅ cos 200x + |x|0,5 − 0,7)(4 − x2)0,01. График такой функции чем-то напоминает сердечко. Но нам был интересен обратный вопрос, как, имея, например, изображение сердечка, получить выражение для функции, графиком которой будет это самое сердечко.

Какие-нибудь ряды Фурье вспоминать не хотелось, а хотелось чего-то простого и красивого. Мы начали вспоминать известные нам результаты, связанные с этим вопросом. В результате получилась программка, которая по изображению генерирует ломаную линию, чем-то напоминающую исходное изображение. На примере котёнка по имени Гав это выглядит примерно так (смотреть лучше издалека):



Если интересно как такое сделать, а также узнать про формулу конопли, формулу, график которой является этой же формулой, то добро пожаловать под хабракат. (Будет много картинок.)

Читать дальше →

Результаты конкурса по восстановлению документов после шредера

Reading time4 min
Views17K
Задача № 5, около 6200 фрагментов, размер каждого фрагмента около 150 х 60 px.

Агентство DARPA огласило результаты конкурса по восстановлению документов после шредера. В конкурсе приняли участие почти 9000 команд.

Каждый «паззл» состоял из фрагментов рукописного текста, измельчённого на новом коммерческом шредере и отсканированного с разрешением 400 DPI. В самом сложном задании № 5 было около 6200 фрагментов от неизвестного количества страниц — с этим заданием справились только две команды.

Победителем стала команда All Your Shreds Are Belong To U.S. — она смогла набрать максимально возможные 50 очков, выполнив все задания. Ближайшие конкуренты набрали 30 и 26 баллов.
Читать дальше →

Решение судоку с помощью веб-камеры в реальном времени

Reading time12 min
Views62K

Предисловие




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

Программа написана с помощью низкоуровневого языка C++, потому что я действительно хотел понять, как же это все работает изнутри. Если вы тоже хотите начать изучение компьютерного зрения, то для этого пригодиться библиотека OpenCV. На CodeProject вы сможете найти несколько уроков по ней. Изображение с веб-камеры получается с помощью исходного кода Вадима Горбатенко (AviCap CodeProject).
Читать дальше →

Материалы конференции «ZeroNights» 0x01

Reading time3 min
Views2.5K


Этот пост призван собрать все материалы (приоритетно презентации) конференции «ZeroNights» проходившей 25 ноября в г. Санкт-Петербурге, до их «официальной» публикации на сайте конференции (кому невтерпёж, а может и поможет организаторам). Полезно тем, кто не был, и тем, кто хочет еще раз пересмотреть/перечитать материалы.

— все презентации в upd 2 ---


Читать дальше →

Новые бесплатные онлайн курсы от Stanford

Reading time1 min
Views24K
В начале текущего учебного года Stanford организовал 3 бесплатных онлайн курса (основаные на трёх стационарных курсах Стэнфорда): Machine learning, Artificial intelligence и Introduction to Database. Все курсы идут с видео лекциями и домашними заданиями. Для курсов Artificial intelligence и Introduction to Database предусмотрены ещё и экзамены. После успешного окончания любого из курсов будет выслан сертификат (digital-signed pdf) от преподавателя.

И вот, были анонсированы ещё несколько онлайн курсов, которые будут стартовать в январе/феврале 2012 года.

У нас есть замечательный шанс послушать некоторые знаменитые Стэнфордские курсы, записывайтесь!

Update Спасибо recky, который заметил, что добавились ещё несколько курсов. Один из CS секции — по криптографии, и два из Entrepreneurship секции:

UUpdate продолжают радовать, новый доступный курс:

Читать дальше →

Information

Rating
4,126-th
Location
Chengdu, Sichuan, Китай
Registered
Activity