Pull to refresh
11
iav @iavread⁠-⁠only

User

Send message

Добавляем нужное в Firefox за час

Reading time4 min
Views973
Многие наверняка сталкивались с тем, что любимый браузер не умеет делать что-то очень простое, но насущно необходимое. Я хочу рассказать, как на коленке за час можно обучить FF4 хорошему. Написание расширений — процесс очень простой и даже временами приятный, но, к сожалению, документация не всегда легко находится, how-to разбросаны по разным углам сайта MDN, внятных рекомендаций мне найти тоже не удалось… Все это порождает (по крайней мере, в моей голове — породило) миф о том, что это трудоемкий процесс, доступный только гуру. Вот этот миф и призвана развеять данная статья. Мы напишем расширение, которое будет править типографику в полях ввода, обращаясь за помощью к сервису «Типограф».


Поехали!

«Типографские» раскладки клавиатуры

Reading time6 min
Views29K
По просьбам трудящихся коснёмся темы «типографских» раскладок клавиатуры. То есть, как системных средств Windows, так и сторонних программ, позволяющих вводить различные специальные символы с помощью клавиатуры (обычно, правой клавиши Alt, она же AltGr).

Большинство вспомнят раскладку Ильи Бирмана, но она не идеальна для нужд контент-менеджера или дизайнера. Заслуга её в том, что Рунету был продемонстрирован путь создания таких раскладок.

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

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

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

Аккуратная настройка клавиатуры

Reading time4 min
Views31K
Вокруг нас появляется все больше людей, которые знают, чем дефис отличается от минуса, минус от тире, а знак дюйма от кавычек. Что там говорить, мне вчера секретарша прислала письмо, оформленное типографически точно. Для того, чтобы немного приблизиться к совершенству, не обязательно отягощать себя открытым окном «дополнительные символы» и унылым копипастом оттуда.
Большинство проблем в современных оконных менеджерах решается штатными средствами. Но что делать тем, кто хочет иметь возможность в одно нажатие набирать какие-нибудь экзотические символы, наподобие знака бесконечности (∞), интеграла (∫) или карточных мастей ()?
Под катом я расскажу и как настроить клавиатуру для правильной типографики («—») штатными средствами, и как расширить возможности до быстрого набора любых символов.
Поехали!

Прекратите скручивать — 2. О способах крепления кабеля

Reading time7 min
Views563K
По заявкам слушателей, так сказать. Правильно соединить кабель — половина дела, но если он будет свободно болтаться, то долго он не проживет — или заденут, или порвут, или откусят(необязательно со злыми намерениями). А может просто под своим весом выскользнуть из соединения. А может не выскользнуть, что еще хуже — поди-ка найди место пропадания контакта. Так что эта статья расскажет о том, какими способами можно закрепить кабель так, чтоб он никуда не делся.
Да и вот такие крепления некрасивы, неудобны, и выдают непрофессионала:

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

ЛУТ на виниле или домашняя Arduino Mini

Reading time4 min
Views228K
Здравствуйте, изначально статья задумывалась как обзор плоттерного винила Oracal 651 в качестве замены фотобумаги для переноса тонера. Однако, в качестве примера я выбрал самодельную версию Arduino Mini (ATMega8) и решил довести статью до логического завершения.



Винил выгодно отличается от фотобумаги и разного рода подложек — процесс изготовления платы становится менее трудоемким и более экономичным, о самом ЛУТ можно почитать здесь.
Внимание, много фотографий!

Я не хочу быть частью вашей (чертовой) экосистемы

Reading time3 min
Views52K
Я болтал с другом и он выразил то, что я думаю является общим мнением.

Ну, да, я хотел бы перейти на Android – но весь мой контент в iTunes.


И я осознал, что проблема то на самом деле не в приложениях – покупать их снова было бы неприятно, но большинство из них бесплатны. Главная трудность в медиа контенте, который и заставляет людей оставаться с сервисами, с которыми они оставаться больше не хотят.

Музыка, кино, сериалы и подписка на подкасты. Все привязано к маленькой экосистеме Apple. Очень красивая маленькая петелька, чтобы держать людей привязанными к их железу.

Представь только на момент, что проигрыватель DVD от Sony проигрывал бы только фильмы Sony Movies. И если бы ты решился купить новый плеер от Samsung, то ни один из фильмов не показывался бы на новом устройстве, по крайней мере, без серьезных махинаций.

Это и есть «огороженный сад», в который многие компании пытаются нас затащить в настоящий момент. И я думаю, что это идиотизм.
Читать дальше →

«Игрушечная» картография или 3D карты своими руками

