VIM → VimCommander: работаем с удалённой системой по ssh
Прелюдия
Пользовался я ViM'ом и был доволен. Как-то раз узнал, что он ко всей его могучести умеет быть небольшим проводником по файловой системе (прим. достаточно выполнить vim .). Позже раскопал, что гораздо удобнее это делать добавив плагин NERD_Tree — он действительно удобен и я был бы рад если бы на его основе был сделан VimCommander, однако Leandro (автор VimCommander) пошёл другим путём и старался подражать MidnightCommander. Ну что ж, надо обучить VC работать с удаленными системами по ssh, решил я, ведь его старший брат (mc) вполне неплохо делает это. Примерно с такими мыслями я открыл shell и набрал vim ~/.vim/plugin/vimcommander.vim.
Perl → Новогодний Yet Another Perl Podcast. Выпуск 12. Краткие итоги уходящего года
Радости
Прошло 5 конференций по perl:
Прошло 5 конференций по perl:
- Perlburg-2 Екатеринбург, 2 апреля 2011;
- YAPC::Russia «May Perl + Perl Mova» Moscow, 13–15 May 2011;
- YAPC::Europe Riga, 15–17 August 2011;
- Black Perl Black Sea, 30 September – 2 October 2011;
- Saint Perl — 3 Saint Petersburg, 18 December 2011
прослушан 99 раз
Блог компании HP → X5000 – компактный NAS для средней компании
Большинство предлагаемых сегодня систем хранения NAS работают на специально оптимизированной под файловые сервисы версии Linux/Unix. Эта особенность NAS превращается в серьезный минус, если эту систему хранения устанавливают в локальную сеть, состоящую только из компьютеров Windows. Часто, требуются специальные настройки, чтобы NAS правильно взаимодействовал со службой каталогов Active Directory. К тому же часто системные администраторы, обслуживающие сети Windows, никогда раньше не работали со средой Linux/Unix, поэтому для полноценного использования таких NAS им нужно осваивать новую операционную систему.


Системное администрирование → Автоматизация обработки видео-файлов с web-камер средствами shell из песочницы
Понадобилось начальству в своё время организовать своими силами видео-наблюдение за некоторыми вещами и уложиться в минимальное финансирование. Задача автоматизировать это легла на плечи системного администратора, то есть – меня.
Дано: N – видео-камер D-Link 2102, физический двух-юнитовый сервер под сервер видео-наблюдения и удаленное файло-хранилище.
Результатом должна быть возможность пускать некоторых пользователей на сервер видеонаблюдения в онлайн режиме и организовать архив видеозаписей.
Под катом несколько скриптов, которые сильно помогли мне понять, как лучше писать код, зачем нужны многие вещи и как они решаются, а так же навести порядок в своей голове и очень надеюсь, что они помогут кому-то еще.
Проект писался достаточно сложно — настолько сильно я shell(bash) скрипты не изучал — не было надобности до этого.
Но, когда задача поставлена и в голове есть алгоритм решения — все скрипты были переделаны так, чтобы читая их через пол года у меня и моего преемника не было вопросов и желания переписать все с нуля.
UPD: пост периодически обновляется.
Дано: N – видео-камер D-Link 2102, физический двух-юнитовый сервер под сервер видео-наблюдения и удаленное файло-хранилище.
Результатом должна быть возможность пускать некоторых пользователей на сервер видеонаблюдения в онлайн режиме и организовать архив видеозаписей.
Под катом несколько скриптов, которые сильно помогли мне понять, как лучше писать код, зачем нужны многие вещи и как они решаются, а так же навести порядок в своей голове и очень надеюсь, что они помогут кому-то еще.
Проект писался достаточно сложно — настолько сильно я shell(bash) скрипты не изучал — не было надобности до этого.
Но, когда задача поставлена и в голове есть алгоритм решения — все скрипты были переделаны так, чтобы читая их через пол года у меня и моего преемника не было вопросов и желания переписать все с нуля.
UPD: пост периодически обновляется.
Ненормальное программирование → Программирование в стиле Теремка
Перевод старался делать точным, насколько это возможно, и изменил лишь название компании, которая используется как пример, но по сфере деятельности и принципу работы в рознице схожа с той, что в оригинале.
Каждый блинчик в меню Теремка — всего лишь набор из примерно 8ми ингредиентов. С такой простой периодической таблицей элементов компания заработала 1.9 млрд долларов в прошлом году (нет, не Теремок, а всё-таки Taco Bell).
Чем больше я программирую и проектирую системы, тем больше я понимаю, что в множестве случаев можно достигнуть желаемого результата банально сочетая базовый набор инструментов, данный нам Unix. В конце концов, функциональность — это ценность, а код — это задолженность. Это утверждение обратно абсурднму тренду DevOps (разработчико-админов), исходя из которого системные администраторы начинают писать юнит-тесты и прочие вещи, чтобы помочь разработчикам, и гласит что программирование в стиле Теремка это разработчики, которые знают достаточно об администрировании (и Unix в целом) так, что они не изобретают велосипед, и приходят к простым и масштабируемым решениям.
Вот конкретный пример: представьте, вам нужно скачать и записать на диск миллионы веб-страниц для дальнейшей обработки. Как это сделать? Детки-крутышки скажут, что нужно написать распределённый паук на Clojure и запустить на EC2, коммуницируя с помощью SQS или 0MQ.
Каждый блинчик в меню Теремка — всего лишь набор из примерно 8ми ингредиентов. С такой простой периодической таблицей элементов компания заработала 1.9 млрд долларов в прошлом году (нет, не Теремок, а всё-таки Taco Bell).Чем больше я программирую и проектирую системы, тем больше я понимаю, что в множестве случаев можно достигнуть желаемого результата банально сочетая базовый набор инструментов, данный нам Unix. В конце концов, функциональность — это ценность, а код — это задолженность. Это утверждение обратно абсурднму тренду DevOps (разработчико-админов), исходя из которого системные администраторы начинают писать юнит-тесты и прочие вещи, чтобы помочь разработчикам, и гласит что программирование в стиле Теремка это разработчики, которые знают достаточно об администрировании (и Unix в целом) так, что они не изобретают велосипед, и приходят к простым и масштабируемым решениям.
Вот конкретный пример: представьте, вам нужно скачать и записать на диск миллионы веб-страниц для дальнейшей обработки. Как это сделать? Детки-крутышки скажут, что нужно написать распределённый паук на Clojure и запустить на EC2, коммуницируя с помощью SQS или 0MQ.
Perl → Yet Another Perl Podcast — выпуск 11
Статьи:
- Perl скрипт для отправки SMS
- Почему Perl? (перевод на русский)
- Как изменить синтаксис Perl на свой вкус
- Back from BlackPerl 2011
- vti про “маленькие подарки” и очень интересный проект (на perl, есессно) privytalks.com
- Производительность пакетов ООП в Perl
- (вопрос) Perl, тестирование и БД
- Mojolicious И Dancer
- День рождения Ларри Уолла :)
прослушан 147 раз
Программирование → Умер Деннис Ритчи, один из создателей UNIX и языка Си
В США в возрасте 70 лет скончался Деннис Ритчи (Dennis Ritchie), создатель языка программирования Си и один из разработчиков операционной системы UNIX.О смерти Ритчи сообщил на своей странице в социальной сети Google+ его коллега Роберт Пайк (Robert Pike). Он указал, что программист умер у себя дома после продолжительной болезни. Портал CrazyEngineers в качестве даты смерти Ритчи называет 8 октября.
Серверная оптимизация → Оптимизация скорости бэкапов средствами файловой системы (read ahead, опережающее чтение) из песочницы
Данная статья адресована инженерам и консультантам работающим с производительностью операций, связанных с последовательным чтением файлов. В основном, это конечно бэкапы. Cюда же можно включить чтение больших файлов с файловых хранилищ, некоторые операции баз данных, например полное сканирование таблиц (зависит от размещения данных).
*nix → Парсер на shell с обходом XOR-шифрования при авторизации из песочницы
Недавно возникла необходимость в парсере интернет-счета банковской карты для дальнейшего уведомления об операциях посредством смс\e-mail. Сделать это было решено по-быстрому шел-скриптом, который будет парсить страницу со счетом с определенной периодичностью при помощи задания в cron, а в случае изменения баланса счета — высылать сообщение на мобильный телефон или e-mail. Ничего сложного на первый взгляд, однако в ходе написания пришлось решить некоторые сложности, о которых вы сможете прочесть под катом.
*nix → Стреляем себе в ногу
Доброго времени суток, уважаемые хабраюзеры!
Пришла в голову идея создать список способов «стрельбы в ногу» в *NIX.
Пришла в голову идея создать список способов «стрельбы в ногу» в *NIX.
chmod -x `which chmod`rm * .orm -rf $VAR/rm -rf --no-preserve-root /*rm -rf /usr /lib/nvidia-current/xorg/xorg— эпичный баг в bumblebee, который обеспечивает поддержку nvidia optimusfind / home/user/domain/script.logs/files -ctime 7 -rmperl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'- Русская рулетка:
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo «You're live»
cat /dev/urandom > /dev/sda1rm /var/lib/btmp # После этого в openSUSE 11.4 не работает авторизация- Fork Bomb:
:(){ :|:& };:
- Замена шелла на невалидный (в современных версиях Linux не работает)
chsh -s /usr/blin/sh; logout
echo logout >> ~/.bashrcssh server ifdown eth0- Случайно нажимаем r вместо e:
crontab -r
sed -i -e 's#id:.:initdefault:#id:6:initdefault:#' /etc/inittabnohup '/etc/init.d/networking restart' & при interface 'auto'echo 'alias cd=false' >> ~/.bashrcln -sf /bin/cat /bin/shln -sf /dev/urandom /etc/motdcat /dev/zero > /fileip ru flushtail /dev/zerosudo dpkg --remove --force-all libc6- По SSH:
iptables -I INPUT -j DROP
echo c > /proc/sysrq-trigger