Тут хабраюзверь AStahl писал про полезную фичу, — рисование статусбара в консоли, на котором можно вывести часы и какую-либо другую обновляющуюся, полезную(?) информацию. У меня сейчас возникла такая задача, но его метод не понравился и поэтому я сделал свой велосипед-костыль.
Читать полностью »
Рубрика «bash» - 27
Консольный комфорт, снова
2012-11-18 в 14:19, admin, рубрики: bash, linux, shell, Оболочки, метки: bash, shellРаспознавание речи на Bash
2012-11-04 в 10:36, admin, рубрики: bash, Google API, lame, linux, sox, будущее здесь, распознование голоса, метки: bash, lame, sox, распознование голосаЗдравствуй, Уважаемый %username%.
Небольшое введение
В данной статье я хотел бы рассказать вам о распознавании голоса, написанном на таком языке программирования как Bash. В качестве OC я выбрал Ubuntu 12.04
Ближе к теме
Распознавание голоса будет осуществляться сервисом Google, который используется в браузере Google Chrome для голосового поиска. Приступим?
Читать полностью »
О разных командных оболочках Linux и Unix
2012-11-03 в 18:26, admin, рубрики: bash, linux, python, script, shell, UNIX, zsh, Оболочки, системное администрирование, метки: bash, linux, python, script, shell, unix, zsh
Наверняка почти все читатели Хабра знают оболочки sh и bash. Так же большинство из нас что-то слышали про zsh и tcsh. Однако на этом список существующих оболочек не заканчивается. Условно можно разделить их на три группы:
- Клоны Bourne shell (bash, zsh)
- C shell (csh, tcsh)
- Базирующиеся на популярных языках программирования(psh, ipython, scsh)
- Экзотические, специфические и все остальные
О наиболее интересных из ни и пойдет речь.
Читать полностью »
«Оцифровываем» каптчу единого реестра сайтов, защищающего людей от информации
2012-11-02 в 10:27, admin, рубрики: bash, imagemagick, linux, tesseract, информационная безопасность, каптча, реестр запрещенных сайтов, метки: bash, imagemagick, tesseract, каптча, реестр запрещенных сайтовСовсем недавно открылся портал Единого государственного реестра сайтов. Отдельно от всего прочего мне приглянулась очень слабая каптча, и я решил её побороть.
Подобными вещами я уже занимался, правда, не в таком масштабе. Если вам интересно, как получить КПД распознавания в 57% используя только GNU/Bash, imagemagick и Tesseract-ocr, добро пожаловать под кат.
Нижеследующая инструкция может быть легко модифицирована под любые другие подобные слабые каптчи.
Читать полностью »
Сказка про Skype, free-speech, Балмера и Столлмана
2012-11-02 в 0:41, admin, рубрики: bash, GNU/Linux, linux, microsoft, skype, windows, метки: bash, GNU/Linux, microsoft, skype, windows 
Стив Балмер вышел на сцену, достал ноутбук и привычным энтузиастким тоном начал: «Сегодня я вам представлю наш замечательный продукт — Skype, мы его недавно купили». Ему не впервой, он уже который раз представляет очередной продукт с горящими глазами и размахивая руками. «Начнём с названия. Skype — это короткое, запоминающееся слово, которое ничего не означает, поэтому его невозможно перепутать ни с чем другим. Маркетологи потратили целый год, чтоб подобрать нужную комбинацию букв, которая была бы наиболее приятна для уха. А дизайнеры старательно рисовали логотип, подбирая цвет каждого пиксела, чтобы он радовал глаз. Но самое главное — это, конечно, сама программа. Она красива и удобна, всё делает в пару кликов».
Проверка баланса телефона в консоли
2012-10-29 в 14:33, admin, рубрики: bash, curl, linux, script, Оболочки, опсосы, метки: bash, curl, linux, script, опсосыУ каждого из нас есть мобильный телефон, а у кого-то даже не один. А еще есть телефоны ближайших родственников. И если проверить баланс на своем телефоне не составляет труда, то на телефоне, который не рядом с тобой это сделать затруднительно. Поэтому у меня возникло желание собрать все свои расходы по мобильной связи в одном месте, для того, чтобы их можно было вовремя пополнять, и видеть историю операций. Да, конечно можно к каждому телефону привязать карту и включить авто-пополнение, но лично мне не хочется однажды влететь в овердрафт или остаться без телефона, и это не решает проблемы сбора статистики.
Пару лет назад я пользовался программкой «баланс робот» на андройд телефоне, которая в виде виджетов показывала балансы моих телефонов, но тогда я любил постоянно перепрошивать свой телефон, и каждый раз восстанавливать настройки виджетов было очень лень, а еще хотелось, что бы эта информация была доступна не только мне. И я решил, что надо собрать всю эту информацию на web страничке.
Мне очень нравится работать в консоле, и я подумал, что нужно сделать две программы — одна вытаскивает баланс телефона, а вторая собирает статистику в БД и генерирует html странички с отчетом.
Читать полностью »
DBSlayer прокси на BASH за 5 минут или еще один способ отдать JSON из MySQL
2012-10-09 в 11:18, admin, рубрики: bash, javascript, json, linux, mysql, метки: bash, javascript, json, linux, mysql 
Дело было вечером, делать было нечего, но дурная голова уркам покоя не давала… Данный пост создан как результат чисто-академического интереса. А началось все с того, что при разработке небольшого клиентского приложения для своих нужд, реализованного на Javascript, появилась необходимость взаимодействовать с уже существующей базой, где хранятся искомые данные. База — MySQL. Один из простых способов — реализация серверного скрипта (на PHP или еще каком языке), который по входящим параметрам делает нужный запрос и возвращает результат в JSON виде.
Другой вариант — это DBSlayer-прокси для MySQL. Кто про него не слышал, рассказываю в крадце: был создан в недрах New York Times как средство абстракции и балансирования нагрузки на БД. Подробнее можно почитать на сайте code.nytimes.com/projects/dbslayer/wiki/WhyUseIt. DBSlayer предоставляет API на основе JSON, известен в кругу NodeJS разработчиков.
Но это тоже не наш метод. Под катом приведено простое решение данной задачи на BASH.
Функциональное программирование в шелле на примере xargs
2012-10-07 в 23:25, admin, рубрики: bash, linux, повышение квалификации, системное администрирование, метки: bash, linux, повышение квалификацииAbstract: рассказ о том, как быстро и красиво делать обработку списков в шелле, немного манула по xargs и много воды про философию то ли программирования, то ли администрирования.
Немного SEO-оптимизации: карринг, лямбда-функция, композиция функций, map, фильтрация списка, работа с множествами в шелле.
Пример

Системные администраторы часто оказываются в ситуации, когда нужно взять вывод одной программы, и к каждому элементу вывода применить другую программу. Или даже не одну. В качестве забавного (и бесполезного) примера мы возьмём следующий: требуется посчитать суммарный размер всех исполняемых файлов, запущенных в настоящий момент в системе вместе со всеми динамическими библиотеками, которые они используют.
Это не реальная «задача», это учебный пример, решая который (в решении будет однострочник) я расскажу про очень необычный и мощный инструмент системного администрирования — линейное функциональное программирование. Линейное оно, потому что использование пайпа "|" это линейное программирование, а использование xargs позволяет превратить сложную программу с вложенными циклами в однострочник. Целью статьи будет не показать «как найти размер библиотек» и не пересказать аргументы xargs, а объяснить дух решения, пояснить стоящую за ним философию.
Лирика
Существует несколько стилей программирования. Один из них выглядит так: для каждого элемента списка сделать цикл, в котором для каждого элемента списка, если он не является пустой строкой, взять имя файла, и если размер файла не равен нулю, то прибавить к счётчику. Ах, да, сначала счётчик надо сделать нулём.
Другой выглядит так:
Применить к списку функцию, которая применяется к каждому элементу списка, если этот элемент непустая строка и размер файла, с этим именем не нулевой, добавить к сумме.
Даже словами видно, что второй вариант короче.
Читать полностью »
Создание красивого образа .dmg для программы в [Mac] OS X
2012-10-01 в 8:39, admin, рубрики: apps, bash, dmg, mac os x, osx, script, shell, разработка, метки: apps, bash, dmg, mac os x, osx, script, shellПриветствую достопочтенных жителей !
Сегодня я расскажу вам о том, как красиво преподнести пользователю инсталлятор своей программы. Наверняка каждый, кто пользуется не только программами из AppStore, сталкивался с красивыми образами диска .dmg, как вот у Адиума, к примеру. Такой образ представляет из себя, так сказать, интерактивный инсталлятор, в котором дана чёткая подсказка: перетащи значок вот сюда. Всё предельно понятно и просто.
Конечно, для бывалого маковода и zip-архив сгодится, но ведь все любят, чтоб было красиво и удобно. Так что мы с вами, дорогие читатели, озаботимся сегодня созданием такого вот красивого образа диска для своей (ну или чужой) программы.
![Создание красивого образа .dmg для программы в [Mac] OS X Создание красивого образа .dmg для программы в [Mac] OS X](https://www.pvsm.ru/images/sozdanie-krasivogo-obraza-dmg-dlya-programmy-v-Mac-OS-X-2.png)
Можно, конечно, проделать это всё вручную, но это не_наш_метод™, так что мы будем писать shell-скрипт для автоматизации сего процесса. Автоматизация нам так же пригодится в случае ввода в эксплуатацию билд-сервера, тогда этот сервер будет не только собирать программу из исходников, но и делать образ диска для дистрибьюции.
Если Вам не нужно знать как работает такой скрипт, а нужен лишь инструмент — в конце имеется ссылка на весьма универсальный скрипт, готовый к применению.
Читать полностью »
Необычное переполнение жесткого диска или как удалить миллионы файлов из одной папки
2012-09-25 в 12:43, admin, рубрики: bash, ispmanager, mysql, php, системное администрирование, метки: bash, c++, ispmanager, mysql, PHPПредисловие
Скорей всего, матерым системным администраторам статья будет не очень интересна. В первую очередь она ориентирована на новичков, а также на людей, которые столкнулись с подобной проблемой — необходимостью удалить огромное количество файлов из одной папки в ОС Linux (Debian в моем случае), а также с закончившимся местом на диске, когда df -h выдает что почти 30% свободно.
Читать полностью »
