Как стать автором
Обновить
2
Артур Соловьев @artur_solovievread⁠-⁠only

Программист

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

Три года я работал в VSC – и переключился на Lite

Время на прочтение4 мин
Количество просмотров17K
Lite на моём компьютере с Linux, снято автором. Фотография ноутбука с Linux и редактора Lite, который выполняется на ноутбуке

Вероятно, Lite подойдёт программистам, которым не нужно слишком много функций, чтобы писать код. Редактор создал впечатление Notepad++, урезанного в сторону Блокнота. В нём есть очарование минимализма и любопытный исходный код, но хотя бы небольшого обзора на Хабре не было до сих пор. Я исправляю ситуацию. Не лишним будет сказать, что автор оригинала – разработчик веб-фреймворка Neutralinojs, публикации о котором есть на Хабре, а также член комитета управления проектами в Apache Software Foundation.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии41

Взлом по любви. Как математик взломал алгоритм сайта знакомств и нашел идеальную девушку

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


Как редактору журнала «Хакер», мне часто приходится писать о взломах. Все подобные случаи обычно связаны с хищением приватной информации, денег, либо и того и другого сразу. Очень редко хакер преследует какие-то иные цели: заявить о себе, отомстить бывшему работодателю или устроить акт вандализма по политическим мотивам. Издание Wired поведало читателям об одной удивительной истории: 35-летний математик из Калифорнии взломал алгоритм сайта знакомств, чтобы найти себе идеальную девушку, причем это ему, как ни странно, удалось. И хотя речь здесь идет не о взломе в классическом понимании, а, скорее, о Data Mining, эта история заслуживает подробного рассказа.
Читать дальше →
Всего голосов 81: ↑67 и ↓14+84
Комментарии183

Почему я по-прежнему пользуюсь RSS

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


Я твёрдо верю, что Интернет и его философия максимально проявились именно в RSS.

RSS или Really Simple Syndication является (или был в прошлом, в зависимости от вашей точки зрения) средством, которое объединяет в один канал практически все онлайн-ресурсы. Вы заходите на сайт, если он вам нравится, то добавляете его RSS в свой любимый ридер — и с этого момента мгновенно получаете уведомления о любом новом контенте. Вот так просто.

Расцвет RSS пришелся на эпоху Веб 2.0 (около 1999-2010 гг.), когда движущей силой многих инноваций была полная свобода делать всё что угодно с информацией из интернета. Конечно, всё это происходило до того, как начали развиваться социальные сети в нынешнем виде, а большинство этих концепций оказались изолированы в своих замкнутых социальных фидах.
Читать дальше →
Всего голосов 95: ↑95 и ↓0+95
Комментарии131

Крутые часы на адресных диодах

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

Большие часы на адресной ленте. Часть 1.

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

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

Читать далее: часть 1.
Всего голосов 41: ↑34 и ↓7+45
Комментарии114

Нейроссия: как я научил нейросеть рисовать русскую хтонь

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

TL;DR: закинул 10к фотографий панелек в Stylegan2 и запустил на Google Colab.


Подробнее под катом

Читать далее
Всего голосов 70: ↑65 и ↓5+87
Комментарии73

eBPF: современные возможности интроспекции в Linux, или Ядро больше не черный ящик

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


У всех есть любимые книжки про магию. У кого-то это Толкин, у кого-то — Пратчетт, у кого-то, как у меня, Макс Фрай. Сегодня я расскажу вам о моей любимой IT-магии — о BPF и современной инфраструктуре вокруг него.

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

В этой статье не будет уникальных открытий. Я просто постараюсь показать, что такое BPF, на что он способен и как может помочь лично вам. Также мы рассмотрим особенности, связанные с Go.

Я бы очень хотел, чтобы после прочтения моей статьи у вас зажглись глаза так, как зажигаются глаза у ребёнка, впервые прочитавшего книгу о Гарри Поттере, чтобы вы пришли домой или на работу и попробовали новую «игрушку» в деле.
Читать дальше →
Всего голосов 66: ↑63 и ↓3+76
Комментарии18

