Search
Write a publication
Pull to refresh
65
0
Send message

Одна маленькая проблема скачивания файлов на медленных соединениях

Reading time5 min
Views30K


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

Проблема: некоторые пользователи не могли скачать бинарный файл объемом несколько мегабайт. Соединение почему-то обрывалось, хотя файл находился в процессе скачивания. Вскоре мы убедились, что где-то в нашей системе был баг. Воспроизвести проблему можно было достаточно просто единственной командой curl, но исправить ее потребовало невероятных затрат сил и времени.
Читать дальше →

Топ 20 бесплатных инструментов мониторинга дисков

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

1. TestDisk


TestDisk позволяет восстанавливать загрузочные разделы, удаленные разделы, фиксировать поврежденные таблицы разделов и восстанавливать данные, а также создавать копии файлов с удаленных/недоступных разделов.



Примечание: PhotoRec ето связанное с TestDisk приложением. С его помощью возможно восстановить данные в памяти цифровой камеры на жестких дисках и компакт-дисках. Кроме того можно восстановить основные форматы изображений, аудиофайлы, текстовые документы, HTML-файлы и различные архивы.

Читать дальше →

«Пятничный формат»: Подборка легендарных песен современности

Reading time4 min
Views19K

Фото Libert Schmidt CC-BY

Пользователи сервиса Quora поделились своим мнением по данному вопросу, а мы узнали, что слушают сотрудники Аудиомании.
Читать дальше →

Заблокированная в РФ онлайн-библиотека «Флибуста» запустила Telegram-бота для загрузки электронных книг

Reading time2 min
Views235K
Теперь пользователь Telegram может получить любую книгу из «Флибусты» в электронном формате на мобильный телефон



Как известно, летом прошлого года была заблокирована онлайн-библиотека «Флибуста», одна из наиболее популярных библиотек такого типа в Рунете. По иронии судьбы, поводом для блокировки послужило распространение книги «451 градус по Фаренгейту», равно как и нескольких других произведений Рэя Брэдбери («Вино из одуванчиков», «Марсианские хроники» и «Золотые яблоки Солнца»). Произведение, о котором идет речь, было в переводе на русский язык, причем еще советском.

Практически сразу после блокировки администрация библиотеки перенесла ее на новый домен, перейдя с flibusta.net на flibusta.is. Правда, многие книги на обновленном сайте отсутствуют — приходится идти навстречу правообладателям. Сейчас библиотека решилась на оригинальный ход — создание бота в Telegram (защищенный мессенджер), который позволяет любому пользователю загружать книги в электронном формате. Похоже на то, что бот требования правообладателей выполнять не собирается.
Читать дальше →

Как мы боролись с парсерами

Reading time16 min
Views36K
image
Ключевые моменты:
* Реализация скрипта для проверки PTR посетителей;
* Конфигурирование nginx в IfIsEvil-style с ветвлениями map;
* Имена location в переменных map;
* Управление ветвлением через try_files /nonexist $map_var.

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

Читать дальше →

Краткий курс компьютерной графики, аддендум: лечим по фотографии

Reading time3 min
Views20K
Год назад я опубликовал цикл статей, имевший целью популяризацию графического программирования. Много воды утекло с тех пор, появилась англоязычная версия цикла, прошедшая некоторую полировку по сравнению с оригинальным. За этот год мне написало несколько сотен человек, причём многие просили помочь отладить их код.

Я предлагаю вам поиграть в игру: я даю только картинку, на которой видна проблема, попробуйте понять, в каком месте кода нужно искать баг, что именно сломано. Я в эту игру играю ежедневно, досконально смотреть сотни версий рендера у меня нет никакой возможности, поэтому я, как заправский экстрасенс, лечу по фотографии. Зачастую успешно.

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

Вот первый баг для затравки, слева битый рендер, справа то, что ожидалось:


Играть!

Компоненты связности в динамическом графе за один проход

Reading time8 min
Views20K

