Pull to refresh
0
0
Send message

Есть проблемы гораздо сложнее, чем NP-Complete

Level of difficultyMedium
Reading time8 min
Views9.9K


Люди часто сравнивают P и NP в таком духе, что проблемы P простые, а NP — сложные. Но это чрезмерное упрощение. На самом деле проблемы могут быть намного, намного сложнее, чем NP.

В этом смысле можно вспомнить интеллектуально-фантастический триллер Travelling Salesman (Коммивояжёр, 2012) о четырёх математиках, нанятых правительством США для решения самой сложной проблемы в истории информатики — равенства классов сложности P и NP (P versus NP problem). И им это удалось. Чиновник министерства обороны США предлагает за их алгоритм вознаграждение $10 млн. Но сами математики слишком хорошо понимают, какие разрушительные последствия принесёт в мир их открытие. Один из лучших фильмов про математику в истории кинематографа…
Читать дальше →
Total votes 50: ↑46 and ↓4+42
Comments3

Почему работать с OAuth сложно даже сегодня?

Level of difficultyMedium
Reading time10 min
Views20K

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

Вероятно, вы подумаете, что имея клиентскую библиотеку, можно реализовать OAuth для любого API буквально за десять минут. Или хотя бы за час.

Если вам это удастся, то, пожалуйста, сообщите об этом нам — мы угостим вас изысканным ужином и послушаем, как у вас это получилось.
Читать дальше →
Total votes 67: ↑66 and ↓1+65
Comments16

VPN Gate, или — неубиваемая Великим Китайским Файрволом распределённая сеть VPN

Reading time3 min
Views69K

Сегодня речь пойдёт о технологии распределённой сети VPN Gate, своего рода недруга Поднебесной в области интернет цензуры. На Хабре много статей на тему SoftEther VPN (нижележащий слой VPN Gate), но нет ни одной технически всесторонней статьи про саму распределённую сеть и такое чувство, что в рунете про неё вообще забыли.

VPN Gate — академический эксперимент Дайу Нобори. Проект представляет собой интернет-сервис научных исследований в Высшей Школе Университета Цукуба, Япония. Цель данного исследования заключается в расширении знаний «Глобальных распределенных открытых ретрансляторов VPN».

Отличительной особенностью данной сети является её функционирование в виде роя. То есть каждый желающий пользователь может поделиться своей пропускной способностью с другими. Я знаю, что вы подумали, очередной неудачный dVPN пиар на основе блокчейна.

Однако это не так, данный проект уже насчитывает 8634 узлов и 534 петабайта трафика за всё время существования. К примеру даже у TOR-а узлов — 7 тысяч.

Читать далее
Total votes 81: ↑80 and ↓1+79
Comments101

Как я в зеленом банке архитектором работал

Reading time10 min
Views35K

Привет, друзья!

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

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

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

Читать далее
Total votes 99: ↑92 and ↓7+85
Comments77

Краткий справочник по «всем-всем» командам Linux

Level of difficultyMedium
Reading time74 min
Views151K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005, 1110 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX
Total votes 126: ↑123 and ↓3+120
Comments114

Что делать, если украли смартфон

Reading time10 min
Views173K
image


Евгений (MalDeckard) Черешнев поделился личным опытом и написал исчерпывающий гайд, который может помочь многим людям и предостеречь от последствий:

У меня на днях украли смартфон — профессиональный вор-велосипедист на скорости выхватил из рук прямо в центре города и был таков. Это может случиться с кем угодно и в любой стране мира. Я, в силу профессиональной деформации вокруг IT, данных, приватности и безопасности, к ситуации был морально готов и знал, что делать. Друзья, с которым поделился историей посоветовали написать памятку, которую может использовать каждый человек, даже далекий от айти. Этот текст — эта самая памятка. Смартфон она вам не вернет. Но, если кому-то поможет снизить ущерб и сэкономит седых волос — значит, не зря потратил время на написание, а вы — на прочтение.

Справедливости ради, большинство воров уже в курсе того, что каждый смартфон — это, по сути, радиомаяк, по которому всегда можно укравшего отследить. Поэтому они редко оставляют его включенным — практически сразу достают и выбрасывают SIM-карту, сам телефон вырубают и сдают на запчасти за копейки. Что крайне обидно — ибо шансы того, что, например, мой iPhone 12 Pro Max 512 банально разберут на экран, аккумулятор и несколько особо востребованных микросхем — стремятся к 100%. То есть, вор украл крайне дорогой девайс, а получит за него или хрен или (если он идиот) — срок. Но это не всегда так. Иногда можно получить реально грузовичок и тележку проблем. Во-первых, в ряде типов краж (как в моем случае) телефон попадает в руки плохого парня в разлоченном состоянии и есть риск, что злоумышленник девайс специально не залочит — будет держать его активированным и извлекать из него максимальную пользу, на что у него будет в теории до 24ч (после чего сработает система защиты в заводских настройках и снова попросит ввести пин-код, даже, если телефон до сих пор разлочен).
Читать дальше →
Total votes 167: ↑157 and ↓10+147
Comments486