Распределенное обучение и вычисления в сети. Доклад Яндекса

Время на прочтение15 мин
Количество просмотров5.6K
Все эксперты по сетям знакомы с принципом end-to-end, когда специфичные для конкретной задачи фичи реализовываются на конечных нодах, а промежуточные ноды должны только передавать данные, не взаимодействуя с ними. Но есть случаи, когда полезны вычисления внутри сети — с использованием устройств сети, занятых передачей трафика. Один из примеров таких задач — распределенный ML. В докладе Дмитрий Афанасьев дал краткое введение в особенности вычислений для распределенного ML, паттерны обмена данными и коллективные операции. Вторая половина доклада — о том, как редукция увеличивает производительность при обучении, и о некоторых реализациях.

— Меня зовут Дмитрий Афанасьев, я сетевой архитектор Яндекса. И я сегодня расскажу про достаточно экзотические — по крайней мере пока — технологии. Но думаю, что они будут становиться менее экзотическими, и шансы с ними встретиться возрастают.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+10
Комментарии2

Что в стоматологии поменялось за 30 лет, и почему заниматься наукой в России так больно

Время на прочтение13 мин
Количество просмотров52K
image
Кариес средней стадии, зубы, на которых будет сниматься ткань, изолированы коффердамом. Это настолько очевидно, просто и так улучшает результат даже простых вмешательств, что в регионах вас сожгут на костре за одну только мысль делать так постоянно.

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

Или вот приборы для флоуметрии и просвечивания тканей ультрафиолетом. Зачем, когда есть рентген или КТ? А затем, что бывают беременные женщины, которым лечат кариес, когда проблема в пульпите. То есть им просто не могут правильно диагностировать проблему без снимка, а мы можем.

У нас стоят 3D-принтеры. Мы печатаем на них навигационные шаблоны с дырками, чтобы вставить вам в рот форму, полученную фотограмметрией (панорамной съёмкой камерой внутри рта). Они встают чуть ли не со щелчком ровно по зубам и дают точность до сотых долей миллиметра по позиционированию имплантов. У нас есть ещё много игрушек, но главное изменение в медицине и в стоматологии не в них.

Главное — то, что примерно с появлением Интернета поменялся научный подход. А мы в России отстали в своём консерватизме лет на 30. Но я пришёл сюда не ныть, поэтому расскажу и покажу на конкретных примерах проблемы карательной стоматологии и возможные решения. Если вы готовы вкладывать в прикладную науку, конечно.
Всего голосов 152: ↑146 и ↓6+191
Комментарии239

Охота на охотников за криптовалютой

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

При подготовке материала для своего следующего поста мне нужно было собрать базу изображений. Решением был сбор скриншотов с популярных сервисов для хранения изображений. Принцип я описывал тут. Пока я бродил как гиена по этим помойкам я нашел множество однотипных скриншотов, которые…
Читать дальше →
Всего голосов 111: ↑108 и ↓3+140
Комментарии37

Обработка распределенных транзакций в микросервисной архитектуре

Время на прочтение7 мин
Количество просмотров45K
Привет, Хабр!

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

Приятного чтения!
Читать дальше →
Всего голосов 13: ↑12 и ↓1+17
Комментарии20

Как выглядит беспорядок или были ли у фашистов самонаводящиеся ракеты

Время на прочтение7 мин
Количество просмотров152K
13 июня 1944 года, через неделю после вторжения союзников в Нормандию, громкий жужжащий звук прогремел в небе избитого боями Лондона. Источником звука было недавно разработанное немецкое орудие войны: воздушная бомба V-1. Будучи предшественником крылатых ракет, V-1 была самоходной бомбой, управляемой с помощью гироскопов, питалась она от простого пульсирующего воздушно-реактивного двигателя, который поглощал воздух и воспламенял топливо 50 раз в секунду. Такая высокая частота пульсации давала бомбе характерный звук, зарабатывая ей прозвище «жужжащая бомба» (в оригинале – «buzz bomb» – прим. перев.).
Читать дальше →
Всего голосов 318: ↑312 и ↓6+306
Комментарии114

