Code Mining
933 subscribers
90 photos
4 videos
8 files
173 links
ML4Code во всей красе, анализ кода и артефактов: лицензии, уязвимости, процессы. Комментарии к актуальным и не очень новостям, аналитика, эпизодический авторский контент, мемасики.

При поддержке: ods.ai, @codescoring
По вопросам — @alsmirn
Download Telegram
Как наш мозг осознает код

В нашей рубрике #видоснавечер сегодня абсолютно свежее видео с Григорием Петровым, который заглянул в гости на подкаст Python's Tail.

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

Приятного просмотра: https://youtu.be/kZmfdaEUdJk?t=23
👍5🔥2
Увернуться от рефакторинга. Или как применять инженерные метрики кода во благо?

Продолжая тематику сложности кода, продолжим докладом Алексея Смирнова про цикломатическую сложность.

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

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

Сам доклад 40 минут, дальше беседа с пайтон сообщестом в Барнауле.

Приятного просмотра: https://youtu.be/amDn9nnXGHg
2🔥2👍1
Полезный тул binocle

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

Можно управлять оффсетом, шагом и шириной прямоугольного выделения. Подробнее на картинке и в описании.

Написано на Rust, лицензия: Apache 2.0 AND MIT.

Короткое ревью: https://shark.fish/binocle.mp4

👀 https://github.com/sharkdp/binocle
👍4
Doomfana

В рамках хакатона, ребята напилили Doom в Графане, что было приурочено к 25й годовщине выхода Doom 64.

Юзабельно? Не очень. Но, как мы понимаем, цель не в этом :).

Подробности | Исходники

Поиграться можно тут, а повыше разрешение будет здесь.
👍2🔥2👏1
Мой опыт с резиновым мужиком. Github Copilot

Вчера вышла хорошая статейка про Copilot. Автор в красочных эпитетах описывает свой опыт и делает, на наш взгляд, правильные выводы относительно текущего стейта: "Github Copilot - это джун без тормозов" (c).

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

Насладиться слогом можно здесь: https://habr.com/ru/post/666538/
👍2🔥1
Data Fest Online 3.0 🎉🎉🎉

Абсолютно внезапная для многих новость-молния, в конце недели стартует Data Fest Online, аж 3.0 версии уже.

Важное, ODS переезжает из Slack в [Matrix] и сообществу предстоит приличное обновление.

Об этом всём мы узнаем 4 июня, где помимо ананосов будет представлено огромное количество тематических направлений: Reliable ML, NLP, RecSys, PyData + MLOps, DL in Finance, etc.

CodeMining (это мы :), тоже не останется в стороне и обо всех наших задумках мы расскажем в прямом эфире на Youtube-канале ODS AI RU в эту субботу (4 июня).

Сам фест продлится с 4 июня по 26 июня, поэтому следите за обновлениями. Подробности по участию и движам здесь, на ютубчике и в telegram-канале ODS.

Доклады, нетворкинг и вот это вот всё. Урра!
🎉4👍2
Code Mining pinned a photo
Семинары-семинары!

Помимо радостной новости про Datafest, в ближайшие две недели будет ещё пара интересных семинаров от JetBrains Research, ICTL.


3 июня, 2022 (пятница)
Evolutionary Intelligence for automated test generation

О современных методах и подходах к автоматической генерации тестов.

Спикер: Pouria Derakhshanfar (TU Delft)

Тезисы & регистрация: https://www.meetup.com/ictl-seminar/events/286112645/


10 июня, 2022 (пятница)
Software readability

О сложностях и методах измерения читаемости исходного кода и почему эту метрику не надо путать со сложностью программ.

Спикер: Kirill Bochkarev (JetBrains Research, ICTL)

Тезисы & регистрация: https://www.meetup.com/ictl-seminar/events/286258310/


Рекомендуем посетить, темы отличные!
🔥4
Code Mining
Data Fest Online 3.0 🎉🎉🎉 Абсолютно внезапная для многих новость-молния, в конце недели стартует Data Fest Online, аж 3.0 версии уже. Важное, ODS переезжает из Slack в [Matrix] и сообществу предстоит приличное обновление. Об этом всём мы узнаем 4 июня, где…
Па-бам!

Датафест стартует уже через пару минут.

Следить за стримом можно здесь: https://www.youtube.com/watch?v=7A7UviE-rBg

В 13:00 будет пара слов про наш замечательный кодмайнинг и что вообще происходит, а потом, в Spatial.Chat мы проведем наши знаменитые Собеседования в Никуда в золотом составе менторов :)

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

До встречи!
👍31
Code Mining pinned «Па-бам! Датафест стартует уже через пару минут. Следить за стримом можно здесь: https://www.youtube.com/watch?v=7A7UviE-rBg В 13:00 будет пара слов про наш замечательный кодмайнинг и что вообще происходит, а потом, в Spatial.Chat мы проведем наши знаменитые…»
StackOverflow Developer Survey 2022

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

Облистаться тут: https://survey.stackoverflow.co/2022.
👍4
OpenSource & BugBounty

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

