Как стать автором
Обновить
17
0
Александр @sockeye

Мимокрокодил

Отправить сообщение

Лицензия для вашего open-source проекта

Время на прочтение 98 мин
Количество просмотров 181K
В этой статье я хочу немного поговорить об авторском праве и свободных лицензиях на ПО. Текст является результатом самостоятельного выбора лицензий и их применения к своим проектам.

Статья будет полезна тем, кто хочет:

— в общих чертах понять, что такое авторское право (но лучше обратиться к юристу);
— подобрать свободную лицензию для своего проекта;
— разобраться, что нужно писать в шапке файла исходного кода.
Читать дальше →
Всего голосов 136: ↑132 и ↓4 +128
Комментарии 117

Фонд UCP и Павел Дуров подали иски друг против друга

Время на прочтение 2 мин
Количество просмотров 92K
image

Фонд UCP Ильи Щербовича, которому принадлежит 48 % «В контакте», подал иск против Павла Дурова, пишет газета «Ведомости». UCP считает нарушением своих прав то, что Дуров, будучи гендиректором компании, одновременно развивал собственный проект — мессенджер Telegram. Фонд выкупил три компании, связанные с Telegram, и теперь требует, чтобы мессенджер был передан в собственность «В контакте».

В то же время Дуров на своей странице во «В контакте» сообщил о подаче иска в лондонский арбитраж о признании незаконной прошлогодней сделки о приобретении фондом UCP 48 % «В контакте» у бывших партнёров Дурова — Вячеслава Мирилашвили и Льва Левиева.
Читать дальше →
Всего голосов 97: ↑87 и ↓10 +77
Комментарии 71

Законопроект об обязательной регистрации сайтов принят в первом чтении

Время на прочтение 1 мин
Количество просмотров 89K
На днях на Хабре публиковалась новость о том, что законопроект об обязательной регистрации веб-сайтов отправился в Госдуму, на первое чтение. Сегодня стало известно о том, что этот законопроект был успешно принят в первом чтении.

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

Читать дальше →
Всего голосов 202: ↑189 и ↓13 +176
Комментарии 381

Прощание Стива Баллмера с сотрудниками Microsoft

Время на прочтение 1 мин
Количество просмотров 117K
Выступая на ежегодных встречах с сотрудниками Microsoft с 1981 года, Стив Баллмер сделал это в последний раз



Update: добавил версию с русскими субтитрами, спасибо Alexsey!
Читать дальше →
Всего голосов 153: ↑133 и ↓20 +113
Комментарии 170

Пара полезных команд, которые могут пригодиться при DDoS и не только

Время на прочтение 3 мин
Количество просмотров 81K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →
Всего голосов 105: ↑101 и ↓4 +97
Комментарии 21

Страна стартапов

Время на прочтение 7 мин
Количество просмотров 20K
Въезжая на поезде в северную столицу Израиля — Хайфу, трудно не заметить местное «Сколково», располагающееся практически на берегу Средиземного Моря. Взгляд сам собой упирается в компактные, но при этом безупречно выполненные в модном здесь уже как 30 лет архитектурном стиле «хай-тек» строения R&D-центров ведущих технологических гигантов мира. И ведь здесь не 2-3 компании разбили свои мини-кампусы — их тут, по меньшей мере, пара десятков. Имена же одно другого известнее — Google, Microsoft, Intel, IBM, Yahoo!, Philips, Qualcomm, и многие-многие другие.



Это свято для любого IT-специалиста место называется МАТАМ (Мерказ Таасийот Мада), что вполне прозаично переводится на русский как «научно-промышленный центр». Оно органично вписывается в эклектику хайфского ландшафта и невольно навевает разные мысли на тему «чего, им собственно, всем здесь нужно».
Читать дальше →
Всего голосов 29: ↑23 и ↓6 +17
Комментарии 20

Django 1.7

Время на прочтение 1 мин
Количество просмотров 21K
После почти года разработки вышел долгожданный релиз Django 1.7.
image
Ключевые изменения новой версии
  • Прекращена поддержка Python 2.6.
  • Добавлена поддержка миграций непосредственно в сам фреймворк. Здесь можно посмотреть инструкции о переходе с South.
  • Переработан механизм загрузки приложений. Теперь models.py — необязателен.
  • Изменения в Field API, в частности, добавлен обязательный метод deconstruct() для поддержки миграций.
  • Добавлена возможность вызова QuerySet напрямую из менеджера. Также теперь можно указывать необходимый менеджер при использовании связи между моделями.
  • Новая система для проверки проекта и диагностики ошибок, вместо validate добавлена команда check.
Читать дальше →
Всего голосов 47: ↑47 и ↓0 +47
Комментарии 11

Папа, а почему на ноль делить нельзя?

Время на прочтение 6 мин
Количество просмотров 237K
Моя трёхлетняя дочка София в последнее время частенько упоминает «ноль», например, в таком контексте:
— Соня, вот ты вроде сначала не послушалась, а затем послушалась, что же получается?..
— Ну… ноль!

