Pull to refresh
16
0
Алексей Ларьков @gmlexx

Пользователь

Send message

Конкурс по программированию на JS: Почтовые фильтры

Reading time4 min
Views47K
UPDATE: Опубликованы итоги конкурса.

Компания Hola снова объявляет конкурс по программированию на JS с солидным призовым фондом:

  1. Первое место: 1500 USD
  2. Второе место: 1000 USD
  3. Третье место: 500 USD
  4. Возможно, мы решим отметить чьё-то чрезвычайно оригинальное решение специальным призом в 350 USD.
  5. Если Вы отправите кому-то ссылку на этот конкурс, поставив наш адрес в CC, и этот человек займёт призовое место, Вы получите такую же сумму, как и он.

Мы ищем талантливых программистов, поэтому авторы интересных решений будут приглашены на собеседования.



Правила


Некоторые из тех, кто помнит наши предыдущие конкурсы, были недовольны тем, что условия задач были сформулированы нечётко, и от участника требовалось «угадать», что мы имели в виду. На этот раз условие сформулировано предельно однозначно, а в распоряжении участников — эталонная реализация решения. Победит тот, чей код будет самым быстрым при условии прохождения тестов на корректность.

Условия конкурса на английском языке размещены на нашем сайте. Ниже — перевод на русский язык.

Читать дальше →
Total votes 42: ↑28 and ↓14+14
Comments189

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

Reading time98 min
Views181K
В этой статье я хочу немного поговорить об авторском праве и свободных лицензиях на ПО. Текст является результатом самостоятельного выбора лицензий и их применения к своим проектам.

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

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

Тюним память и сетевой стек в Linux: история перевода высоконагруженных серверов на свежий дистрибутив

Reading time10 min
Views94K
image

До недавнего времени в Одноклассниках в качестве основного Linux-дистрибутива использовался частично обновлённый OpenSuSE 10.2. Однако, поддерживать его становилось всё труднее, поэтому с прошлого года мы перешли к активной миграции на CentOS 7. На подготовительном этапе перехода для CentOS были отработаны все внутренние процедуры, подготовлены конфиги и политики настройки (мы используем CFEngine). Поэтому сейчас во многих случаях миграция с одного дистрибутива на другой заключается в установке ОС через kickstart и развёртывании приложения с помощью системы деплоя нашей разработки — всё остальное осуществляется без участия человека. Так происходит во многих случаях, хотя и не во всех.

Но с самыми большими проблемами мы столкнулись при миграции серверов раздачи видео. На их решение у нас ушло полгода.
Читать дальше →
Total votes 110: ↑104 and ↓6+98
Comments73

Установка, настройка и тестирование Fedora 21 Workstation на личном или игровом компьютере

Reading time37 min
Views204K
9-го декабря вышла новая Fedora 21 Workstation, которую по совокупности параметров можно назвать «самым свежим и стабильным» Линукс-десктопом.

За время использования и тестирования Fedora я проникся к этой платформе глубокой симпатией и хочу поделиться этим теплом и знаниями о ней с вами.

В течение года я наблюдал за её работой в качестве рабочего и игрового места в разных ситуациях — от станций с «умирающим» железом до нового игрового ноутбука Asus G750JM с Nvidia Optimus.

Собранные заметки получились несколько шершавыми, старающимися охватить одновременно и новичков в Линуксе, и опытных пользователей с разработчиками. Прошу простить. Хочу донести большой объем информации в одной статье: и по общей настройке и установке Федоры, и по технологии Nvidia Optimus на ноутбуках, wi-fi с проприетарными драйверами, о настройке симпатичных шрифтов в Java и IDE от JetBrains, запуску игр в Steam на дискретной видеокарте, о результатах сравнительного тестирования игр, графики и браузеров между Федорой и Windows 8.1, и даже об установлении одного «абсолютного» рекорда.

Хочу отметить, что свежие десктопные Линуксы также отличаются качественной поддержкой дисплеев высокого разрешения с хорошей отрисовкой шрифтов и оконных элементов, предоставляют высочайшую степень различных персональных настроек, «хаков» и возможностей оперирования с приложениями. Всё это позволяет не только значительно повысить эффективность своей работы, но и сделать это с комфортом для глаз.

Читать дальше →
Total votes 55: ↑49 and ↓6+43
Comments44

Обзор наиболее интересных материалов по анализу данных и машинному обучению №21 (3 — 9 ноября 2014)

Reading time5 min
Views12K

Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments2

Технические рекомендации к почтовым рассылкам

Reading time11 min
Views44K


«Даже если вы получите какое-нибудь письмо, вы не сможете его прочитать»
(Марк Твен)