Целая платформа и сообщество посвященное поиску уязвимостей в Open Source-пакетах. Можно поднять $$$ за найденные артефакты. Там и лидерборды и возможность пообщаться.

Есть много мировых и не только баг баунти программ, но если вы вдруг знаете именно про Open Source пакеты, будем признательны за коммент.

hackerone не предлагать ;)
🔥5
Последние месяцы мы не очень много чего писали в канал, но будем обязательно исправляться. А пока поделимся результатами последней "работы на конференциях", в рамках пропаганды композиционного анализа программного обеспечения, коим мы активно занимаемся у себя в компании :).
Forwarded from CodeScoring Updates
Наши последние выступления

А пока мы готовим очередной релиз, предлагаем посмотреть наши последние доклады о проблематике композиционного анализа программного обеспечения (да-да, тот самый Software Composition Analysis).

Highload Foundation
Безопасность цепочки поставки Open Source-компонентов
Видео | Презентация

PHDays 11
Актуальные вызовы композиционному анализу ПО
Видео | Презентация

DevOpsConf 2022
Protestware. Как много в этом слове!
Видео | Презентация
🔥5
Diagram as Code for prototyping cloud system architectures

Полезная библиотека/утилита для отрисовки архитектур на python.

Целевая аудитория — архитекторы облачных сервисов, но применимо, мягко говоря, везде, где надо рисовать и версионировать диаграммы. Под капотом Graphviz.

В библиотеке реализована поддержка отображения иконок большинства облачных провайдеров (AWS, Azure, GCP, Kubernetes, DO, OpenStack, Elastic и пр.), также есть набор пиктограмм для отрисовки Flowchart-диаграмм и возможность поставить свои изображения.

Больше примеров.

Сам проект живет здесь:
https://github.com/mingrammer/diagrams.
👍5🔥1
GPT-3 пытается объяснить код

Увлекающий сознание многих Copilot построен на OpenAI Codex, потомке авторегрессионной генеративной модели GPT-3. А что будет если скормить исходники самой GPT-3?

Саймон Уиллисон попробовал и получил (внезапно!) неплохие результаты. Примеры для python & javascript. Вы можете попробовать самостоятельно.

Понятное дело, что именно осмысления машиной здесь нет, только объяснение конструкций, но вот как раз эта функция возможно и была бы полезна самым начинающим разработчикам.
🔥3
BLOOM — autoregressive Large Language Model (LLM)

Не успели мы написать о том как GPT-3 умеет из коробки объяснять код, так вот ещё новость приехала. В открытый доступ выложена новая авторегрессионная мультиязыковая модель BLOOM, BigScience Language Open-science Open-access Multilingual.

https://huggingface.co/bigscience/bloom

И это действительно выглядит как тектонический сдвиг, потому как это первая открытая LLM (176 млрд. параметров) обученная в условиях полной прозрачности.

Что внутри:
- 46 естественных языков
- 13 языков программирования

Немного статистики:
> 900 исследователей
> 50 стран участниц
> 3 мес. обучения (Jean Zay Public Supercomputer)

Про датасет | про железо.

Контекст работы с кодом нам интересен особенно, конечно.

Говорят, что есть: Java, PHP, C, C++, Python, JavaScript, C#, Ruby, Lua, GO, TypeScript, Scala, Rust... perl'a нет ;)

Осталось только добраться и пощупать. Кто у нас тут недавно YaLM 100B поднимал?

PS. Обратим внимание, что модель лицензирована BigScience Responsible AI License v 1.0 (RAIL), которая носит разрешительный характер "при стремлении к ответственному использованию Модели". Вобщем, нужно ещё покурить подробности того, что авторы подразумевают под отвестственным использованием.
1👍1
Если DOOM в Grafana, показался слишком простым, то можно насладиться вот такой 🔥 новостью:
Forwarded from Denis Sexy IT 🤖
This media is not supported in your browser
VIEW IN TELEGRAM
Щас будет сложна, но теперь DOOM можно запустить в DOOM, чтобы играть в DOOM прямо внутри DOOM.

Наконец человечество дошло до сингулярность — после адаптации DOOM под тесты на беременность и прочие калькуляторы, мы пришли к тому, что DOOM запускает сам себя, это как придти туда, откуда вышли.

Ютубер и по совместительству кодер под ником Kgsws использовал уязвимость DOS-версии Doom II, которая заставляет запускать Chocolate Doom (современный порт игры, совместимый с оригинальной DOS-версией игры) внутри оригинала в виде анимированной текстуры.

Если прям совсем технически, то чувак наткнулся на команду «SpawnMapThing», обычно используемую для размещения оружия, врагов и т. д. на уровнях. Определенная часть кода, которая определяет в каком состоянии находится предмет или враг, может быть заменена исполняемым фалом, как например DOS-версии Doom.

Пройдя по тёмным коридорам и убив пару импов, ты садишься в комнату с приглушённым светом, отключаешь HUD. и погружаешься в doom-метаверс.

Код здесь.
🤯6👍1🔥1