Привет Хабр! Совсем недавно, в процессе разработки я столкнулся с невероятным количеством бойлерплейт-кода в аннотациях. Решение сделать с этим что-то было принято мгновенно и вот что из этого вышло...
Разработка
Новости
Исследователи заставили ChatGPT процитировать данные, на которых он учился
Несколько похожая, но иная атака от @andrewmccalip
Научная работа «Scalable Extraction of Training Data from (Production) Language Models» (arXiv:2311.17035) анализирует извлечение данных датасетов обучения из различных языковых моделей. Исследователи проверили как локальные модели, так и коммерческое решение от OpenAI. С помощью атаки на выравнивание удалось заставить ChatGPT процитировать данные, на которых обучали GPT-3.5.
TypeScript: операции Union и Intersection в свете теории множеств
Недавно мне задали вопрос «почему пересечение в TS работает не как в теории множеств, а совсем наоборот?»
Озадачился, задумался и стал разбираться, как согласуются, и согласуются ли вообще операции «объединение» и «пересечение» в TypeScript и в теории множеств? И действительно ли пересечение в TS работает прямо противоположно?
HappyX vs Karax: что проще?
Хотите узнать, как с помощью Nim создавать клиентские веб-приложения?
В этой статье я расскажу вам о веб-фреймворках в Nim и их возможностях, а также приведу примеры в сравнении друг с другом и другими фреймворками.
Истории
Будущее AI в разработке ПО – интервью с CPO GitHub
Два дня назад вышло интересное интервью с CPO GitHub Инбал Шани от Ленни Рачински. Так как GitHub со своим Copilot для разработчиков – один из лидеров внедрения инноваций в кодинг, захотелось законспектировать основные мысли.
1С-Битрикс. Ядро d7 в работе с элементами инфоблоков
Как можно получать элементы инфоблоков в 1С-Битрикс в ядре d7?
У \CIBlockElement::getList(), на первый взгляд, есть свои преимущества, она задокументирована, о ней много статей на форумах. Её дебагинг уже разобран подробно за время существования CMS. Замечу, что существует ряд задач, для решения которых она не годится. Эта функция в нынешних реалиях разработки встретится даже начинающему программисту довольно быстро. Но какие есть альтернативы?
Краткий обзор техник векторизации в NLP
Как переводчик-редактор, я интересуюсь темой NLP и автоматизации рутины бюро переводов. Изучая вопрос того, как смысл слов превращается в векторы, наткнулся на эту обзорную статью. Статья мне показалась изложенной доступно, поэтому я перевел ее для удобства других коллег. Работоспособность большей части кода проверял, вроде работает (см. Jupiter Notebook). Надеюсь, будет полезно.
===
Технологии NLP — Natural Language Processing, обработки естественного языка — позволяют компьютерам обрабатывать человеческий язык, понимать его значение и контекст, а также связанные с ним эмоциональную окраску и намерения, и далее, использовать эти данные для создания чего-то нового.
Как сделать слова понятными для компьютеров? Используется векторизация. Рассмотрим несколько техник такой векторизации.
Искусственный интеллект GPT и скрипты Микротик
С того времени утекло много воды, я получил другую профессию, но увлечение своё полностью не оставил (я стал врачом и работаю по специальности с 2000 г., но оно помогает мне в работе всю жизнь). В 2013 году возникла необходимость «провести интернет» в загородный дом. Тогда то, я и познакомился впервые с роутерами Микротик. В сетевых технологиях я, на то время не знающий что такое IP-адрес (условно), возможно, не сильно продвинулся выше начального уровня (да и не было необходимости в сложных настройках Микротик), а вот программирование на скриптовом, Lua-подобном, языке Роутер ОС почему-то захватило меня целиком, даже временно в ущерб основной работе в каких-то аспектах. Конечно, до профессионального уровня я, самоучка, не дошёл, но написал за это время немало полезных и достойных по сложности скриптов для Микротик (неполный список моих работ представлен здесь).
Новые проклятия: руководство по ncurses
HTOP, midnight commander... Как же они построили довольно красивый и удобный псевдографический интерфейс?
Все благодаря библиотеке для C/С++ под названием new curses ("новым проклятиям" дословно) или же NCURSES.
Но как ее установить и работать с ней?
Как я заработал 500 000 рублей, сделав доступ к ChatGPT. Мои 6 выводов по итогу проекта
Пишу в продолжение прошлой статьи "Как я заработал 500 000 рублей, сделав доступ к ChatGPT. А потом Яндекс убил SEO и всё (почти) закончилось". В прошлый раз я рассказывал о запуске проекта на базе ChatGPT, а сейчас будут выводы и мысли, к которым я пришёл по ходу разработки проекта.
Разработка с помощью Yocto
Привет Хабр! Недавно принял участие в достаточно интересном воркшопе и хотел бы поделиться приобретенными навыками.
Микроконтроллерами я занимаюсь как хобби, так что основы и даже чуть больше понимаю, да я и сам своего рода Embedded Developer.
GOST: швейцарский нож для туннелирования и обхода блокировок
Начиная со вчера Роскмонадзор запрещает писать про инструменты для обхода блокировок, и это событие мы отметим очередной статьей про инструменты для обхода блокировок. Ибо не им указывать, на какие темы мне писать или не писать, пусть идут строем нафиг.
Сегодня я расскажу о замечательном инструменте под названием GOST. Не пугайтесь, он не имеет никакого отношения к ГОСТ-шифрованию или чему-то подобному, на самом деле это Go Simple Tunnel. Он действительно simple (простой) в использовании и настройке, но при этом невероятно мощный, поскольку поддерживает огромное количество протоколов и транспортов, из которых вы при желании сможете построить самые упоротые и бронебойные комбинации, а именно...
Современные типы архитектуры данных: Погружение в различные подходы к построению хранилищ данных
В данной статье мы рассмотрим ключевые аспекты различных типов хранилищ данных, которые помогут оптимизировать процессы управления данными в вашей компании.
Ближайшие события
Статистика QA вакансий и резюме. Ноябрь 2023
Раз в месяц я и команда QA Studio вручную собираем статистику по вакансиям и резюме тестировщиков с нескольких ресурсов. Сегодня — статистика за ноябрь. Мы не делаем выводы, а оставляем сухие цифры. Много или мало открытых вакансий и что с рынком — каждый может интерпретировать по-своему.
«Самоидентификация» клавиатуры
«Я — русский!»‑ спел недавно известный певец. Да и я, после 20 лет пользования клавиатурой, наконец‑то, устал вечно поправлять текст, набранный не в той раскладке клавиатуры (в голове держать всё невозможно!) и сделал индикацию текущей раскладки. Казалось бы, мелочь, а приятно.
А раньше как бывало? Оторвал взгляд от клавы, посмотрел на экран… «Фу, чёрт! Не та раскладка!» Стираешь то, что набрал непосильным трудом и заново набираешь тот же текст.
Вы скажете: «Не интересное решение! Есть же замечательная программа Punto Switcher! Она может автоматически исправлять набранный текст в нужную раскладку.» Но всегда оставалась проблема набрать специальные символы независимо от языка ввода. И вот тут‑то Punto Switcher начинал ошибаться.
А нельзя ли поставить прямо возле клавиш небольшой экранчик OLED (благо таких стало в продаже много) и выводить на него текстом текущую раскладку аж по всем языкам мира? Можно. Но как показал мой дальнейший опыт, увидеть свечение боковым взглядом проще, чем вглядываться в надпись на экранчике. Кроме того, обычно мало кто пользуется одновременно более чем тремя языками раскладки. Да и по цене решение со свечением светодиодами будет гораздо дешевле.
Вот я так и пошёл по этому простому пути. И замутил банальную схему:
std fs в Rust медленнее, чем Python? Нет, это аппаратный баг
В этой статье я поделюсь с вами долгой историей, которая начинается с op.read()
opendal, а заканчивается неожиданным поворотом. Это путешествие оказалось для меня достаточно поучительным, надеюсь, и для вас оно будет таким же. Я постараюсь максимально точно воссоздать свой опыт и дополню его выводами, которые сделал в процессе.
Простая сеть для связи нескольких устройств с ПЛИС
Продолжая тему самодельного простого интерфейса https://habr.com/ru/articles/769986/ , как всегда, интереса ради и просто так, разработал концепцию сети на описанном ранее протоколе нижнего уровня. Представленная сеть, может быть пригодна для связи между несколькими ПЛИС внутри печатной платы (ПП); связи между ПП внутри блока, а также связи отдельных блоков с длиной линии передачи между узлами сети до 50м, а может и более.
Где в Западной Европе самый низкий НДФЛ?
В большинстве западных стран применяется прогрессивная шкала налогообложения про которую ходит много легенд (вполне обоснованных, но есть нюансы) какие большие налоги получаются по сравнению с Россией с плоской шкалой 13%. В этой статье мы обзорно рассмотрим налоговые системы десяти стран Европы (в целях простоты рассматриваются только страны Западной Европы и из рассмотрения исключаются карликовые государства, а также Швейцария, потому что там всё слишком сложно): Франция, Германия, Италия, Испания, Ирландия, Нидерланды, Бельгия, Португалия, Австрия, Великобритания.
Рассматривать будем НДФЛ. На мой взгляд, это самый субъективный налог, так как пенсионные, страховые и прочие отчисления конвертируются непосредственно в некую твёрдую сумму (например, пенсии, которую будет человек получать в старости). А вот именно НДФЛ идёт в некий "общий котёл", на который потом финансируются правительство, органы правопорядка, система образования и т. д. Читателям статьи следует держать в уме, что в Европе принято указывать сумму зарплаты не только до вычета НДФЛ, но и до вычета других отчислений, поэтому данную статью нельзя использовать для оценки итоговой суммы к выплате на руки, только для сравнения подоходного налога.
ClimateGuard CG LED: Новый Год к нам мчится…
Эта статья посвящена обзору универсальной платы управления светодиодными лентами ClimateGuard CG LED. В ней даётся краткое описание устройства платы контроллера CG LED и мои первые впечатления от работы с ней. В статье также упоминается первичная настройка прошивки WLED, которой штатно комплектуется контроллер.
Пока это только обзор платы без реализации каких-либо проектов на ней, возможно этой теме будут посвящены последующие статьи.
Видео-сообщение как в Telegram. Часть третья — Контролы и раскрытое состояние
Часто ли вы пользуетесь Telegram?
Если да, то скорее всего вы хотя бы раз отправляли "кружочки". В этой серии статьей мы напишем небольшой проект с отображением списка видео-сообщений.
Для отображения будем использовать ExoPlayer, настроим сохранение видео в кеш, а также напишем свой TimeBar для управления видео.