All streams
Search
Write a publication
Pull to refresh
-15
0

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

Send message

Крах (?) NVIDIA: как DeepSeek встряхнул рынок AI

Reading time3 min
Views8.9K

Акции NVIDIA рухнули, потеряв за одну ночь $600 миллиардов рыночной капитализации — крупнейший дневной обвал на рынке ценных бумаг в истории США. Это событие стало шоком для рынка GPU, будущее которого, как казалось, предопределено на годы вперед. Причиной стал запуск китайской нейросети DeepSeek, которая не только превзошла западных конкурентов, таких как ChatGPT, но и стоила в разработке в тысячу раз дешевле. Этот прорыв поставил под угрозу бизнес-модель NVIDIA, основанную на стабильном спросе на их GPU. 

Разбираемся, как так вышло, вместе с Валерой Ковальским, CEO NDT by red_mad_robot.

Читать далее

Сборка проектов Си и Си++: от простого к сложному. Часть I. Библиотеки

Level of difficultyMedium
Reading time12 min
Views28K

Каждый раз, в течение многих лет, собирая пилотную версию мизерного проекта или простой утилиты, мне кажется, что уж в этот раз точно обойдусь обычным скриптом для сборки, и никакие сборщики проекта мне не понадобятся. Но суровая реальность приводит меня в чувство уже в течение первых нескольких минут работы. Сначала оказывается, что до невозможности простая программка нуждается в JSON-парсере, HTTP-запросах CURL и прочих библиотеках. А по мере возбуждения хотелок эти все зависимости нарастают как снежный ком. И все мечты быстро скомпилировать страничку кода встречают на каждом шаге всё новые и новые проблемы.

Вот сегодня и расскажу о том, какие бывают способы борьбы с зависимостями и сборки проекта из множества файлов на Си++. Заодно те, кто не любят Си++, смогут порадоваться «прелестям» этого процесса. И хоть тема очень важная для программистов, но я обратил внимание, что даже многолетний опыт не гарантирует понимания этих процессов. Но сразу предупреждаю — история длинная даже с учетом всех попыток не убегать на смежные темы.
Читать дальше →

Теория и практика парсинга исходников с помощью ANTLR и Roslyn

Reading time23 min
Views43K

В нашем проекте PT Application Inspector реализовано несколько подходов к анализу исходного кода на различных языках программирования:


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

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



К разрабатываемому модулю были, в числе прочих, сформулированы следующие требования:


  • поддержка нескольких языков программирования и простое добавление новых;
  • поддержка анализа кода, содержащего синтаксические и семантические ошибки;
  • возможность описания шаблонов на универсальном языке (DSL, domain specific language).

В нашем случае все шаблоны описывают какие-либо уязвимости или недостатки в исходном коде.


Весь процесс анализа кода может быть разбит на следующие этапы:


  1. парсинг в зависимое от языка представление (abstract syntax tree, AST);
  2. преобразование AST в независимый от языка унифицированный формат;
  3. непосредственное сопоставление с шаблонами, описанными на DSL.

Данная статья посвящена первому этапу, а именно: парсингу, сравнению функциональных возможностей и особенностей различных парсеров, применению теории на практике на примере грамматик Java, PHP, PLSQL, TSQL и даже C#. Остальные этапы будут рассмотрены в следующих публикациях.

Читать дальше →

DeepSeek — очередной квантовый скачок в развитии AI

Reading time4 min
Views148K

深度求索, запомните эти слова.

Пока скептики в области ИИ продолжают размышлять о том, что ИИ никогда не обретет сознание и останется лишь имитатором интернета, небольшая китайская компания совершила прорыв. Они создали думающую модель всего за $6 млн. Всё это произошло, пока американские гиганты вроде Google и Meta ковыряли в носу (как и компании в Европе и у нас кстати тоже) тратили миллиарды.

Эта модель настолько хороша, что вероятно, превзойдет в способности размышлять многих читателей этой статьи.  

Читать далее