iOS для творчества: рисование

Reading time5 min
Views34K


Привет! В прошлой статье я делал обзор возможностей iOS для написания музыки, а тема сегодняшней — рисование

Я расскажу вам про Apple Pencil и другие приложения для работы с растровой и векторной графикой, пиксель-артом и другими видами рисования.

Читать дальше →
Total votes 46: ↑43 and ↓3+40
Comments33
Большинство управляющих и владельцев бизнеса не до конца представляют себе список факторов, которые должны быть учтены при проектировании беспроводной сети. Да и некоторые системные и сетевые администраторы, привыкшие к работе с проводными сетями, поддерживают мифы и легенды, которыми окутаны беспроводные сети. В данном материале мы попытаемся обозначить основные моменты, на которые стоит обратить внимание на этапе проектирования Wi-Fi сетей. По этому списку можно будет понять, насколько вы подготовлены с технической точки зрения.
Подробности – под катом
Total votes 22: ↑22 and ↓0+22
Comments6

О столе для работы стоя, здоровье позвоночника и личной эффективности

Reading time5 min
Views103K

С недавних пор я снова перешёл на 100% работу из дома и стал использовать стол для работы стоя. Хочу поделиться дампом своего опыта на тему здоровья, призвать закончить прокрастинировать и начать работать стоя.



Сначала, о том, почему стол для работы стоя — не панацея...

Читать дальше →
Total votes 102: ↑95 and ↓7+88
Comments282

Доступное объяснение алгоритма коллапса волновой функции

Reading time9 min
Views34K
Алгоритм коллапса волновой функции (Wavefunction Collapse Algorithm) учит компьютер импровизировать. На входе он получает архетипичные данные и создаёт процедурно генерируемые данные, похожие на исходные.


(Источник)

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


(Источник)

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

Большинство реализаций и объяснений коллапса волновой функции — это полная, оптимизированная по скорости версия алгоритма. Разумеется, все они важны и необходимы, но в них сложно разобраться с нуля. В этом посте я буду объяснять всё понятным я простым языком, сосредоточившись на версии Wavefunction с ограничениями, которую я назвал Even Simpler Tiled Model. Кроме того, я выложил пример реализации ESTM на Github. Код в нём неэффективный и медленный, но очень хорошо читаемый и подробно прокомментирован. Как только вы разберётесь в технологии, лежащей в основе ESTM, то станете ближе к пониманию более сложных версий алгоритма. Если хотите понять алгоритм коллапса волновой функции, то эта статья будет хорошим началом.
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments19

Про ГОСТовский шифр Кузнечик, его SBox и потерянные сиды

Reading time9 min
Views37K
Привет, %username%!



Недавно мы вернулись с конференции EuroCrypt 2019, где познакомились с чрезвычайно умными людьми и заодно узнали новые, чрезвычайно обидные факты о ГОСТовском SBox.

Так что, это второй подход к снаряду. Исправленный и дополненный.

В этот раз не будет непонятных красно-синих слайдов, зато будут оригинальные документы из комитета ISO c объяснениями авторов Кузнечика.

И даже челлендж в конце!

Поехали.
Читать дальше →
Total votes 58: ↑55 and ↓3+52
Comments141

HBO, cпасибо что напомнил… «Чернобыльская аптечка» беларуского фармацевта

Reading time20 min
Views123K
Что бы ни сказали — не станем спорить
Что бы ни дарили — не станем верить

Егор Летов «Как листовка»

Думаю не стоит лишний раз говорить о нашумевшем сериале Чернобыль и эффективности такого «сериального» воздействия на массы. Особенно на массы, проживающие на территориях, показанных в фильме. Выход каждой новой серии сопровождается всплеском публикаций в FB. В каждой из которых горечь, страх, боль. Что в такой ситуации я могу сделать ("кто виноват и что делать?")? Могу только описать свой взгляд на терапию лучевых поражений. Спасибо родненькой кафедре химии высоких энергий и проф. Шадыро О.И., которые пестовали в своих лабораториях нас, непутевых фармацевтов-радиохимиков. Надеюсь своей статьей честь этой, легендарной некогда, кафедры я не опорочу.

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

В общем, спасибо, сценаристы HBO, за то, что всколыхнули Память. Мой посильный вклад — под катом. Рейтинг доступных (и не очень) антидотов, способных сработать при радиационном выбросе. В закладки — класть строго ВСЕМ! И прочитал сам — перекинь другу.