Мы уже писали о том, как правильно делать рассылки, улучшать их качество и эффективность. Приводили метрики, на основе которых строится репутация отправителя. Рассказывали об интерфейсе Постмастер Mail.Ru, с помощью которого их можно отслеживать. Многие компании, как находящиеся в начале своего развития, так и довольно крупные, пренебрегают этими правилами, в результате чего начинаются проблемы с доставляемостью писем, разбирательства со службой техподдержки и т.п. Но мы надеемся что вы не принадлежите к их числу.

Итак, ваш проект набирает популярность и нравится пользователям, вы собираетесь оставаться с ними на связи. Вы ознакомились с административными требованиями (о которых мы писали ранее) и собираетесь ответственно и без спама организовать рассылку для тех пользователей, которые готовы ее получать. А может быть, вы просто собираетесь настроить корпоративную почту. Поднимаете из дистрибутива почтовый сервер, пишете скрипт, запускаете и… 70% получателей письмо не доставлено, у 15% оно попало в папку «Спам», а остальные не могут прочитать то, что в нем написано. О том, что делать, чтобы этого не случилось, я попробую рассказать в этой статье.
Читать дальше →
Total votes 54: ↑46 and ↓8+38
Comments25

Обзор наиболее интересных материалов по анализу данных и машинному обучению №13 (8 — 14 сентября 2014)

Reading time5 min
Views13K

Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения. В данном выпуске достаточно много интересных примеров с использованием языков программирования R и Python. Также есть несколько интересных статей, посвященных соревнованиям по машинному обучению. Достаточно много материалов, которые будут интересны новичкам в теме анализа данных и машинного обучения. Традиционно, некоторое количество материалов посвящено теме Data Engineering.

Читать дальше →
Total votes 27: ↑26 and ↓1+25
Comments6

Дайджест статей по анализу данных №2 (26.05.2014 — 8.06.2014)

Reading time5 min
Views20K
Добрый день, уважаемые читатели.
Представляю вашему вниманию дайджест новостей и полезных материалов из мира анализа данных. Предыдущий дайджест пользовался большой популярностью и поэтому я решил сделать их регулярными. Периодичность таких подборок будет 1 раз в 2 недели.

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

Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments13

Определение локальных IP-адресов через WebRTC

Reading time1 min
Views47K
Через WebRTC можно получить список всех локальных (находящихся за NAT) интерфейсов в системе.

Пример кода на JavaScript jsfiddle.net/GZurr

Работает только в браузерах поддерживающих WebRTC, на текущий момент это Firefox и Chrome.

Это можно использовать для получения более точного фингерпринта браузера или, например, разоблачения персонажей, сидящих за VPN, чтобы ВЫЧИСЛИТЬ ПО АЙПИ И НАБИТЬ Е**ЛЬНИК

Для удобства использования я изготовил js-сниффер, который можно вставить на страницу и удобно просматривать результат его работы: zhovner.com/jsdetector

Достаточно вставить на страницу код:

<script src="//zhovner.com/jsdetector.js?name=test"></script>


Где test нужно заменить на слово, по которому будет доступен результат работы сниффера: zhovner.com/jsdetector/test

Читать дальше →
Total votes 73: ↑68 and ↓5+63
Comments46

Профилирование и отладка Python, инструменты

Reading time14 min
Views106K
В предыдущей статье мы на практике разобрались, где и в каких случаях можно использовать ручное профилирование, а так же познакомились со статистическими профайлерами.

Сегодня мы познакомимся с основной и самой многочисленной группой инструментов — событийными профайлерами.

Приступим!
Total votes 72: ↑69 and ↓3+66
Comments9

Профилирование и отладка Python, отладка

Reading time7 min
Views106K
В предыдущей статье мы закончили разговор о профилировании обзором событийных профайлеров.

Сегодня я предлагаю рассмотреть методы отладки программ.

Начнём!
Total votes 50: ↑48 and ↓2+46
Comments26

Список бесплатных DNS-сервисов

Reading time2 min
Views280K
Обновляю 4-летний список бесплатных сервисов для управления доменами

Primary + Secondary
Сервис Кол-во NS Кол-во доменов Типы записей TTL Доп. фичи
pdd.yandex.ru 2 50 AAAA и SRV + Есть API
cloudflare.com 2 неограниченное AAAA, SRV, SPF, LOC +
2ns.info 4 неограниченное AAAA и SRV + Есть экспорт. Показывает регистратора, дату регистрации домена, дату окончания регистрации, тИЦ. By leonid239
dns.he.net 5 50 все + NS доступны по IPv6. Свой DDNS-сервис
www.netbreeze.net/dns 3 1 AAAA и SRV + Есть API
entrydns.net 3 неограниченное AAAA и SRV + Есть свой DDNS-сервис, REST-api
Читать дальше →
Total votes 113: ↑109 and ↓4+105
Comments75

