Pull to refresh
19
0

Пользователь

Send message

GOST: швейцарский нож для туннелирования и обхода блокировок

Level of difficultyMedium
Reading time13 min
Views95K

Начиная со вчера Роскмонадзор запрещает писать про инструменты для обхода блокировок, и это событие мы отметим очередной статьей про инструменты для обхода блокировок. Ибо не им указывать, на какие темы мне писать или не писать, пусть идут строем нафиг.

Сегодня я расскажу о замечательном инструменте под названием GOST. Не пугайтесь, он не имеет никакого отношения к ГОСТ-шифрованию или чему-то подобному, на самом деле это Go Simple Tunnel. Он действительно simple (простой) в использовании и настройке, но при этом невероятно мощный, поскольку поддерживает огромное количество протоколов и транспортов, из которых вы при желании сможете построить самые упоротые и бронебойные комбинации, а именно...

Читать далее
Total votes 180: ↑177 and ↓3+174
Comments113

OpenConnect: недетектируемый VPN, который вам понравится

Level of difficultyMedium
Reading time15 min
Views226K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Total votes 325: ↑324 and ↓1+323
Comments342

Автоматизация публикации Android приложений в Google Play и Huawei AppGallery — инструкция от А до Я

Level of difficultyHard
Reading time19 min
Views15K

Всё еще публикуете релизы Android приложений вручную? Почитайте наше подробное руководство как полностью автоматизировать публикацию Android приложений в Google Play и Huawei AppStore через Gradle и CI/CD. Подробно от А до Я.

Почитать инструкцию
Total votes 8: ↑8 and ↓0+8
Comments12

Почему мой любимый API — это файл zip на сайте Европейского центрального банка

Level of difficultyEasy
Reading time7 min
Views31K

Когда был максимальный курс доллара к евро?

Вот небольшая программа, вычисляющая это:

curl -s https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.zip \ | gunzip \ | sqlite3 -csv ':memory:' '.import /dev/stdin stdin' \ "select Date from stdin order by USD asc limit 1;"

Результат: 2000-10-26. (Можете попробовать запустить её самостоятельно.)

Читать далее
Total votes 104: ↑90 and ↓14+76
Comments27

Кто мощнее в базах данных? Сравниваем производительность БД на серверах с ARM- и x86-процессорами

Level of difficultyMedium
Reading time15 min
Views14K

Всем привет! Ранее я разобрал и протестировал сервер с процессором ARM, который попал к нам в Selectel Lab. Сервер показал хорошие результаты по производительности в ряде классических тестов, но в этот раз захотелось проверить его в боевой задаче — в работе с базами данных. Быть может, архитектура ARM-процессора сделает всех конкурентов на этой территории?

Чтобы ответить на этот вопрос, протестировал ARM вместе с семеркой серверов разных конфигураций с процессорами Intel и AMD. В качестве баз данных для нашего эксперимента выбрал самые популярные — PostgreSQL и MySQL. Результаты тестов с графиками и комментариями — под катом. Надеюсь, они будут полезны вам при выборе сервера под БД.
Читать дальше →
Total votes 59: ↑57 and ↓2+55
Comments45

Обзор электронной книги Onyx Boox Galileo c экраном 7 дюймов

Level of difficultyMedium
Reading time6 min
Views9.6K
Новинка от Onyx Boox — это компактная электронная книга Galileo c удобной планшетной ориентацией, с экраном 7" и лёгкими путями загрузки книг и документов. Устройство для чтения электронных книг ONYX BOOX с сенсорным экраном, с подсветкой, с функцией Multi-touch и SNOW Field, а также с поддержкой сетей WiFi 5 — это удобный способ носить с собой целую библиотеку.



Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments47

Что делает ChatGPT… и почему это работает?

Level of difficultyMedium
Reading time75 min
Views146K

То, что ChatGPT может автоматически генерировать что-то, что хотя бы на первый взгляд похоже на написанный человеком текст, удивительно и неожиданно. Но как он это делает? И почему это работает? Цель этой статьи - дать приблизительное описание того, что происходит внутри ChatGPT, а затем исследовать, почему он может так хорошо справляться с созданием более-менее осмысленного текста. С самого начала я должен сказать, что собираюсь сосредоточиться на общей картине происходящего, и хотя я упомяну некоторые инженерные детали, но не буду глубоко в них вникать. (Примеры в статье применимы как к другим современным "большим языковым моделям" (LLM), так и к ChatGPT).

Читать далее
Total votes 248: ↑248 and ↓0+248
Comments121

Определение свободного парковочного места с помощью Computer Vision

Level of difficultyMedium
Reading time8 min
Views12K

Всем привет! Это моя первая статья на Хабр (поэтому не судите строго).

Дело было так: смотрел я как-то в окно и увидел, как человек сидит в машине на парковке и ждет, когда освободится парковочное место. Бывает, что и я сижу в машине и жду, когда же можно будет припарковать своего верного коня. И тут я подумал, а почему бы не подключить Компьютерное Зрение для этого? Зачем я учился разработке нейросетей, если не могу заставить компьютер работать вместо меня?

