Ctrl +  Позднее

grunt-favicons

27 августа 2013, 2:16

Добавил ли фавиконку? Есть ли версия иконки для айфона? Есть ли иконки нужного размера? Какой программой быстро сделать мультиразмерную фавиконку?

На все эти вопросы приходилось отвечать перед завершением каждого проекта. Чеклист чеклистом, но ситуация требовала автоматизации. Была изучена матчасть по иконкам, их форматам и размерам, которая позже переросла в баш-скрипт. А потом и в плагин для гранта.

Итак, grunt-favicons.

Устанавливается как обычно:

npm install grunt-favicons --save-dev

Чтобы всё работало, требуется установить imagemagick.

На маке:
brew install imagemagick
на линуксе:
apt-get install imagemagick

Фичи

Пример таска с опциями по-умолчанию:

favicons: {
    production: {
        options: {
            html: 'deploy/index.html',
            HTMLPrefix: "/img/favicon/",
            trueColor: false,
            precomposed: true,
            appleTouchBackgroundColor: "auto", // none, auto, #color
            windowsTile: true,
            tileBlackWhite: true,
            tileColor: "auto" // none, auto, #color
        },
        src: 'site/img/favicon.png',
        dest: 'deploy/img/favicon'
    }
}

Плагин берет картинку «src» и помещает в «dest» результаты своих трудов:

  • 265-цветный favicon.ico с разрешениями 16x16, 32x32, 48x48;
  • favicon.png 64x64;
  • apple-touch-icon-xxx.png всех возможных разрешений включая 120x120 для iOS7;
  • windows-tile-144x144.png для тайла в Windows 8.

Опции

По порядку:

html

HTML-файл, в который необходимо добавить теги со ссылками на зоопарк иконок.

HTMLPrefix

Путь, который приписывать в HTML перед адресами всех файлов. Очень нехватает подобной опции во многих плагинах.

trueColor

Булевая опция. Если включена, то favicon.ico будет содержать полноцветные картинки с альфа-каналом. В противном случает будет 256 цветов. Полноцветная иконка будет весить более 15Кб против 7Кб обычной.

precomposed

Булевая опция. В iOS6 и ниже при сохранении иконки накладывались различные эффекты. Опция включена, то все эффекты выключаются и иконка выглядит как изначально задумано.

appleTouchBackgroundColor

Иконки в iOS непрозрачные и им нужен задний фон. Мой плагин заботливо определит доминирующий цвет, подкрутит контраст и выставит его фоном.
Фон также можно указать вручную или вообще не указывать — тогда iOS сделает его черным.

windowsTile

Нужно ли делать плитку для Виндоус 8?

tileBlackWhite

Сделать иконку для плитки монохромной.

tileColor

Задний фон для плитки. Значения аналогичны параметру appleTouchBackgroundColor, только немного отличается метод поиска цвета.


Форкай
@
Пуллреквесть
https://github.com/gleero/grunt-favicons

iTunes Radio

1 августа 2013, 0:19

После анонса неоднозначной Айос 7 по всем фронтам разразился дикий плоско-градиентный срач, из-за которого остались незамеченными некоторые интересные новшества.

Одно из них — радио.

В приложении «Музыка» на таббаре появился раздел «Радио». Можно выбрать одну из 13 существующих станций, а можно создать свою. Работает как ласт.фм, только без кучи геморроя с подписками и остановками через небольшой промежуток времени. Выбрал песню — получил поток из похожих.

Для прослушивания доступен весь репертуар магазина совершенно бесплатно с редкими перерывами на очень короткую рекламу разных исполнителей. Проскакивала информация, что при купленном американском Айтюнс Матч рекламу отключают, но у меня была.

Айос 7 принесла с собой кроме адовых иконок много чего интересного. В целом система мне нравится, к четвертой бете её достаточно хорошо причесали.

Отключение журнала в ext4

30 июля 2013, 17:00

При тестировании Rcam столкнулись с высоким Load Average на сервере. Процессор был загружен не сильно, диск разгрузили кешированием в оперативке. Но LA зашкаливал за 7.