Т.е. ощущение отрицательных чисел и нейтральности нуля уже имеет, о как. Скоро поинтересуется: почему же это на ноль делить нельзя?
И вот решил я простыми словами записать всё, что я ещё помню про деление на ноль и всё такое.
Читать дальше →
Всего голосов 262: ↑192 и ↓70 +122
Комментарии 281

SYN-флудим со спуффингом на 14 mpps или нагрузочная вилка V 2.0

Время на прочтение 6 мин
Количество просмотров 19K
Что-то меня пробило на написание заметок последнее время, поэтому пока энтузиазм не спал раздаю долги.
Год назад я пришёл на хабр со статьёй "TCP(syn-flood)-netmap-generator производительностью 1,5 mpps", после которой многие писали и даже звонили с просьбой описать создание такой же «вилки» со спуффингом на максимуме возможностей 10GB сети. Я всем обещал, а руки всё не доходили.
Кто-то скажет, что это руководство для хакеров, но ведь свинья грязи найдёт, а те кому нужен этот инструмент в благонадёжных целях могу остаться ни с чем.

image
Читать дальше →
Всего голосов 39: ↑35 и ↓4 +31
Комментарии 44

Реализуем pull to refresh и infinite scrolling на Swift

Время на прочтение 4 мин
Количество просмотров 48K
Возьмём за основу статью Знакомьтесь, Swift!, где показано как сделать простое приложение на Swift, и добавим туда такие известные и полезные штуки как pull to refresh и infinite scrolling используя встроенные возможности языка. Чтобы было еще интереснее, добавим немного асинхронности, иначе приложение будет каждый раз замирать на время обновления.


Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Комментарии 19

Как услышать электромагнитные волны

Время на прочтение 2 мин
Количество просмотров 79K
Добрый день, уважаемые хабровчане.
В этом посте я расскажу необычный метод, с помощью которого можно преобразовать невидимые электромагнитные волны в слышимый звуковой диапазон, что позволит не только услышать радиоволны, но и определить их мощность, тип и направление.

Принцип работы


За основу я взял кассетный плеер. В нём есть головка, которая преобразовывает магнитные волны от ленты в электрическое напряжение звуковой частоты. Головка представляет из себя катушку индуктивности, нагруженную на чувствительный усилитель воспроизведения и за счёт этого хорошо улавливает электромагнитные волны. Но производитель позаботился о том, что бы не было лишних наводок и хорошо экранировал головку. Поэтому нужно разобрать плеер и отключить экранирующий провод от головки. Всё! Теперь головка превратилась в антенну. Что бы плеер не улавливал свои собственные волны, нужно ещё отсоединить моторчик лентопротяжного механизма и питать его обязательно от батареек, иначе будет слышен фон сети 220 в. 50 Гц. Интересно, что усилитель плеера, в таком режиме, не только усиливает сигнал, но и выполняет роль амплитудного детектора. В результате можно услышать электромагнитные волны всего радио диапазона: от 20 Гц до 50 ГГц. Плеер легко улавливает даже очень слабые электромагнитные волны. Мне удалось услышать волны от пульта дистанционного управления и от наручных часов.
Читать дальше →
Всего голосов 143: ↑131 и ↓12 +119
Комментарии 77

Немного тестов производительности сетевых фреймворков

Время на прочтение 6 мин
Количество просмотров 22K
Привет Хабр! Пару месяцев назад я захотел провести тестирование производительности некоторых сетевых фреймворков, c целью понять насколько большая разбежка между ними. Надо ли использовать Node.js там, где хотелось бы Python с Gevent или нужен Ruby с его EventMachine.

image

Я хочу обратить ваше внимание на то, что эти материалы не являются руководством к выбору фреймворка и могут содержать спорные моменты. Я вообще не собирался публиковать результаты этого исследования, но когда они попадались мне на глаза я ловил себя на мысли, что это может быть кому-нибудь полезно. Теперь я начну забрасывать вас графиками.
Читать дальше →
Всего голосов 62: ↑57 и ↓5 +52
Комментарии 59

Gource — визуализируем историю работы над проектом

Время на прочтение 1 мин
Количество просмотров 22K
Спешу рассказать хабрасообществу о, относительно новом, дьявольски завораживающем проекте Gource которое еще не упоминалось. Это приложение позволяет визуализировать историю изменений в системе контроля версии. Отрисовывает невероятно красиво при помощи OpenGL.


Читать дальше →
Всего голосов 65: ↑61 и ↓4 +57
Комментарии 51

Крик опыта неудач

Время на прочтение 3 мин
Количество просмотров 130K
Я написал такой пост, которые обычно сам не читаю. Нет времени. В голове много идей, и не знаю какую реализовать в первую очередь. Некогда читать не техническую информацию.

Это не success-story, а какой-то «way of the failures» человека, который хочет создать что-то свое, что-то классное и полезное для многих, быть честным, свободным и работать на самого себя. Если это про вас, то прошу вас, прочитайте этот пост и не наступайте на мои грабли. Уделите 10 минут. Я постараюсь говорить коротко и по существу.
Читать дальше →
Всего голосов 200: ↑161 и ↓39 +122
Комментарии 104

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