Изначально идея заключалась в следующем: Модель на базе компьютерного зрения должна через веб-камеру, установленную дома, отслеживать освободившиеся места на парковке и информировать через telegram-бота если такое место появится. Работать будем на Python.

Итак, ТЗ для меня от меня сформулировано, теперь за дело!

Первое с чем необходимо было определиться, это решить, какую модель детектирования объектов использовать. Сначала мой выбор пал на Fast R-СNN. Модель показывала хорошее качество детектирования. Однако после нескольких дней прокрастинации обдумывания реализации я решил воспользоваться более современными и интересными методами и подключить детектор от YOLO (взял не самую новую 4 версию).

Читать далее
Total votes 28: ↑28 and ↓0+28
Comments31

MacOS Monterey на Linux — быстро и просто?

Level of difficultyEasy
Reading time3 min
Views43K
Что делать, если у вас возникло желание или необходимость заняться разработкой под MacOS или iOS, но под рукой нет макбука, а покупать его только чтобы открыть Xcode кажется делом сомнительным? Недавно я столкнулся с такой проблемой в одном из своих пет-проектов и решил ее достаточно просто и быстро. После выполнения нескольких достаточно примитивных шагов, мне удалось запустить MacOS Monterey как на скриншоте ниже.

image

Никакого Virtualbox, никакого Virtual Machine Manager. Из требований — только 100 Гб свободного места на диске и хотя бы 16 Гб оперативной памяти. В рунете я встречал описание похожих путей установки, вроде Docker-OSX или Sosumi. Но я бы хотел поделиться способом, который позволяет использовать актуальную версию MacOS (Sosumi — сразу минус) и не потратить уйму свободного времени на возню с конфигами и терминалом. Поехали.
Читать дальше →
Total votes 83: ↑79 and ↓4+75
Comments67

Поговорим об оптимизирующих компиляторах. Сказ первый: SSA-форма

Level of difficultyMedium
Reading time9 min
Views16K

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

Коротко обо мне. Меня зовут Макс, и так получилось, что я вот уже 10 лет, почти с самого начала своей карьеры, занимаюсь оптимизирующими компиляторами. Я начинал в Intel, потом перешёл в Azul Systems, год провёл в Cadence и вернулся обратно, всё это время занимаясь компиляторными оптимизациями для Java, C++ и нейросетевых моделей. На момент написания статьи у меня чуть за 900 патчей в LLVM, большинство из них посвящено цикловым оптимизациям.

За это время я провёл десятки собеседований на позиции как интернов, так и инженеров сеньорного уровня, и довольно часто люди, приходя на эти собеседования, многих вещей не знают или знают поверхностно. И я подумал: а мог бы я написать такой цикл статей, чтобы человек, прочитав их, узнал бы всю ту базу, которая, на мой собственный взгляд, необходимо начинающему компиляторному инженеру? Очень бы хотелось, чтобы новичку в этой области можно бы было дать один (относительно небольшой по объёму) набор текстов, чтобы он получил оттуда всё необходимое для старта. Это не перевод, текст оригинальный, поэтому в нём могут быть ошибки и неточности, которые я буду рад исправить, если вы мне их укажете.

Итак, поехали.

Погрузиться
Total votes 121: ↑119 and ↓2+117
Comments58

Безопасная работа с памятью в D

Level of difficultyHard
Reading time37 min
Views3.8K

Оригинальные статьи вышли с июня 2022-го по январь 2023-го в виде трёх постов на blog.dlang.org под общим заголовком «Безопасность памяти в современном языке системного программирования». Статьи посвящены DIP1000 — набору изменений, призванному существенно улучшить безопасность работы с памятью. Перевод объединяет все три.

Если стремитесь глубже разобраться с использованием @safe-кода, атрибутов scope и return scope и узнать про автовыведение атрибутов функции, эта статья может оказаться полезной.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments7

О чём расскажут на C++ Russia 2023 в онлайне и офлайне

Reading time20 min
Views4.5K

В доковидные времена (помните такие?) мы проводили C++ Russia два дня в офлайне. Когда в 2020-м конференция перешла в онлайн, один участник решил отложить поход на конференцию до возвращения полноценного офлайна. И вот теперь, в 2023-м, наконец снова проведём два дня в Москве. Получается, человек хотел сходить в год нового стандарта C++ и действительно сходит в год нового стандарта, но есть нюанс!

Однако многим успел понравиться онлайн-формат, когда участники не привязаны к городу. Поэтому будут ещё и два онлайн-дня. А к «офлайновой» части можно будет подключиться удалённо, не пропустив ни одного доклада.

Поскольку мероприятие на целых четыре дня, докладов получилось особенно много. И теперь, когда программа готова, рассказываем Хабру, о чём они будут.

Читать далее
Total votes 22: ↑21 and ↓1+20
Comments2

Управляемый PageFault в ядре Linux

