Pull to refresh
24
0
Aleksey Skorobogaty @desmount

System Architect

Send message

Реализуем безопасный VPN-протокол

Reading time12 min
Views47K
Снова тема VPN, конфиденциальной передачи данных, безопасности и криптографии. Сейчас, в эру пост-Сноудена, стало модно клепать безопасные, уважающие приватность, невзламываемые, защищённые от спецслужб и цензуры программы. Однако эта статья – не очередной маркетинговый пиар, а, скорее, демонстрация того, как применяются криптографические примитивы и на что стоит обращать внимание при разработке подобного программного обеспечения.



Результатом этой работы предполагается создание работающего клиент-сервера, пригодного для review разработчиками (то есть немного кода на высокоуровневом языке), достаточно производительного, чтобы использоваться в промышленных условиях, имеющего высокий порог безопасности: GoVPN.
Читать дальше →
Total votes 47: ↑46 and ↓1+45
Comments56

[ В закладки ] Алгоритмы и структуры данных в ядре Linux, Chromium и не только

Reading time9 min
Views86K
Многие студенты, впервые сталкиваясь с описанием какой-нибудь хитроумной штуки, вроде алгоритма Кнута – Морриса – Пратта или красно-чёрных деревьев, тут же задаются вопросами: «К чему такие сложности? И это, кроме авторов учебников, кому-нибудь нужно?». Лучший способ доказать пользу алгоритмов – это примеры из жизни. Причём, в идеале – конкретные примеры применения широко известных алгоритмов в современных, повсеместно используемых, программных продуктах.



Посмотрим, что можно обнаружить в коде ядра Linux, браузера Chromium и ещё в некоторых проектах.
Читать дальше →
Total votes 158: ↑149 and ↓9+140
Comments15

Революция в области искусственного разума. Часть вторая: Бессмертие или уничтожение жизни на земле

Reading time25 min
Views34K
Примечание переводчика: Данная статья является переводом (оригинальная статья ). Это перевод первой части второй статьи перевод первой части. Вторая часть оказалась слишком большой 15к слов, по этому её пришлось разделить на две части примерно по 8к (оригинального текста) слов каждая, перед вами первая часть перевода второй части статьи, вторую часть опубликую сразу как переведу. Оригинальная статья была написана для широкой аудитории, поэтому многие термины использованные в ней могут быть не точными или вообще не научными. При переводе я старался сохранить непринуждённый дух статьи и юмор, с которым был написан оригинал. К сожалению, это не всегда получалось. Переводчик согласен не со всем, что написано в данной статье, но правки к фактам и своё мнение не были добавлены даже в виде примечаний или комментариев. В тексте могут быть ошибки и опечатки, сообщайте о них, пожалуйста, в личные сообщения, буду стараться исправлять всё максимально быстро. Все ссылки в тексте скопированы из оригинальной статьи и ведут на англоязычные ресурсы.



We have what may be an extremely difficult problem with an unknown time to solve it, on
which quite possibly the entire future of humanity depends. — Nick Bostrom

Перед нами, вероятно, одна из сложнейших задач, с которой когда-либо сталкивалось человечество, и мы даже не знаем сколько времени у нас есть на её решение, но от него зависит будущее нашего биологического вида — Ник Бостром
Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments53

Список YouTube-каналов для обучения веб-разработке

Reading time2 min
Views217K
image


Привет, хабражители!

Представляю вам список YouTube-каналов для обучения веб-разработке. Список доступен на гитхабе, там он будет пополняться и редактироваться. В планах — создание отдельной странички для фильтрации каналов по тегам и рубрикам.

Также хочу попросить вас о небольшой услуге: если вы знаете канал, не вошедший в список — опубликуйте ссылку на него в комментариях или отправьте pull request. Сообщество будет благодарно вам.

Под катом — текущая версия списка.
Читать дальше →
Total votes 64: ↑59 and ↓5+54
Comments16

Нейробиология и искусственный интеллект: часть третья – представление данных и память

Reading time6 min
Views74K
Продолжение.

Глава 1: Нейробиология и искусственный интеллект: часть первая — ликбез.
Глава 1.5: Нейробиология и искусственный интеллект: часть полуторная – новости от Blue Brain Project.
Глава 2: Нейробиология и искусственный интеллект: часть вторая – интеллект и представление информации в мозгу.


Рис. 1

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

Это дает повод спекулировать об альтернативных теориях сознания, в которых берут какой-нибудь малоизученный эффект и объявляют его панацеей. Одна из таких теорий была выдвинута Р. Пенроузом и С. Хамероффом – квантовая теория сознания, основанная на теоретических предпосылках к квантовому взаимодействию тубулиновых микротрубочек, составляющих цитоскелет нейронов. Если будут желающие, могу обсудить эту теорию в отдельной главе, а пока вернемся к более проверенным теориям.

Читать дальше →
Total votes 55: ↑52 and ↓3+49
Comments41

Hadoop: что, где и зачем

Reading time14 min
Views461K