Баттл «художников»: сравниваем Midjourney, DALL-E 2 и Stable Diffusion

Reading time7 min
Views38K

Текстов про Midjourney, DALL-E 2 и Stable Diffusion много: их обозревали и даже сравнивали с дизайнерами. Мы решили пойти дальше и устроить между ними баттл: проверить, как нейросети генерируют литературных персонажей, исторических личностей, абстракции и другое. Что из этого получилось — показываем под катом.
Читать дальше →

Я проанализировал 730 статей на Хабре и понял, о каких странах уже лучше не писать

Level of difficultyEasy
Reading time4 min
Views8.6K

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

Читать далее

Универсальность против конкретики. Какой сервис заметок и баз знаний подойдет именно вам?

Level of difficultyMedium
Reading time13 min
Views14K

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

Читать далее

VseGPT — сервис для доступа к ChatGPT, Claude, Palm, LLama2 с вебчатом и OpenAI API

Level of difficultyEasy
Reading time5 min
Views31K

Вообще, я люблю опенсорс - мой голосовой помощник Ирина тому подтверждение.

Тем не менее, в текстовых нейросетях пока опенсорс решений уровня GPT-4 нет - а пользоваться им при написании кода, честно говоря, правда полезно.

Если честно, меня несколько утомило решать вопросы доступа и оплаты OpenAI аккаунта, необходимого для доступа к GPT-4 и API (да, я провожу эксперименты, и API мне нужен).

Я бы с удовольствием поэкспериментировал и с другими сетями - например, Claude, о которой говорят гораздо меньше, но которая, по-видимому, не намного хуже (спойлер: я пробовал - по моему мнению, Claude 2 вполне на уровне GPT-4).

Постепенно реализовывая свои "хотелки", я создал сервис VseGPT.ru, который решает мои основные проблемы - предоставляет общий интерфейс в виде чата и OpenAI API к разным топовым нейросетям - ChatGPT, Claude, Google Palm и опенсорсным Llama 70b, 34b Code и пр.

Конечно, сервис я делал в основном под свои профессиональные потребности, так что давайте посмотрим, чего хотел я, и насколько это подойдёт вам:

Читать далее

Cговор менеджеров среднего звена одной зелёной и одной красной компании позволяет выводить миллионы со счетов россиян

Level of difficultyEasy
Reading time5 min
Views45K

Это история про русского предпринимателя Анатолия, который попал в Нью-Йоркский СИЗО. В жизни бывает всякое. Главное – не забывать родину. А уж родина... Пока Анатолий боролся с ФБР и мерил шагами камеру, наши ребята не растерялись и вывели все деньги с его счетов. А ещё месяц в тюрьме – и домой можно не возвращаться, ведь и дома уже не будет!

Читать далее

Первые шаги в aiohttp

Reading time6 min
Views96K

Привет, меня зовут Артём. Я работаю бэкендером в KTS и веду курсы по разработке в KTS Metaclass. Заметил, что труднее всего студентам даются темы по асинхронному программированию.

Основываясь на своём преподавательском опыте, я написал туториал, рассказывающий о создании базового aiohttp-сервиса с нуля и затрагивающий самые сложные для студентов вопросы: как сделать асинхронное python-приложение, как работать с базой данных и как разложить свой проект в интернете.

Это первая статья цикла, в ней мы напишем небольшое веб-приложение на aiohttp  — стену с отзывами, где каждый может оставить свое мнение о каком-то продукте.

Погнали!

С чего начинается Elasticsearch

Reading time14 min
Views319K

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


Самое первое и главное заблуждение — "нужен поиск, так бери эластик!". Но в действительности, если вам нужен шустрый поиск для небольшого или даже вполне себе крупного проекта, вам стоит разобраться в теме поподробней и вы откажетесь от использования именно этой системы.

Читать дальше →

Квантовые вычисления и криптология

Reading time28 min
Views6.9K

