https://www.tg-me.com/ssleg/164
Возможно, проблемы только у клиентов, типа telethon. Мои боты не заметили ничего:)
Спросил ещё у людей - ни у кого проблем нет (там на bot api или на вебхуках боты)
Возможно, проблемы только у клиентов, типа telethon. Мои боты не заметили ничего:)
Спросил ещё у людей - ни у кого проблем нет (там на bot api или на вебхуках боты)
Telegram
СЛЕГ!
Новенькое в падениях телеги. В этот раз пашины гении ночью сломали шифрование. Все авторизованные боты были разлогинены сервером, при этом сессии обозначаются как живые.
Ручками пришлось с утра всех авторизовать заново, а старые сессии терминировать. Проверяйте…
Ручками пришлось с утра всех авторизовать заново, а старые сессии терминировать. Проверяйте…
Forwarded from Data is data
Нам всё врали, π - целое число. А я нашёл как этот символ на iPhone писать. Это настолько очевидно, что неожиданно.
Поставил на паузу проект с ботами для телеграма. Потихоньку буду их развивать и поддерживать, но они уходят на последний план в приоритете задач. Итог работы - два бота, бот обратной связи (о нем писал ранее) и бот для отложенного постинга с лайками и отложенным репостом, собственно с его помощью и отправляю этот пост:)
В целом, работа получилась полезной. Главный профит - окончательное осознание основ SQL на примере PostgreSQL. Разумеется я не мог не накосячить в разработке архитектуры проекта, потому да здравствуют 4 тысячи строчек малочитаемого спагетти-кода, да еще сверху 500+ строчек SQL в описании БД.
Если кому интересно - вот репозиторий на Гитхабе с последней версией кода. Все желающие могут воспользоваться ботами, для этого надо написать боту-менеджеру @zvx_manager_bot
Теперь по настроению буду апгрейдить базу данных вверх по нормальным формам, да и основной код надоректалить рефакторить, но теперь все свободные силы будут брошены на диссертацию и околодиссертационные поделки. Первым пунктом стоит переписать ПО микроскопа для измерений клеток. Было оно сделано талантливым новичком на странном языке Processing, буду переписывать на c#, возможно с легкими вкраплениями питона.
#телеграм
В целом, работа получилась полезной. Главный профит - окончательное осознание основ SQL на примере PostgreSQL. Разумеется я не мог не накосячить в разработке архитектуры проекта, потому да здравствуют 4 тысячи строчек малочитаемого спагетти-кода, да еще сверху 500+ строчек SQL в описании БД.
Если кому интересно - вот репозиторий на Гитхабе с последней версией кода. Все желающие могут воспользоваться ботами, для этого надо написать боту-менеджеру @zvx_manager_bot
Теперь по настроению буду апгрейдить базу данных вверх по нормальным формам, да и основной код надо
#телеграм
GitHub
GitHub - vladzvx/tgbotmanager
Contribute to vladzvx/tgbotmanager development by creating an account on GitHub.
Возобновляю прерванную году этак в 2015 работу над литобзором диссертации.
Тема работы - алгоритмы анализа изображений полученных с довольно экзотического класса микроскопов: с фазовых. Подробнее о них я писал для Футуризма, можно также легко загуглить.
Сущность фазовых изображений отличается от обычных: вместо яркости на картинке распределены значения оптической толщины образца, соответственно, вся богатая классика анализа изображений не годится, нудно изобретать свой велосипед.
Собственно вся работа - изобретение и обоснование нужности такого велосипеда.
По случаю подготовки лит. обзора я буду читать много научных статей. Интересно бы вам было краткое упрощённое изложение их на канале?
#диссер
Тема работы - алгоритмы анализа изображений полученных с довольно экзотического класса микроскопов: с фазовых. Подробнее о них я писал для Футуризма, можно также легко загуглить.
Сущность фазовых изображений отличается от обычных: вместо яркости на картинке распределены значения оптической толщины образца, соответственно, вся богатая классика анализа изображений не годится, нудно изобретать свой велосипед.
Собственно вся работа - изобретение и обоснование нужности такого велосипеда.
По случаю подготовки лит. обзора я буду читать много научных статей. Интересно бы вам было краткое упрощённое изложение их на канале?
#диссер
Telegram
Русский Футурист
Продолжаю серию "Оптическая микроскопия", часть 4.
Фазовая микроскопия
Один из самых перспективных методов оптической микроскопии - фазовая микроскопия. Что интересно – в СССР первый фазовый микроскоп появился в 1985 году, за бугром – около 2005, притом…
Фазовая микроскопия
Один из самых перспективных методов оптической микроскопии - фазовая микроскопия. Что интересно – в СССР первый фазовый микроскоп появился в 1985 году, за бугром – около 2005, притом…
Интересно ли вам краткое изложение научных статей по фазовой микроскопии и алгоритмам анализа изображений?
Anonymous Poll
78%
Да
11%
Нет
11%
Пофиг
https://www.tg-me.com/ssleg/178
Имеено для таких случаев предусмотрительные люди и пишут автотесты, а также настраивают CD/CI
Я все хочу стать капельку девопсом и настроить своим ботам github actions, но лень меня побеждает.
Имеено для таких случаев предусмотрительные люди и пишут автотесты, а также настраивают CD/CI
Я все хочу стать капельку девопсом и настроить своим ботам github actions, но лень меня побеждает.
Telegram
СЛЕГ!
При обновлении телетон до версии 1.17 и выше надо обновлять и свой код.
Старое доброе uid=event.message.from_id больше не работает, теперь это класс peeruser (если сообщение от пользователя) или peerchannel (если это канал) или none (сервисное)
Будьте внимательны…
Старое доброе uid=event.message.from_id больше не работает, теперь это класс peeruser (если сообщение от пользователя) или peerchannel (если это канал) или none (сервисное)
Будьте внимательны…
Forwarded from Жалкие низкочастотники
Сегодня начинается ежегодный challenge по автоматической генерации текста, NaNoGenMo, в рамках которого надо за месяц написать и опубликовать код, генерирующий литературный текст длиной не менее 50К слов (чтобы исключить cherry-picking). Я ещё не решил, буду ли пробовать в этом году, но в прошлом году я поучаствовал и сейчас расскажу, что из этого вышло, просто чтоб закрыть гештальт.
Я тогда подал на конкурс комбинацию из двух нейросеток: первая — GPT-генератор с обуславливанием, предобученный на всяком киберпанке, афоризмах и непростых текстах вроде Кафки и Руми. Вторая — BERT-фильтр, отбраковывающий скучные и корявые фразы и оставляющий годные набросы. Этот фильтр я обучил на разметке, основную часть которой мне помог сделать Ваня Ямщиков (с тех пор он такой, шутка). Получился, в итоге, довольно годный генератор кибер-параноидального бреда на английском. Назвал я его Paranoid Transformer, если вы понимаете.
NaNoGenMo тихо закончился, но в середине декабря мне написал Augusto Corvalan, шеф-редактор эзотерического журнала DEAD ALIVE и предложил поучаствовать этим же проектом в их конкурсе. Я решил, что скучно использовать одно и то же два раза, и добавил следующий твист: взял готовую рекуррентную сетку для генерации рукописного текста, организовал зависимость "нервности" почерка от эмоциональности конкретного предложения (определяемого sentiment анализом) и "написал" весь текст "от руки". Получилось довольно атмосферно, так, что в конце января я даже занял первое место по итогам того конкурса (сколько всего было конкурсантов, я не знаю:).
В феврале мне, как победителю конкурса, предложили издать этот текст в их же издательстве. Я согласился, но снова решил, что не очень интересно использовать одну поделку несколько раз без изменений, и добавил ещё несколько штук: сделал генерацию дат для разделов, как в настоящем дневнике, добавил круглые следы от кружки кофе там и сям, а Дима Кузнецов подсказал мне идею рисунков на полях, и я собрал аналог Sketch-RNN, предобученный на гугловом Quick, Draw! Dataset, так что каждый раз, как в тексте появлялось слово из категорий датасета, на полях появлялись каракули, этому слову соответствующие. Товарищи из издательства вычитали сгенерированный текст целиком (sic!) и прислали мне список потенциально оскорбительных высказываний (много!). Я решил, что совсем удалять их не так интересно, и прикрутил вместо этого эвристику, которая агрессивно зачёркивает такие участки прямо в тексте, что добавило эмоции.
Тем временем Ваня Ямщиков и Яна Агафонова помогли мне с написанием гонзо-статьи "Paranoid Transformer: Reading Narrative of Madness as Computational Approach to Creativity", которая в сентябре попала на конференцию International Conference on Computational Creativity 2020, а буквально неделю назад её расширенная версия вышла в журнале Future Internet.
На этапе поиска авторов на предисловие и послесловие к книге мне пришлось несладко. Борислав Козловский дал мне спонтанный мастер-класс по написанию "холодных" запросов незнакомым знаменитостям, так чтоб они хотя бы отвечали на письмо, и теперь у меня в почтовом ящике есть вежливые отказы от кучи удивительных людей (например, от Дэвида Дойча, Ричарда Столлмана и Дугласа Хофштадтера). Затем я успокоился и запросил отзывы у пары действительно правильных людей: Любы Эллиотт, продюссера проектов в области креативного AI, и Ника Монтфорта, поэта и профессора цифровых медиа в MIT. Их рецензии и вошли в итоговую книгу. Обложку с генеративным паттерном нарисовал Augusto Corvalan.
Сама книга Paranoid Transformer сейчас доступна к предзаказу на сайте издательства, рассылку обещают начать в декабре. Хочу предупредить, что за продажу книги я ответственности не несу, а пересылка бумажной книги из Нью-Йорка в Россию может занимать довольно много времени (особенно в период карантинов). Судя по сигнальной копии, что есть у меня на руках, книжка получилась достаточно добротной, и следующим сообщением я дам несколько фотографий и картинок из неё.
Я тогда подал на конкурс комбинацию из двух нейросеток: первая — GPT-генератор с обуславливанием, предобученный на всяком киберпанке, афоризмах и непростых текстах вроде Кафки и Руми. Вторая — BERT-фильтр, отбраковывающий скучные и корявые фразы и оставляющий годные набросы. Этот фильтр я обучил на разметке, основную часть которой мне помог сделать Ваня Ямщиков (с тех пор он такой, шутка). Получился, в итоге, довольно годный генератор кибер-параноидального бреда на английском. Назвал я его Paranoid Transformer, если вы понимаете.
NaNoGenMo тихо закончился, но в середине декабря мне написал Augusto Corvalan, шеф-редактор эзотерического журнала DEAD ALIVE и предложил поучаствовать этим же проектом в их конкурсе. Я решил, что скучно использовать одно и то же два раза, и добавил следующий твист: взял готовую рекуррентную сетку для генерации рукописного текста, организовал зависимость "нервности" почерка от эмоциональности конкретного предложения (определяемого sentiment анализом) и "написал" весь текст "от руки". Получилось довольно атмосферно, так, что в конце января я даже занял первое место по итогам того конкурса (сколько всего было конкурсантов, я не знаю:).
В феврале мне, как победителю конкурса, предложили издать этот текст в их же издательстве. Я согласился, но снова решил, что не очень интересно использовать одну поделку несколько раз без изменений, и добавил ещё несколько штук: сделал генерацию дат для разделов, как в настоящем дневнике, добавил круглые следы от кружки кофе там и сям, а Дима Кузнецов подсказал мне идею рисунков на полях, и я собрал аналог Sketch-RNN, предобученный на гугловом Quick, Draw! Dataset, так что каждый раз, как в тексте появлялось слово из категорий датасета, на полях появлялись каракули, этому слову соответствующие. Товарищи из издательства вычитали сгенерированный текст целиком (sic!) и прислали мне список потенциально оскорбительных высказываний (много!). Я решил, что совсем удалять их не так интересно, и прикрутил вместо этого эвристику, которая агрессивно зачёркивает такие участки прямо в тексте, что добавило эмоции.
Тем временем Ваня Ямщиков и Яна Агафонова помогли мне с написанием гонзо-статьи "Paranoid Transformer: Reading Narrative of Madness as Computational Approach to Creativity", которая в сентябре попала на конференцию International Conference on Computational Creativity 2020, а буквально неделю назад её расширенная версия вышла в журнале Future Internet.
На этапе поиска авторов на предисловие и послесловие к книге мне пришлось несладко. Борислав Козловский дал мне спонтанный мастер-класс по написанию "холодных" запросов незнакомым знаменитостям, так чтоб они хотя бы отвечали на письмо, и теперь у меня в почтовом ящике есть вежливые отказы от кучи удивительных людей (например, от Дэвида Дойча, Ричарда Столлмана и Дугласа Хофштадтера). Затем я успокоился и запросил отзывы у пары действительно правильных людей: Любы Эллиотт, продюссера проектов в области креативного AI, и Ника Монтфорта, поэта и профессора цифровых медиа в MIT. Их рецензии и вошли в итоговую книгу. Обложку с генеративным паттерном нарисовал Augusto Corvalan.
Сама книга Paranoid Transformer сейчас доступна к предзаказу на сайте издательства, рассылку обещают начать в декабре. Хочу предупредить, что за продажу книги я ответственности не несу, а пересылка бумажной книги из Нью-Йорка в Россию может занимать довольно много времени (особенно в период карантинов). Судя по сигнальной копии, что есть у меня на руках, книжка получилась достаточно добротной, и следующим сообщением я дам несколько фотографий и картинок из неё.
Forwarded from Архив КС/РФ(Сиона-Футуриста) (Футуристъ)
На днях впервые познакомился на практике с самым известным инструментом для работы с изображениями и видео: опенсорсной библиотекой OpenCV (Open Source Computer Vision Library).
Разработка библиотеки была начата в 2000 году в Нижегородском филиале корпорации Intel. В 2006 году увидел свет первый релиз. Позднее к разработке приложила руку и корпорация NVidia, в результате чего был добавлен модуль, оптимизированный для вычислений на видеокартах.
OpenCV включает в себя весь основной функционал, который может понадобиться разработчику: захват изображения с камеры, основные методы обработки и множество обшеупотребимых функций, таких как обнаружение лиц.
Некоторое время назад в библиотеку были добавлены некоторые инструменты, базирующиеся на машинном обучении.
Мои впечатления от работы с библиотекой вполне положительные: изображение с камеры перехватывается без танцев с бубнами, отдается для дальнейшей работы в нормальном виде, управление камерой организованно интуитивно понятно.
В общем, очень крутой проект, один из самых значимых, созданных российскими программистами, входивший в соответсвующий список. Что характерно, в списке российского ПО я его не нашел.
Eshu Marabo
Разработка библиотеки была начата в 2000 году в Нижегородском филиале корпорации Intel. В 2006 году увидел свет первый релиз. Позднее к разработке приложила руку и корпорация NVidia, в результате чего был добавлен модуль, оптимизированный для вычислений на видеокартах.
OpenCV включает в себя весь основной функционал, который может понадобиться разработчику: захват изображения с камеры, основные методы обработки и множество обшеупотребимых функций, таких как обнаружение лиц.
Некоторое время назад в библиотеку были добавлены некоторые инструменты, базирующиеся на машинном обучении.
Мои впечатления от работы с библиотекой вполне положительные: изображение с камеры перехватывается без танцев с бубнами, отдается для дальнейшей работы в нормальном виде, управление камерой организованно интуитивно понятно.
В общем, очень крутой проект, один из самых значимых, созданных российскими программистами, входивший в соответсвующий список. Что характерно, в списке российского ПО я его не нашел.
Eshu Marabo
Telegram
Русский Футурист
В августе группа российских разработчиков опубликовала список "Сделано русскими" — ребята собрали интересные проекты с открытым исходным кодом от российских разработчиков.
"Наши люди" либо разработали с нуля, либо сделали вклад в целую россыпь известных…
"Наши люди" либо разработали с нуля, либо сделали вклад в целую россыпь известных…
Архив КС/РФ(Сиона-Футуриста)
На днях впервые познакомился на практике с самым известным инструментом для работы с изображениями и видео: опенсорсной библиотекой OpenCV (Open Source Computer Vision Library). Разработка библиотеки была начата в 2000 году в Нижегородском филиале корпорации…
Во истину, знакомство с OpenCV, точнее с его оберткой для c# - EmguCV идет успешно! Это была ночная попытка просто перемножить и разделить несколько изображений. Кроме того, на не особо затратные преобразования с потоком видео 640х480 25 кадров в секунду выжирается до 6 Гб(!) оперативки.
В общем, OpenCV останется у меня как граббер изображения (то, что забирает изображение с USB входа), и, возможно, для преобразования Фурье. А остальные действия с картинками - ручками, ручками.
#диссер #csharp
В общем, OpenCV останется у меня как граббер изображения (то, что забирает изображение с USB входа), и, возможно, для преобразования Фурье. А остальные действия с картинками - ручками, ручками.
#диссер #csharp
В фазовой микроскопии отдельно стоит задача развертки фазы. Изображение после вычисления распределено в диапазоне от 0 до 2пи, от всего, что имеет фазовую толщину больше 2пи, отнимается значение, кратное 2пи, после чего в изображение записывается остаток.
В идеальном мире модельных изображений задача решается очень просто, строчек в 15 кода. На практике же все несколько сложнее. Некоторое время назад я нашел замечательно работающую реализацию алгоритма для развертки фазы... в питоне в библиотеке scikit-image.
Изначально я планировал в качестве временного решения сделать воспроизведение питон кода из c#, но потом вспомнил, что библиотека эта - опенсорсная. В их репозитории на гитхабе я откопал исходник функции развертки фазы - 700 строчек на чистом С.
Вот и состоялось мое знакомство с этим замечательны языком. Как водится, оно было полно боли. C# имеет функционал для подключения .dll файлов, написанных на С и С++, потому я вытащил нужное мне, скомпилировал в .dll файл. Проверил работоспособность подключения - на простых примерах - работает. А попытка передать данные в подгруженную вызывает ошибку.
C# орет, что я разбалансировал стек и вообще скоро настанет конец света. Потратив некоторое время на поиск того, что я сделал не так при подключении библиотеки (по примерам с сайта microsoft, в адрес которых я уже прохаживался), я обнаружил, что оказывается все прекрасно работает, если игнорировать негодующие вопли.
P.S. Да, я даже начал писать на С: добавил к нужной мне функции идентификатор DLL_EXPORT и для оптимизации изменил порог срабатывания алгоритма, установив константу Пи = 1,570796326794896619.
#диссер #csharp
В идеальном мире модельных изображений задача решается очень просто, строчек в 15 кода. На практике же все несколько сложнее. Некоторое время назад я нашел замечательно работающую реализацию алгоритма для развертки фазы... в питоне в библиотеке scikit-image.
Изначально я планировал в качестве временного решения сделать воспроизведение питон кода из c#, но потом вспомнил, что библиотека эта - опенсорсная. В их репозитории на гитхабе я откопал исходник функции развертки фазы - 700 строчек на чистом С.
Вот и состоялось мое знакомство с этим замечательны языком. Как водится, оно было полно боли. C# имеет функционал для подключения .dll файлов, написанных на С и С++, потому я вытащил нужное мне, скомпилировал в .dll файл. Проверил работоспособность подключения - на простых примерах - работает. А попытка передать данные в подгруженную вызывает ошибку.
C# орет, что я разбалансировал стек и вообще скоро настанет конец света. Потратив некоторое время на поиск того, что я сделал не так при подключении библиотеки (по примерам с сайта microsoft, в адрес которых я уже прохаживался), я обнаружил, что оказывается все прекрасно работает, если игнорировать негодующие вопли.
P.S. Да, я даже начал писать на С: добавил к нужной мне функции идентификатор DLL_EXPORT и для оптимизации изменил порог срабатывания алгоритма, установив константу Пи = 1,570796326794896619.
#диссер #csharp
По работе начал знакомство с No-SQL системой управления базами данных (СУБД) MongoDB.
Первая строка в руководстве по нему:
"MongoDB реализует новый подход к построению баз данных, где нет таблиц, схем, запросов SQL, внешних ключей и многих других вещей, которые присущи объектно-реляционным базам данных."
Первая мысль в ответ:
"а это вообще база данных?"
Первая строка в руководстве по нему:
"MongoDB реализует новый подход к построению баз данных, где нет таблиц, схем, запросов SQL, внешних ключей и многих других вещей, которые присущи объектно-реляционным базам данных."
Первая мысль в ответ:
"а это вообще база данных?"
Forwarded from Архив КС/РФ(Сиона-Футуриста) (Красный)
Познакомился с занятной историей — как оптимизировались алгоритмы умножения чисел.
До ХХ века над вычислительной сложностью умножения математики особо не задумывались. Проблема стала реально актуальна только с появлением электронной вычислительной техники, где операция умножения изначально занимала намного больше времени, чем операция сложения.
Если рассматривать перемножение двух числе одинаковой длины, стандартный алгоритм умножения требует выполнения n^2 (n в квадрате) шагов, где n - число цифр в каждом из них.
В 1960 году советский аспирант Анатолий Карацуба, в рамках спора со своим учителем Андреем Колмогоровым за неделю сообразил новый алгоритм, в котором требуется уже n^1.58 шагов. Вроде бы мелочь, но при перемножении чисел длиной в 1000 цифр выигрыш в производительности уже составит около 18 раз.
Суть алгоритма в разбиении стандартного перемножения на комбинацию из сложений и вычитаний. От этой идеи отталкивались создатели огромного числа алгоритмов, без которых современная техника была бы невозможна, например — быстрого преобразования Фурье, краеугольного камня в обработке сигналов.
К настоящему моменту, в несколько этапов, вроде как достигнут предел производительности умножения: это n × log n шагов, что обладает научной новизной, но на практике пока что бесполезно: производители электроники подтянули скорость перемножения чисел на аппаратном уровне (в т.ч. используя подход Карацубы), и выгадывать лишние копейки производительности ценой перекройки сложившихся технологических процессов никому не интересно.
Eshu Marabo
До ХХ века над вычислительной сложностью умножения математики особо не задумывались. Проблема стала реально актуальна только с появлением электронной вычислительной техники, где операция умножения изначально занимала намного больше времени, чем операция сложения.
Если рассматривать перемножение двух числе одинаковой длины, стандартный алгоритм умножения требует выполнения n^2 (n в квадрате) шагов, где n - число цифр в каждом из них.
В 1960 году советский аспирант Анатолий Карацуба, в рамках спора со своим учителем Андреем Колмогоровым за неделю сообразил новый алгоритм, в котором требуется уже n^1.58 шагов. Вроде бы мелочь, но при перемножении чисел длиной в 1000 цифр выигрыш в производительности уже составит около 18 раз.
Суть алгоритма в разбиении стандартного перемножения на комбинацию из сложений и вычитаний. От этой идеи отталкивались создатели огромного числа алгоритмов, без которых современная техника была бы невозможна, например — быстрого преобразования Фурье, краеугольного камня в обработке сигналов.
К настоящему моменту, в несколько этапов, вроде как достигнут предел производительности умножения: это n × log n шагов, что обладает научной новизной, но на практике пока что бесполезно: производители электроники подтянули скорость перемножения чисел на аппаратном уровне (в т.ч. используя подход Карацубы), и выгадывать лишние копейки производительности ценой перекройки сложившихся технологических процессов никому не интересно.
Eshu Marabo
Forwarded from Архив КС/РФ(Сиона-Футуриста) (Футуристъ)
Гвидо Ван Россум, создатель языка Python присоединился к команде разработчиков Microsoft.
До недавнего времени Гвидо Ван Россум контролировал развитие языка Python, будучи великодушным пожизненным диктатором. Интересно, во что выльется его сотрудничество с Microsoft.
Пока все выглядит как большой шаг корпорации добра к влиянию на один из самых популярных языков современности, на котором к тому же проходит за 90% разработок в области ИИ.
Eshu Marabo
До недавнего времени Гвидо Ван Россум контролировал развитие языка Python, будучи великодушным пожизненным диктатором. Интересно, во что выльется его сотрудничество с Microsoft.
Пока все выглядит как большой шаг корпорации добра к влиянию на один из самых популярных языков современности, на котором к тому же проходит за 90% разработок в области ИИ.
Eshu Marabo
Forwarded from Архив КС/РФ(Сиона-Футуриста) (Красный)
Прочел статью на хабре об интересном внутреннем проекте для упрощения разработки, выложенном на гитхаб — KPHP.
Весь Вконтакте написан на теряющем популярность языке программирования PHP. Это достаточно простой язык, разработка на нем происходит относительно быстро, но приходится жертвовать скоростью работы и отчасти безопасностью.
Многие крупные компании постепенно отказываются от этого языка, переходя на более производительные и масштабируемые Go, Java, C# или C++.
Переход на новый язык для крупной компании довольно болезненное дело. По сути, нужно с нуля создавать команду разработчиков, а затем повторно пробежаться во всем граблям, вроде бы оставшимся в прошлом. Вконтакте пошли своим, довольно необычным путем. Вместо постепенного полного обновления команды, были добавлены новые специалисты, которые параллельно занялись ускорением работы используемого в компании PHP.
Результат их работы — программный комплекс, получивший название KPHP, превращающий код на несколько кастрированном PHP в код на C++, а затем компилирующий его. Таким образом достигается выигрыш в производительности в 5 - 7 раз (очень неплохо).
В прошлый раз проект выкладывался в 2014 году, но тогда он работал с сильно устаревшей версией языка, к тому же был заточен исключительно под специфику внутренних задач Вконтакте. В выложенной сейчас версии поддерживается более современная версия языка, а адаптацию проекта для общих нужд в идеале должно сделать само сообщество.
В целом, подобные "еретические" направления в языках программирования периодически возникают, и некоторые даже приживаются: так, Kotlin, язык разработанный российской компанией JetBrains на основе Java, вошел в общее употребление.
Да что там, великий и ужасный С++ родился примерно так, когда его создатель Бьёрн Страуструп в 80е годы сделал ряд усовершенствований языка С для своих нужд.
Eshu Marabo
Весь Вконтакте написан на теряющем популярность языке программирования PHP. Это достаточно простой язык, разработка на нем происходит относительно быстро, но приходится жертвовать скоростью работы и отчасти безопасностью.
Многие крупные компании постепенно отказываются от этого языка, переходя на более производительные и масштабируемые Go, Java, C# или C++.
Переход на новый язык для крупной компании довольно болезненное дело. По сути, нужно с нуля создавать команду разработчиков, а затем повторно пробежаться во всем граблям, вроде бы оставшимся в прошлом. Вконтакте пошли своим, довольно необычным путем. Вместо постепенного полного обновления команды, были добавлены новые специалисты, которые параллельно занялись ускорением работы используемого в компании PHP.
Результат их работы — программный комплекс, получивший название KPHP, превращающий код на несколько кастрированном PHP в код на C++, а затем компилирующий его. Таким образом достигается выигрыш в производительности в 5 - 7 раз (очень неплохо).
В прошлый раз проект выкладывался в 2014 году, но тогда он работал с сильно устаревшей версией языка, к тому же был заточен исключительно под специфику внутренних задач Вконтакте. В выложенной сейчас версии поддерживается более современная версия языка, а адаптацию проекта для общих нужд в идеале должно сделать само сообщество.
В целом, подобные "еретические" направления в языках программирования периодически возникают, и некоторые даже приживаются: так, Kotlin, язык разработанный российской компанией JetBrains на основе Java, вошел в общее употребление.
Да что там, великий и ужасный С++ родился примерно так, когда его создатель Бьёрн Страуструп в 80е годы сделал ряд усовершенствований языка С для своих нужд.
Eshu Marabo
Forwarded from Архив КС/РФ(Сиона-Футуриста) (Красный)
Был на прошлой неделе в универе (технический ВУЗ), по стенам через каждые 5 метров развешаны санитайзеры, все в масках. А с 13 ноября всех студентов принудительно разогнали на дистанционку.
В целом, не вижу большой беды в массовом переходе на онлайн образование в технических ВУЗах по крайней мере, что там у гуманитариев мне не видно, да и не интересно.
На специальностях все лекции, да и большую часть семинаров можно без потери качества перенести.
Как будто эти лекции в живую кто-то, кроме пары ботанов человек слушает и осознает, да еще и пишет. А так хоть видеозаписи будут к сессии вместо сканов лекций. Кому было интересно — продолжат слушать, кому нет — все равно не начнут.
Что сильнее всего пострадает от дистанционки — лабораторные работы, где надо крутить приборы руками. Их в онлайн никак не перенести. Еще сильно пострадает такое направление выпускающих кафедр, как проекты, которые студенты пилят на кафедре в свободное от пар время, настоящие знания там и добываются. Притом скученность что во время лабораторных, что во время доп. занятий небольшая.
Так что полная удаленка выглядит очевидной ошибкой: лабы и доп. занятия, как важнейший элемент подготовки стоило бы оставить. Но, если учесть некоторые особенности нашего образования, реальный вред будет минимален.
Большую часть лучших выпускников всех технических специальностей пылесосит IT отрасль.
Именно те, кто ходил на кафедру и что-то делал просто потому что интересно, в итоге оказываются лучшими. Те из них, кого не прибирает IT, уходят по специальности в зарубежные корпорации. Работать по специальности в российской экономике остаются среднячки, которым во время учебы ничего, кроме сданной сессии, в принципе было не нужно.
Eshu Marabo
В целом, не вижу большой беды в массовом переходе на онлайн образование в технических ВУЗах по крайней мере, что там у гуманитариев мне не видно, да и не интересно.
На специальностях все лекции, да и большую часть семинаров можно без потери качества перенести.
Как будто эти лекции в живую кто-то, кроме пары ботанов человек слушает и осознает, да еще и пишет. А так хоть видеозаписи будут к сессии вместо сканов лекций. Кому было интересно — продолжат слушать, кому нет — все равно не начнут.
Что сильнее всего пострадает от дистанционки — лабораторные работы, где надо крутить приборы руками. Их в онлайн никак не перенести. Еще сильно пострадает такое направление выпускающих кафедр, как проекты, которые студенты пилят на кафедре в свободное от пар время, настоящие знания там и добываются. Притом скученность что во время лабораторных, что во время доп. занятий небольшая.
Так что полная удаленка выглядит очевидной ошибкой: лабы и доп. занятия, как важнейший элемент подготовки стоило бы оставить. Но, если учесть некоторые особенности нашего образования, реальный вред будет минимален.
Большую часть лучших выпускников всех технических специальностей пылесосит IT отрасль.
Именно те, кто ходил на кафедру и что-то делал просто потому что интересно, в итоге оказываются лучшими. Те из них, кого не прибирает IT, уходят по специальности в зарубежные корпорации. Работать по специальности в российской экономике остаются среднячки, которым во время учебы ничего, кроме сданной сессии, в принципе было не нужно.
Eshu Marabo
Наткнулся на баг при взаимодействии фронта и бэка. В поисках решения я полез в исходный код Asp.Net Core (грубо говоря это - майкрософтовское решение для веба на c#).
Когда-то я думал, что рабочий проект в примерно 30 тыс строк кода и в 42 проекта - огромный и запутанный. Я был молод и наивен: Asp.Net Core целиком содержится в 488 проектах, а метрики по коду (число строчек и т.д.) Visual Studio на не самом слабом компе (6-ти ядерный AMD Ryzen, 16 гб оперативки) считает уже минут 15.
Когда-то я думал, что рабочий проект в примерно 30 тыс строк кода и в 42 проекта - огромный и запутанный. Я был молод и наивен: Asp.Net Core целиком содержится в 488 проектах, а метрики по коду (число строчек и т.д.) Visual Studio на не самом слабом компе (6-ти ядерный AMD Ryzen, 16 гб оперативки) считает уже минут 15.
Forwarded from Архив КС/РФ(Сиона-Футуриста) (Красный)
В информатике есть такой раздел: теория графов. Граф в общем виде - совокупность точек, соединённых вершинами.
Штука не менее абстрактная и, на первый взгляд, оторванная от реальности чем нейросети. Используют графы для формального описания любых взаимосвязей: логистика, описание знаний и взаимосвязей.
Нейросеть — граф. Ваш маршрут в Яндекс навигаторе — граф. Структура органов исполнительной власти России — тоже граф.
В теории графов даётся унылейшее описание общих подходов к работе с графами. Обычно приводимые задачи просты, а использование формальных подходов к их решению излишне.
Но стоит прикоснуться к графовой базе данных, содержащей что-то реально сложное, вся эта мура из заумных книжек резко обретает смысл, и кажется уже простым подходом.
Eshu Marabo
Штука не менее абстрактная и, на первый взгляд, оторванная от реальности чем нейросети. Используют графы для формального описания любых взаимосвязей: логистика, описание знаний и взаимосвязей.
Нейросеть — граф. Ваш маршрут в Яндекс навигаторе — граф. Структура органов исполнительной власти России — тоже граф.
В теории графов даётся унылейшее описание общих подходов к работе с графами. Обычно приводимые задачи просты, а использование формальных подходов к их решению излишне.
Но стоит прикоснуться к графовой базе данных, содержащей что-то реально сложное, вся эта мура из заумных книжек резко обретает смысл, и кажется уже простым подходом.
Eshu Marabo
Читаю статью про MongoDB на хабре:
По умолчанию MongoBD использует бинарную сортировку. Но вряд ли она будет кому-то полезна. Чувствительные к регистру, ударению, бинарные сортировки считались любопытными анахронизмами наряду с бусами, кафтанами и завивающимися усами еще в 80-х годах прошлого века. Теперь же их использование непростительно. В реальной жизни «мотоцикл» – это то же самое, что и «Мотоцикл». А «Британия» и «британия» – одно и то же место.
По умолчанию MongoBD использует бинарную сортировку. Но вряд ли она будет кому-то полезна. Чувствительные к регистру, ударению, бинарные сортировки считались любопытными анахронизмами наряду с бусами, кафтанами и завивающимися усами еще в 80-х годах прошлого века. Теперь же их использование непростительно. В реальной жизни «мотоцикл» – это то же самое, что и «Мотоцикл». А «Британия» и «британия» – одно и то же место.
Хабр
14 вещей, которые я хотел бы знать перед началом работы с MongoDB
Перевод статьи подготовлен в преддверии старта курса «Нереляционные базы данных». Основные моменты: Крайне важно разработать схему несмотря на то, что в Mo...
Как-то так сложилось, что на этой неделе несколько человек спрашивали про то, с чего начать работу с ботами в телеграме.
Кроме того, на работе на горизонте маячит большой проект, связанный с работой с естественным языком (NLP), потому периодически начинаются обсуждения этого огромного разделе датасатанизма.
И тут как раз в тему в понедельник в 20-00 начнется интесив от скиллбокса на тему "Чат бот в телеграме с элементами NLP", записываться вроде бы можно до самого начала.
Там расскажут и про основы ботостроения и про основы NLP. Это не реклама, я по весне смотрел его, очень понравилось. Смотреть рекомендую в записи, так как выступление очень классного препода будет прерывать рекламщица, предлагающая купить их курс с супе скидкой, чтобы мочь просто промотать флуд.
Кроме того, из группы в телеге, которую они создадут, можно будет тиснуть небольшой датасет вида вопрос-ответ для обучения бота. Составляется он силами всех участников чата, в одиночку на такую работу уйдет несколько дней.
Кроме того, на работе на горизонте маячит большой проект, связанный с работой с естественным языком (NLP), потому периодически начинаются обсуждения этого огромного разделе датасатанизма.
И тут как раз в тему в понедельник в 20-00 начнется интесив от скиллбокса на тему "Чат бот в телеграме с элементами NLP", записываться вроде бы можно до самого начала.
Там расскажут и про основы ботостроения и про основы NLP. Это не реклама, я по весне смотрел его, очень понравилось. Смотреть рекомендую в записи, так как выступление очень классного препода будет прерывать рекламщица, предлагающая купить их курс с супе скидкой, чтобы мочь просто промотать флуд.
Кроме того, из группы в телеге, которую они создадут, можно будет тиснуть небольшой датасет вида вопрос-ответ для обучения бота. Составляется он силами всех участников чата, в одиночку на такую работу уйдет несколько дней.