iotop показал высокую нагрузку на службу журналирования kjournald. Какая бы хорошая система кеширования не была, при записи на диск 15 видео-потоков журнал начал загибаться.

Проблема решилась отключением журналирования для раздела с архивом. Для ext* это делается через tune2fs:

tune2fs -o journal_data_writeback /dev/sdb1
tune2fs -O ^has_journal /dev/sdb1

Монтировать диск лучше с опциями: data=writeback,noatime,nodiratime

Load Average упал до ~2.

Если у вас сильная дисковая активность и вы уверены в своём бесперебойнике — отключайте журнал, это сильно снизит нагрузку на систему.

Облака в Айти

28 июня 2013, 15:57

Написал заметку для минского журнала «Технологии безопасности».

Последние годы всё большую популярность набирают «облачные сервисы» — возможность предоставлять людям различные услуги через Интернет: будь то удалённый диск, вычислительные мощности или программное обеспечение. Ещё совсем недавно все стремились купить более дорогой и крутой компьютер, чтобы уместить на нём кучу музыки, фильмов, сложных программ. Но сейчас такой подход уходит в прошлое, ведь людям больше нет необходимости иметь большие и дорогие жесткие диски — они хранят всё в «облаках». По данным исследовательских компаний, на сегодняшний день в «облаках» хранится чуть более одного эксабайта данных.

Но как так получилось, что интернет развит довольно давно, а модные «облака» пришли относительно недавно? Обратимся к истории.

Шел 1957 год, Элвис Пресли был на пике своей популярности. В это время СССР запустили первый в мире искусственный спутник Земли, благодаря чему Министерство обороны США решает создать надёжную систему передачи информации на случай войны. В итоге оборонным научно-исследовательским агентством США была разработана такая сеть, получившая название ARPANET, за которой уже в 1983 году закрепилось название «Интернет». Когда количество оборудования стало настолько огромным, что техники не могли уместить его в схемы, было придумано обозначение «облако». Фактически это масса оборудования, которое при группировкой на схеме обводилось в облачко. Получается, что «облака» — это и есть интернет.

Люди начали пользоваться облачными сервисами со времён создания компьютерных сетей и интернета. Самые ранние такие сервисы — электронная почта, где письма пользователей хранятся непосредственно на сервере. Когда все смогли обмениваться информацией быстро, просто и дешево, разные компании начали предлагать старые вещи в новой обертке и назвали это рекламным термином «облачный сервис».

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

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

Платформа как сервис (PaaS). Более высокий уровень абстракции. Вы больше не настраиваете операционную систему, этим занимаются знающие люди. Через панель управления можно только устанавливать свои приложения на арендованную платформу. Яркий пример такой модели — Windows Azure, который представляет облако с установленной платформой Windows.

Приложение как сервис (SaaS). Самый высокий уровень абстракции. Вы можете пользоваться только каким-то определённым приложением. Не важно, каким образом, вы будете подключаться: через браузер, тонким клиентом, или через удалённый рабочий стол — в вашем распоряжении есть только какое-то одно приложение. Это самая распространённая и самая старая модель на сегодняшний день. Например, электронная почта Gmail или Mail.ru есть ни что иное, как SaaS.

Очень остро сегодня стоит вопрос конфиденциальности данных. Многие компании стран СНГ не привыкли хранить свои проекты и клиентские базы на чужих серверах. Одно из самых распространённых заблуждений это то, что штатный системный администратор, которого они нанимают за копейки, защитит данные куда надежнее, чем компания, которая занимается предоставлением услуг и имеет штат специалистов по информационной безопасности. Локальные решения так или иначе имеют доступ к интернету, поэтому подключиться к ним проще простого. Данный факт был легко доказан разработчиками теневого поисковика Shodan, который сканирует интернет на наличие доступа в разные системы по простым паролям. С его помощью получили доступ к светофорам, системам видеонаблюдения и охраны, системам отопления. И даже к таким вещам, как охладители вина и автомойки. Дэн Тентлер, независимый специалист по проникновению в системы, в прошлом году прямо на конференции продемонстрировал, как одной командой может разморозить ледовую арену в Дании. Это всё говорит нам о том, что локальным системам не уделяют должной защиты, ведь они не предназначались для интернета, но оказались там.