Развитие вычислительной техники движется по различным направлениям, не ограничиваясь явлениями классической физики, электроники, оптики и теперь уже квантовой механики.
Ознакомление с проблемой квантовой криптологии и смежными, близкими к ней (не только по публикациям), показало, что имеют место определенные недостатки и пробелы в ее описании и представлении. Описывая конкретику того или иного физического явления, объекта, автор игнорирует его окружение даже ближайшее, оказывающее на объект непосредственное воздействие (часто возмущающее влияние). Это не упрек авторам, их право излагать так как они излагают. Это скорее мой мотив включиться в общий поток сознания. Материальная вещественная сторона квантовых явлений так или иначе проявляет себя и неучет ее, может сказаться существенным негативом. Что имеется ввиду? Материальная реализация квантовых компьютеров (КК), регистров, отдельных кубитов — всего того из чего КК сделаны. Обмен пользователей полученными результатами через сети связи и, наконец, защита, целостность и доступность таких результатов от нарушителя — тоже проблемы.
Читать дальше →

Введение в DPDK: архитектура и принцип работы

Reading time11 min
Views81K
DPDK

За последние несколько лет тема производительности сетевого стека Linux обрела особую актуальность. Это вполне понятно: объёмы передаваемых по сети данных и соответствующие нагрузки растут не по дням, а по часам.

И даже широкое распространение сетевых карт 10GE не решает проблемы: в самом ядре Linux имеется множество «узких мест», которые препятствуют быстрой обработке пакетов.
Читать дальше →

Дебажим баги в дебаггере x64dbg. «Шаг с выходом» в GUI

Level of difficultyMedium
Reading time8 min
Views2.1K

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

Сделать шаг с выходом

Qwt и Qt Creator. Быстро и просто. Часть 1: визуализатор данных

Reading time6 min
Views96K


Для понимания этой статьи читатель должен иметь начальный опыт разработки windows-приложений в среде Qt Creator.
В примерах используются Qt Creator 3.0.0 (MinGW) и Qwt-6.1.0.


Qwt – графическая библиотека, позволяющая значительно упростить процесс визуализации данных в программе. Упрощение заключается в следующем: нет необходимости вручную прописывать элементы отображения, такие как шкалы координат, сетки, кривые данных и проч. Следует лишь задавать параметры этих элементов.
Аналогия: для того, чтобы построить график в Excel Вы выбираете данные и настраиваете параметры их отображения: минимум и максимум шкал, цвет кривых, подписи данных и др. За визуализацию отвечает Excel – сами элементы Вы не программируете.
Особо отмечу, что Qwt позволяет работать с достаточно большими объемами данных (я работал с 200 000 точек) без возникновения раздражающих «тормозов».
В данной статье мы будем отображать кривую на графике, масштабировать ее, перемещаться по графику, смотреть координаты курсора. Таким образом, мы реализуем минимальный функционал, необходимый для вывода и просмотра графиков. В последующих статьях наш графический редактор будет оснащен дополнительными возможностями.

Читать дальше →

Как за 6 промтов к ChatGPT создать Python скрипт, скачивающий видео с YouTube для просмотра на телевизоре через Kodi

Level of difficultyEasy
Reading time18 min
Views23K

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

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

Раньше на Kodi можно было напрямую отправить YouTube ссылку и посмотреть любое видео. С августа 2024 года этот вариант больше не работает. Короткие видео можно посмотреть с телефона, но вот длинные интервью или подкасты так смотреть или слушать неудобно. К тому же телевизором можно управлять через Алису - она подключена к Home Assistant.

Конечно, чтобы скачать видео с Ютуба существует множество программ, но скачивается только сам видео файл и он будет отображаться в базе Kodi без обложки и описания. Вручную создавать обложку и описание и тратить на это своё время не вариант - зачем?

Разбираюсь как за 6 промтов к ChatGPT создать Python скрипт, скачивающий видео с YouTube и генерирующий описание и фанарт для Kodi.

Читать далее

Неочевидные для начинающих тонкости Postgres