Reading time4 min
Views11K
Около полутора лет назад на Хабре был размещен пост про уникальные карты китайского поисковика Baidu (для тех, кто не видел, вот он: http://habrahabr.ru/post/115107/). Я был поражен тем, насколько кропотливо, детально и красиво эти карты сделаны, поэтому однажды мы, вместе с группой товарищей, решили разобраться в процессе создания Baidu-карт и сделать собственные карты всего мира, которые выглядели бы так же круто. Под катом много картинок, раскрытие секрета Baidu-подобных карт и то, что получилось у нас.



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

Как не заболеть интернет-аутизмом?

Reading time3 min
Views36K
Побывав однажды на одном ИТ-чемпионате, я поразился тому, насколько люди были замкнутые (не все, но многие). Т.е. в твиттере такие посты пишет, но выйти на сцену за законным своим призом человек еле смог. Да и так получилось, что и моя работа последние несколько лет в основном только в интернете. И все опасности онлайн-закрытости я тоже постоянно испытываю на себе.

image

Данная заметка не ответ, а, скорее вопрос о том, как с этим борются те, кто живет в онлайне?

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

Возвращаемся на раздачу или как сделать невозможное

Reading time14 min
Views75K

Предыстория


Не так давно, а именно 5 июня хабрачеловек по имени alan008 задал вопрос. Чтобы не заставлять ходить за подробностями, приведу его здесь:

Нужна помощь!

За несколько лет с разных трекеров (преимущественно c rutracker'а) разными клиентами (преимущественно uTorrent'ом) скачано много гигабайт разного полезного контента. Скачанные файлы впоследствии вручную перемещались с одного диска на другой, uTorrent их соответственно не видит. Многие .torrent файлы устарели сами по себе (например, велась раздача сериала путем добавления новых серий заменой .torrent файла).

Теперь сам вопрос: есть ли способ автоматически (не вручную) установить соответствие между имеющимися на компьютере .torrent файлами и содержимым, раскиданным по разным логическим дискам компьютера? Цель: удалить лишние (неактуальные) .torrent файлы, а для актуальных — поставить всё на раздачу. У кого какие идеи? :)

При необходимости (если это требуется) можно снова поместить все файлы данных в один каталог на одном логическом диске.

В обсуждениях сошлись на том, что если это и можно сделать, то только ручками. Мне же этот вопрос показался интересным, и после возвращения из отпуска я нашел время, чтобы в нем разобраться.

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

Прежде чем начать, стоит отметить несколько моментов:
  1. Получилось много, но не все.
  2. По формату файла .torrent будут даны лишь необходимые пояснения.
  3. Людей, чувствительных к временами некачественному коду, прошу меня заранее простить — я знаю, что многое можно было написать лучше, оптимальнее и безглючнее.

Для тех, кому интересно, что из этого получилось, технические подробности и подводные камни — прошу под кат.
Читать дальше →

Правильный расчет для VDI (часть 1)

Reading time6 min
Views47K
Представляю вам серию из двух постов, где я постараюсь рассказать о разработке довольно типового решения VDI для предприятия среднего размера. В первой части – подготовка к внедрению, планирование; во второй – реальные практически примеры.

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

Например, у одного из заказчиков, крупной отечественной софтверной компании, имеется довольно большой парк серверов и систем хранения. В том числе — несколько серверов HP ProLiant 6-го и 7-го поколения и система хранения HP EVA, которые были в резерве. Именно на их базе нужно было разработать решение.
Озвученными требованиями к решению VDI были:

  • Floating Desktops Pool (с сохранением изменений после окончания сессии);
  • Начальная конфигурация — 700 пользователей, с расширением до 1000.

Мне предстояло просчитать какое количество серверов и систем хранения в итоге перейдут из резерва в состав решения.
В качестве среды виртуализации выбрана VMware. Схема работы получилась примерно такая:
Читать дальше →

Обзор инструментов для визуального сравнения и разрешения конфликтов слияния

Reading time6 min
Views143K
На хабре уже было много статей о распределенных системах управления версиями (DVCS), их сравнений, а также сравнений GUI-клиентов для них. Также были обсуждения плагинов к IDE для работы с git и mercurial. Но практически не было информации об инструментах визуального сравнения и разрешения конфликтов слияния.

diff and merge
Недавно я «перескочил» с mercurial (который до сих пор считаю более удобным и логичным) на git, потому что, подавляющее большинство проектов, которые мне интересны, используют git и хостятся на github. В связи с этим, встал вопрос о пересмотре арсенала инструментов, в частности вопрос выбора инструмента визуального сравнения и слияния (diff and merge). Дабы восполнить недостаток информации на хабре, я решил написать этот мини-обзор. Как говориться — по горячим следам.

Под катом Вы также найдете примеры настроек Git для использования с DiffMerge и WinMerge под Windows. Думаю многим сэкономит время.
Читать дальше →

Атака пользователей WLAN через rogue-сервисы, или почему PSK — не самый лучший выбор для гостиницы

Reading time6 min
Views15K
В этом посте хочу поделиться историей одной гениально простой атаки, которую наблюдал в прошлом году, и обсудить последствия. Здесь не будет «мяса» для хакеров, но будет:
  • Плюс одна поучительная байка в коллекцию «для бесед с пользователями» админам и безопасникам.
  • Почему в беспроводных сетях защищать нужно не только LAN от WLAN, и зачем нужен т.н. Wireless Firewall.
  • Рекомендации, как построить публичную сеть Wi-Fi для избежания подобных проблем.
  • Почему в гостиницах и других публичных сетях даже незашифрованный Captive Portal может оказаться предпочтительнее шифрования с PSK.

В принципе, все актуально и для корпоративных сетей, но для них я уже писал. А тут соседний пост заставил глянуть на проблему под несколько иным углом.
Читать дальше →

Как должны выглядеть Android приложения?

Reading time7 min
Views31K
Платформа Android не имеет жестких рекомендаций, как должны выглядеть и работать приложения. Google с самого начала дал ясно понять, что у них нет планов начать диктовать, что приемлемо, а что нет. Существует набор UI рекомендаций, но они в основном концентрируются на мелочах вроде значков, виджетов и меню.
Читать дальше →

Управляем чайником из браузера или как я интернет-розетку делал

Reading time5 min
Views165K

В этой статье я хочу рассказать о моем опыте создании управляемой розетки. Не GSM(это всем надоело, да и слишком просто — читай sms да дергай пинами), а управляемой через браузер, с помощью кнопочек на HTML-страничке.

Итак, какой же путь должен проделать сигнал, чтоб включить чайник?
Нажатие кнопки на странице -> переход по ссылке и отработка web-сервера -> выполнение CGI скрипта -> передача команды по UART контроллеру -> появление напряжение на пине -> срабатывание реле, которое включает чайник.

Рассмотрим все по порядку.
Читать дальше →

Поиск по торрентам в DHT-сети

Reading time4 min
Views158K
Мало найдётся людей среди пользователей и читателей Хабра, которым не доводилось бы пользоваться торрентами. И наверняка многие понимают уязвимость центральных звеньев этой системы — торрент-трекеров (истории с Пиратской бухтой и бывшим torrents.ru, ныне рутрекером, — тому подтверждение).

Однако не все знают, что уже давно существует альтернатива традиционным трекерам — DHT-сеть, позволяющая организовывать раздачи без трекера. До сих пор она не получила большого распространения из-за невозможности поиска внутри сети — нужный файл можно было скачать только при наличии magnet-линка раздачи. Однако недавно появился первый и уникальный пока поисковый сервис по DHT-сети BTDigg.org.

Сервис с весьма лаконичным дизайном заточен под одну функцию — поиск:


Поисковик по хэшам торрентов


Чтобы снизить зависимость от трекеров, в 2007 году разработчиками протокола bittorrent была принята его модификация на основе DHT-структуры, которая позволяла делать раздачи без трекера.

Что такое DHT-сеть? Фактически, это распределённая сеть торрент-клиентов, которая хранит идентификаторы (хеши) всех публичных раздач — т.н. magnet-link, которые представляют собой 160-битное случайное число. DHT-узлы клиентов отвечают за анонсирование своих торрентов и за поиск запрашиваемых. Благодаря тому, что все современные клиенты поддерживают DHT, можно сказать, что в этой сети есть практические все публичные торренты (приватные торренты сеть «не видит» и не позволяет скачивать). Практически — потому что DHT в клиенте может быть отключен. Поиск идёт по мета-информации, которую содержит в себе торрент-файл — то есть, проще говоря, он ищет по названию торрента и по названиям файлов входящих в него. Пользователь открывает magnet-линк в своём торрент-клиенте, тот находит всех раздающих файл и дальше качает как обычно — участия трекера в этой цепочке нет.

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

Памятка пользователям ssh

Reading time13 min
Views1.6M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

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

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →

PostgreSQL vs Oracle

Reading time3 min
Views63K

Сравнение с точки зрения разработчика




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

XBMC: домашний кинотеатр под Android

Reading time1 min
Views128K


Наконец-то портирован под Android самый лучший кросс-платформенный медиацентр XBMC (официальный анонс). Это идеальная программа для организации DIY домашнего кинотеатра: с открытым исходным кодом, открытым API, расширениями на Python. Например, можно написать скрипт для скачивания торрентов и раскладывания по папкам или расширение для воспроизведения онлайн-торрентов. Существуют сотни аддонов разного назначения, которыми люди обмениваются на форумах.

Набор функций XBMC для Android такой же, как под другие платформы. Это не пульт дистанционного управления, не клиент, а полнофункциональный медиацентр.
Читать дальше →

Альтернатива Arduino от Texas Instruments за $4.30

Reading time2 min
Views77K
Как известно, конкуренция среди производителей микроконтроллеров весьма высока. Каждый старается завлечь потребителей низкой ценой и расширенным функционалом своих камней.

Компания Texas Instruments, для продвижения в массы своих контроллеров MSP430, предлагает дешевую ($4.30) отладочную плату LaunchPad (MSP-EXP430G2). Внешне она напоминает Arduino, но, естественно, с ней не совместима. В комплекте с платой щедрые техасцы кладут сразу два своих микроконтроллера серии Value Line в DIP-корпусах: msp430g2553 и msp430g2452.

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

Information

Rating
Does not participate
Registered
Activity