Программирование уже давно не только отдельная профессия, но и часть ранее, не компьютеризированных профессий/областей знаний.
Компьютерная лингвистика или биоинформатика хорошие тому примеры, но есть и менее привычные области.
Например, программирующие историки. Проект Programming Historian [1] из небольшого руководства много лет назад превратился большой образовательный проект помогающий историкам работать с цифровыми материалами,
Проект существует на английском, французском и испанском языках. Включает 82 урока, по работе с API, сбору данных, настройке цифровой среды, манипулированию данными, Python, сетевому анализу и не только.
Каждый урок содержит всё необходимое для понимания предметной области и применения на практике. А все они опубликованы с открытым кодом https://github.com/programminghistorian
Для исторической науки, по мере оцифровки существующих архивов и коллекций, использование технологий всё более актуально. Среди цифровых гуманитарных наук (digital humanities) это одно из самых очевидных применений.
Какие ещё гуманитарные профессии помимо историков и журналистов Вы знаете где происходит их "цифровой переход" и навыки программирования и работы с данными становятся ключевыми?
Ссылки:
[1] https://programminghistorian.org
#opendata #programming
Компьютерная лингвистика или биоинформатика хорошие тому примеры, но есть и менее привычные области.
Например, программирующие историки. Проект Programming Historian [1] из небольшого руководства много лет назад превратился большой образовательный проект помогающий историкам работать с цифровыми материалами,
Проект существует на английском, французском и испанском языках. Включает 82 урока, по работе с API, сбору данных, настройке цифровой среды, манипулированию данными, Python, сетевому анализу и не только.
Каждый урок содержит всё необходимое для понимания предметной области и применения на практике. А все они опубликованы с открытым кодом https://github.com/programminghistorian
Для исторической науки, по мере оцифровки существующих архивов и коллекций, использование технологий всё более актуально. Среди цифровых гуманитарных наук (digital humanities) это одно из самых очевидных применений.
Какие ещё гуманитарные профессии помимо историков и журналистов Вы знаете где происходит их "цифровой переход" и навыки программирования и работы с данными становятся ключевыми?
Ссылки:
[1] https://programminghistorian.org
#opendata #programming
GitHub
The Programming Historian
The Programming Historian offers novice-friendly, peer-reviewed tutorials that help humanists learn a wide range of digital tools. - The Programming Historian
В рубрике интересных наборов данных проекты по теме машинного обучения для кода, Machine Learning for Code [1] из Secure, Reliable and Intelligent Systems Lab, ETH Zurich.
Их команда исследователей-разработчиков применяет искусственный интеллект к задачам разработки и анализа кода. Для чего они уже опубликовали множество проектов с открытым кодом, 5 больших датасетов и моделями с разобранным кодом и десятки научных статей.
Из интересного:
- Nice2Predict - модель структурных предсказаний, используется для предсказаний названий функций
- JSNice - деобфускатор Javascript, активно используется теми кто про него знает
- DeGuard - деобфускатор мобильных приложений для Андроид (.APK файлов), основан на Nice2Predict
А также стартап DeepCode (переименовался в Snyk Code) [2] предлагающий возможность ревизии кода с помощью ИИ и... автоматического исправления ошибок и уязвимостей.
Не стоит недооценивать развитие технологий автоматизации, они могут не заменить опытного разработчика, но может наступить тот момент когда смогут заменить начинающих. И как тогда начинающим приобретать опыт?
Ссылки:
[1] https://www.sri.inf.ethz.ch/research/plml
[2] https://www.deepcode.ai
#ai #programming #datasets #coding
Их команда исследователей-разработчиков применяет искусственный интеллект к задачам разработки и анализа кода. Для чего они уже опубликовали множество проектов с открытым кодом, 5 больших датасетов и моделями с разобранным кодом и десятки научных статей.
Из интересного:
- Nice2Predict - модель структурных предсказаний, используется для предсказаний названий функций
- JSNice - деобфускатор Javascript, активно используется теми кто про него знает
- DeGuard - деобфускатор мобильных приложений для Андроид (.APK файлов), основан на Nice2Predict
А также стартап DeepCode (переименовался в Snyk Code) [2] предлагающий возможность ревизии кода с помощью ИИ и... автоматического исправления ошибок и уязвимостей.
Не стоит недооценивать развитие технологий автоматизации, они могут не заменить опытного разработчика, но может наступить тот момент когда смогут заменить начинающих. И как тогда начинающим приобретать опыт?
Ссылки:
[1] https://www.sri.inf.ethz.ch/research/plml
[2] https://www.deepcode.ai
#ai #programming #datasets #coding
SRI Lab
Machine Learning for Code
This project combines programming languages and machine learning for building statistical programming engines – systems built on top of machine learning models of large codebases. These are new kinds of engines which can provide statistically likely solutions…
Многие разработчики возмущены появлением Github Copilot [1] и использованием их кода ИИ для написания нового кода. А, тем временем, Brendan Dolan-Gavitt из NYU Tandon School of Engineering создал его аналог с открытым кодом и который можно использовать локально. Встречаем FauxPilot [2] в основе которого модели Salesforce CodeGet [3] и NVIDIA Triton Inference Server [4].
Для работы требуется процессор NVIDIA с объёмом видеопамяти от 2ГБ и где-то до 32ГБ для самых больших языковых моделей, выбор из нескольких моделей предусмотрен.
Для тех кто хочет поработать продуктами по кодогенерации локально и сделать что-то своё и уникальное, это хороший пример того с чего можно начать и что доступно с открытым кодом.
Ссылки:
[1] https://t.me/begtin/4020
[2] https://github.com/moyix/fauxpilot
[3] https://github.com/salesforce/CodeGen
[4] https://developer.nvidia.com/nvidia-triton-inference-server
#opensource #github #copilot #datatools #programming #fauxpilot
Для работы требуется процессор NVIDIA с объёмом видеопамяти от 2ГБ и где-то до 32ГБ для самых больших языковых моделей, выбор из нескольких моделей предусмотрен.
Для тех кто хочет поработать продуктами по кодогенерации локально и сделать что-то своё и уникальное, это хороший пример того с чего можно начать и что доступно с открытым кодом.
Ссылки:
[1] https://t.me/begtin/4020
[2] https://github.com/moyix/fauxpilot
[3] https://github.com/salesforce/CodeGen
[4] https://developer.nvidia.com/nvidia-triton-inference-server
#opensource #github #copilot #datatools #programming #fauxpilot
Telegram
Ivan Begtin
Вокруг ИИ помощника по написанию кода Github Copilot разгораются нешуточные баталии [1], НКО Software Freedom Conservancy призывают всех разработчиков покинуть Github [2].
Причём корень проблемы в том что открытый код не делает ограничений на его использование…
Причём корень проблемы в том что открытый код не делает ограничений на его использование…
Языковые модели могут учить себя программировать лучше
"Пугающее" название научной статьи по весьма актуальной теме Language Models Can Teach Themselves to Program Better [1] о том что языковые модели, в данном случае модель Codex, умеют не только решать программные задачи, но и улучшать код этих решений.
Тема интересная и я считаю что её категорически нельзя недооценивать. Программная инженерия всё более стремится к автоматизации. Как это поменяет рынок труда сейчас говорить рано, но определённо поменяет.
Ссылки:
[1] https://arxiv.org/abs/2207.14502
#ai #languagemodels #programming
"Пугающее" название научной статьи по весьма актуальной теме Language Models Can Teach Themselves to Program Better [1] о том что языковые модели, в данном случае модель Codex, умеют не только решать программные задачи, но и улучшать код этих решений.
Тема интересная и я считаю что её категорически нельзя недооценивать. Программная инженерия всё более стремится к автоматизации. Как это поменяет рынок труда сейчас говорить рано, но определённо поменяет.
Ссылки:
[1] https://arxiv.org/abs/2207.14502
#ai #languagemodels #programming
В журнале IEEE Spectum вышел обзор Top Programming Languages 2022 [1] о самых популярных языках программирования по категориям сводного рейтинга (spectrum), вакансий и трендов.
Там же у них методика [2] на основе частотности упоминаемости на различных ресурсах и
Python на 3-м месте в вакансиях и на первом в остальных. Чему я лично рад, поскольку Python вот уже много лет мой любимый язык программирования, не удивительна популярность Java, а вот SQL резко выбился в лидеры востребованности у работодателей.
В том же журнале об этом отдельная статья The Rise of SQL [3], но там даже не упоминают Modern Data Stack, унификацию языка запросов, восхождение dbt и тд. В общем у меня нет ощущения значительной глубины понимания из той заметки, но, их взгляд на происходящее имеет право на существование.
Для сравнения в исследовании JetBrains за прошлый год на первом месте был Javascript [4] и мне лично, наоборот, это не нравится, JS вообще не вызывает у меня симпатии с самого его зарождения. И у JetBrains в исследованиях гораздо популярнее и востребованнее Go и Rust и другие молодые языки разработки.
Поэтому к публикации в IEEE Spectrum надо бы относится с долей осторожности, но изучать и преподавать Python никогда не поздно;)
Ссылки:
[1] https://spectrum.ieee.org/top-programming-languages-2022
[2] https://spectrum.ieee.org/top-programming-languages-methods
[3] https://spectrum.ieee.org/the-rise-of-sql
[4] https://www.jetbrains.com/lp/devecosystem-2021/
#python #languages #programming
Там же у них методика [2] на основе частотности упоминаемости на различных ресурсах и
Python на 3-м месте в вакансиях и на первом в остальных. Чему я лично рад, поскольку Python вот уже много лет мой любимый язык программирования, не удивительна популярность Java, а вот SQL резко выбился в лидеры востребованности у работодателей.
В том же журнале об этом отдельная статья The Rise of SQL [3], но там даже не упоминают Modern Data Stack, унификацию языка запросов, восхождение dbt и тд. В общем у меня нет ощущения значительной глубины понимания из той заметки, но, их взгляд на происходящее имеет право на существование.
Для сравнения в исследовании JetBrains за прошлый год на первом месте был Javascript [4] и мне лично, наоборот, это не нравится, JS вообще не вызывает у меня симпатии с самого его зарождения. И у JetBrains в исследованиях гораздо популярнее и востребованнее Go и Rust и другие молодые языки разработки.
Поэтому к публикации в IEEE Spectrum надо бы относится с долей осторожности, но изучать и преподавать Python никогда не поздно;)
Ссылки:
[1] https://spectrum.ieee.org/top-programming-languages-2022
[2] https://spectrum.ieee.org/top-programming-languages-methods
[3] https://spectrum.ieee.org/the-rise-of-sql
[4] https://www.jetbrains.com/lp/devecosystem-2021/
#python #languages #programming
Полезное чтение про данные, технологии и не только:
Данные
- State of gender data [1] есть такая большая тема - учет гендерных особенностей в системах регистрации статистики, учетных системах или, как упоминают авторы, "data systems". Текст о том что учет гендерных данных недостаточен.
- One Data Point Can Beat Big Data [2] о том что не всё решается большими данными и понимание данных и тщательная их фильтрация, избавление от шума, могут дать больше чем просто расширение источников и объёмов данных
- Making Government Data Publicly Available: Guidance for Agencies on Releasing Data Responsibly [3] руководство о том почему и как публиковать открытые данные от Center for Democracy and Technology. Адресовано органам власти (агентствам) в США, но актуально для всех
- Closing the Data Divide for a More Equitable U.S. Digital Economy [4] о неравенстве в доступе к данным и что с этим делать на примере экономики США. В основном рекомендации для регуляторов. Акценты на том что есть многие сообщества (в нашем понимании муниципалитеты) качество данных по которым невелико и они выпадают из многих госпрограмм поддержки. Тема важная, подход системный, но, конечно, инфраструктура и экономика США от других стран существенно отличаются.
ИИ и умные города
- Why Japan is building smart cities from scratch [5] о том почему в Японии создают умные города с нуля. На самом деле в статье именно на этот вопрос ответа нет, есть рассказ про несколько городов в Японии построенных с нуля. Это интересно, хотя я подозреваю что в Китае в в этом направлении даже больший прогресс.
Технологии и программирование
- Building modern Python API backends in 2022 [6] о структуре и архитектуре современных бэкэндов приложений на Python. Конечно, на самом деле, альтернатив куда больше, но прикладной стек расписан хорошо.
- Ruff [7] очень быстрый проверятель (linter) исходного кода для Python, написанный на Rust. Показывают производительность выше в 10-100 раз чем другие аналогичные инструменты вроде flake8, pylint и т.д.
—
P.S. Я подумываю выделить рубрику чтение (#readings) в какой-то отдельный формат, например, еженедельную рассылку, в отличие от моей личной рассылки которую я веду не регулярно или же скорректировать личную рассылку (begtin.substack.com) и добавить туда еженедельной регулярности.
Ссылки:
[1] https://data2x.org/state-of-gender-data/
[2] https://behavioralscientist.org/gigerenzer-one-data-point-can-beat-big-data/
[3] https://cdt.org/insights/making-government-data-publicly-available-guidance-for-agencies-on-releasing-data-responsibly/
[4] https://datainnovation.org/2022/08/closing-the-data-divide-for-a-more-equitable-u-s-digital-economy/
[5] https://www.nature.com/articles/d41586-022-02218-5
[6] https://backfill.dev/blog/2022-08-21-modern-python-backends/
[7] https://github.com/charliermarsh/ruff
#opendata #data #government #policy #tech #programming #readings
Данные
- State of gender data [1] есть такая большая тема - учет гендерных особенностей в системах регистрации статистики, учетных системах или, как упоминают авторы, "data systems". Текст о том что учет гендерных данных недостаточен.
- One Data Point Can Beat Big Data [2] о том что не всё решается большими данными и понимание данных и тщательная их фильтрация, избавление от шума, могут дать больше чем просто расширение источников и объёмов данных
- Making Government Data Publicly Available: Guidance for Agencies on Releasing Data Responsibly [3] руководство о том почему и как публиковать открытые данные от Center for Democracy and Technology. Адресовано органам власти (агентствам) в США, но актуально для всех
- Closing the Data Divide for a More Equitable U.S. Digital Economy [4] о неравенстве в доступе к данным и что с этим делать на примере экономики США. В основном рекомендации для регуляторов. Акценты на том что есть многие сообщества (в нашем понимании муниципалитеты) качество данных по которым невелико и они выпадают из многих госпрограмм поддержки. Тема важная, подход системный, но, конечно, инфраструктура и экономика США от других стран существенно отличаются.
ИИ и умные города
- Why Japan is building smart cities from scratch [5] о том почему в Японии создают умные города с нуля. На самом деле в статье именно на этот вопрос ответа нет, есть рассказ про несколько городов в Японии построенных с нуля. Это интересно, хотя я подозреваю что в Китае в в этом направлении даже больший прогресс.
Технологии и программирование
- Building modern Python API backends in 2022 [6] о структуре и архитектуре современных бэкэндов приложений на Python. Конечно, на самом деле, альтернатив куда больше, но прикладной стек расписан хорошо.
- Ruff [7] очень быстрый проверятель (linter) исходного кода для Python, написанный на Rust. Показывают производительность выше в 10-100 раз чем другие аналогичные инструменты вроде flake8, pylint и т.д.
—
P.S. Я подумываю выделить рубрику чтение (#readings) в какой-то отдельный формат, например, еженедельную рассылку, в отличие от моей личной рассылки которую я веду не регулярно или же скорректировать личную рассылку (begtin.substack.com) и добавить туда еженедельной регулярности.
Ссылки:
[1] https://data2x.org/state-of-gender-data/
[2] https://behavioralscientist.org/gigerenzer-one-data-point-can-beat-big-data/
[3] https://cdt.org/insights/making-government-data-publicly-available-guidance-for-agencies-on-releasing-data-responsibly/
[4] https://datainnovation.org/2022/08/closing-the-data-divide-for-a-more-equitable-u-s-digital-economy/
[5] https://www.nature.com/articles/d41586-022-02218-5
[6] https://backfill.dev/blog/2022-08-21-modern-python-backends/
[7] https://github.com/charliermarsh/ruff
#opendata #data #government #policy #tech #programming #readings
В полку сервисов/продуктов на базе ИИ по автоматизации написания кода прибыло, в Arstechnica статья и Replit Ghostwriter [1], прямой конкурент Github Copilot и умеющий программировать и объяснять на 16 языках. Они предоставляют несколько тарифных планов, начиная с бесплатного и до $7 в месяц [2] для работы в online IDE.
С одной стороны такие сервисы это явный и безусловный прогресс, не всё можно автоматизировать, но очень многое. А вместе с NoCode платформами есть шанс на то что часть разработки перейдет на такие IDE и платформы автоматизация программирования.
А с другой стороны, конечно, это сильный драйвер в сторону зависимости от облачных платформ, даже ещё больше чем сейчас. Сейчас, по моему личному мнению, настольные IDE очень хороши и мигрировать в облака большого резона нет, кроме тех областей где иначе нельзя. А в продуктах вроде Copilot и Ghostwriter закладывается модель cloud-first и цикл разработки компании получает ещё одну зависимость.
Тем не менее тема очень горячая, у меня нет сомнений что инвестиции в неё и гибриды с NoSQL будут существенно расти в ближайшие годы.
Ссылки:
[1] https://arstechnica.com/information-technology/2022/10/replits-ghostwriter-ai-can-explain-programs-to-you-or-help-write-them/
[2] https://replit.com/pricing
#ai #programming
С одной стороны такие сервисы это явный и безусловный прогресс, не всё можно автоматизировать, но очень многое. А вместе с NoCode платформами есть шанс на то что часть разработки перейдет на такие IDE и платформы автоматизация программирования.
А с другой стороны, конечно, это сильный драйвер в сторону зависимости от облачных платформ, даже ещё больше чем сейчас. Сейчас, по моему личному мнению, настольные IDE очень хороши и мигрировать в облака большого резона нет, кроме тех областей где иначе нельзя. А в продуктах вроде Copilot и Ghostwriter закладывается модель cloud-first и цикл разработки компании получает ещё одну зависимость.
Тем не менее тема очень горячая, у меня нет сомнений что инвестиции в неё и гибриды с NoSQL будут существенно расти в ближайшие годы.
Ссылки:
[1] https://arstechnica.com/information-technology/2022/10/replits-ghostwriter-ai-can-explain-programs-to-you-or-help-write-them/
[2] https://replit.com/pricing
#ai #programming
Ars Technica
Replit’s Ghostwriter AI can explain programs to you—or help write them
Ghostwriter generates, completes, or transforms code in 16 languages, similar to GitHub Copilot.
Для тех кто любит программировать на Python и не любит Javascript не могу не рассказать о таком проекте как PyScript [1], код для исполнения кода Python'а на стороне браузера. Включает как простые, так и сложные примеры [2], а также по нему есть огромное руководство с кучей подробностей [3].
Признаюсь, я лично, никогда не любил разработку фронтэнда именно из-за Javascript'а, какое-то сильное чувство отторжение у меня вызывало его использование, так что не только Javascript'у проникать на сервер, но и Python'у в браузер.
А их свежего и любопытного - руководство по написанию расширений для Google Chrome с помощью PyScript [4].
Почему это важно? Многие продукты по обработке и визуализации данных не сервере написаны на Python. Если PyScript будет работать с хорошей производительностью, то часть задач обработки можно будет перенести в браузер и поддерживать единую кодовую базу.
Пока единственное ограничение в том что PyScript более-менее оттестирован в Chrome, но даже в Firefox'е его активно не проверяли.
Тем не менее, экспериментировать можно уже сейчас.
Ссылки:
[1] https://pyscript.net
[2] https://pyscript.net/examples/
[3] https://realpython.com/pyscript-python-in-browser/#modules-missing-from-the-python-standard-library
[4] https://medium.com/@petefison/write-chrome-extensions-in-python-6c6b0e2e1573
#opensource #python #programming
Признаюсь, я лично, никогда не любил разработку фронтэнда именно из-за Javascript'а, какое-то сильное чувство отторжение у меня вызывало его использование, так что не только Javascript'у проникать на сервер, но и Python'у в браузер.
А их свежего и любопытного - руководство по написанию расширений для Google Chrome с помощью PyScript [4].
Почему это важно? Многие продукты по обработке и визуализации данных не сервере написаны на Python. Если PyScript будет работать с хорошей производительностью, то часть задач обработки можно будет перенести в браузер и поддерживать единую кодовую базу.
Пока единственное ограничение в том что PyScript более-менее оттестирован в Chrome, но даже в Firefox'е его активно не проверяли.
Тем не менее, экспериментировать можно уже сейчас.
Ссылки:
[1] https://pyscript.net
[2] https://pyscript.net/examples/
[3] https://realpython.com/pyscript-python-in-browser/#modules-missing-from-the-python-standard-library
[4] https://medium.com/@petefison/write-chrome-extensions-in-python-6c6b0e2e1573
#opensource #python #programming
pyscript.net
PyScript is a platform for Python in the browser.
Для тех кто любит диаграммы и не любит рисовать их мышкой, декларативный язык программирования D2 [1] позволяет определить набором простых правил как необходимо отобразить нужные блоки диаграммы и получить нужную диаграмму автоматически.
Опубликовано с открытым кодом [2], может использоваться как утилита командной строки или как библиотека для языка Go.
Развивается стартапом Terrastruct [3] у которого есть облачный сервис генерации диаграмм. Стартап существует с 2019 года, а код D2 они выложили месяц назад. Выглядит он довольно зрелым и похож на внутреннюю разработку выложенную в открытый доступ и открытый код.
Ссылки:
[1] https://d2lang.com
[2] https://github.com/terrastruct/d2
[3] https://terrastruct.com/
#opensource #diagramming #datatools #programming
Опубликовано с открытым кодом [2], может использоваться как утилита командной строки или как библиотека для языка Go.
Развивается стартапом Terrastruct [3] у которого есть облачный сервис генерации диаграмм. Стартап существует с 2019 года, а код D2 они выложили месяц назад. Выглядит он довольно зрелым и похож на внутреннюю разработку выложенную в открытый доступ и открытый код.
Ссылки:
[1] https://d2lang.com
[2] https://github.com/terrastruct/d2
[3] https://terrastruct.com/
#opensource #diagramming #datatools #programming
This media is not supported in your browser
VIEW IN TELEGRAM
В рубрике интересных проектов с открытым кодом Latino [1], язык программирования на испанском языке. Да, примерно как в СССР были языки программирования с ключевыми словами на русском, так же и тут, но в основе испанский.
Язык появился в 2015 году, он вполне работоспособен, хотя и, наверняка, не так продвинут как более общеупотребительные языки разработки.
По синтаксису что-то среднее между Python и Lua.
Полезен может быть тем кто учит испанский и программирует, чтобы, потренировать свои навыки и языка разговорного и языка программного.
Ссылки:
[1] https://www.lenguajelatino.org/
#opensource #programming
Язык появился в 2015 году, он вполне работоспособен, хотя и, наверняка, не так продвинут как более общеупотребительные языки разработки.
По синтаксису что-то среднее между Python и Lua.
Полезен может быть тем кто учит испанский и программирует, чтобы, потренировать свои навыки и языка разговорного и языка программного.
Ссылки:
[1] https://www.lenguajelatino.org/
#opensource #programming