Reading time7 min
Views14K
Обработка исключений занимает важное место в процессе функционирования программных систем. Действительно, обеспечение своевременной и правильной реакции на нештатные события является одной из ключевых задач, выполняемых операционной системой и, в особенности, её ядром. Будучи современным, ядро Linux предоставляет возможность управления процессом обработки исключений, однако ввиду ограниченности его интерфейса, данный механизм не является распространённым среди разработчиков модулей ядра.

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

Читать далее
Total votes 34: ↑33 and ↓1+32
Comments2

Does the latency matter?

Reading time12 min
Views9K

Есть исследование от Google, которое говорит, что если ваш сайт открывается больше трех секунд, то вы потеряете около 40% десктопных пользователей и более 50% — мобильных. Еще есть репорт от Amazon, который говорит, что для Amazon каждые 100 мс дополнительного latency стоит им 1% продаж. В объемах Amazon это миллионы долларов.

В зависимости от вашего бизнеса вам стоит тоже ответить на вопрос: Does the latency matter?

Я работаю как системный инженер уже более 8 лет. Хочу поделиться опытом, который получил в процессе решения задач в компании Big Data Technologies. У нас есть какой-никакой highload. В пике это 30 тысяч rps, и вопрос с latency довольно остро стоит перед бизнесом.

Читать далее
Total votes 46: ↑45 and ↓1+44
Comments3

Какого провайдера VPS выбрать для собственного сервера в 2023 году. Платим за всё российской картой

Level of difficultyEasy
Reading time7 min
Views177K

Иметь свой VPS для VPN довольно выгодно. Нет ограничений по количеству клиентов, можно обеспечить VPN подключением всех своих родных, друзей и знакомых. При этом можно за это платить 160-300 рублей в месяц. И если общедоступные VPN вовсю банятся по DNS и IP, то личные VPN пока что избегают этой участи.

Минусы есть, это администрирование сервера и отсутствие разнообразия географии.

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

Читать далее
Total votes 61: ↑61 and ↓0+61
Comments197

OpenAssistant: Вышла бесплатная открытая альтернатива ChatGPT

Level of difficultyEasy
Reading time3 min
Views51K

Участники открытого сообщества LAION-AI выпустили в открытый доступ первые обученные модели OA_SFT_Llama_30B и OA_SFT_Llama_13B. и запустили ИИ-чатбот OpenAssistant на их основе. На текущий момент доступны модели в 13 и 30 млрд параметров, дообученные на мультиязычных датасетах, собранных сообществом. В основе моделей лежит уже успевшая стать популярной LLaMA.

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

"Мы хотим, чтобы OpenAssistant стал единой, объединяющей платформой, которую все другие системы используют для взаимодействия с людьми." - декларируют своё видение члены сообщества LAION.

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

Читать далее
Total votes 59: ↑57 and ↓2+55
Comments121

Эргономично, дёшево, сердито

Level of difficultyEasy
Reading time11 min
Views16K

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

Главным образом, эта статья ‒ про то, как я уменьшил своё рабочее место с 5 м² до 3 м², избавился от мозоли на запястье, боли в спине и шее, трудностей с набором текстов на русском, английском и немецком; и потратил на это 4 дня и ≈150 €! Но также мне хочется выразить мысль, что эргономика ‒ это не идеальный стол, кресло или клавиатура. Это, скорее, организация пространства так, чтобы в нём было комфортно во всех сценариях его использования.

Что он поменял?
Total votes 54: ↑53 and ↓1+52
Comments45

Алгебра int о которой не говорят

Level of difficultyMedium
Reading time10 min
Views23K

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

Толчком Мотивацией к написанию статьи послужил кейс, продемонстрировавший свойство целого типа, которое легко упустить из виду, но на практике приводящее к неожиданному поведению. Это ни разу не новое открытие в computer science, и под капотом все довольно просто, но сохраним интригу. Подойдем к этому свойству через реальную задачу, затем посмотрим на целочисленную арифметику с точки зрения теории групп и разложим все по полочкам. Если вы используете язык программирования с ограниченными целыми числами, то статья может оказаться полезной.

Читать далее
Total votes 48: ↑47 and ↓1+46
Comments42

Как воспитать GPT модель в домашних условиях [LLaMA Update]

Level of difficultyMedium
Reading time11 min
Views53K

Мы решили проверить технологию, на которой основан ChatGPT, посмотреть актуальное состояние open-source GPT-like моделей и ответить на вопрос — можно ли обучить GPT-like модель в домашних условиях?

Для эксперимента выбрали LLaMA и GPT-J и не самый мощный ПК с видеокартой Nvidia GTX 1080TI с 11 GB VRAM. Оказалось, что этого достаточно не только, чтобы загрузить модель, но и дообучить ее (fine-tune). Рассказываем — как мы это сделали.

Читать далее
Total votes 48: ↑46 and ↓2+44
Comments25
1
23 ...

Information

Rating
Does not participate
Registered
Activity