Время на прочтение 4 мин
Количество просмотров 27K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Dat



Dat — data package management. Это инструмент, который позволяет обмениваться большими наборами данных с целью построения совместного рабочего процесса, подобно git с исходными файлами. Важно упомянуть, что текущий статус проекта pre-alpha.

npm install dat -g

Читать дальше →
Всего голосов 48: ↑48 и ↓0 +48
Комментарии 4

Git: за пределами возможного

Время на прочтение 8 мин
Количество просмотров 25K

Глава 1



Все началось с того, что мне подарили PipBoy. Очень удобная вещь: захотелось пиццы — набрал команду callPizza() и вот уже курьер везёт тебе горячий круг! «Как здорово!» — думал я.
Недавно я устроился на работу в должности программиста. Коллеги мне сразу стали расхваливать систему контроля версий Git. Ну что ж. Раз говорят, что хороший — нужно читать про него. Прочитав первую книгу, в голове был полный сумбур. Я решительно ничего не понимал. «Что за бабуйня такая? Для чего вообще это нужно?» — показалось мне.
После тяжёлого трудового дня я направился домой. Был тёплый августовский вечер, во дворе играли детишки. У каждого из них на руке был свой PipBoy. Насколько же проникли технологии в нашу жизнь. Ведь совсем недавно ничего этого не было, а первые образцы стоили сотни тысяч долларов. А вот теперь почти у каждого на руке! Погрузившись в свои мысли, я вовсе не заметил, как из-за угла кто-то выехал на мотоцикле. Мчавшись на огромной скорости, он совершенно не замечал людей на дороге. А тем более во дворе.
Продолжение?
Всего голосов 143: ↑103 и ↓40 +63
Комментарии 20

Когда AES(☢) = ☠ — криптобинарный фокус

Время на прочтение 2 мин
Количество просмотров 36K


Специалиста по реверс-инжинирингу Анжа Альбертини (Ange Albertini) из компании Corkami в шутку спросили: можно ли сгенерировать картинку JPEG, которая после обработки шифром AES опять превратится в валидный JPEG. Анж принял вызов, а по результатам исследования опубликовал презентацию с объяснением, как это делается с разными форматами.
Читать дальше →
Всего голосов 66: ↑55 и ↓11 +44
Комментарии 20

«Выглядит похоже». Как работает перцептивный хэш

Время на прочтение 6 мин
Количество просмотров 121K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

По правде говоря, я не знаю, как работает поисковик TinEye. Он не раскрывает деталей используемого алгоритма(-ов). Но глядя на поисковую выдачу, я могу сделать вывод о работе какой-то формы перцептивного хэш-алгоритма.
Читать дальше →
Всего голосов 149: ↑145 и ↓4 +141
Комментарии 46

Долой оковы MongoDB

Время на прочтение 6 мин
Количество просмотров 29K
Многие из нас в свое время бросились с энтузиазмом осваивать MongoDB, действительно красота — удобный JSON формат, гибкая схема (точнее полное ее отсутствие), от установки системы до первого использования проходят буквально минуты. Но через некоторое время, уже когда Mongo надежно «зашита» в наш проект наступает разочарование. Простейшие запросы требуют постоянного тыкания в документацию, чуть более сложные способны убить почти целый день рабочего времени, а уж если понадобится join разных коллекций — то увы…

И вот уже кто-то возвращается к Постгресу с его частичной поддержкой JSON…

Но, к счастью, уже куется, уже спешит к нам полноценная замена Mongo, полноценная полу-структурированная Big Data СУБД AsterixDB. Этот проект возглавляет профессор UCI Michael Carey, ученик легендарного пионера СУБД Майкла Стоунбрейкера.

Проект стартовал просто как исследовательское начинание в области Big Data и изначально ориентировался на создание общего стэка для MapReduce и SQL. Но, буквально несколько лет назад, было принято решение построить Big Data JSON СУБД. По словам Майкла Кери, «AsterixDB is Mongo done right.» В чем же основные фишки AsterixDB?
Читать дальше →
Всего голосов 81: ↑65 и ↓16 +49
Комментарии 87

Конспект по веб-безопасности

Время на прочтение 3 мин
Количество просмотров 65K
Простите, но накипело.
Много шишек уже набито на тему безопасности сайтов. Молодые специалисты, окончившие ВУЗы, хоть и умеют программировать, но в вопросе безопасности сайта наступают на одни и те же грабли.

Этот конспект-памятка о том, как добиться относительно высокой безопасности приложений в вебе, а также предостеречь новичков от банальных ошибок. Список составлялся без учета языка программирования, поэтому подходит для всех. А теперь позвольте, я немного побуду КО.


Итак, каким должен быть безопасный сайт?

Читать дальше →
Всего голосов 120: ↑104 и ↓16 +88
Комментарии 163

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность