Pull to refresh
8
0
Send message

ИИ без иллюзий. Развенчивание мифов

Level of difficultyEasy
Reading time5 min
Views27K

В своем подкасте я грозился сам почитать статью GSM-Symbolic: Understanding the Limitations of Mathematical Reasoning in Large Language Models ученых из Apple и разобраться. Почитал. Разобрался. Забавная статья. Забавная не по содержанию, а по выводам, которые можно сделать, если читать между строк и выйти за границы статьи.

Читать далее
Total votes 93: ↑71 and ↓22+59
Comments138

Большие и чёрные (ящики): что мы знаем о том, как «думают» нейросети?

Level of difficultyMedium
Reading time30 min
Views53K

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

Узнать →
Total votes 149: ↑148 and ↓1+178
Comments81

Как работает ChatGPT: объясняем на простом русском эволюцию языковых моделей с T9 до чуда

Level of difficultyEasy
Reading time30 min
Views426K

В последнее время нам почти каждый день рассказывают в новостях, какие очередные вершины покорили языковые нейросетки, и почему они уже через месяц совершенно точно оставят лично вас без работы. При этом мало кто понимает — а как вообще нейросети вроде ChatGPT работают внутри? Так вот, устраивайтесь поудобнее: в этой статье мы наконец объясним всё так, чтобы понял даже шестилетний гуманитарий!

Погнали →
Total votes 299: ↑292 and ↓7+343
Comments283

Настройка GoodByeDPI для разных регионов и провайдеров

Level of difficultyEasy
Reading time2 min
Views338K

Всем привет, это моя первая статья на хабре. Многие пользователи GoodbyeDPI столкнулись с проблемой доступа к YouTube. Существующие гайды не всегда решают проблему, поэтому я подготовил универсальную настройку, подходящую для большинства регионов и провайдеров. Приступим.

Читать далее
Total votes 96: ↑84 and ↓12+83
Comments199

Как новичку поучаствовать в устранении багов Google Chrome

Level of difficultyMedium
Reading time11 min
Views4.2K

Недавно я завершил процесс устранения бага в веб-браузере Chromium. Это был мой первый опыт контрибьютинга в проект Chromium, да и вообще в какой-либо опенсорсный проект такого масштаба, он сильно отличался от любой моей прошлой работы над open source.

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

Заранее скажу, что устранение этого бага стоило всех моих усилий, и я очень горд наличием этого достижения в моём портфолио разработчика ПО.
Читать дальше →
Total votes 32: ↑32 and ↓0+51
Comments0

Как в Netflix сделали поиск по федеративному графу

Reading time11 min
Views2K

За последние несколько лет те, кто занимается в Netflix направлением Content Engineering, перевели множество служб компании на использование федеративной платформы GraphQL. Этот процесс продолжается и сегодня. Применение федерации GraphQL даёт командам, отвечающим за различные предметные области, новые возможности. Теперь они могут, независимо от других команд, создавать и использовать собственные графовые службы, относящихся к сфере их деятельности (Domain Graph Service, DGS). Команды, кроме того, могут связывать свои предметные области с другими областями в унифицированной схеме GraphQL, доступ к которой даёт федеративный шлюз.

Давайте, в качестве примера, рассмотрим три главнейшие сущности этого графа.

Читать далее
Total votes 7: ↑7 and ↓0+15
Comments0

ByeDPI для Android, SpoofDPI для Mac и Linux – чиним YouTube и не работающие в России сайты на Андроид, Линукс и Мак

Level of difficultyEasy
Reading time2 min
Views218K

Вчера писал о графической оболочке Launcher for GoodbyeDPI, позволяющей интуитивно-понятно воспользоваться решением GoodbyeDPI от ValdikSS для решения проблемы замедления YouTube и недоступности в России ряда сайтов. Все хорошо, но это были решения лишь под Windows. В комментариях основные вопросы были о том, как быть с Android, Linux и Mac, и почему не в исходниках. Увы, репрессии РКН заставляют администрацию Хабра цензурировать статьи, во вчерашнюю статью внесение изменений мне запрещено, и сама ссылка доступна лишь вне России, потому объясняю про Андроид, Линукс и Мак здесь, со ссылками на исходники.

Итак, для Android есть масса проектов, мне подошел Release ByeDPI 1.0.0 · dovecoteescapee/ByeDPIAndroid · GitHub. Для Mac и Linux я бы ставил https://github.com/xvzc/SpoofDPI/releases. Все в исходных кодах.

ByeDPI for Android, это приложение, которое запускает локальный VPN-сервис для обхода DPI (Deep Packet Inspection) и цензуры. На вашем устройстве локально запускается SOCKS5-прокси ByeDPI и весь трафик перенаправляется через него.

Снятие блокировок на Android/Mac/Linux
Total votes 76: ↑75 and ↓1+91
Comments71

Реквием по SCRUM: всё равно уже хайп прошёл

Level of difficultyMedium
Reading time11 min
Views17K

В мире победившего эджайла, SCRUM, как один из наиболее популярных фреймворков, казалось, имеет все шансы стать отраслевым стандартом. Однако в результате врождённых недостатков он стала чем-то средним между религией для занятых проектным управлением и воздухом для продажи эджайл-коучами. Более того, сегодня строгая приверженность принципам SCRUM нередко становится маркером профнепригодности для людей, которые имели неосторожность переродиться из полноценных проектных методологов и руководителей в фанатично зацикленных на ритуалах scrum-мастеров (речь не обо всех, но о об очень многих). В посте попытался обобщить все проблемы SCRUM, как "фреймворка" для проектного управления и создания продуктов.

Читать далее
Total votes 48: ↑43 and ↓5+54
Comments108

«Range-based for»: что интересного лежит на поверхности

Level of difficultyMedium
Reading time8 min
Views4.9K

Новый синтаксис для циклов for в C++ появился уже давно - более десяти лет назад в стандарте C++11. Идея, скрывающаяся за этим синтаксисом, не является сколь-нибудь запутанной, и практически все, кто интересуются новыми свойствами языка, быстро разобрались с тем, как этим синтаксисом пользоваться и, что важнее, как создавать свои типы, совместимые с синтаксисом range-based for. Однако, как мне кажется, именно в вопросах взаимодействия с пользовательскими типами спецификация range-based for содержит несколько интересных деталей, лежащих практически на поверхности, которые остаются незамеченными просто потому, что идиоматические подходы прекрасно обходятся и без них. Возможно, кому-то будет интересно взглянуть на них повнимательнее.

Читать далее
Total votes 26: ↑26 and ↓0+31
Comments2

Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу

Reading time7 min
Views741K
Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.

Существует два распространенных типа подключения DPI: пассивный и активный.

Пассивный DPI

Пассивный DPI — DPI, подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта.
Читать дальше →
Total votes 212: ↑212 and ↓0+212
Comments352

Замедление YouTube с технической стороны: ограничение и обход

Reading time5 min
Views438K

Привет, Хабр!

В последнее время замечаю огромное количество информации по поводу замедления Великого, но очень мало где видел конкретику о том, как именно это работает. Одно лишь отчаяние "мы все умрём".

Сразу скажу, что буду говорить обо всём, что известно на данный момент. Понятно, что с этим разбирался далеко не один я: огромное спасибо обывателям ntc party форума за проделанный ресёрч.

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

UPD 10.08.2024 Многие жалуются на недоступность ютуба в целом: не грузит домашнюю страницу. Переживать не стоит, оно обрабатывается всё тем же ТСПУ по всё той же стратегии, обходы должны работать.

Читать далее
Total votes 540: ↑540 and ↓0+631
Comments438

Тысяча и одна библиотека С++

Reading time65 min
Views28K

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

Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из этого источника. Это очень многогранный и объемный список библиотек языка С++, но, скажем так, у меня были к нему вопросы. Потому я сделал перевод, затем значительно улучшил его в плане содержания (далее объясню, как, почему и зачем). На выходе получилось около 1000 библиотек. Как в сказке). Они, конечно, не покрывают все возможные задачи и предметные области, но поверьте, они затрагивают действительно многое.

Прикоснуться к сокровищнице языка С++
Total votes 82: ↑81 and ↓1+92
Comments23

Почему иногда лучше оценить задачу в размерах майки, чем в часах

Level of difficultyEasy
Reading time8 min
Views11K

Привет! Я Игорь, фронтенд-разработчик в Selectel. Когда-то давно я был проектным менеджером в небольшой компании, где было принято работать по модели Waterfall. Все этапы разработки были определены заранее, а на каждый этап отводилось определенное время.

Задачи были оценены строго по часам, ни о каких спринтах мы не знали. Когда что-то не учитывалось — все планы и сроки срывались из-за невозможности адаптировать разработку под изменение среды. В общем, у нас были четкие временные отрезки, немного хаоса и пузырек валерьянки на столе…

Почасовая оценка задач мне всегда казалась неэффективной. Но в то время не было опыта взаимодействия с другими методологиями. Сейчас я счастлив, ведь работаю с относительной оценкой задач в Story Points. 🙂 Добро пожаловать под кат, если тоже хотите добавить в ваш рабочий процесс немного гибкости!
Читать дальше →
Total votes 42: ↑38 and ↓4+48
Comments46

Выгорание — личный опыт и пошаговая инструкция по приведению себя в порядок за 24 часа

Level of difficultyEasy
Reading time6 min
Views36K

Меня зовут Слава Усов. В 20 лет я уехал в свою первую экспедицию на Шпицберген, потом в Антарктиду и с тех пор пожил и поработал практически на всех континентах. От ученого до операционного менеджера в Африке и на Ближнем Востоке.

Читать далее
Total votes 49: ↑37 and ↓12+33
Comments46

Разработчикам, аналитикам и архитекторам: рецензия на книгу «Проектирование архитектуры API»

Level of difficultyEasy
Reading time9 min
Views9.6K

Сегодня представляем на Хабре очень интересную книгу — переводное издание «Проектирование архитектуры API» («Mastering API Architecture») издательства O'REILLY. Это руководство по разработке и реализации API (программных интерфейсов приложений). Разобраны базовые вопросы обмена информацией в микросервисной архитектуре, обработка запросов на сайтах и в веб‑приложениях (парадигма REST). Бонусами к статье — промокод «SSPSOFT» на русское издание и ссылка на оригинальный текст книги (бесплатная копия книги в PDF).

Читать далее
Total votes 14: ↑12 and ↓2+17
Comments3

Конверсия 1 собеседование на 500 откликов на западном рынке. Как так вышло и чем грозит?

Level of difficultyEasy
Reading time9 min
Views52K

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

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

Читать далее
Total votes 137: ↑90 and ↓47+64
Comments352

Опасность устарела: несколько важных нюансов в новых стандартах C++

Reading time16 min
Views16K
Undefined behavior (UB) — боль, знакомая каждому разработчику со стажем; эдакий «код Шредингера», когда не знаешь, правильно тот работает или нет. К счастью, стандарты языка С++20/23/26 привнесли относительно неопределенного поведения кое-что новое. И довольно важное, если вы — архитектор ПО, а «плюсы» — ключевой стек вашей компании (подробнее о том, как и почему мы в «Лаборатории Касперского» много используем С++, читайте здесь).

В этой статье я со своих позиций Senior Software Architect и Security Champion в микроядерной операционной системе KasperskyOS рассмотрю кейсы-ловушки, в которые можно попасть практически в любом из стандартов, и покажу, что меняется в С++20/23/26, — уменьшается ли количество кейсов с неопределенным поведением, и становится ли С++ безопаснее.


Читать дальше →
Total votes 58: ↑56 and ↓2+60
Comments76

Выжимаем из Go максимум производительности

Level of difficultyMedium
Reading time11 min
Views19K

Разработчики, которые используют Go, сталкиваются с задачей выжать максимальную производительность из каждой строки кода. Но что делать, если оптимизировать уже нечего, а увеличивать скорость всё равно надо?

Меня зовут Никита Галушко. Я старший программист-разработчик в отделе высоконагруженных систем и оптимизации ВКонтакте. В статье поделюсь, какие хитрости помогут использовать Go на полную мощность.

Читать далее
Total votes 76: ↑74 and ↓2+87
Comments40

Кажется, LLM программирует лучше меня

Level of difficultyEasy
Reading time15 min
Views34K

Может ли искусственный интеллект (ИИ) превзойти программиста-человека при написании кода? Проведя ряд экспериментов, становится понятно, что ответ на этот вопрос – уверенное да!

Давайте в этом убедимся
Total votes 52: ↑30 and ↓22+14
Comments250

Как и зачем мы затащили GeckoView в Почту

Level of difficultyMedium
Reading time9 min
Views7.9K

Начиная с июня 2023 года мы стали получать жалобы от пользователей о том, что у них не отображаются письма в Android-клиенте Почты Mail.ru. В ходе исследования мы даже приглашали пользователя к нам в офис для отладки. В конце концов мы поняли, что проблема на стороне WebView, компонента, с помощью которого мы можем отображать веб страницы. Ни для кого не секрет, что WebView используется во многих банковских и почтовых клиентах, в приложениях интернет-магазинов, сервисов доставки и многих других. Также изучили другие почтовые сервисы, нам хотелось понять, как они с этим справились. Оказалось — никак :)

А теперь обо всём в подробностях и с кодом
Total votes 51: ↑51 and ↓0+58
Comments10
1

Information

Rating
Does not participate
Registered
Activity