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

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

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

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

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

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

— в общих чертах понять, что такое авторское право (но лучше обратиться к юристу);
— подобрать свободную лицензию для своего проекта;
— разобраться, что нужно писать в шапке файла исходного кода.
Читать дальше →
Всего голосов 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 мин
Количество просмотров82K
В моем случае, в качестве 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 мин
Количество просмотров238K
Моя трёхлетняя дочка София в последнее время частенько упоминает «ноль», например, в таком контексте:
— Соня, вот ты вроде сначала не послушалась, а затем послушалась, что же получается?..
— Ну… ноль!

Т.е. ощущение отрицательных чисел и нейтральности нуля уже имеет, о как. Скоро поинтересуется: почему же это на ноль делить нельзя?
И вот решил я простыми словами записать всё, что я ещё помню про деление на ноль и всё такое.
Читать дальше →
Всего голосов 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 мин
Количество просмотров80K
Добрый день, уважаемые хабровчане.
В этом посте я расскажу необычный метод, с помощью которого можно преобразовать невидимые электромагнитные волны в слышимый звуковой диапазон, что позволит не только услышать радиоволны, но и определить их мощность, тип и направление.

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


За основу я взял кассетный плеер. В нём есть головка, которая преобразовывает магнитные волны от ленты в электрическое напряжение звуковой частоты. Головка представляет из себя катушку индуктивности, нагруженную на чувствительный усилитель воспроизведения и за счёт этого хорошо улавливает электромагнитные волны. Но производитель позаботился о том, что бы не было лишних наводок и хорошо экранировал головку. Поэтому нужно разобрать плеер и отключить экранирующий провод от головки. Всё! Теперь головка превратилась в антенну. Что бы плеер не улавливал свои собственные волны, нужно ещё отсоединить моторчик лентопротяжного механизма и питать его обязательно от батареек, иначе будет слышен фон сети 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 мин
Количество просмотров28K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

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 мин
Количество просмотров122K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

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

Долой оковы MongoDB

Время на прочтение6 мин
Количество просмотров30K
Многие из нас в свое время бросились с энтузиазмом осваивать 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

Информация

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