Недостатками облачных сервисов являются невозможность работать в оффлайне без подключения к интернету, и, самый важный недостаток, возможность сервиса закрыться в любую минуту. Как, например, произошло с сервисом Google Reader, который закрывается 1 июля. Сотни тысяч пользователей остались без удобного и популярного rss-агрегатора. От закрытия сервиса никто не застрахован.

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

Доверять или не доверять облачным сервисам — дело каждого. Но стоит принять тот факт, что за ними не только будущее, но и настоящее.

Специально для журнала «Технологии безопасности».

Переосмысление Dotfiles

12 мая 2013, 22:58

Увидел как-то у Артёма Сапегина занятную вещь — Dotfiles. Это такой набор разных ништяков для любителей консоли. В OS X встроенный баш, по сравнению со многими линуксами, достаточно унылый. Вот и делают люди под себя удобное окружение с кучей алиасов, функций, приложений, автокомплитов и прочими радостями, которые потом публикуют в виде дотфайлсов.

Наиболее интересные собраны тут http://dotfiles.github.io.

У меня по долгу службы тоже накопился список разных удобств, состоявший из кучи баш-скриптов в /usr/local/bin и алиасов в ~/.bashrc. Решил всё собрать, аккуратно организовать, сделать установщик — в общем как у всех. Но не тут-то было.

Практически все установщики дотфайлсов заточены конкретно под их авторов, что немного неудобно, так как содержат личные авторские конфиги, ссылки и алиасы. Приходится копаться в исходниках на гитхабе и вытаскивая что-нибудь полезное для себя.

Мне же хотелось сделать что-нибудь универсальное: нужно — установил. Так и родилась идея сделать пакетный менеджер для дотфайлсов.

Установка

Для установки нужна OS X, так как используется пакетный менеджер homebrew. Позже добавлю поддержку deb-подобных ОС, всё же на серверах такая штука не помешает.

curl -Ls dotfiles.gleero.com | bash

Во время установки вас попросят отметить модули, которые нужно установить. Дотфайлс по-умолчанию установится в вашу домашнюю папку: ~/dotfiles/

Обновление и удаление

Для обновления до последней версии рекомендуется использовать

dotfiles update

А для удаления —

dotfiles remove

Модули

Все свои полезности я сгруппировал по модулям. На текущий момент их 9 (по ссылкам описание, документация и исходники):

Сейчас в разработке модули PythonTools, WebdevTools и Zsh.

Как видно, пользователь сам может выбрать то, что он хочет установить. Bash или Zsh; нужны ему подсветки синтаксиса для Nano, или он пользуется Vim’ом; нужны ему генераторы font-face и woff-шрифтов из ttf, или же virtualenv для питона — всё можно выбрать под себя.

Ништяки

Их не так много, но они действительно полезные. Часть взяты на просторах интернета, часть написаны вручную. Остановлюсь подробнее на последних.

Программы json и jsonselect

json получает в поток STD любой сжатый неотформатированный JSON, а выдаёт красивый, разноцветный, и с отступами.

jsonselect основана на библиотеке JsonSelect, которая может фильтровать JSON с помощью CSS-селекторов. Также принимает в STD любой JSON и фильтрует.

Например, мы хотим узнать список исполнителей в плейлисте http://tracksflow.com/2.0/api/playlists/3b6cbc12-99d6-4f1f-914e-f25ce7eec232. Открыв ссылку в браузере, замечаем огромную кучу разного мусора, мешающего нам получить исполнителей.

Теперь пишем в терминале:

curl -s http://tracksflow.com/2.0/api/playlists/3b6cbc12-99d6-4f1f-914e-f25ce7eec232 | jsonselect ".artistName" | json

Получаем JSON, передаём его в jsonselect и просим отдать всё по селектору «artistName». Вывод отдаём в программу json, которая красиво показывает результат. Всё.

