Pull to refresh
0
0
Send message

Жги кровососа!

Reading time1 min
Views1.9K
image

Найдется немало людей, которые ненавидят комаров не меньше, чем парнишка на фотографии. Однако не всякий рискнет расправляться с надоедливыми тварями так, как это делает он. Тем не менее, вот рецепт антимоскитного огнемета: берем любой аэрозоль, крепим к зажигалке, вставляем все это в держатель, сделанный из велосипедного руля, и настраиваем так, чтобы при нажатии ручки тормоза аэрозоль распылялся на зажженную зажигалку. Про пожаро- и взрывоопасность говорить не будем, и «не пытайтесь повторить самостоятельно» – тоже… Все равно ж попробуете.

via craziestgadgets.com

Rounded corners HTML+CSS+jQuery

Reading time1 min
Views1.2K
Закругленные уголки опять волнуют хабравчан, за последние 24 часа наблюдал 2 интересных топика с различными способа закругления этих самых уголков. Решил показать то, чем пользуюсь сам.
Сразу хочу оговориться, что я не претендую на уникальность данного способа, но додумался до него сам.
image
Читать дальше →

Роскомнадзор перешел на новый уровень маразма

Reading time1 min
Views121K
Судя по опубликованной сегодня записи в журнале Артемия Лебедева, Роскомнадзор превзошел сам себя. Сотрудники этой прекрасной организации умудрились найти что-то порочное в социальном ролике Dumb Ways to Die, созданном по заказу сети австралийского метрополитена. Цель ролика — донести простейший, в общем-то, смысл банальной осторожности и осмотрительности, причем не только в метро, но и по жизни в целом. Однако Роскомнадзор, такие глупости, разумеется, не интересуют, и они прицепились к тексту песни, где перечисляются способы как можно глупее уйти из жизни, скушав клей или просроченный пирожок.
Читать дальше →

Как заставить Time Machine бэкапить на сетевой диск

Reading time2 min
Views82K
Недавно решил отделиться от «Wi-Fi соседей» и перебраться в 5 Ghz, для чего был приобретен роутер Cisco Linksys EA4500. К роутеру можно подсоединить USB Storage, который раздается через SMB и FTP. Захотелось заставить Time Machine делать бэкапы на это чудо устройство. В результате гугления долго не получалось заставить Time Machine от Mac OS X Mountain Lion порадовать меня, пока не наткнулся на одну статью, адаптивный перевод которой и представляю вам для ознакомления ниже.
Читать дальше →

Growl для Windows

Reading time2 min
Views6K
Что такое Growl, пользователям Mac OS объяснять нет смысла. Для остальных же скажу, что это универсальная глобальная система оповещения пользователя в ОС Mac OS. Данная программа позволяет выводить на экран сообщения от различных программ в едином стиле, будь то jabber-клиент, почтовый клиент или проигрыватель музыки. Список поддерживаемых программ легко расширяется за счет плагинов. Есть возможность настраивать внешний вид сообщений, а так же редактировать список отображаемых событий, на которые будут вызываться оповещения.

На самом деле, это очень удобно, наблюдать в заданном месте экрана сообщения об окончании загрузки, новом письме или новом сообщении в icq. Поэтому после перехода с домашней Mac OS на рабочую Windows XP, мне стало жутко не хватать данного функционала (к хорошему быстро привыкаешь).
подробности

Про системного администратора, обыск в его квартире и незаконное изъятие компьютерной техники

Reading time8 min
Views14K
imageДобрый день, уважаемые хабралюди!
Сегодня мы хотим рассказать вам историю о том, как один системный администратор добился признания через суд действий сотрудников милиции незаконными и заставил вернуть ему изъятый компьютер и кучу носителей со служебной информацией.

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

Исследуем китайские роутеры на RT5350