Читать дальше →
Total votes 227: ↑210 and ↓17+193
Comments272

Стартапы «альтернативной еды». Компании, которые разрабатывают то, что мы все будем есть

Reading time10 min
Views13K


О том, почему разработка «еды нового века» – это не просто необходимо, но и неизбежно, год назад мы писали вот тут. Если вкратце, курочки, коровки и свинки требует дофигища ресурсов (особенно воды) и больших площадей, а также негативно влияют на климат нашей планеты. Коровы выпускают парниковых газов больше, чем все автомобили. На каждый 1 кг говядины в магазине – в атмосферу выбрасывается эквивалент 35 кг углекислого газа.


Мясо – это отлично, прекрасно и вкусно, но оно дает только 18% калорий в средней диете, занимая до 83% сельхозугодий (под выпас и корм) и давая 60% всех парниковых газов от сельского хозяйства.


Главная проблема в том, что рост числа людей на планете и повышение общего уровня материального состояния увеличивают потребности человечества в мясе и прочей пище. Многие просто не готовы отказаться от вкусностей, даже если это вредно планете или им самим. По оценкам ООН, к 2050 году миру придется вырабатывать на 70% больше еды. И с нашими текущими привычками потребления (и текущими технологиями) планета нас попросту не прокормит.


Запрещать еду – не вариант. Поэтому правительства азиатских стран, венчурные фонды и разные IT-миллиардеры, в том числе Билл Гейтс, стараются найти способ вырабатывать пищу. Их надежды сейчас – на несколько десятков стартапов, разрабатывающих новые, более «зеленые» технологии производства еды. От успеха этих молодых компаний может зависеть наше будущее. И, вполне вероятно, продуктами как минимум пары из них мы всё же вынуждены будем питаться через двадцать-тридцать лет.

Читать дальше →
Total votes 24: ↑17 and ↓7+10
Comments84

Хакаем CAN шину авто. Виртуальная панель приборов

Reading time14 min
Views213K


В первой статье «Хакаем CAN шину авто для голосового управления» я подключался непосредственно к CAN шине Comfort в двери своего авто и исследовал пролетающий траффик, это позволило определить команды управления стеклоподъемниками, центральным замком и др.

В этой статье я расскажу как собрать свою уникальную виртуальную или цифровую панель приборов и получить данные с любых датчиков в автомобилях группы VAG (Volkswagen, Audi, Seat, Skoda).

Мною был собран новый CAN сниффер и CAN шилд для Raspberry Pi на базе модуля MCP2515 TJA1050 Niren, полученные с их помощью данные я применил в разработке цифровой панели приборов с использованием 7″ дисплея для Raspberry Pi. Помимо простого отображения информации цифровая панель реагирует на кнопки подрулевого переключателя и другие события в машине.

В качестве фреймворка для рисования приборов отлично подошел Kivy для Python. Работает без Иксов и для вывода графики использует GL.

  1. CAN сниффер из Arduino Uno
  2. Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)
  3. Разработка панели приборов на основе Raspberry Pi и 7″ дисплея
  4. Софт панели приборов на Python и Kivy (UI framework)
  5. Видео работы цифровой панели приборов на базе Raspberry Pi

Под катом полная реализация проекта, будет интересно!
Total votes 195: ↑192 and ↓3+189
Comments224

Фильтр Калмана — Введение

Reading time5 min
Views259K
Фильтр Калмана — это, наверное, самый популярный алгоритм фильтрации, используемый во многих областях науки и техники. Благодаря своей простоте и эффективности его можно встретить в GPS-приемниках, обработчиках показаний датчиков, при реализации систем управления и т.д.

Про фильтр Калмана в интернете есть очень много статей и книг (в основном на английском), но у этих статей довольно большой порог вхождения, остается много туманных мест, хотя на самом деле это очень ясный и прозрачный алгоритм. Я попробую рассказать о нем простым языком, с постепенным нарастанием сложности.
Читать дальше →
Total votes 157: ↑151 and ↓6+145
Comments50

Где покупать радиодетали и компоненты? Часть I: Россия

Reading time4 min
Views165K
Давайте поговорим о покупке электронных компонентов в интернете. Я собрал список интересных отечественных и зарубежных магазинов:

а) которые заточены под любителей DIY и делают свои собственные крутые продукты: конструкторы, модули, обучающие курсы и т.д.;

б) для профи, с широкой номенклатурой электронных компонентов.

Продолжение: Часть II: зарубежные магазины

Кадр из к/ф «Иван Васильевич меняет профессию»
Продолжение
Total votes 130: ↑120 and ↓10+110
Comments158

