Pull to refresh
14
0
Евгений Блохин @ebt

инженер-предприниматель

Send message

На какие AI Coding Assistants стоит обратить внимание в 2024?

Reading time8 min
Views5.7K

Не является секретом, что LLM в настоящее время являются неотъемлемой частью нашего рабочего процесса. Особое внимание заслуживает AI Coding Assistant — искусственный интеллект, или просто программный помощник, который поддерживает разработчиков, помогая писать более качественный и точный код, тем самым экономя время и ресурсы.

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

Но прежде чем мы погрузимся в детали этих инструментов, давайте ответим на вопрос: "Что такое эти помощники?".

Приятного прочтения(:

Читать далее
Total votes 17: ↑18 and ↓-1+19
Comments9

PIP — Загрузка пакетов python для офлайн установки

Level of difficultyEasy
Reading time13 min
Views7.5K

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

Читать далее
Total votes 16: ↑18 and ↓-2+20
Comments9

TOTP без смартфона

Level of difficultyEasy
Reading time5 min
Views15K

Когда я решил избавиться от необходимости постоянно носить с собой смартфон, одной из проблем оказалась двухфакторная аутентификация (2FA, приложение Google Authenticator). Остаться без возможности авторизации на множестве сервисов было неприемлемо, нужна была альтернатива.

Беглый поиск вывел меня на утилиту oathtool: командная строка, POSIX, OSS — всё, как я люблю, проблема в принципе решена. Но, как и большинство CLI утилит, её удобно использовать в сочетании с другими утилитами, а для этого полезно написать скриптовую обвязку. Собственно этой обвязкой, а также опытом использования, я и решил поделиться.

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

Аутентификация для WebSocket и SSE: до сих пор нет стандарта?

Level of difficultyMedium
Reading time21 min
Views8.1K

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

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

А еще заодно поговорим про уязвимость Cross-Site WebSocket Hijacking (CSWSH) и в целом посмотрим на многие вопросы через призму информационной безопасности.

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

ChatGPT плохо отвечает на «простые вопросы». Как это починить?

Level of difficultyMedium
Reading time5 min
Views9.8K

В этой статье я расскажу о нашей последней работе — Multilingual Triple Match — системе для поиска ответов на фактологические вопросы, которая по своей точности обходит даже ChatGPT.

Читать далее
Total votes 17: ↑16 and ↓1+15
Comments12

Самое понятное объяснение Специальной теории относительности

Level of difficultyMedium
Reading time13 min
Views98K

Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.

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

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

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

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

Бизнес на Open-Source на примере Red Hat, Databricks, Grafana, Cloudera, Confluent, Elastic и других

Reading time8 min
Views3K

Open-Source почти везде. Почти в каждом проекте и информационной системе встречается какая-то часть кода, распространяемая под open-source лицензией. И это не просто небольшие фрагменты кода, а полноценные, зрелые, высококачественные продукты, которые развиваются и поддерживаются большими (и дорогими) командами. В данной статье я постараюсь разобраться в бизнес-моделях “бесплатного” софта.

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

Ускоряем анализ данных в 170 000 раз с помощью Python

Level of difficultyMedium
Reading time15 min
Views18K

В статье «Ускоряем анализ данных в 180 000 раз с помощью Rust» показано, как неоптимизированный код на Python, после переписывания и оптимизации на Rust, ускоряется в 180 000 раз. Автор отмечает: «есть множество способов сделать код на Python быстрее, но смысл этого поста не в том, чтобы сравнить высокооптимизированный Python с высокооптимизированным Rust. Смысл в том, чтобы сравнить "стандартный-Jupyter-notebook" Python с высокооптимизированным Rust».

Возникает вопрос: какого ускорения мы могли бы достичь, если бы остановились на Python?

Под катом разработчик Сидни Рэдклифф* проходит путь профилирования и итеративного ускорения кода на Python, чтобы выяснить это.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Total votes 58: ↑57 and ↓1+56
Comments3

Настройка C++ проекта c OpenMP. Обертывание С++ для Python с помощью pybind11 и CMake

Level of difficultyMedium
Reading time10 min
Views3.2K

В статье описан практический пример настройки проекта на языке C++ с использованием, в качестве примера, библиотеки для многопоточных вычислений OpenMP , а также дальнейшее обёртывание для использования в проектах написанных на Python при помощи библиотеки Pybind11. В качестве системы сборки используется CMake. Основное внимание уделено именно сборке проекта. В качестве инструмента обёртывания используется библиотека pybind11, в качестве системы сборки CMake.

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

Самый простой способ обхода блокировок доступа к сайтам любых стран

Level of difficultyEasy
Reading time4 min
Views121K

Я понимаю, что пока, за использования VPN, аннонимайзеров и/или tor не применяют уголовные статьи, поэтому гораздо проще скачать какое нибудь приложение из магазина приложений и бесплатно воспользоваться им. Но где гарантия, что завтра они будут работать?

Я понимаю (программисты, сисадмины, DevOps'ы и т.д.) данный способ нельзя назвать уникальным, оптимальным и вообще, так лучше не делать, но согласитесь - это достаточно простой способ туннелирования трафика, который позволяет обойти (если не все), то огромное количество разнообразных сетевых блокировок.

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

Так же, этот способ - достаточно дешевый (меньше чашки кофе в день) и очень быстрый с точки зрения реализации (буквально 5 минут).

Интересно?

Читать далее
Total votes 107: ↑78 and ↓29+49
Comments412

Энергетика Будущего: Как искусственный интеллект помог разработать батарею с 70%-ной экономией лития

Level of difficultyMedium
Reading time8 min
Views9K

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

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

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

Давайте вместе окунемся в процесс исследования!

Читать далее
Total votes 24: ↑22 and ↓2+20
Comments27

Ода бесполезности споров

Level of difficultyEasy
Reading time6 min
Views34K

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

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

Сейчас я знаю ответ – переубедить сторонников лженаучных теорий невозможно. Но вовсе не потому, что они серьёзно заблуждаются. А в точности до наоборот – их невозможно переубедить, потому что они не заблуждаются вообще.

Рассмотрим это на историческом примере:
Total votes 260: ↑253 and ↓7+246
Comments474

Офис Павла Дурова в Дубае

Level of difficultyEasy
Reading time4 min
Views62K

Здравствуйте. Сейчас я применив GEOINT (геопространственная разведка) попытаюсь найти офис Павла Дурова в Объединённых Арабских Эмиратах.

Читать далее
Total votes 112: ↑96 and ↓16+80
Comments60

Вам не нужен для этого JavaScript

Level of difficultyMedium
Reading time11 min
Views27K

Прошу вас не возмущаться названием статьи. Я не ненавижу JavaScript, я люблю его. Ежедневно я пишу на нём кучу кода. Но ещё я люблю CSS и даже люблю JSX HTML. Я люблю все эти три технологии по причине, которая называется…

▍ Правило наименьших полномочий


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

В случае веба это означает, что нужно по возможности выбирать HTML вместо CSS, а затем CSS вместо JS. JS — самый универсальный язык из всех трёх, потому что на нём вы описываете, как должен вести себя браузер; но также он может ломаться, отказываться загружаться, требует дополнительных ресурсов для скачивания, парсинга и исполнения. Кроме того, при его использовании очень легко ограничить доступ пользователей, выполняющих браузинг при помощи клавиатуры или специальных возможностей.

В отличие от JS с его императивностью, HTML и CSS декларативны. Вы говорите браузеру, что делать, а не как это делать. Это значит, что браузер сам выбирает, как это делать, и может сделать это наиболее эффективным образом.

Так как функции HTML и CSS обрабатываются браузером, они могут быть более производительными, более нативными, более адаптируемыми к предпочтениям пользователя и в общем случае иметь бОльшую accessibility. Это не значит, что так будет всегда (особенно когда дело касается accessibility), но когда все сложные задачи берёт на себя браузер, от этого обычно выигрывают конечные пользователи.
Читать дальше →
Total votes 97: ↑95 and ↓2+93
Comments38

Введение в $mol. Часть 1. Модульная система

Reading time35 min
Views9.6K

Эта статья открывает серию публикаций по обучению фреймворку $mol. Сегодня мы разберемся в модульной системе MAM. Речь пойдет об организации кода, отделении его от инфраструктуры, сборке, версионировании, нейминге, минимизации размера бандла, автоматическом выкачивании зависимостей, фрактальных моно-поли-репозиториях, разделении кода на платформы, альтернативе импортам/экспортам, автоматическом разруливании циклических зависимостей.

Читать далее
Total votes 25: ↑18 and ↓7+11
Comments21

Реализм против гипотезы симуляции. Мы живём в Матрице?

Level of difficultyMedium
Reading time24 min
Views4.6K

Да, здесь под катом я объясняю, что не так с гипотезой симуляции и не живём ли мы в Матрице. Об этом уже написано много статей, но никто из авторов не даёт чёткого и аргументированного ответа: реален наш мир или всё-таки виртуален? Не буду долго ходить вокруг да около и сразу отмечу, что я не верю в гипотезу симуляции. Я рассмотрю все так называемые "доказательства" в её пользу и покажу, что они совершенно безосновательны, поэтому симулярианство – скорее религия, чем наука.

С моей философской точки зрения гипотеза симуляции, наряду с солипсизмом, мысленным экспериментом "мозг в колбе", последним четвергизмом и Адвайта-ведантой, является разновидностью субъективного идеализма, в которой в роли разума выступает компьютер или программист, а его "мысли" - это алгоритмы, по которым строится симуляция. Действительно, вера в виртуальность окружающего мира мало чем отличается от веры в его иллюзорность. И то, и другое – именно вера, потому что обе гипотезы согласуются с любыми фактами об окружающем мире и не могут быть опровергнуты ничем. На этом гипотезу симуляции можно сразу объявить нефальсифицируемой и ненаучной. Тем не менее, многие влиятельные люди, включая Илона Маска и Нила Деграсса Тайсона, всерьёз утверждают, что мы почти наверняка живём в симуляции. Может, что-то разумное в этой идее всё-таки есть?

Читать далее
Total votes 22: ↑15 and ↓7+8
Comments36

В германиевой долине, должно быть, холодно

Reading time12 min
Views6K

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

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

Crypto AG. Троянский конь ЦРУ

Level of difficultyEasy
Reading time9 min
Views14K

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

И если вам кажется, что это невозможно, то история компании Crypto AG говорит об обратном. Но, обо всем по порядку.

Читать далее
Total votes 50: ↑44 and ↓6+38
Comments13

OpenAPI/Swagger для начинающих

Level of difficultyEasy
Reading time7 min
Views47K

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

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

Система аутентификации: сделай сам vs возьми готовое

Level of difficultyEasy
Reading time5 min
Views6.2K

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

Читать далее
Total votes 15: ↑14 and ↓1+13
Comments1
1
23 ...

Information

Rating
3,864-th
Location
München, Bayern, Германия
Registered
Activity