Первые несколько миллисекунд HTTPS соединения

Reading time10 min
Views167K
После нескольких часов чтения обзоров, Боб с нетерпением нажал на кнопку перехода к оформлению заказа на галлон цельного молока, и…
Воу, что только что произошло?


Интересно? Прошу под кат
Total votes 242: ↑237 and ↓5+232
Comments36

Тренды, возведенные в культ

Reading time4 min
Views30K
Несколько последних лет ознаменовались появлением большого количества новых терминов, понятий, технологий, течений. Также появилось достаточное количество базвордов, которые заполонили медийное пространство. И заполонили до такой степени, что многие айтишники начинают поддаваться на соблазны и искушения рисующихся золотых перспектив. Но не буду говорить загадками — под катом список понятий, с которыми связано большое количество надежд, холиваров и… заблуждений. Давайте немного разберемся, что к чему.
Читать дальше →
Total votes 237: ↑213 and ↓24+189
Comments225

Некриптографические хеш-функции и DoS атака на них

Reading time10 min
Views34K
Некриптографические хеш-функции применяются там, где важна скорость и не так важна возможность атаки на характеристики функции. Последнее время активно обсуждается атака на алгоритмическую сложность хеш-таблиц путём создания множественных коллизий хеш-функции, которая может привести к DoS. Мы рассмотрим современные некриптографические хеш-функции, условия для их применения, возможные методы защиты от атаки на хеш-таблицы и почему оказалось, что это не так просто исправить.

Некриптографические хеш-функции


Если криптографические хеш-функции у всех на слуху, то про некриптографические (хеш-функции общего назначения) известно мало. Некриптографические функции применяются там, где на данные не воздействуют третьи лица (злоумышленник). Например, такие функции могут использоваться для построения хеш-таблиц.

Критерии, которые важны для некриптографических хеш-функций:
Читать дальше →
Total votes 64: ↑62 and ↓2+60
Comments3

Django ORM, gevent и грабли в зелени

Reading time6 min
Views16K
Очень многие выбирают Django за его простоту. Код на Django прост и лаконичен, мы меньше думаем о костылях и больше о бизнес-логике.

Gevent тоже выбирают из-за того, что он простой, очень шустрый и не несёт за собой callback hell.

В голове возникает великолепная идея совместить две простые и удобные вещи вместе. Мы патчим Django и радуемся простоте, лаконичности и производительности, делаем множество запросов на другие сайты, создаём подпроцессы, в общем используем наш новый асинхронный Django по максимуму.
Но совместив их, мы незаметно для себя поставили несколько граблей на нашем пути.
Читать дальше →
Total votes 50: ↑48 and ↓2+46
Comments76

Курс программирования под Android для начинающих

Reading time1 min
Views84K


Организация Linux Foundation открыла курсы программирования под Android для начинающих. Авторы курса постарались, чтобы можно было за пару часов усвоить навыки разработки под эту платформу.
Читать дальше →
Total votes 45: ↑25 and ↓20+5
Comments18

Курсы информационных технологий от компании Яндекс. Видео сезона 3

Reading time3 min
Views45K
Читать дальше →
Total votes 42: ↑37 and ↓5+32
Comments12

Как правильно мерять производительность диска

Reading time14 min
Views336K
abstract: разница между текущей производительностью и производительностью теоретической; latency и IOPS, понятие независимости дисковой нагрузки; подготовка тестирования; типовые параметры тестирования; практическое copypaste howto.

Предупреждение: много букв, долго читать.

Лирика



Очень частой проблемой, является попытка понять «насколько быстрый сервер?» Среди всех тестов наиболее жалко выглядят попытки оценить производительность дисковой подсистемы. Вот ужасы, которые я видел в своей жизни:
  • научная публикация, в которой скорость кластерной FS оценивали с помощью dd (и включенным файловым кешем, то есть без опции direct)
  • использование bonnie++
  • использование iozone
  • использование пачки cp с измерениема времени выполнения
  • использование iometer с dynamo на 64-битных системах


Это всё совершенно ошибочные методы. Дальше я разберу более тонкие ошибки измерения, но в отношении этих тестов могу сказать только одно — выкиньте и не используйте.

Как мерять правильно
Total votes 151: ↑145 and ↓6+139
Comments164

Функциональное и экономическое сравнение российских операторов предоставляющих облачные услуги

Reading time12 min
Views16K

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

Итак, операторы, предоставляющие облачные услуги, с которыми велась данная работа:
Читать дальше →
Total votes 83: ↑75 and ↓8+67
Comments69
1

Information

Rating
Does not participate
Location
Рига, Латвия, Латвия
Registered
Activity