Познакомьтесь с анархистами, самостоятельно делающими лекарства

Reading time15 min
Views144K

«Уксусный коллектив четырёх воров» – сеть анархистов, опирающихся на технологии, и бросающих вызов гигантам фарминдустрии при помощи самостоятельно изготовленных лекарств




Впервые я познакомился с Майклом Лофером, когда он швырялся в аудиторию хакерской конференции HOPE (Hackers on Planet Earth), проходящей раз в два года в Нью-Йорке, лекарствами на тысячи долларов.

«Кто-нибудь из присутствующих переживал анафилактический шок, не имея доступа к эпинефрину?» – спросил Лофер у аудитории. Поднялось несколько рук, и Лофер швырнул одному из поднявших руку людей изготовленную в домашних условиях EpiPen [похожее на шариковую ручку устройство для самостоятельных инъекций адреналина / прим. перев.]. «Это одно из первых сделанных нами устройств, — сказал он. – Используйте его с умом».

Немного позлорадствовав насчёт того, как Мартин Шкрели из племени фармацевтических гигантов поднял цены на препарат дараприм, необходимый для людей, страдающих от ВИЧ, с $13 до $750, Лофер посерьёзнел. «Прошло два года, но несмотря на всё произошедшее, стоимость препарата дараприм не поменялась», — сказал он. Он залез в карман и достал пригоршню белых таблеток. «Думаю, надо раздать ещё немного», — сказал Лофер, и швырнул дараприм в аудиторию.
Читать дальше →
Total votes 147: ↑141 and ↓6+135
Comments450

Как защитить своего ребенка от мусора на YouTube и сделать кастомный плеер с белым списком каналов

Reading time9 min
Views122K

Можно долго спорить на тему, стоит ли давать маленьким детям доступ к планшетам и смартфонам. Кто-то говорит что это вредно для глаз или для психики, кто-то — что родителям надо бы самим играть и читать с детьми, а не пытаться отгородится от них гаджетами. Что характерно, чаще всего такое говорят люди, у которых своих детей нет. И которые не знают, какое это блаженство — когда чадо замолкает хотя бы на полчаса, перестает крушить все вокруг, спокойненько лежит на диване и смотрит мультики. Есть и еще один аргумент — дети чутко все повторяют за родителями, если родители непрерывно сидят уткнувшись в телефон, то очень сложно объяснить детям, почему родителям можно, а им — нет.



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


К сожалению, я очень быстро уяснил, что детский ютуб — это просто АДОВЫЙ ТРЕШ. Про это даже на Хабре уже был перевод статьи. Детские каналы — это какие-то бездонные клоаки, наполненные вырвиглазными видео типа "разворачиваем сто киндер-сюрпризов", "дурацкие стишки с убогой 3д графикой под крикливую музыку" и "гоняем машинки в Beam NG под дурацкие комментарии". По какой-то причине все это является очень привлекательным для маленьких детей, которые бросаются кликать на такие видео как только увидят их в рекомендованных. А YouTube не позволяет управлять рекомендациями. Даже дав своему сыну планшет с включенными "нормальными" мультиками, я уже через пару минут наблюдаю, как он за два клика по рекомендациям опять находит эти чертовы шоколадные яйца и снова начинает в них залипать.


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

Читать дальше →
Total votes 91: ↑87 and ↓4+83
Comments364

Концепции распределенной архитектуры, с которыми я познакомился при построении крупной системы платежей

Reading time12 min
Views35K
Я присоединился к Uber два года назад в качестве мобильного разработчика, имеющего некоторый опыт разработки бекенда. Здесь я занимался разработкой функционала платежей в приложении — и по ходу дела переписал само приложение. После чего я перешёл в менеджмент разработчиков и возглавил саму команду. Благодаря этому я смог гораздо ближе познакомиться с бэкендом, поскольку моя команда несёт ответственность за многие системы нашего бэкенда, позволяющие осуществлять платежи.

До моей работы в Uber у меня не было опыта работы с распределёнными системами. Я получил традиционное образование в Computer Science, после чего с десяток лет занимался full-stack разработкой. Поэтому, пусть я и мог рисовать различные диаграммы и рассуждать о компромиссах (tradeoffs) в системах, к тому моменту я недостаточно хорошо понимал и воспринимал концепции распределённости — такие, например, как согласованность (consistency), доступность (availability) или идемпотентность (idempotency).

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

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

Итак, давайте приступим к нашему погружению в SLA, согласованность, долговечность данных, сохранность сообщений, идемпотентность и некоторые другие вещи, которые мне потребовалось выучить на своей новой работе.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments2
1

Information

Rating
Does not participate
Registered
Activity