Люди встречаются, люди ссорятся, добавляются и удаляют друзей в социальных сетях. Этот пост о математике и алгоритмах, красивой теории, любви и ненависти в этом непостоянном мире. Этот пост о поиске компонент связности в динамических графах.

Большой мир генерирует большие данные. Вот и на нашу голову свалился большой граф. Настолько большой, что мы можем удержать в памяти его вершины, но не ребра. Кроме того, относительно графа приходят обновления – какое ребро добавить, какое удалить. Можно сказать, что каждое такое обновление мы видим в первый и последний раз. В таких условиях необходимо найти компоненты связности.

Поиск в глубину/ширину здесь не пройдут просто потому, что весь граф в памяти не удержать. Система непересекающихся множеств могла бы сильно помочь, если бы ребра в графе только добавлялись. Что же делать в общем случае?

Кто виноват и что делать

Размещаем сайт в анонимной сети I2P (+ параноидальный режим)

Reading time6 min
Views32K


Предположим, что ты уже зашел несколько раз в I2P, початился там с ребятами в irc, проникся идеей ламповой невидимой и задумался о собственном (в)кладе в I2P. В раздумьях об этом ты посидел пару дней перед раскрытым блокнотом — узнав попутно из новостей, что не только флибуста, но и рутрекер был запрещен, — и наконец вспомнил про то что ты Сноуден и основатель викиликс (весьма неожиданный поворот, признаюсь, я сам не ожидал от тебя такого), и уже давно ищешь плацдарм для размещения общественно значимой информации. Например, ты решил выкладывать куда-нибудь картинки с котиками, которых ты налайкал в твиттере (Сноуден лайкает котиков в твиттере, ты знал?). И выбор твой пал на I2P.
Читать дальше →

Собственный поисковик по раздачам The Pirate Bay

Reading time10 min
Views18K
В последнее время на хабре стало популярно делать собственные поисковики по RuTracker. Мне это показалось прекрасным поводом для того, чтобы отойти от скучной enterprise разработки и попробовать что-нибудь новое.



Итак, задача: реализовать на локалхосте поисковик по базе The Pirate Bay и попутно попробовать, что же такое frontend разработка и с чем её едят. Задача осложняется тем, что TPB не публикует своих дампов, в отличие от RuTracker, и для получения дампов требуется распарсить их сайт. В результате гугления и осмысления задачи я решил в качестве поисковика использовать Elasticsearch, для которого написать client-side only фронтенд на AngularJS. Для получения данных я решил написать собственный парсер сайта TPB и отдельный загружатель дампа в индекс, оба на Go. Пикантность выбору придавал тот факт, что ни к Elasticsearch, ни к AngularJS я до этого ни разу не прикасался и именно их опробывание было моей настоящей целью.
Читать дальше →

Кейс NGINX: Как противостоять DDoS-атакам

Reading time2 min
Views26K
Основная цель нашей работы состоит в том, чтобы сделать IaaS простым и понятным даже для тех, кто не сталкивался с ИТ-сферой. Поэтому мы проводим постоянную оптимизацию всех систем и рассказываем о том, что нам удалось сделать, в нашем блоге на Хабре.

Пара примеров:


Сегодня мы решили взглянуть на западный опыт и кратко проанализировать тему балансировки нагрузки. Нас привлекла заметка на тему работы с DDoS-атаками.

Читать дальше →

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

Reading time3 min
Views46K

Эти два графа являются изоморфными

Математик Ласло Бабай (László Babai) с факультета компьютерных наук и математики Чикагского университета представил быстрый новый алгоритм для решения задачи изоморфизма графов — одной из фундаментальных проблем теории сложности вычислений. Алгоритм приводит проблему очень близко к классу P. По мнению некоторых специалистов, это один из самых значительных результатов в теоретической информатике за десятилетие, если не за несколько десятилетий.
Читать дальше →

Значимость SPF

Reading time4 min
Views204K
Хочу обратить ваше внимание на важную, на мой взгляд, проблему, которой пренебрегают даже самые крупные и инновационные компании мира. Проблема заключается в отсутствии у большинства доменов SPF-записи, которая защищает домен от его несанкционированного использования в электронной почте.
SPF (Sender Policy Framework) представляет из себя текстовую запись в TXT-записи DNS домена. Запись содержит информацию о списке серверов, которые имеют право отправлять письма от имени этого домена и механизм обработки писем, отправленных от других серверов.
Например, SPF-запись «example.com. TXT «v=spf1 +a +mx -all»» говорит о том, что отправлять письма от имени домена «example.com» могут сервера, указанные в A и MX-записях этого домена, а письма, отправленные от других серверов должны быть удалены (Fail).

Читать дальше →

SVG-иконки – много и со стилем

Reading time14 min
Views51K

Маленький рассказ о том, как наша команда решила организовать иконки в грядущем проекте. Чуть-чуть исторического экскурса, взгляды по сторонам (на PNG и векторные шрифты) и рассказ о том, как мы всё-таки обустроились в итоге.
Читать дальше →

Установка CentOS на ZFS в UEFI

Reading time5 min
Views35K


Решил тут на днях попробовать ZFS, а подробного и простого мануала как это осуществить на CentOS не нашел, решил исправить ситуацию. К тому же хотелось установить все это в режиме EFI. — не стоять же на месте? И заодно понять для себя как работает DKMS, а так же аспекты ручной установки RPM-based дистрибутивов.

ZFS был выбран тоже не случайно, так как на этой машине планировалось развернуть гипервизор и использовать zvol для хранения образов виртуальных машин. Мне хотелось нечто большего чем програмный рейд + lvm или простое файловое хранение образов, что-нибудь на подобии ceph, но для одного хоста это слишком жирно. Забегая вперед скажу, что я остался очень доволен этой файловой системой, ее производительностью и всеми ее фишками.
Читать дальше →

King's Bounty III: расширенный римейк оригинальной игры под DOS на Javascript/HTML5

Reading time5 min
Views61K

Предпосылки и философские размышления


Как и у многих моих коллег по программистскому цеху, особенно у тех, кто рано начал пробовать свои силы в области компьютерных технологий, у меня где-то на задворках сознания хранится набор самых тёплых и романтических воспоминаний о первых опытах. Когда-то, в далёком 1987 году, отец впервые взял меня в выходной к себе на работу, где торжественно усадил на стул перед гудящей «Искрой-1030-11». Примерно тогда я твёрдо понял, чем хочу заниматься в своей дальнейшей жизни.

image
Читать дальше →

Обзор алгоритмов сегментации

Reading time8 min
Views92K

Этим летом мне посчастливилось попасть на летнюю стажировку в компанию Itseez. Мне было предложено исследовать современные методы, которые позволили бы выделить местоположения объектов на изображении. В основном такие методы опираются на сегментацию, поэтому я начала свою работу со знакомства с этой областью компьютерного зрения.
Сегментация изображения — это разбиение изображения на множество покрывающих его областей. Сегментация применяется во многих областях, например, в производстве для индикации дефектов при сборке деталей, в медицине для первичной обработки снимков, также для составления карт местности по снимкам со спутников. Для тех, кому интересно разобраться, как работают такие алгоритмы, добро пожаловать под кат. Мы рассмотрим несколько методов из библиотеки компьютерного зрения OpenCV.
Читать дальше →

Определяем, что у пользователя заблокирована Википедия

Reading time5 min
Views26K

Недавно Роскомнадзор предпринял попытку блокировки доступа с территории РФ к Википедии. Попытка провалилась, и самое время перейти в контрнаступление. В статье под катом я покажу, что, если пользователь Х зашёл на сайт А, то сайт А может определить, заблокирован ли для пользователя другой сайт Б. А дальше, по намечающейся традиции, изложение пойдёт в вопросно-ответной форме.

Для чего это вообще нужно?


При обсуждении блокировки Википедии сообщество заметило два обстоятельства, которые весьма выгодны цензуре. Во-первых, Википедия использует HTTPS и, более того, HSTS. Это означает, что заблокирована энциклопедия может быть только целиком (с точностью до домена), но при этом перенаправить на пресловутую страницу с сообщением о блокировке нельзя. Вместо этого высвечивается сообщение об ошибке установления соединения. Это выглядит как внутренняя проблема Википедии и смягчает недовольство пользователя действиями Роскомнадзора; в то же время для развития правового государства необходима обратная связь. Во-вторых, даже если пользователи узнают о блокировке, многие из них просто не будут знать, что делать. Вешать перманентную плашку «Если заблокировали Википедию — качайте Tor Browser!» на неравнодушных сайтах как минимум странно; в то же время, оповещение пользователей о блокировке Википедии и способах её обхода необходимо. Решение поставленной проблемы и пытается дать настоящая статья.
Читать дальше →

Как разобрать обезьяньи кишки на составные части. Изучаем цветовую деконволюцию

Reading time4 min
Views24K

Как многие помнят, я работаю в лаборатории, где мы работаем с живыми и не очень организмами. Науку двигаем, короче. Обычно вперед. Иногда в качестве образцов нам достаются мертвые обезьяны, ткани которых потом идут на экспериментальные задачи. Выглядит обычно это крайне жизнерадостно. Раздается звонок в 11 часов вечера, и тебе сообщают, что в питомнике обезьянка убилась. Почти не поврежденная, соседи только сердце съели. Вздыхаем, лезем в расписание рейсов и едем в аэропорт. На месте тебе выдают нужные запчасти убиенной и складывают в прозрачный контейнер с консервационным раствором. В аэропорт с этим тащиться уже нельзя, так как ограничен провоз жидкостей. Идем на ж/д вокзал на экспресс до Краснодара. Милые девушки на контроле как правило приобретают восхитительный салатовый оттенок при виде медленно кружащихся органов в нежно-розовом растворе.
В-общем, привезли, нарезали все, что нужно ломтиками, покрасили… Но тут оказывается, что полученные исходники нужно обработать и посчитать в автоматическом режиме… Сразу хочу уточнить, что я врач-исследователь, а не профессиональный программист или математик. Поэтому, если что-то покажется ошибочным — буду рад правкам.
Читать дальше →

С аниме дорога летит незаметно или что посмотреть по дороге в отпуск

Reading time4 min
Views65K


Август — закат лета и последняя возможность вырваться в отпуск (кстати, в августе особенно хороша Карелия). Самое время определяться с видом отдыха — в отеле, палатке или на даче — и собирать вещи, загружать полезные приложения, покупать всякие гаджеты. И чтобы не скучать в дороге, нужно озаботиться каким-то развлечением и пищей для ума. Например, взять с собой интересную книгу. Но иногда хочется отдохнуть от чтения и дать отдых мозгам. Обычно здесь рука тянется запустить очередной сериал или полнометражку, но всё же не торопитесь: на кинематографе свет клином не сошёлся. Есть ещё один жанр, который может подарить не меньше удовольствия — аниме.

Поклонникам не надо объяснять, что это такое. Но если вы сейчас скривились и вспомнили «Сейлор Мун» и «Покемона», то не торопитесь осуждать: аниме столь же разнообразно, как и кинематограф. В этом жанре есть как очень глубокие и серьёзные полнометражные фильмы, и сериалы, так и совершенно бестолковые и проходные поделки. Просто по ТВ почти невозможно посмотреть хорошее и качественное аниме, поэтому у многих сформировалось предубеждение относительно японской мультипликации. И всё же мы рекомендуем поближе познакомиться с этим жанром по пути в жаркие страны, в горы или в деревню.
Читать дальше →

Wme2 — на что способен браслет от авторов первого iPhone: ЭКГ, давление и пульс из двух пальцев

Reading time16 min
Views53K
Глупые тесты про “Психологический возраст”, которые засорили весь эфир в социальных сетях, по сути могли иметь под собой серьезную медицинскую базу, и сегодня я расскажу вам о том, каков возраст моей вегетативной нервной системы, а сделаю это с помощью браслета Wme2.



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


Читать дальше →

Information

Rating
Does not participate
Registered
Activity