Pull to refresh
40
0
Кирилл Пименов @kirushik

User

Send message

GZip и nginx: влияние на производительность

Reading time2 min
Views36K
Добрый день. Недавно меня заинтересовал модуль ngx_http_gzip_static_module, и я решил погонять мой домашний сервер немного с разными настройками сжатия nginx, чтобы убедится, действительно ли современные процессоры настолько быстрые, что можно ставить сжатие в 9-тку и не париться. В качестве подопытного файла выступала слитая главная страница lenta.ru – 170кб. Во время тестирования обнаружилась интересная особенность, которая изменила мои взгляды на выбор количества процессов nginx.
Читать дальше →

К вопросу о кроссбраузерном использовании SVG

Reading time14 min
Views44K
Для векторной графики в Интернете формат SVG — самое то. Во-первых, он поддерживает масштабирование любой степени. Во-вторых, можно обращаться к любым составляющим элементам такой картинки — адресовать их, стилизовать и скриптовать. В-третьих, за исключением совсем маленьких файлов, этот формат выигрывает по компактности перед любыми растровыми представлениями, особенно если применить gzip-сжатие. В-четвёртых, сие есть стандарт W3C.

Но как поместить SVG-картинку в HTML-документ?

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

Прошивка DD-WRT на домашнем роутере

Reading time11 min
Views320K

Прошивка DD-WRT на домашнем роутере


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

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

Раскрыт самый большой секрет Skype

Reading time2 min
Views20K

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

Upd с enrupt.com:

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

Наша публикация никак не влияет на приватность звонков, сообщений или передач файлов. Они защищены с помощью AES-256, а согласование ключей происходит с помощью 1024битного RSA. Так что без паники )

В следующем месяце мы может быть выложим програмку, которая расшифровывает UDP пакеты Skype и проверяет их CRC :)
Читать дальше →

Осваиваем простейший микроконтроллер PIC. Часть 1

Reading time7 min
Views394K
Выбор микроконтроллера обычно осуществляется под необходимые задачи. Для изучения хорошо подойдет популярный МК с минимальным набором периферии: PIC16F628A.
Читать дальше →

Arduino-терминал

Reading time6 min
Views34K
Иногда тебе позарез нужен девайс, которого нет ни в одном магазине. Можно ждать и надеяться, что, когда-нибудь производители выпустят то, чего тебе так не хватает. Можно запереться в гараже, запасшись пиццей и пивом — и через десяток-другой месяцев явить миру Apple, летающий автомобиль или супер-поисковик. А можно взять Arduino и за пару викендов смастерить девайс, без которого ты как без рук. Лично мне последние полгода категорически не хватало наголовного дисплея, который подключался бы к компьютеру без гирлянд проводов. И я взяла в руки Arduino…
Читать дальше →

Замены для nginx (Web Sockets)

Reading time1 min
Views9.5K
В своё время nginx стал глотком свежего воздуха для Web-разработки.

В настоящее время, к сожалению, этот продукт тормозит развитие Web, так как является динозавром эпохи HTTP/1.0.

Если Вы используете современные возможности HTTP/1.1, или partial updates, или Web Sockets, нужна рабочая альтернатива.
Читать дальше →

Как можно легко и просто реализовать опции в Ruby on Rails

Reading time3 min
Views1.5K

Пролог


image
Наверное всем веб (а может и не только веб) разработчикам рано или поздно приходилось сталкиваться с такой задачей как опции пользователей. Что я имею ввиду проще всего показать на картинке. Под опциями будем понимать чекбоксы (то есть опция либо есть либо нет). Обычно таких опций не слишком много, порядка 2-10. Обычно их указывают при регистрации и/или редактировании профиля.

Постановка задачи


Походу разработки какого-либо проекта как правило число этих настроек (да и сами настройки) могут варироваться, так что было бы неплохо реализовать механизм этих опций так, чтобы добавлять/изменять/удалять их было максимально просто, изменив при этом как можно меньше кода. Я расскажу как можно решить и как решил эту задачу я в рамках фреймворка Ruby on Rails.
мне интересно

2000 часов в одиночестве, или как был сделан RSS reader / Я робокоп

Reading time14 min
Views6.7K
I. Am. Robocop.Всем привет,

Собираюсь поделиться с вами технической стороной того, как я за 16 недель сделал новый вебовый rss ридер, и чуть не сошел с ума.
Отходя от долгой предыстории, будем считать, что все началось в феврале этого года, когда мы с Дэвидом (dmiloshev, UI-дизайнер) решили сделать прототип нашего детища вдвоем.
«В одиночестве» — потому, что не было никаких скрамов, совещаний, «коллективного разума», а всю техническую часть, довелось делать самому.

Если бы меня попросили описать всю статью в одном предложении, то получилось бы:
No-SQL, mongodb, node.js, фак мой мозг, Evented I/O, очереди, выводы, git, nginx, memcached, Google Reader, Atom, TTL, PHP, ZF, jQuery, выводы.
Читать дальше →

Математические вычисления и графики в LyX с использованием Sage

Reading time4 min
Views5.9K
LyX — это WYSIWYM процессор документов, который прозрачным образом работает с LaTeX. То есть пользователь создаёт в этом процессоре файлы *.lyx, из которых потом создаются и компилируются *.tex.
Sage — это система компьютерной алгебры, работающая прозрачным образом с другими математическими пакетами. Основной интерфейс — командная строка, при этом используется всё многообразие возможностей python. Также доступен web-интерфейс, который можно опробовать на сайте разработчиков.
Совместное использование этих двух разработок открывает интересные возможности. Например, можно создавать отчёты, в которых вычисления, графики и аналитические выкладки будут выполняться автоматически, почти как в маткаде каком-нибудь, но с наглядной структурой LyX, гибкостью python и возможностями вёрстки LaTeX.

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

Полиморфус — самозатвердевающий пластик с низкой температурой плавления

Reading time1 min
Views54K
Не далее как сегодня koka опубликовал статью «Делаем «Самое бесполезное устройство» сами». При изготовлении девайса он использовал весьма заинтересовавший меня материал — самозатвердевающий пластик «Полиморфус» (upd — сам полимер называется поликапролактон, спасибо noonv за ссылку). Лично мне (да думаю и многим хабровчанам) давно не хватало чего-нибудь подобного для мелкого ремонта или DIY-ствования.

imageimageimage

Под катом — ссылка на сайт, занимающийся распространением «Полиморфуса» в РФ и набор видео-роликов, демонстрирующих возможности применения материала.
Так же, убедительная просьба к хабровчанам, имеющим опыт использования сего пластика или аналогов, поделиться опытом и впечатлениями в комментариях.
Читать дальше →

Индустриальная революция. Часть 3. 3D-принтер за 1000$

Reading time4 min
Views38K
В предыдущих частях перевода статьи «In the Next Industrial Revolution, Atoms Are the New Bits» вы могли узнать о виртуальных мини-фабриках и Rally Fighter – автомобиле, созданном «толпой». Сегодня я расскажу Вам о существующих 3D-принтерах и о том, как используя сайт www.alibaba.com, можно заказать и произвести в Китае практически все что угодно!

На территории бывшего пивоваренного завода в Бруклине, Бре Петтис и его команда инженеров собирают MakerBot — первый 3D-принтер стоимостью менее $1.000! В отличие от струйных принтеров, вместо чернил, MakerBot строит объекты путем выдавливания слоя расплавленного пластика (ABS Plastic) толщиной 0.33 мм. Всего 5 лет назад вы не могли получить ничего подобного менее чем за $125.000.

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

Новая версия Last.fm free music player для Google Chrome

Reading time2 min
Views2.1K
Прошел месяц с выпуска прошлой версии плагина для Google Chrome, расширяющего возможности всеми любимого Last.fm (предыдущий хабратопик), и за это время он обзавелся большим количеством новых возможностей.


Ссылка на плагин:http://goo.gl/zLP0
Читать дальше

Отдыхаем от монитора: как собрать группу и играть музыку

Reading time6 min
Views19K
Киса рубит на басуIT-технологии, конечно, хорошая и увлекательная штука. Но чем можно заняться, чтобы хоть изредка отдыхать от монитора? Спортивные пробежки, езда на велосипеде, бассейн — спорт помогает держать тело в форме. А для души? Можно рисовать картины, лепить из пластики, писать стихи. А можно играть музыку.
Сегодня я поделюсь личным опытом, на накопление которого у меня ушло некоторое время, но знай я все тонкости с самого начала — успел бы сделать больше и добиться лучших результатов за тот же отрывок времени. Преодоление подводных камней, порою, забирает ресурсов не меньше, чем сам путь.

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

Электронный документооборот или чего не стоит делать

Reading time6 min
Views33K
Я уже несколько лет занимаюсь внедрением систем электронного документооборота (СЭД). Начинал свой профессиональный путь в небольшой IT-компании, в которой работало около 10 человек. Компания внедряла коробочные решения СЭД в различных органах государственной власти. После этого я работал еще в нескольких компаниях, какие-то из них были очень даже серьезными, с серьезным подходом к проектам и серьезными бюджетами. Но независимо от масштабов компании и «раскрученности» внедряемой платформы, большинство моих проектов были нецелесообразными.
Это не значит, что все проекты были убыточны. Какие-то из них имели технико-экономическое обоснование, а какие-то даже ему соответствовали, и были действительно экономически выгодными. Но экономическая эффективность это не единственная величина определяющая целесообразность проекта.

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

Обзор свежих материалов, апрель 2010

Reading time5 min
Views1.3K
Этот материал открывает серию ежемесячных обзоров свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Уже около года регулярно собираю, публикую и расшариваю эти ссылки в тематической Friendfeed-комнате User Experience, но помимо общей ленты полезным оказался и дайджест. Это первый выпуск — апрель 2010 года.

Обзор свежих материалов, апрель 2010

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

«Интернет не станет ещё одним телевизором». (И уж точно Фидонет не станет им.)

Reading time3 min
Views2.4K
Обратите внимание на вот этот образчик современной европейской плакатной пропаганды:

[]

Этот плакат, ориентированный на внедрение идеи свободного Интернета в умы министров по телекоммуникациям в странах Европейского союза, был придуман к состоявшемуся в Гранаде неформальному, но значительному совещанию.
Вы можете выбрать и скачать многопиксельную версию плаката — чтобы распечатать на листе A3 или A2. Похоже, по умолчанию доступны только версии, надписанные на кастильском наречии; варианты на английском языке можно открыть из списка файлов, досягаемого укорачиванием URLа. Вон там, например, лежит тридцатитрёхмегабайтовая версия размером 3579×8088 пикселов.
На этом плакате я не впервые вижу изложенное средствами живописи понимание того, что Сеть, предоставленная воле корпораций, может расколоться на узкие собственнические (проприетарные) осколки: кажется, эта визуальная метафора узких огороженных пространств и прежде попадалась мне на некоторой другой карикатуре на тот современный Интернет, в котором пользователи LiveJournal и Facebook (или, например, «Одноклассников» и «ВКонтакте») неспособны на равных общаться друг с другом. Зато впервые вижу метафору «телевизора» с отдельными «каналами», совершенно отделёнными друг от друга и доступными (или недоступными) в зависимости от тарифного плана. Да, увы, это то самое будущее, к которому приведёт отказ от «сетевой нейтральности»: скажем, именно так, как указывает художник, Skype и файлообмен станут доступными только абонентам, внёсшим особую плату — как сейчас ночные телевизионные порноканалы спутникового или кабельного телевидения доступны только подписчикам этой отдельной услуги.

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

Механизмы безопасности в Linux

Reading time5 min
Views31K
В данной статье я проведу краткий экскурс в наиболее распространенные средства, связанные с безопасностью Linux. Информация предоставлена в сжатом виде, и если какое-то средство вас заинтересует, можно пройтись по ссылкам и прочитать более подробно. По заявкам пользователей некоторые механизмы можно будет рассмотреть более подробно в последующих статьях.

Будут рассмотрены следующие средства: POSIX ACL, sudo, chroot, PAM, SELinux, AppArmor, PolicyKit. Виртуализация, хотя и относится в какой-то мере к средствам безопасности, рассматриваться не будет, тем более что это отдельная обширная тема.
Читать дальше →

Мечта параноика или Еще раз о шифровании

Reading time7 min
Views101K
В свете последних событий с torrents.ru и активизации государственных группировокорганов по борьбе с пиратством, думаю многие задумались как же обезопасить себя или свой сервер на случай если придут нежданные «гости». Вот и мне подвернулась задача защитить локальный медиасервер от посягательств, проведя пару дней за гугленнием и чтением мануалов/howto — мне удалось это реализовать. Скажу сразу, статей по шифрованию очень много, но в основном они рассчитаны на шифрование только определенных разделов, либо устарели/содержат много ошибок.

ЦЕЛИ:

  1. Весь винт(винты) должны быть надежно зашифрованы
  2. На винтах не должно быть абсолютно никакой разбивки, так как будто это новый(или стертый) винт
  3. ОС должна стоять на зашифрованных разделах
  4. Должна быть возможность увеличения дискового пространства, путем добавления новых винтов
  5. Загрузка системы без ввода ключа от шифрованных данных

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

Information

Rating
Does not participate
Location
Nürnberg, Bayern, Германия
Registered
Activity