Программа Quicklook

Открывает в родном маковском квиклуке любые данные. Есть же qlmanage, умеющий показывать любой файл. Но он определяет тип данных по расширению файла и не умеет читать файл из std. Мой же quicklook на лету определяет тип данных и правильно их показывает.

curl -s http://cs315327.vk.me/v315327003/8755/VzYcbNgtofE.jpg | quicklook

Neblo terminal

Собственно цветовая схема для терминала.

И ещё куча разных полезностей. Подробно о всех программах и возможностях написано на гитхабе.

Приватные конфиги

Начал я заметку с того, что хорошо бы свои приватные данные держать при себе. Так вот в папке с дотфайлсами можно наблюдать выделенную цветом папочку private, в которой лежат две болванки: aliases.sh и bash_profile.sh. Но можно создавать и другие, так как при открытии нового терминала подключаются все шелл-скрипты из private.

А приложения можно класть в папку bin, которая добавлена в PATH.

Создание своего модуля

Создавать свои модули просто:

cd ~/dotfiles/modules
dfmod init test

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

Модулем можно поделиться на гитхабе, установить его будет очень просто:

cd ~/dotfiles/modules/
git clone <ЛЮБОЙ_МОДУЛЬ>
dfmod install <МОДУЛЬ>

А можно пуллреквестить :-)

Заключение

Всё ещё сыро. Баги постоянно фиксятся, возможности постоянно добавляются. Но сейчас настало то время, когда можно поделиться проектом с людьми.

В ближайшем будущем планируется добавить несколько новых модулей, а также перевод документации на английский. Код частично уже переведён.

Пользуйтесь. http://github.com/gleero/dotfiles

Редизайн блога

21 апреля 2013, 15:02

Эгея — простой и замечательный движок. Тут нет тонны настроек, расширений, плагинов. Эгеей можно пользоваться сразу же после несложной установки, даже стандартная тема настолько хороша, что 90% блогов на ней и остаются.

Но я захотел ещё сильнее упростить внешний вид блога и сделал собственную тему. Разные косяки со временем буду фиксить, так как их ещё достаточно.

Случайная музыка каждый день

8 марта 2013, 22:11

Довожу до кондиции тут один связанный с музыкой проект.

Совершенно внезапным и приятным побочным эффектом стала возможность вытаскивать из айтюнс-стора случайный альбом. Прикрутил постинг на стенку паблика и повесил на крон.

Наслаждайтесь:

http://vk.com/pretunes

Счастья, Здоровья!

18 февраля 2013, 21:04

У разных социоактивных личностей бывает соцсеть напишет, что у нескольких друзьяшечек день рождения, или другой счастливый праздник. А друзьяшечки эти не близкие, искреннее поздравление для них не придумать, а на стеночку нагадить нужно, типа не забыли.
И думают эти личности: «Что бы пожелать, счастья там, здоровья, чего бы ещё?»

Вот и запилил я помощника для составления таких поздравлений «для галочки». Сайт генерирует несколько строчек, которые можно смело скопировать и запостить на стеночку без угрызения совести.

http://счастьяздоровья.рф

Присылайте интересные, глубокие, душевные и, конечно же, наркоманские пожелания на почту. Счастья вам, и здоровья!

AcronymJS

9 февраля 2013, 15:46

Тут нынче мода пошла дотошно прменять многие правила типографики в вебе. Это круто на самом деле!
Я вот тоже решил внести свою лепту и написал небольшой джейквери-плагин для перевода аббревиатур в разряженную капитель.

$("p").acronym();

Демо
Гитхаб

Обложки телешоу в новом Айтюнсе

30 ноября 2012, 14:32

То, что сгруппировали сезоны по сериалу, это, конечно, круто. Но вот обложка берётся только с первого по списку сезона. Даже если насильно выбрать другой. Баг это, или фича — доподлинно неизвестно.

Столько лет сезоны оформлял, блин. А в остальном новый Айтюнс хорош.

Ctrl +  Ранее