Развеиваем страхи, ликвидируем безграмотность и уничтожаем мифы про железнорождённого слона. Под катом обзор экосистемы Hadoop-а, тенденции развития и немного личного мнения.
Читать дальше →
Total votes 61: ↑58 and ↓3+55
Comments26

Дэн Саффер — Микровзаимодействия (Microinteractions). Конспект книги

Reading time21 min
Views39K
Microinteractions book cover«Детали — это не детали. Они создают дизайн.» — Чарльз Имз.

Успех цифровых продуктов определяется мелочами. Книга «Микровзаимодействия» Дэна Саффера научит вас проектировать эффективные функциональные элементы. А этот подробный конспект поможет лучше запомнить прочитанное или даже заменит англоязычный оригинал.

Как пользователю изменить настройку? Как включить бесшумный режим или узнать о получении нового сообщения?

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

Читать дальше →
Total votes 49: ↑49 and ↓0+49
Comments2

Кэти Сьерра о том, как создавать востребованные приложения и повышать «крутизну» своих пользователей

Reading time14 min
Views27K
Можно ли сегодня создать популярное приложение? Рынки поделены, ниши заняты, конкуренция — очень плотная… Но не время разработчикам предаваться печали! Общая планка приложений все еще остается низкой, и обойти всех конкурентов все еще возможно. Так утверждает Кэти Сьерра (Kathy Sierra) в своем выступлении со сложно переводимой темой «Building the minimum Badass User» и его продолжении.

Кэти Сьерра известна в России прежде всего как автор мирового бестселлера «Изучаем Java». Но книги по программированию — это далеко не всё, чем она занимается. Теория обучения, разработка интерфейсов, маркетинг приложений, мотивация — вот неполный список тем, по которым она регулярно пишет статьи и выступает на конференциях. В поле нашего внимания попали именно эти два выступления, потому что они обобщают и резюмируют самое ценное из её собственного опыта разработки, а также сотен прочитанных Кэти научных работ. Перед вами — не перевод, а, скорее, конспект наиболее интересных мыслей и практических рекомендаций.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments9

Ускоряем PHP (с ReactPHP)

Reading time11 min
Views80K
В этом посте я хотел бы поделиться не совсем обычным, для мира PHP, способе построения приложения, если угодно — архитектурой. Данный подход позволяет средствами PHP увеличить количество обрабатываемых запросов в разы. Так же я поделюсь своими наработками в этом направлении. Конечно данный подход не бесплатен, в плане требований к коду, но давайте всё по порядку.
Читать дальше →
Total votes 51: ↑44 and ↓7+37
Comments64

Динамические деревья

Reading time8 min
Views36K
Перед прочтением статьи рекомендую посмотреть посты про splay-деревья (1) и деревья по неявному ключу (2, 3, 4)

Динамические деревья (link/cut trees) мало освещены в русскоязычном интернете. Я нашел только краткое описание на алголисте. Тем не менее эта структура данных очень интересна. Она находится на стыке двух областей: потоки и динамические графы.

В первом случае динамические деревья позволяют построить эффективные алгоритмы для задачи о поиске максимального потока. Улучшенные алгоритмы Диница и проталкивания предпотока работают за и соответственно. Если вы не знаете, что такое поток, и на лекциях у вас такого не было, спешите пополнить свои знания в Кормене.

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

Перед тем, как нырнуть под кат, попробуйте решить следующую задачу. Дан взвешенный граф в виде последовательности ребер. По последовательности можно пройти только один раз. Требуется посчитать минимальное покрывающее дерево, используя памяти и времени. По прочтении статьи вы поймете, как легко и просто можно решить эту задачу, используя динамические деревья.
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments5

Лучшие бесплатные Photoshop плагины для веб-дизайнеров

Reading time3 min
Views150K

Divine Elemente


image
Один из самых потрясающих проектов, которые я встречал за последнее время. Плагин Divine Elemente дает возможность дизайнерам создавать WordPress темы без каких либо навыков фронт/бэк-енда. К сожалению у меня не было возможности поработать с ним. Он доступен только для Windows. Для того что бы все работало необходимо создавать макет в соответствии со встроенным blueprint — это некий Bootstrap, Boilerplate или даже набор инструкций по наименовании слоев и групп. Разработчики обещают множество всего хорошего, в том числе: SEO friendly, валидную и семантичную верстку, читаемый код. Впечатляет!

Читать дальше →
Total votes 74: ↑66 and ↓8+58
Comments9

Новый jQuery плагин адаптивной галереи c автоматической группировкой

Reading time3 min
Views30K
image

На сайте tympanus.net представлен новый экспериментальный jQuery плагин для создания галереи, который можно использовать для решения разных задач, например, простой показ изображении, сгруппированных определенным образом или отображение целых альбомов пользователей с фотографиями без перезагрузки страницы. Разумеется, галерея адаптивная, что позволяет удобно использовать ее как на компьютерах с большим экраном так и на мобильных устройствах.
Как использовать этот плагин?
Total votes 54: ↑49 and ↓5+44
Comments17

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity