Как стать автором
Обновить
1298
0
Анатолий Ализар @m1rko

автор, переводчик, редактор

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

Большая игра на понижение крипты. Механизм финансовой катастрофы

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


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

Если у вас есть значительные объёмы криптовалюты или вы подумываете о её покупке, то именно для вас я это написал. Пожалуйста, прочтите до конца.
Всего голосов 242: ↑235 и ↓7+228
Комментарии390

У Google появился новый креативный способ убивать SaaS-стартапы

Время на прочтение7 мин
Количество просмотров99K
В старые времена, когда компания Google (или любой из её плохо настроенных ИИ) хотела убить ваш бизнес, то обычно отказывала вам в доступе к какому-то из своих сервисов, и это работало. Вы наверняка слышали страшилки:



Клянусь, я прочитал FAQ!
Читать дальше →
Всего голосов 243: ↑243 и ↓0+243
Комментарии181

Дизайн пагинации страниц в API

Время на прочтение3 мин
Количество просмотров19K
Для API может быть сложно вернуть все результаты запроса, особенно если их тысячи. Это создаёт нагрузку на сервер, на клиент, на сеть и часто является ненужным. Поэтому и придумали пагинацию.

Обычный способ разбиения на страницы — это смещение или номер страницы. Вы делаете такой запрос:

GET /api/products?page=10
{"items": [...100 products]}

а дальше такой:

GET /api/products?page=11
{"items": [...another 100 products]}
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии19

Как пересчитать электронную таблицу

Время на прочтение13 мин
Количество просмотров6.3K
Предположим, я заказываю буррито для двоих друзей и хочу рассчитать общую стоимость заказа:



Поток данных в этой таблице немного сложно проследить, поэтому вот эквивалентная диаграмма, которая представляет таблицу в виде графа:



Округляем стоимость буррито El Farolito super vegi до 8 долларов, поэтому при доставке стоимостью 2 доллара общая сумма составит 20 долларов.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии6

Один совет, благодаря которому я успешно прошёл несколько собеседований

Время на прочтение6 мин
Количество просмотров174K
— Что вы скажете, если я попрошу вас разработать сервис, который обрабатывает тысячи запросов в секунду с минимальной задержкой?

— Хм… Я скажу, что у вас в компании возникла такая проблема. Но у вас нет идей и вы обсуждаете её на собеседованиях с кандидатами :)

Именно так я ответил, когда мне впервые задали вопрос по архитектуре. Мы хорошо посмеялись. Но потом интервьюер всё-таки заставил меня спроектировать сервис.
Читать дальше →
Всего голосов 107: ↑101 и ↓6+95
Комментарии222

Как мы спасли .ORG — итоги 2020 года

Время на прочтение5 мин
Количество просмотров2.6K
Если вы некоммерческая организация, то ваш домен .ORG.

В ноябре 2018 года некоммерческие организации по всему миру были шокированы решением Интернет-общества (ISOC) продать организацию Public Interest Registry, которая управляет этим доменом, частной фирме Ethos Capital.

EFF и другие известные организации подняли тревогу, написали письмо ISOC с призывом остановить продажу. Дальнейшие события, возможно, стали самым драматическим проявлением солидарности со стороны некоммерческого сектора за всё время. И мы победили.

До этого объявления EFF потратил шесть месяцев, высказывая свою озабоченность ICANN по поводу соглашения 2019 .ORG Registry Agreement, которое давало владельцам .ORG новые полномочия по цензуре сайтов некоммерческих организаций (соглашение также сняло давний потолок на максимальную стоимость регистрации и продления доменов.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Как защититься от неожиданных счетов за AWS

Время на прочтение5 мин
Количество просмотров27K
Представьте, что у вас в облаке маленький проектик. Уже полгода вы платите за него по 20 центов в месяц. В принципе, ничего особенного. Но однажды утром вдруг приходит крупный счёт на 2700 долларов.


В облаке мы платим за хранение, вычисления и другие услуги по мере их использования. Не нужно поднимать собственный сервер. Однако недостаток в том, что можно случайно потратить больше денег, чем есть в кошельке. Это особенно сложно с бессерверными решениями, которые автоматически масштабируются вместе с поступающим трафиком.
Всего голосов 35: ↑34 и ↓1+33
Комментарии63

Запуск Netflix на телевизорах и приставках. Лишние 40 миллисекунд

Время на прочтение6 мин
Количество просмотров39K
Приложение Netflix работает на сотнях умных телевизоров, стиков и телевизионных приставок. Я один из инженеров, которые помогают производителям запустить наше приложение на их устройствах. В этой статье обсудим особенно сложный вопрос, который помешал выходу одной телеприставки на европейский рынок.

Таинственная проблема


В конце 2017 года меня позвали на созвон, чтобы обсудить проблему с приложением Netflix на новой телеприставке. Это было новое устройство Android TV с поддержкой 4K, на базе Android Open Source Project (AOSP) версии 5.0, Lollipop. Я уже несколько лет работал в Netflix и помог выпустить несколько девайсов, но это был моё первое устройство Android TV.

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

Интегратор и Netflix уже завершили строгий процесс сертификации Netflix, но во время внутреннего испытания у оператора руководитель компании сообщил о серьёзной проблеме: воспроизведение Netflix лагало, то есть видео воспроизводилось очень короткое время, затем пауза, затем снова, затем пауза. Это происходило не всегда, но стабильно начинало лагать через нескольких дней после включения приставки. Они показали видео, оно выглядело ужасно.
Читать дальше →
Всего голосов 111: ↑109 и ↓2+107
Комментарии58

Бенчмарки Apple M1 в реальной разработке

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


Я очень впечатлён результатами тестов Apple M1. Это действительно быстрый и мощный чип в важных повседневных задачах, таких как просмотр веб-страниц, работа с приложениями x86 и инструментами разработчика. Да, экосистема ещё не развита, и это может занять некоторое время, но эта работа стоит того, с учётом феноменальной производительности M1.

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

Следует иметь в виду, что некоторые наборы тестов нагружают память, другие зависят от производительности CPU, а в некоторых задачах нет преимущества от многоядерной обработки из-за накладных расходов или сложности использования многопоточности. Это означает, что M1 может показать лучший результат, чем десктопный Ryzen даже с меньшим количеством ядер. Самое главное, что я сосредоточился на тестах реальных задач разработки, а не на синтетических тестах продакшна.
Читать дальше →
Всего голосов 53: ↑49 и ↓4+45
Комментарии331

Как Uber переписал приложение iOS на Swift

Время на прочтение9 мин
Количество просмотров15K
Итак, друзья, садитесь в кружок и послушайте историю самой большой инженерной катастрофы, в которой я участвовал. Это история о политике, архитектуре и логической ошибке невозвратных затрат (вы уж извините, просто сейчас пью Aberlour Cask Strength Single Malt Scotch).


Шёл 2016 год. Трампа ещё не избрали президентом, поэтому движение #DeleteUber пока не началось. Трэвис Каланик оставался гендиром, мы переживали фазу гиперактивного роста с открытием филиалов в других странах, общественные настроения в целом позитивные, все довольны, Uber на высоте.
Всего голосов 34: ↑34 и ↓0+34
Комментарии45

Как мы случайно сожгли $72 000 за два часа в Google Cloud Platform и чуть не обанкротились

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


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

В марте 2020 года, когда COVID поразил весь мир, наш стартап Milkie Way тоже сильно пострадал и почти закрылся. Мы сожгли 72 000 долларов во время изучения и внутреннего тестирования Cloud Run с Firebase в течение нескольких часов.
Читать дальше →
Всего голосов 84: ↑76 и ↓8+68
Комментарии197

Связные списки, трюки с указателями и хороший вкус

Время на прочтение5 мин
Количество просмотров39K
В интервью на TED 2016 (14:10) Линус Торвальдс рассказывает о хорошем стиле программирования. В качестве примера приводит два варианта удаления элементов из односвязных списков (см. ниже). В первом варианте есть специальный случай, а в другом — нет. Линус предпочитает второй.

Его комментарий:

[...] Не надо размышлять, почему здесь нет оператора if. Важно посмотреть на задачу с другой стороны и переписать её так, чтобы особый случай исчез и стал обычным случаем, и это хороший код. — Л. Торвальдс

В качестве примера Линус показывает достаточно простой псевдокод в стиле Си. Но не даёт концептуального объяснения. Поэтому не сразу понятно, как работает косвенный указатель.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии66

Кто такой одинарный инженер?

Время на прочтение3 мин
Количество просмотров18K
Кто такой «1х-инженер»?

Возможно, вы слышали о «десятикратных» инженерах. Они очень производительны, эффективны, работают буквально за десятерых. Если такие существуют, то наверняка должны быть и одинарные инженеры?

Конечно, такие есть. Давайте попробуем составить список качеств, присущих простому одинарному инженеру. Неполный список.
Читать дальше →
Всего голосов 61: ↑52 и ↓9+43
Комментарии52

Коды Рида — Соломона в RAID 6

Время на прочтение12 мин
Количество просмотров6.5K
В интернете много статей о восстановлении информации в массиве RAID-6 и о том, как сделать собственную реализацию такого массива. Но большинство этих статей напичканы математическими формулами. Чтобы понять реальный алгоритм, приходится тратить очень много времени.

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

В качестве бонуса информация о том, как работает исправление ошибок в RAID-5, потому что RAID-6 — это улучшенная версия RAID-5.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии10

Компиляция C/C++ на Apple M1

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


Заинтригованный впечатляющими бенчмарками M1, я достал последний Mac Mini, чтобы замерить скорость компиляции на C/C++.

Измеряем локальный build2 (без репозитория пакетов), который включает преимущественно код на C++ (611 единиц трансляции) с некоторыми блоками на C (29) и связками между ними (19). Такой бенчмарк требует только компилятора C++ и входит в тестовый набор Phoronix, поэтому можно сравниться с большим количеством процессоров.

Бенчмарк Phoronix в настоящее время использует build2 0.12.0, у нас 0.13.0 (текущий релиз), здесь сборка выполняется примерно на 10% медленнее.
Читать дальше →
Всего голосов 81: ↑80 и ↓1+79
Комментарии163

Возможно, вам не нужно машинное обучение

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

Машинное обучение — модная технология, поэтому её часто используют в ситуации, когда существует более простое, эффективное и надёжное решение. На днях мне попался наглядный и забавный пример: «Нейросетевые машины и генетические алгоритмы». Всю эту навороченную систему легко заменить на полином первой степени без потери функциональности. Машинное обучение тут явный перебор.
Всего голосов 36: ↑34 и ↓2+32
Комментарии18

Переход с reCAPTCHA на hCaptcha

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


Блог Cloudflare

Недавно мы сменили нашего провайдера капчи с Google reCAPTCHA на сервис независимой компании hCaptcha. Мы рады этому изменению, потому что оно помогает решить проблему конфиденциальности, присущую сервисам Google, а также даёт больше гибкости в настройках капчи. Поскольку это изменение потенциально влияет на всех клиентов Cloudflare, хотим подробно объяснить причины.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии14

Не могу открыть приложения на macOS. Почему подпись кода OCSP оказалась миной замедленного действия

Время на прочтение6 мин
Количество просмотров7.1K
Две недели назад пользователи macOS начали сообщать о странных зависаниях при открытии приложений, не загруженных из Mac App Store. Многие подозревали аппаратные проблемы со своими устройствами, но из социальных сетей они узнали, что это широко распространённая проблема. И не случайно она возникла вскоре после запуска macOS Big Sur.

В конце концов, твит Джеффа Джонсона точно указал основную причину. Оказалось, что эппловская служба “OCSP Responder” слишком перегружена, поэтому macOS не могла проверить криптографические сертификаты разработчиков приложений.

Всего голосов 13: ↑13 и ↓0+13
Комментарии5

Как появилась на свет программа youtube-dl

Время на прочтение10 мин
Количество просмотров28K
Как известно, в данный момент репозиторий youtube-dl на GitHub заблокирован по DMCA-запросу от RIAA. Хотя я не могу комментировать текущие планы мейнтейнеров или текущие дискуссии, но после сделанных обвинений RIAA я подумал, что мне как создателю программы и первому мейнтейнеру будет полезно рассказать о первых годах youtube-dl.

Сборщики меди


В любой хорошей истории должен быть злодей, и в качестве такого персонажа я решил выбрать сборщиков меди — воришек, которые собирали цветные металлы в округе. Именно они подтолкнули к созданию youtube-dl. В далёком 2006 году мой посёлок находился в 5-10 километрах от небольшого города Авилес на севере Испании. Жители Авилеса наслаждались хорошей инфраструктурой и услугами, включая кабельное телевидение и ADSL-доступ в интернет. В моём районе ничего такого не было: слишком далеко от телефонной станции с ADSL, а сборщики меди годами воровали медные провода по пути к ней, время от времени вызывая перебои в телефонной связи и заставляя телефонную компанию заменять эти провода более слабыми и тонкими, потому что их тоже, скорее всего, украдут. Это продолжалось несколько лет.

Единственным вариантом выхода в интернет из дома был модем 56k V.90. На самом деле качество связи было настолько плохим, что приходилось для стабильности снижать скорость до 33,6 Кбит/с. Фактическая скорость загрузки редко превышала 4 КБ/с. В то же время в интернете появился интересный видеосервис YouTube, он быстро набирал популярность, а в конце того же года его купила компания Google.
Читать дальше →
Всего голосов 111: ↑111 и ↓0+111
Комментарии29

Размытие фона в Google Meet с расчётом ML в браузере

Время на прочтение6 мин
Количество просмотров4K
Видеоконференции занимают всё большее место в работе и личной жизни людей. Чем лучше организован процесс с точки обработки видео и приватности, тем меньше отвлекается внимание человека от самой конференции. В рамках этой задачи мы недавно разработали фильтры размытия и замены фона в Google Meet. Они задействуют машинное обучение (ML) для лучшего выделения участников независимо от их окружения. В то время как другие решения требуют установки дополнительного программного обеспечения, функции Meet основаны на передовых технологиях Web ML, построенных с помощью MediaPipe, и работают непосредственно в вашем браузере — никаких дополнительных шагов не требуется. Одной из ключевых целей при разработке этих функций было обеспечение производительности в реальном времени в браузере почти на всех современных устройствах, чего мы достигли, объединив эффективные модели ML на устройстве, рендеринг на основе WebGL и вывод ML на веб-стеке с помощью XNNPACK и TFLite.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии2
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность