В довольно длинном и скучном посте описывается пример аутентификации пользователя в веб-приложениях при помощи биометрических средств (FaceID, отпечаток пальца), встроенных в мобильные телефоны. Код проекта - тут, рабочее демо - тут. Пример написан на чистом JavaScript и может быть отдебажен как на бэке (nodejs), так и в браузере.
noskain @noskain
Пользователь
Netgear WNR3500L: Превращаем роутер в NAS
6 min
76KИстория покупки роутера Netgear WNR3500L похожа на поговорку автолюбителей: тюнинг автомобиля начинается после дтп. Так и в моем случае. Старенький и глючный D-Link DIR300 умер смертью храбрых (скорее всего перегрев от нагрузки). Так как работал он, мягко говоря, неудовлетворительно, было решено купить железку помощнее и посовременнее.
Среди претендентов оказались 3 модели: Asus N16, Linksys WRT160NL и Netgear WNR3500L. Все они удовлетворяли нескольким критериям: быстрый процессор, много оперативки, USB для подключения жесткого диска и возможность установки альтернативных прошивок. Несмотря на большую любовь к марке Linksys, выбор пал в сторону Netgear. Причина проста: линксисов попросту нигде не было в наличии, асус купили прямо у меня перед носом, а роутер был очень нужен. В качестве накопителя был выбран 3.5” WD Elements на 1.5ТБ.
WNR3500L позиционируется компанией Netgear как open source роутер. Самые популярные прошивки для него – это Tomato, OpenWRT и DD-WRT. Я остановился на DD-WRT. Она понравилась мне как по скорости, так и по функционалу, который расширяется установкой пакетов Optware. Ранее на хабре уже раскрывалась тема установки Samba на DD-WRT (прямо вот тут), но в этом топике я постараюсь как можно полнее раскрыть вопрос установки и начальной настройки данного роутера по методу, который наши иностранные коллеги называют «The Right Way».
Среди претендентов оказались 3 модели: Asus N16, Linksys WRT160NL и Netgear WNR3500L. Все они удовлетворяли нескольким критериям: быстрый процессор, много оперативки, USB для подключения жесткого диска и возможность установки альтернативных прошивок. Несмотря на большую любовь к марке Linksys, выбор пал в сторону Netgear. Причина проста: линксисов попросту нигде не было в наличии, асус купили прямо у меня перед носом, а роутер был очень нужен. В качестве накопителя был выбран 3.5” WD Elements на 1.5ТБ.
WNR3500L позиционируется компанией Netgear как open source роутер. Самые популярные прошивки для него – это Tomato, OpenWRT и DD-WRT. Я остановился на DD-WRT. Она понравилась мне как по скорости, так и по функционалу, который расширяется установкой пакетов Optware. Ранее на хабре уже раскрывалась тема установки Samba на DD-WRT (прямо вот тут), но в этом топике я постараюсь как можно полнее раскрыть вопрос установки и начальной настройки данного роутера по методу, который наши иностранные коллеги называют «The Right Way».
+51
Инструменты скринкастинга (Windows)
8 min
64KЗдравствуйте, друзья!
Итак, в последние дни меня очень сильно заинтересовал скринкастинг как жанр подкастинга. Если быть точнее, то я бы отнес скринкастинг к видеоподкастингу. Весьма своеобразному.
Что же такое скринкаст? (Дурацкое клише — задавать вопросы самому себе и отвечать! больше не буду...) Скринкаст — от англ. screen — экран и cast как и в случае podcast — корень broadcast — вещать. То есть буквально — экрановещание. Скринкаст это видеозапись того, что происходит на экране со звуковыми или текстовыми комментариями. Как если бы вещающий сидел рядом с вами и показывал действие на реальном компьютере и при этом что-то объяснял.
Итак, в последние дни меня очень сильно заинтересовал скринкастинг как жанр подкастинга. Если быть точнее, то я бы отнес скринкастинг к видеоподкастингу. Весьма своеобразному.
Что же такое скринкаст? (Дурацкое клише — задавать вопросы самому себе и отвечать! больше не буду...) Скринкаст — от англ. screen — экран и cast как и в случае podcast — корень broadcast — вещать. То есть буквально — экрановещание. Скринкаст это видеозапись того, что происходит на экране со звуковыми или текстовыми комментариями. Как если бы вещающий сидел рядом с вами и показывал действие на реальном компьютере и при этом что-то объяснял.
+70
Создание FB2 версии свежего номера журнала/газеты
3 min
7.6KПредыстория
Последнее время всё больше журналов и газет выкладывают свои свежие номера в сеть (Ведомости, Эксперт, Esquire и т.п.). Все хорошо с этими номерами за одним исключением — что бы их читать нужен интернет.
С интернетом проблема в том что он не везде есть (метро) и не каждое устройство его видит (большинство e-ink ридеров).
В связи с этим родилась мысль о том что не плохо бы делать копии периодики в виде электронных книжек (например в FB2 формате).
+74
Анонс книг 7'2010
10 min
2.6KРоссийские и зарубежные издательства трудятся во всю на благо простых разработчиков и выпускают десятки книг в месяц из самых разных областей компьютерной науки. При этом, как и во многих других областях, процент качественного товара остается на определенном (не слишком высоком) уровне. Прежде чем пойти в магазин и купить книгу (да, я в этом вопросе старомоден и не понимаю, как можно читать хорошую техническую книгу в электронном виде) приходится потратить солидное время на изучение того, стоит ли она потраченных средств и усилий.
Прежде чем выбрать книгу я точно так же пытаюсь выяснить ответ на этот вопрос с помощью некоторых критериев, которыми являются «перекрестные ссылки» авторитетных авторов друг на друга, имя самого автора (мало кто сомневается в качестве очередной книги Джеффри Рихтера, его книги можно брать практически не раздумывая), а также рецензии, желательно, так же известных людей.
За последнее время вышло (или собирается выйти) достаточное количество интересных книг, как на русском, так и на английском языках, поэтому я решил сделать подборку книг, которые я либо совсем недавно приобрел, либо с удовольствием бы сделал это в самое ближайшее время. С некоторыми из представленных ниже книг я в той или иной степени знаком лично и мое мнение является более обоснованным, в некоторых других случаях я основываюсь на приведенных выше критериях, поэтому мое мнение вполне может быть не слишком точным (хотя мое мнение в любом случае может не совпасть с вашим). Представленный ниже список – это такой себе wish list из новинок компьютерной литературы, который может стать отправной точкой при выборе книги другими специалистами.
(Оригинал: Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall, 2008)
Прежде чем выбрать книгу я точно так же пытаюсь выяснить ответ на этот вопрос с помощью некоторых критериев, которыми являются «перекрестные ссылки» авторитетных авторов друг на друга, имя самого автора (мало кто сомневается в качестве очередной книги Джеффри Рихтера, его книги можно брать практически не раздумывая), а также рецензии, желательно, так же известных людей.
За последнее время вышло (или собирается выйти) достаточное количество интересных книг, как на русском, так и на английском языках, поэтому я решил сделать подборку книг, которые я либо совсем недавно приобрел, либо с удовольствием бы сделал это в самое ближайшее время. С некоторыми из представленных ниже книг я в той или иной степени знаком лично и мое мнение является более обоснованным, в некоторых других случаях я основываюсь на приведенных выше критериях, поэтому мое мнение вполне может быть не слишком точным (хотя мое мнение в любом случае может не совпасть с вашим). Представленный ниже список – это такой себе wish list из новинок компьютерной литературы, который может стать отправной точкой при выборе книги другими специалистами.
Р. Мартин. Чистый код: создание, анализ и рефакторинг. Питер. 2010
(Оригинал: Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship, Prentice Hall, 2008)
+54
Обзор GuruPlug Server Plus
2 min
3.7KКо мне наконец-то доехал заказанный еще в в конце апреля у New IT GuruPlug Server Plus. Отравили его в результате всех перепетий с вулканом только в мае, а добрался он до моего почтового отделения только в июле. Правда многим повезло еще меньше, так-как заказы после 1500 цифры были отложены еще на два месяца. Но это все лирика перейдем к самому серверу в розетке.
+36
С 1 июля — беспошлинный ввоз товаров до 1000 евро (было: 5-10 тысяч рублей)
1 min
48KC 1 июля в России и Казахстане вступает в силу "Соглашение о порядке перемещения физическими лицами товаров для личного пользования через таможенную границу таможенного союза и совершения таможенных операций, связанных с их выпуском".
Для простых смертных это означает возможность свободно импортировать покупки до 1000 евро из любимых интернет-магазинов за границей, без необходимости платить налог 30%, и проходить сложную процедуру растаможивания (впрочем, посылка может застрять на таможне даже в случае, если платить налог не надо). Это нововведение может радикально отразиться на рынке техники, т.к. стоимость покупки на Amazon с доставкой для большинства товаров может оказаться в 2 раза дешевле, чем покупка в России (даже при использовании быстрой доставки). Для покупок с доставкой только внутри США можно использовать сервисы переадресации. Например, MYUS.COM.
Для простых смертных это означает возможность свободно импортировать покупки до 1000 евро из любимых интернет-магазинов за границей, без необходимости платить налог 30%, и проходить сложную процедуру растаможивания (впрочем, посылка может застрять на таможне даже в случае, если платить налог не надо). Это нововведение может радикально отразиться на рынке техники, т.к. стоимость покупки на Amazon с доставкой для большинства товаров может оказаться в 2 раза дешевле, чем покупка в России (даже при использовании быстрой доставки). Для покупок с доставкой только внутри США можно использовать сервисы переадресации. Например, MYUS.COM.
+233
Офис компании Boomburum
19 min
410KОсторожно, трафик! Но можно хотя бы посмотреть картинки )
Идея создать дома свой «рабочий кабинет» у меня зрела давно – как-то сам дошел до осознания его необходимости, хотя немалый вклад в начинания сделал этот давний пост на Хабре. У меня было своё рабочее место – большой удобный стол, где помещалось практически всё и даже больше… но, по сути, он был проходным двором – все время кто-то ходил, был рядом, отвлекал… такое очень часто мешает сосредоточиться и начать работать. Иногда, бывает, сидишь весь вечер за компом и понимаешь, что абсолютно ничего не сделал, хотя родным заявил «так, мне надо поработать».
+512
Быстрый просмотр фона из картинки в photoshop
1 min
1.8KПри создании дизайна для сайтов мне частенько приходится создавать бесшовный фон. Чтобы просмотреть результат работы приходилось сохранять картинку, создавать в той же папке html файл и прописывать свойства у соответствующего элемента. Но оказывается photoshop умеет это делать автоматически.
+51
Две интересные книжки Кевина Митника
3 min
8.8KЯ хотел бы порекомендовать вам две отличных книжки довольно известного хакера (социального инженера, фрикера).
Хотя, возможно сейчас он не так популярен. Но эти две книжки, по-прежнему остаются актуальными и по сей день.
Это "Искусство обмана" и "Искусство вторжения".
Издательство: Компания АйТи, 2004 г.
Автор: Кевин Д. Митник и Вильям Л. Саймон
Твердый переплет, 360 стр.
Книга на ozon.ru, books.ru
Хотя, возможно сейчас он не так популярен. Но эти две книжки, по-прежнему остаются актуальными и по сей день.
Это "Искусство обмана" и "Искусство вторжения".
Издательство: Компания АйТи, 2004 г.
Автор: Кевин Д. Митник и Вильям Л. Саймон
Твердый переплет, 360 стр.
Книга на ozon.ru, books.ru
+30
The Art Of Programming — Выпуск №34 [ Java Learning ] / Паттерн Visitor
1 min
697+ Pattern Visitor
+ UML диаграмма:
http://en.wikipedia.org/wiki/File:VisitorClassDiagram.svg
+ Интересные статьи:
Visitor Design Pattern http://sourcemaking.com/design_patterns/visitor
Viruses and the Visitor Pattern http://sujitpal.blogspot.com/2008/01/viruses-and-visitor-pattern.html
Посетитель (Visitor) http://codelab.ru/p/visitor/
Отражение при проектировании образа посетителя (Visitor pattern) http://www.javable.com/javaworld/tips/98_tt/
+ Код:
http://dumpz.org/16298/
П.С. Как обычно подкаст можно скачать или подписаться на него
+ UML диаграмма:
http://en.wikipedia.org/wiki/File:VisitorClassDiagram.svg
+ Интересные статьи:
Visitor Design Pattern http://sourcemaking.com/design_patterns/visitor
Viruses and the Visitor Pattern http://sujitpal.blogspot.com/2008/01/viruses-and-visitor-pattern.html
Посетитель (Visitor) http://codelab.ru/p/visitor/
Отражение при проектировании образа посетителя (Visitor pattern) http://www.javable.com/javaworld/tips/98_tt/
+ Код:
http://dumpz.org/16298/
П.С. Как обычно подкаст можно скачать или подписаться на него
+28
Тоби Сегаран «Программируем коллективный разум»
3 min
11KЗнаете, люблю я книжки про всякие интересные алгоритмы, и вот недавно попалась еще одна такая книжка.
Книга «Программируем коллективный разум» в основном посвящена алгоритмам классификации и кластеризации, хотя есть главы, посвященные другим темам вроде создания собственного поисковика, генетическим алгоритмам и генетическому программированию. Почти все описанные алгоритмы применяются в духе Web 2.0, используя анализ поведения пользователей на разных сайтах, которые предоставляют свой API. Но что особенно приятно удивило, так это то, что все примеры написаны на языке Python.
Вот какие алгоритмы описываются в книге:
- Коллаборативная фильтрация. Или, говоря человечески языком, алгоритмы, которые могут рекомендовать вам какие-то покупки, сайты или музыку в зависимости от оценок, которые вы поставили другим подобным вещам. По таким алгоритмам работает навязывание покупок в интернет-магазинах или подбор музыки на last.fm. В конце главы приводится пример, который будет рекомендовать вам ссылки из сервиса del.icio.us.
- Алгоритмы группировки (кластеризации). Создаваемый пример анализирует RSS-каналы блогов и пытается их автоматически разделить на группы в виде дерева в зависимости от частоты слов, которые попадаются в блоге. Заодно Сегаран рассказывает как можно сделать так, чтобы названия блогов расположились на плоскости кучками в зависимости от их близости в плане рассматриваемых тем.
- Отдельная глава посвящена построению поисковиков – созданию паука и, самое главное, рассматриваются алгоритмы ранжирования ссылок, в том числе и с учетом ссылок страниц друг на друга, создавая, таким образом, аналог Google PageRank. Еще интересно, что в этой же главе есть пример, где для выдачи наиболее релевантных ссылок используется нейронная сеть, которая обучается по мере того как пользователь щелкает на понравившиеся ему ссылки.
+61
Оптимизируем загрузку библиотеки ExtJS до двух запросов
3 min
1KЯ хочу поделиться решением, которое я использую для оптимизации загрузки админки, разработанной с использованием библиотеки ExtJS. Это решение применимо не только непосредственно к ExtJS, но для данной библиотеки, это очень актуально. Заранее предупреждаю, что решение очень плохо, если почти никак, работает с семейством 60- и 70-летних интернет стариков-эксплореров.
Почти первое, что сразу отпугивает большинство разработчиков и заказчиков, перед тем как приступить к разработке на extjs — «блин, да это же почти мегабайт жаваскрипта!?!». По сути так оно и есть, а если включить в список для загрузки файлы css стилей и картинки, то можно получить и все полтора-два. Приправим блюдо плагинами, что неизбежно, ведь в этом и есть плюс extjs — мощные плагины, то на закуску прилагается много скриптиков, каждый требующий запрос к серверу.
В итоге, каждый заход на страницу админки требует, что-бы клиент (получил бесплатные четки) загрузил все скрипты и скриптики и оформление. Это, плачевно влияет на скорость подьема страницы в браузере. А от пользователя требует дополнительного терпения, что никак не добавляет плюсов в карму разработчика.
Если вы подумали, что я опишу способ загрузки скриптов «по требованию», который существует и для ExtJS, то нет. Мое решение хоть и грубое, но дает получить все и сразу, хоть и накладывает определенные ограничения.
Итак…
Проблема:
Почти первое, что сразу отпугивает большинство разработчиков и заказчиков, перед тем как приступить к разработке на extjs — «блин, да это же почти мегабайт жаваскрипта!?!». По сути так оно и есть, а если включить в список для загрузки файлы css стилей и картинки, то можно получить и все полтора-два. Приправим блюдо плагинами, что неизбежно, ведь в этом и есть плюс extjs — мощные плагины, то на закуску прилагается много скриптиков, каждый требующий запрос к серверу.
В итоге, каждый заход на страницу админки требует, что-бы клиент (получил бесплатные четки) загрузил все скрипты и скриптики и оформление. Это, плачевно влияет на скорость подьема страницы в браузере. А от пользователя требует дополнительного терпения, что никак не добавляет плюсов в карму разработчика.
Если вы подумали, что я опишу способ загрузки скриптов «по требованию», который существует и для ExtJS, то нет. Мое решение хоть и грубое, но дает получить все и сразу, хоть и накладывает определенные ограничения.
Итак…
+1
Как мы делаем контент. Практическая диалектика
7 min
818Через неделю нашему блогу Хреновина.net исполнится 9 месяцев. За это время мы набрали уже неплохую популярность и регулярно получаем отзывы-благодарности за интересный контент. Что греха таить, то, что мы делаем, нам и самим нравится. И мы были бы рады, если бы подобного рода контента в Сети было побольше. Сегодня мы хотим поделиться некоторыми приёмами изготовления интересных постов.
+44
Новые курсы в Библиотеке учебных курсов
5 min
4.3KБиблиотека учебных курсов пополнилась новыми курсами:
Надеемся, эти курсы будут вам полезны в учебе, а кому-то и в преподавании :)
- Основы объектного программирования на C# 3.0
- Технологии построения и использования персональных Windows-кластеров
- Основы разработки компьютерных игр в XNA Game Studio
- Сетевая безопасность на основе серверных продуктов Microsoft
- Основы XAML
- Основы Microsoft Sharepoint
- Введение в программную инженерию
- Методика выполнения курсовых и дипломных работ в составе команды с использованием среды Microsoft Visual Studio Team System
- Программирование на языке С#: разработка консольных приложений
- Программирование под Windows в среде Microsoft Visual Studio 2005 на языке C++
- Управление проектами средствами Microsoft Project
- Методология внедрения Microsoft Active Directory
Надеемся, эти курсы будут вам полезны в учебе, а кому-то и в преподавании :)
+23
Паттерны проектирования для человеков.
4 min
29KБыла задача в максимально короткие сроки (зачет нужно было сдавать) человеку далекому от программирования объяснить паттерны на самом простом уровне.
В результате баланса простоты изъяснения и адекватности, образовалась эта шпаргалка.
Просьба оценить эту самую адекватность и простоту.
В результате баланса простоты изъяснения и адекватности, образовалась эта шпаргалка.
Просьба оценить эту самую адекватность и простоту.
+20
Примеры Google Maps API №1: Создаем собственные элементы управления
6 min
6KИтак, я продолжаю делать кросс-посты из моего блога. На этот раз речь пойдет о создании собственных элементов управления для карт на основе Google Maps API.
+24
Гуглякартим по умному
9 min
10KВ последнее время модно стало использовать гуглякарту.
Гугля карту суда, гугля карту туда.
И главное не забыть отобразить свои объектики на карте.
Но, почему-то, подавлявшее число сервисов используют неправильную реализацию процесса передачи маркеров с сервера на клиент.
Точнее они не правильно формируют запросы.
А если выразиться еще более точнее — они это делают
Гугля карту суда, гугля карту туда.
И главное не забыть отобразить свои объектики на карте.
Но, почему-то, подавлявшее число сервисов используют неправильную реализацию процесса передачи маркеров с сервера на клиент.
Точнее они не правильно формируют запросы.
А если выразиться еще более точнее — они это делают
+47
Django: Не изобретая велосипед
2 min
2.7KХотел поделиться списком django-проектов, которые могут быть очень полезны при старте любого нового проекта. Чтобы, как говориться, «не изобретать велосипед».
+10
Что нам стОит карту пользователей построить?
5 min
601Несколько недель? назад прочитал на хабре про интеграцию с google maps. К сожалению не нашел ссылку, но смысл в статье шел о городском сайте на который пользователи могли самостоятельно добавлять объекты на карту. Идея выглядела довольно сексуально, но в комментах автор признался, что писАл этот функционал несколько месяцев((
Данный факт поверг меня в жёсткое уныние(
Анализ скриптов на симпатичных сайтах интегрированных с gmaps, навроде этого
dom показывал внушительные километры кода… И так бы я и продолжал сидеть в депрессии, пока случайно не забрел таки на сайт с хелпом от собственно гугла.
И как выяснилось — вся информация о сроках и объемах этой задачи как минимум саботаж и провокация! Итак, строим карту пользователей на основе сервиса Google maps
Примерно такую:
Данный факт поверг меня в жёсткое уныние(
Анализ скриптов на симпатичных сайтах интегрированных с gmaps, навроде этого
dom показывал внушительные километры кода… И так бы я и продолжал сидеть в депрессии, пока случайно не забрел таки на сайт с хелпом от собственно гугла.
И как выяснилось — вся информация о сроках и объемах этой задачи как минимум саботаж и провокация! Итак, строим карту пользователей на основе сервиса Google maps
Примерно такую:
+25
Information
- Rating
- Does not participate
- Location
- Германия
- Date of birth
- Registered
- Activity