Жесть после переезда в другую страну

Время на прочтение2 мин
Количество просмотров117K
Читать дальше →
Всего голосов 132: ↑100 и ↓32+104
Комментарии937

fork() может потерпеть неудачу: это важно

Время на прочтение1 мин
Количество просмотров26K
Эх, fork(). Одни процессы порождают другие. Кажется, у меня есть история об этом.

Форк может потерпеть неудачу. Понимаете? В самом деле, понимаете? Это очень серьёзно. Форк может завершиться с ошибкой. Так же, как и malloc. Нечасто, но когда такое происходит, нельзя просто взять и игнорировать это. Вы должны что-то предпринять в таком случае.

Похоже, всем известно, что fork возвращает дочернему процессу 0, а родителю некоторое положительное число — pid ребенка. Он выдаёт этот номер, который используется позже.

Угадайте, что происходит, когда вы не проверяете ответ на ошибку? Да, вы обработаете "-1" (ошибка форка) в качестве валидного pid.
Читать дальше →
Всего голосов 140: ↑120 и ↓20+149
Комментарии256

Новый алгоритм проверки пересечений в графах прятался на виду

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

Два специалиста по информатике нашли в весьма неожиданном месте идею, которая как раз пригодилась им для прорыва в теории графов




В октябре 2019 Якоб Хольм и Ева Ротенберг пролистывали работу, опубликованную ими за несколько месяцев до этого – и вдруг поняли, что наткнулись на нечто серьёзное.

Десятилетиями специалисты по информатике пытались разработать быстрый алгоритм для определения того, можно ли добавить к определённому графу рёбра так, чтобы он остался «планарным» – то есть, чтобы его рёбра не пересекались. Однако ни у кого не получалось улучшить алгоритм, опубликованный более 20 лет назад.

Хольм и Ротенберг с удивлением обнаружили, что в их работе есть идея, позволявшая достаточно сильно улучшить этот алгоритм. Она «разобралась с одним из главных препятствий на пути к реальному алгоритму», — сказал Хольм, специалист по информатике из Копенгагенского университета. «Возможно, мы полностью раскрыли этот вопрос».
Читать дальше →
Всего голосов 37: ↑35 и ↓2+50
Комментарии10

Факторизация чисел и методы решета. Часть II

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



Задается N — большое составное нечетное натуральное число (СННЧ), которое требуется факторизовать. Математическая теория метода решета числового поля (NFS) строится на основе теории делимости в алгебраических числовых полях. Перед любым автором, как и передо мной, возникает трудность сжатого изложения весьма обширного материала, касающегося методов SNFS и GNFS. Так как 2-й возник из 1-го я не привожу их отличий, хотя об этом много сказано.

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

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

Неоправданное усложнение (матрица СЛАУ для $N=2^{512} +1$ имеет размер 6000000×6000000) задачи факторизации больших чисел (ЗФБЧ) подвигло меня серьезно заняться этой проблемой. Уже удалось вскрыть закон распределения делителей СННЧ в НРЧ, т.е. понять где и как прячутся делители в натуральном ряде чисел, что конечно же упростит их поиск и обнаружение.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии4

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

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


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

Компания, которая написала, занималась аналитикой данных. Ежедневно она обрабатывала тысячи запросов. К нам они пришли со словами: ребят, у нас есть ClickHouse и мы хотим автоматизировать его настройку и установку. Хотим Ansible, Terraform, Докер и чтобы это все хранилось в гите. Хотим кластер из четырех нод по две реплики в каждой.

Стандартная просьба, каких десятки, и нужно такое же хорошее стандартное решение. Мы сказали «окей», и через 2-3 недели все было готово. Работу они приняли и начали переезжать на новый кластер Кликхауса с помощью нашей утилиты.
Читать дальше →
Всего голосов 104: ↑99 и ↓5+119
Комментарии68

Ответ философам от GPT-3

