Архив за 07 октября 2012

Abstract: рассказ о том, как быстро и красиво делать обработку списков в шелле, немного манула по xargs и много воды про философию то ли программирования, то ли администрирования.

Немного SEO-оптимизации: карринг, лямбда-функция, композиция функций, map, фильтрация списка, работа с множествами в шелле.

Пример

Функциональное программирование в шелле на примере xargs
Системные администраторы часто оказываются в ситуации, когда нужно взять вывод одной программы, и к каждому элементу вывода применить другую программу. Или даже не одну. В качестве забавного (и бесполезного) примера мы возьмём следующий: требуется посчитать суммарный размер всех исполняемых файлов, запущенных в настоящий момент в системе вместе со всеми динамическими библиотеками, которые они используют.

Это не реальная «задача», это учебный пример, решая который (в решении будет однострочник) я расскажу про очень необычный и мощный инструмент системного администрирования — линейное функциональное программирование. Линейное оно, потому что использование пайпа "|" это линейное программирование, а использование xargs позволяет превратить сложную программу с вложенными циклами в однострочник. Целью статьи будет не показать «как найти размер библиотек» и не пересказать аргументы xargs, а объяснить дух решения, пояснить стоящую за ним философию.

Лирика

Существует несколько стилей программирования. Один из них выглядит так: для каждого элемента списка сделать цикл, в котором для каждого элемента списка, если он не является пустой строкой, взять имя файла, и если размер файла не равен нулю, то прибавить к счётчику. Ах, да, сначала счётчик надо сделать нулём.

Другой выглядит так:
Применить к списку функцию, которая применяется к каждому элементу списка, если этот элемент непустая строка и размер файла, с этим именем не нулевой, добавить к сумме.

Даже словами видно, что второй вариант короче.
Читать полностью »

Сегодня поговорим о создании дополнений для VIM.

Недавно у меня возникла идея вкрутить в него поддержку cmake проектов для удобной навигации по файлам. С этой задачей, конечно, вполне справится NERD Tree, но в последнем нельзя оперировать исключительно файлами проекта.

Ахтунг: Автор статьи впервые познакомился с Vim Script. Он не гарантирует, что вы не упадете в обморок после прочтения статьи. Любые пожелания касательно кода оставляйте в комментариях.

Читать полностью »

В продолжение своего топика Новое в CSS3: многоколоночность, flexbox, сеточная разметка предлагаю вам перевод статьи с более глубоким погружением в свойство многоколоночности с простыми и наглядными примерами.

Мультиколоночность на CSS подробнее

Еще газетами и журналами на практике доказано, что разбитый на несколько колонок текст воспринимается намного проще. На веб-страницах до недавнего времени отобразить контент таким образом было проблемой, доходило до того, что верстальщик разделял текст на несколько div'ов. Но все может стать намного проще с CSS3 Multi Column Module.Читать полностью »

Обзор Lenovo Thinkpad X220 slice battery 19+ (P/N: 0A36280) Lenovo Thinkpad X220 slice battery это дополнительный аккумулятор для ноутбука, подцепляющийся снизу и занимает всю площадь. Схожие устройства продаются и для более крупных ноутбуков серии thinkpad, а также были замечены за компаниями Dell, HP, Toshiba.

Альтернативным путём к увеличению времени работы за ноутбуком, без выключения ради смены аккумулятора, является замена оптического устройства на дополнительную батарею. Конечно её заряд не велик, но позволяет неспешно сменить основной источник энергии. Подобное решение практиковала ещё и компания Dell.
Читать полностью »

фотография 1 Вчера в Москве, в технопарке «Нагатино» состоялась конференция BitByte, которая проходила с 10 30 до 18 00 (программа мероприятия). На мероприятии выступали крупные игроки IT рынка, такие как: Microsoft, Badoo, Mail.Ru Group, Evernote и Softline и др. Довольно дружеская обстановка, игровая секция, приятные мелочи (красная икра, орешки, печенюшки) и конкурс от Badoo, где счастливому победителю был вручен новенький iPhone5.

Самыми яркими событиями, которые стоит отметить, были выступления Леонида Бугаева (Креативный директор компании Nordic), Сергея Аверина (Руководитель проекта десктопных приложений компании Badoo) и Артема Кумпеля (CEO и основатель ITmozg). Все трое спикеров срывали море оваций и рассказывали действительно полезные вещи, как о работе в области IT, так и о личностном развитии, необходимом для продвижения не только своего проекта, но и себя как специалиста.

Читать полностью »

Правообладатели присылают в Google всё больше запросов на удаление «пиратского контента» из поисковой выдачи, в соответствии с законом DMCA. Компания Google послушно выполняет запросы, но после этого публикует информацию об удалённых URL. Таким образом, усилиями правообладателей пополняется база нелицензионного контента.

Больше всего запросов на удаление в Google присылается от имени Microsoft — каждый день приходят тысячи адресов, где лежат пиратские версии Windows 8, Visual Studio или Office 2013. За последний год из индекса Google было удалено 4 826 032 URL с пиратскими продуктами Microsoft (в среднем, по 13186 в день).

Недавно автоматический фильтр борцов с пиратством дал конкретный сбой. В список на удаление, присланный агентством LeakID по запросу Microsoft попали сайты Википедии, TechCrunch, BBC, CNN, различные научные журналы и даже несколько сайтов правительства США. Якобы, на них лежит «пиратка» Windows 8.
Читать полностью »

В прошлой статье мы рассмотрели основные моменты настройки сетевого оборудования HUAWEI и остановились на статической маршрутизации. В сегодняшнем топике речь пойдёт о динамической маршрутизации по протоколу OSPF совместно с маршрутизаторами Cisco. Добро пожаловать под кат.
Читать полностью »

В июне 2012 года группа исследователей из Google запустила нейросеть на кластере 1000 компьютеров (16 тыс. процессорных ядер; 1 млрд связей между нейронами). Эксперимент стал одним из самых масштабных в области искусственного интеллекта, причём систему изначально создавали для решения практических задач.

Самообучаемая нейросеть — достаточно универсальный инструмент, который можно использовать на разных массивах данных. В компании Google её применили для улучшения точности распознавания речи: «Мы получили улучшение от 20% до 25% по показателю неправильно распознанных слов, — говорит Винсент Ванхоук (Vincent Vanhoucke), руководитель отдела распознавания речи в Google. — Это значит, что многие люди получат безошибочный результат». Нейросеть оптимизировала алгоритмы для английского языка, но Ванхоук говорит, что аналогичные улучшения могут быть достигнуты и для других языков и диалектов.
Читать полностью »

Приветствую.

Думаю, многие, кто имеет аккаунт ВКонтакте и слушает там музыку, замечали, что если на одной вкладке включить трек, а затем уже на другой включить второй, первый трек уйдет в паузу. Примерно то же самое происходит с различными уведомлениями (новое сообщение, ответ на комментарий/запись и т.д.) — отображается оно только в активной вкладке. Кому интересно как это работет и каким образом сделать подобное у себя на сайте, милости просим за хабракат.
Читать полностью »

Голая бабаВ данной инструкции я попытался осветить основные моменты разработки игр. Инструкция будет полезна для людей, собирающихся заняться разработкой игр в роле лидера (главного разработчика и организатора).

Хочу отметить, что игры бывают разные – большие и маленькие, сложные и лёгкие, и поэтому для каждой игры эта инструкция верна в какой-то своей определённой степени. Охватить всё не удалось, но передать общие моменты, думаю, получилось.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js