Reading time7 min
Views140K
Однажды, lolipop купил роутер на алиэкспрессе. Да не простой роутер, а очень компактный и дешевый, с 2 Ethernet-портами, USB, да еще и от фирмы, которая в начале 2000-х продавала свои mp3-плееры на территории РФ: Nexx WT1520H.
image
Стандартная прошивка, как и почти всегда, была скудная, и, конечно же, хотелось заменить ее на что-то более вменяемое. Но вот незадача — никаких альтернативных прошивок под роутер нет, и прошить непонятно как, т.к. никакие другие прошивки не принимались через веб-интерфейс, заголовок прошивки я раньше такой не видел, да и binwalk ничего в ней не находил, стало быть, она зашифрована:
00000000  32 33 35 30 6b d9 39 00  00 00 0e 02 00 00 00 00  |2350k.9.........|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 3e 19 53 c5  |............>.S.|
00000020  63 f5 51 9f 82 74 2d 03  2e 2f 1f 32 9c 4a 93 96  |c.Q..t-../.2.J..|
00000030  15 82 23 d0 b2 7e d7 1b  13 c3 1b 1f 06 fa f8 e0  |..#..~..........|
00000040  bb 43 9b c6 ee fc 4b 7a  e6 50 71 2b f4 f3 95 c3  |.C....Kz.Pq+....|
00000050  63 d0 a3 9c 92 2e 16 c6  19 1c 4a 93 cb 95 c3 63  |c.........J....c|
00000060  d2 9b 1a f5 2e 16 c6 19  1c 4a 93 f9 68 3c 9c 73  |.........J..h<.s|
00000070  14 63 d5 10 5e d3 6b 25  2b c2 2e 07 eb 85 73 25  |.c..^.k%+.....s%|
00000080  9b 6b c0 f2 d8 9b cf 65  56 ac a9 c2 28 61 dd 55  |.k.....eV...(a.U|
00000090  18 a4 5b e9 ba 11 93 ec  30 76 4f 40 c1 f0 7c cb  |..[.....0vO@..|.|
000000a0  36 d3 b3 93 fe 3d 6b 10  66 fa 43 39 f2 f6 c0 91  |6....=k.f.C9....|

lolipop слил данные с флешки через программатор, и мы начали в них ковыряться.
Читать дальше →

Несколько интересностей и полезностей для веб-разработчика #28

Reading time5 min
Views47K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

roBrowser



roBrowser — open source клон клиента достаточно популярной MMORPG игры Ragnarok Online в браузере. Проект разрабатывается по последним стандартам W3C — WebGL, HTML5, File API, Javascript, Threads… Небольшой ролик с демонстрацией игры:


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

Несколько интересностей и полезностей для веб-разработчика #22

Reading time4 min
Views38K
Доброго времени, суток уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Awesome Awesomeness


В прошедшие несколько недель мне регулярно попадались Awesome-* проекты, о которых я упоминал в последних подборках. Началось все с Awesome-PHP, потом появились «живые списки» полезностей для сисадминов и питонистов. Все заметили положительную тенденцию и как по желанию это переросло в целый тренд. Сейчас есть коллекции инструментов для языков Ruby, Go, NodeJS, JavaScript, Java, Scala, Bash и др. Уже даже существуют подобные наборы для целых направлениям в ИТ, к примеру Big Data. Awesome Awesomeness — это живой список живых списков всего самого необходимого для разработчика из той или иной сферы.

Breach — полноценный браузер на JavaScript




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

Разлочиваем велокомпьютер VDO A4 до A8

Reading time3 min
Views67K
image

Как заплатить 600 рублей и получить функциональности на 1200? Наверное всем известен способ «апгрейда» велокомпьютера — ставим 2 магнитика на колесо и скорость удваивается, но мы пойдём другим путём. Увеличим количество функций велокомпьютера вдвое одним движением отвёртки.
Читать дальше →

Приводим в порядок css-код. Опыт Яндекса

Reading time6 min
Views90K
Всем привет!

Я работаю над фронтендом огромного проекта — поисковой выдачи Яндекса. И у нас, как и у любого другого большого веб-проекта, есть огромное количество css-кода и немаленькая команда, которая с ним взаимодействует.

Когда много людей, используя разные инструменты, пишут и редактируют css, со временем этот css может получиться очень запутанным, неконсистентым и в целом начинает выглядеть плохо. Например, кому-то удобнее писать вендорные префиксы в одном порядке, кому-то — в другом, кто-то ставит кавычки вокруг url, кто-то — нет, а кто-нибудь фикся срочную багу к релизу мог бы, к примеру, написать position: relative в начале блока свойств, незаметив что где-нибудь внизу между color и box-shadow, уже есть position: absolute, и долго гадать, почему у него ничего не работает.



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

Как мы этого добились, можно прочитать под катом.
Читать дальше →

Steam Files. Часть 1 — GCF/NCF

Reading time21 min
Views22K
Steam LogoКак и обещал в предыдущей статье, начинаю публиковать статьи о той части инфраструктуры Steam, которую смогло открыть Anti-Steam сообщество путём реверс-инжиниринга и продолжительных мозговых штурмов.

Файлы формата GCF до недавнего времени являлись стандартом для всех игр, выпускаемых компанией VALVE, а NCF — для всех остальных. Сами по себе эти файлы представляют образ файловой системы с несколькими уровнями защиты. Отличие NCF от GCF заключается в том, что первые содержат только заголовки, а файлы, принадлежащие им, расположены в отдельном каталоге (<каталог Steam>/SteamApps/common/<имя игры>). Поэтому описывать буду GCF, а все особенности NCF приведу после.

В данной статье я подробно разберу структуру данных файлов и работу с ними на примере своей библиотеки (ссылка на неё — в конце статьи). Начало будет достаточно скучным — описание структур и назначения их полей. Самое «вкусное» будет после них…

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

Реверс-инжиниринг для самых маленьких: взлом кейгена

Reading time8 min
Views112K
Этот пост будет интересно действительно тем, кто только начинает интересоваться этой темой. У людей с опытом он, возможно, вызовет только зевки. За исключением разве что, может быть, эпилога
Реверс-инжиниринг в той менее легальной части, где он не касается отладки и оптимизации собственного продукта, касается в том числе и такой задачи: «узнать, а как у них это работает». Иначе говоря, восстановление исходного алгоритма программы, имея на руках ее исполнимый файл.
Для того, чтобы держаться азов и избежать некоторых проблем — «взломаем» не что-нибудь, а… кейген. В 90% он не будет запакован, зашифрован или иным способом защищен — в том числе и нормами международного права…
Читать дальше →

Несколько интересностей и полезностей для веб-разработчика #15

Reading time3 min
Views25K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Bitcore


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

Валидация биткоин адреса:
var bitcore = require('bitcore');
var Address = bitcore.Address;

var addr = new Address("1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa");

console.log(addr.isValid());


Мониторинг блоков и транзакций
var bitcore = require('bitcore');
var networks = bitcore.networks;
var Peer = bitcore.Peer;
var PeerManager = require('soop').load('bitcore/PeerManager', {
  network: networks.testnet
});

var handleBlock = function(info) {
  console.log('** Block Received **');
  console.log(info.message);
};

var handleTx = function(info) {
  var tx = info.message.tx.getStandardizedObject();

  console.log('** TX Received **');
  console.log(tx);
};

var handleInv = function(info) {
  console.log('** Inv **');
  console.log(info.message);

  var invs = info.message.invs;
  info.conn.sendGetData(invs);
};

var peerman = new PeerManager();

peerman.addPeer(new Peer('127.0.0.1', 18333));

peerman.on('connection', function(conn) {
  conn.on('inv', handleInv);
  conn.on('block', handleBlock);
  conn.on('tx', handleTx);
});

peerman.start();



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

Расширение и компоновка директив

Reading time4 min
Views18K
Про директивы много написано, но мало о том как писать их правильно. Поделюсь опытом.

Хорошо написанная директива должна
  • решать одну задачу
  • легко расширяться
  • не конфликтовать с другими директивами


Разберем каждый пункт на примере поля для ввода пароля (думаю, всем знакомо поле с глазиком)

image

<input ng-model="user.password"
       ng-minlength="6"
       form-password
       form-error="Не менее 6 символов">


Сколько директив используется?
Читать дальше →

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

Reading time4 min
Views20K
Пол Хаммонд (Paul Hammond) написал большую статью под названием «Ускорь свой сайт с применением отложенной загрузки контента» (Speed Up Your Site with Delayed Content). В своем материале он изложил технику для погрузки части содержимого, такого как изображения аватаров профилей пользователя в комментариях, после первоначальной загрузки страницы, что дает хороший прирост производительности при загрузке страницы.

Есть и другие ситуации, когда отложенная загрузка контента может быть применена, например в адаптивном веб-дизайне.

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

Критическая уязвимость в OpenSSL 1.0.1 и 1.0.2-beta

Reading time2 min
Views147K

Несколько часов назад сотрудники The OpenSSL Project выпустили бюллетень безопасности, в котором сообщается о критической уязвимости CVE-2014-0160 в популярной криптографической библиотеке OpenSSL.

Уязвимость связана с отсутствием необходимой проверки границ в одной из процедур расширения Heartbeat (RFC6520) для протокола TLS/DTLS. Из-за этой маленькой ошибки одного программиста кто угодно получает прямой доступ к оперативной памяти компьютеров, чьи коммуникации «защищены» уязвимой версией OpenSSL. В том числе, злоумышленник получает доступ к секретным ключам, именам и паролям пользователей и всему контенту, который должен передаваться в зашифрованном виде. При этом не остается никаких следов проникновения в систему.
Читать дальше →

Несколько интересностей и полезностей для веб-разработчика (выпуск 9)

Reading time3 min
Views38K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Docpad



«Нашумевший» проект в Twitter и GitHub. По заявлению разработчиков «Docpad снимает ограничения и убирает разрыв между профессионалами и новичками. Теперь дизайнеры и разработчики могут создавать веб-сайты быстрее, чем когда-либо прежде». Docpad — это статический генератор сайтов написанный на Node.js. Он позволяет с легкостью создавать шаблоны и блоки. Работает c PHP, Ruby, CoffeeScript и др. В нем есть file wathing, live reload и самое главное «amazing plugin system». Большим плюсом является обучающее видео (хоть и на английском).
Видео: Rapid Web Development with DocPad


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

Избавление нашего мира от длинных теней

Reading time3 min
Views19K
Статья описывает практический пример удаления длинных теней с иконок с помощью юзерстилей или юзерскриптов. Имеются ссылки на работающие на сайтах (habrastorage.org, toster.ru, tmtm.ru) стили и скрипты. UPD 31.05.2014: добавлены стили на habr.ru и freelansim.ru. Загружать здесь — найти среди файлов, выбрать Raw, прямая ссылка.

Пришельцы (длинные тени) появились на окраинах нашего города. Если представить их высоту в лучах заходящего солнца, сознание отказывается строить эту картину.
Пришельцы должны быть удалены, иначе наш мир навсегда станет другим, неестественно рельефным. («Тостер» — это уже не наша территория, поэтому сильно беспокоиться о ней не нужно. Там длинные тени, может быть, придутся к месту, как и произвольного качества вопросы и ответы.) Сейчас санации требуют 2 мутанта — логотип «Habrastorage» и рисунок облака.

Чем опасны длинные тени?

Добавляем кириллицу в шрифт Source Sans Pro для Bootstrap-темы Lumen

Reading time4 min
Views32K
В каталоге бесплатных тем для Bootstrap есть симпатичная тема Lumen, в ней используется шрифт Source Sans Pro, в котором «из коробки» отсутствует кириллица. Эту проблему можно частично решить самостоятельно, скомпилировав шрифт из исходников. Почему частично — см. заключение.

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

Information

Rating
Does not participate
Registered
Activity