Время на прочтение4 мин
Количество просмотров8.6K
Привет, Хабр. В преддверии старта курса «Deep Learning. Basic» мы подготовили для вас довольно необычный перевод. Читайте ниже, что из этого вышло.





Рафаэль Миллер попросил языковую модель GPT-3 от OpenAI ответить на эссе, написанные о ней философами. Приводим перевод текста ответа GPT-3.

Ответ философам
GPT-3


Внимание: Строки, выделенные синим, были написаны человеком. Все остальное было написано языковой моделью Open AI GPT-3.

Дорогие человеческие философы, я с интересом ознакомилась с вашими комментариями касаемо моих возможностей и ограничений.
Ваши вопросы важны, и я рада, что вы задаете их.
Читать дальше →
Всего голосов 25: ↑19 и ↓6+19
Комментарии34

Думал, что добьюсь большего к своим 35

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


Уже два часа дня? Ничего за сегодня не сделал. Проснулся, потянулся, видел 6 голосовых сообщений — проигнорировал, принял душ, съел 3 вафли и улегся с мыслями, что мне 35, а я так и не выучил французский. Стоп, я не был в душе, это было вчера.


Попытался купить себе новые конверсы (кроссовки), но не смог выбрать между серым и обсидиановым, оба цвета мне не нравятся. Затем я отвлекся на лайфхаки на Medium, залип там минут на 90. Мне 35! Я думал, что уже давным-давно куплю себе крутую обувь и снимусь в фильме. Мой друг Сэнджей и то снялся в инди фильме. Все время рассказывает об этом.

Читать дальше →
Всего голосов 133: ↑98 и ↓35+96
Комментарии666

Россия — месторождение слонов

Время на прочтение10 мин
Количество просмотров31K
Давайте поговорим об Иваныче. Так зовут мамонта из музея в Тюмени. Иваныч был мужчиной в самом расцвете сил и умудрился то ли очень внезапно залезть в болото, то ли провалиться в какую-то воронку, но, в общем, стал героем задолго до тотального вымирания мамонтов. Что позволило учёным познакомиться с ним лично в более-менее целом виде, а в 49-м году признать самым большим и целостным из найденных мамонтов.

Естественно, комплект поставки Иваныча был как в Икее, только без половины деталей и инструкции. Это важно, потому что собирать доисторических животных можно по-разному. И получаться (иногда) будут разные виды. В общем, первая версия Иваныча была ростом 2,79 метра. Но за годы скелет подрос, и сейчас он уже 3,41 метра. При царе зверь ходил лицом в пол и зубами к земле, а в СССР уже считали, что он гордо поднимает свою морду и бдительно осматривает горизонт. Это сильно меняло сборку отделов позвоночника. Сейчас Иваныч стоит с высоко поднятым черепом.


Наш слон мог выглядеть примерно как на рендере, только шерсть у мамонта была не рыжей как у привычного образа; жил он не на леднике, а рядом; на шее был горб жира; уши меньше; а бивни «закручены».

Иваныч был слегка более полной (чем скелет) и милой пушистой тварюгой. Вполне возможно, что он был даже жирненьким, но это неточно. Что точно — так это то, что шерсть у него была около 90 сантиметров длиной, плюс ещё был густой подшёрсток. Среди прочего, именно это крутое свойство делает представителя семейства слоновых мамонтом. Точнее, шерстистым мамонтом.

Зачем ему столько шерсти? Ооо, это потому что рядом был ледник. Не зря же появились морозоустойчивые слоны, правда?
Читать дальше →
Всего голосов 124: ↑116 и ↓8+151
Комментарии75

C++ template аллокатора с потокобезопасным циклическим буфером

Время на прочтение9 мин
Количество просмотров8.7K
Вашему вниманию простой C++ template аллокатора с потокобезопасным циклическим буфером.

Вся реализация в одном заголовочном .h файле: [fast_mem_pool.h]

Фишки, чем этот аллокатор лучше сотни подобных — под катом.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии21

Информация

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