Level of difficultyMedium
Reading time15 min
Views48K

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

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

За исключением… Postgres.

Не потому, что официальная документация несовершенна (она прекрасна!), просто её очень много. Если распечатать её как стандартный PDF на бумаге формата Letter, то получится 3206 страниц (для текущей версии 17)1. Разработчик-джун вряд ли сможет сесть и прочитать её с начала до конца.

1. Если печатать на бумаге A4, то получится 3024 страницы; наверно, это ещё один аргумент в пользу стандарта.

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

Надеюсь, это упростит процесс освоения для читателей моей статьи.

Стоит отметить, что многое из описанного может быть применимо и к другим системам управления базами данных (СУБД) SQL и вообще к базам данных в целом, но я слабо знакома с ними, так что не буду утверждать с уверенностью.
Читать дальше →

LaTeX vs MS.Word: где проще работать с формулами?

Level of difficultyEasy
Reading time3 min
Views6.8K

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

Формулы можно набирать как в Word, так и в LaTeX. Microsoft Word основан на принципе «Что видишь, то и получаешь» (WYSIWYG — What you see is what you get), что означает, что пользователь сразу же видит документ на экране таким, каким он будет отображаться на печатной странице. LaTeX, напротив, воплощает принцип «То, что вы получаете, это то, что вы имеете в виду» (WYGIWYM — What you get is what you mean), который подразумевает, что при наборе текста окончательный вариант документа не отображается непосредственно на экране, видна лишь логическая структура, благодаря чему фокус — на содержании, а не форматировании.

Читать далее

Ломаем хэши CityHash64, MurmurHash2/3, wyhash и не только…

Level of difficultyEasy
Reading time20 min
Views5.8K

Хэш-функции — невероятно красивые математические объекты. Они могут отображать произвольные данные на небольшую область выходных данных фиксированного размера таким образом, что отображение оказывается детерминированным, хоть и кажется случайным. Такая «детерминированная случайность» невероятно полезна для широкого спектра применений, например, для хэш-таблицконтрольных суммалгоритмов Монте-Карло, распределённых алгоритмов без коммуникаций и так далее.

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

Для затравки скажу, что в этой статье объясняется, как генерировать за секунду тысячи подобных строк:

cityhash64("orlp-cityhash64-D-:K5yx*zkgaaaaa") == 1337 murmurhash2("orlp-murmurhash64-bkiaaa&JInaNcZ") == 1337 murmurhash3("orlp-murmurhash3_x86_32-haaaPa*+") == 1337 farmhash64("orlp-farmhash64-/v^CqdPvziuheaaa") == 1337

Также я покажу, как можно создавать очень специфичные пары строк, которые можно произвольно конкатенировать таким образом, что при конкатенации k строк любая из 2k комбинаций будет иметь одинаковый хэш вне зависимости от использованного для хэш-функции порождающего значения (seed):

a = "xx0rlpx!xxsXъВ" b = "xxsXъВxx0rlpx!"
murmurhash2(a + a, seed) == murmurhash2(a + b, seed)
murmurhash2(a + a, seed) == murmurhash2(b + a, seed)
murmurhash2(a + a, seed) == murmurhash2(b + b, seed)
a = "!&orlpՓ" b = "yǏglp$X"
murmurhash3(a + a, seed) == murmurhash3(a + b, seed)
murmurhash3(a + a, seed) == murmurhash3(b + a, seed)
murmurhash3(a + a, seed) == murmurhash3(b + b, seed)

Читать далее

Делаю 3 млн в год на любителях ходить в лес с ножом

Level of difficultyEasy
Reading time10 min
Views54K

Всем привет из г. Киров. С детства я любил гулять по лесу с дедушкой. Повзрослел, и меня увлекли взрослые дела: учеба, деньги, женщины.

Так продолжалось, пока однажды я не встретил Саркосому Шаровидную.

Читать далее

Information

Rating
Does not participate
Registered
Activity