This media is not supported in your browser
VIEW IN TELEGRAM
👛 Зацените какой прикольный механизм есть у кошельков Secrid
Одним нажатием на рычажок можно выдвинуть все карты и выбрать нужную. Очень залипательно и, наверное, удобно.
Правда, не без недостатков. Во-первых, цена начинается от $45 за самую базовую модель (есть и другие, с дополнительными кармашками). Во-вторых, сюда влезает всего шесть карт. Ну и в-третьих, предназначен он только под правую руку. Если попытаться нажать левой рукой, то самая ближняя карта будет выше всех и перекроет все остальные. Для меня это сразу красный флаг
Одним нажатием на рычажок можно выдвинуть все карты и выбрать нужную. Очень залипательно и, наверное, удобно.
Правда, не без недостатков. Во-первых, цена начинается от $45 за самую базовую модель (есть и другие, с дополнительными кармашками). Во-вторых, сюда влезает всего шесть карт. Ну и в-третьих, предназначен он только под правую руку. Если попытаться нажать левой рукой, то самая ближняя карта будет выше всех и перекроет все остальные. Для меня это сразу красный флаг
👍7👎5😁2
🎂 Сегодня я узнал, что Geometry Dash ровно на день старше Телеграма и вчера как раз отпраздновал своё десятилетие.
В честь этого RobTop вместе с сообществом выпустил получасовой ролик-трибьют, в котором вспомнили всё, что произошло в игре за последние 10 лет. Ну, и объявили, что обновление 2.2 наконец-таки выйдет в октябре этого года (с прошлого обновления прошло уже больше 6 лет)
Сделано очень качественно и с душой, смотрится на одном дыхании. В общем, мои поздравления всем причастным к сообществу!
https://www.youtube.com/watch?v=mWi_zuXBECw
В честь этого RobTop вместе с сообществом выпустил получасовой ролик-трибьют, в котором вспомнили всё, что произошло в игре за последние 10 лет. Ну, и объявили, что обновление 2.2 наконец-таки выйдет в октябре этого года (с прошлого обновления прошло уже больше 6 лет)
Сделано очень качественно и с душой, смотрится на одном дыхании. В общем, мои поздравления всем причастным к сообществу!
https://www.youtube.com/watch?v=mWi_zuXBECw
YouTube
Geometry Dash 10-Year Anniversary
Thank you for 10 amazing years!
*MAIN CREDITS*
Project Director: @viprin
Project Editor: @nasgubb
Montage Director: @gaidenhertuny2213
Animation Production: @rafer300
*Watch the full version of the interviews here:*
https://youtu.be/JnWwyYyVgBg
*Check…
*MAIN CREDITS*
Project Director: @viprin
Project Editor: @nasgubb
Montage Director: @gaidenhertuny2213
Animation Production: @rafer300
*Watch the full version of the interviews here:*
https://youtu.be/JnWwyYyVgBg
*Check…
👍5🎉1
🇳🇱 Привет из Нидерландов!
Сегодня ровно две недели, как я прилетел в эту замечательную страну. Дел и активностей было настолько много, что я почти полностью выпал из интернетной жизни, за исключением пары чатиков с друзьями. Но теперь я более-менее обжился и готов поделиться новостями с вами.
Почему я тут? Я поступил на программу Software Engineering в университет Saxion и в идеале останусь здесь надолго. Занятия только-только начались, поэтому я пока не готов рассказывать про отличия местного образования от российского. Но на первый взгляд тут нравится гораздо больше.
В основном здесь говорят на нидерландском, но после одного или нескольких аккуратных намеков переходят на своеобразный, но довольно резвый английский. Не совсем англоязычный экспириенс, но подавляющее большинство местных хотя бы способно на нём изъясняться. На практике подтвердилось, что моего уровня английского вполне достаточно для коммуникации как с условными кассирами, так и с другими студентами. Программа будет преподаваться полностью на английском, с этим никаких проблем.(и всё-таки проникновение английского в Нидерландах совсем не такое, как проникновение русского в Казахстане )
Несмотря на то, что машин тут немало (они действительно есть у значительного числа семей), по городу комфортно перемещаться на велосипеде или пешком. Я никогда не видел такого количества велодорожек, островков безопасности, круговых движений. А центр города — это одна большая пешеходная зона с очень милыми домиками и огромным количеством всевозможных магазинчиков, кафешек и прочих заведений. И это всё в городке с населением чуть больше ста тысяч человек. Я бы никогда не подумал, что такой небольшой город может быть настолько живым. В России всё ужасно централизованно, всё интересное располагается в более крупных городах (будь то Москва или Питер), а окружают их унылые «города — спальные районы». Тут же всё не так, даже маленькие города имеют свой шарм.
У меня накопилась ещё много впечатлений, но место в посте уже заканчивается. Так что продолжение следует...
Сегодня ровно две недели, как я прилетел в эту замечательную страну. Дел и активностей было настолько много, что я почти полностью выпал из интернетной жизни, за исключением пары чатиков с друзьями. Но теперь я более-менее обжился и готов поделиться новостями с вами.
Почему я тут? Я поступил на программу Software Engineering в университет Saxion и в идеале останусь здесь надолго. Занятия только-только начались, поэтому я пока не готов рассказывать про отличия местного образования от российского. Но на первый взгляд тут нравится гораздо больше.
В основном здесь говорят на нидерландском, но после одного или нескольких аккуратных намеков переходят на своеобразный, но довольно резвый английский. Не совсем англоязычный экспириенс, но подавляющее большинство местных хотя бы способно на нём изъясняться. На практике подтвердилось, что моего уровня английского вполне достаточно для коммуникации как с условными кассирами, так и с другими студентами. Программа будет преподаваться полностью на английском, с этим никаких проблем.
Несмотря на то, что машин тут немало (они действительно есть у значительного числа семей), по городу комфортно перемещаться на велосипеде или пешком. Я никогда не видел такого количества велодорожек, островков безопасности, круговых движений. А центр города — это одна большая пешеходная зона с очень милыми домиками и огромным количеством всевозможных магазинчиков, кафешек и прочих заведений. И это всё в городке с населением чуть больше ста тысяч человек. Я бы никогда не подумал, что такой небольшой город может быть настолько живым. В России всё ужасно централизованно, всё интересное располагается в более крупных городах (будь то Москва или Питер), а окружают их унылые «города — спальные районы». Тут же всё не так, даже маленькие города имеют свой шарм.
У меня накопилась ещё много впечатлений, но место в посте уже заканчивается. Так что продолжение следует...
🔥43❤11👎4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Об окружающей среде в Нидерландах принято заботиться (ну или усиленно делать вид)
1. Абсолютно нигде не встретишь одноразовые пластиковые трубочки. Ни в кофейнях, ни в магазинах. Вместо них — многоразовые пластиковые или бумажные (которые уже всех достали)
2. За одноразовые стаканчики в кофейнях тоже часто приходится доплачивать €0.05–0.20, хоть они по большей части тоже не пластиковые, а бумажные. Российская система, когда за кофе в свою чашку предлагают скидку, мне нравится гораздо больше.
3. А за напитки в пластиковых бутылках и жестяных банках действует залоговая система. При покупке в чек добавляется дополнительная плата (€0.15–0.25) за каждую тару, а потом тару можно вернуть и получить деньги обратно. Пункты сбора есть почти в каждом супермаркете. Видимо, собранную тару прямо там же сортируют и готовят к отправке на переработку. В России я видел такое буквально один раз (в Глобусе) и это было какой-то диковинкой.
1. Абсолютно нигде не встретишь одноразовые пластиковые трубочки. Ни в кофейнях, ни в магазинах. Вместо них — многоразовые пластиковые или бумажные (которые уже всех достали)
2. За одноразовые стаканчики в кофейнях тоже часто приходится доплачивать €0.05–0.20, хоть они по большей части тоже не пластиковые, а бумажные. Российская система, когда за кофе в свою чашку предлагают скидку, мне нравится гораздо больше.
3. А за напитки в пластиковых бутылках и жестяных банках действует залоговая система. При покупке в чек добавляется дополнительная плата (€0.15–0.25) за каждую тару, а потом тару можно вернуть и получить деньги обратно. Пункты сбора есть почти в каждом супермаркете. Видимо, собранную тару прямо там же сортируют и готовят к отправке на переработку. В России я видел такое буквально один раз (в Глобусе) и это было какой-то диковинкой.
👍18👎3
Впервые за долгое время решил запустить стимдек и поиграть
В итоге 2.5 часа потратил на то, чтобы поставить что-нибудь новенькое.
Сначала хотел скачать на сам стимдек торрент-клиент, арч по неведомым причинам не хотел ставить зависимости, я забил
Потом решил скачать игру на маке, полчаса боролся с тем, что местный вайфай как-то очень хитро отказывается качать торренты. Скачал, окей.
Потом ещё час с лишним пытался перекинуть файлы на стимдек. Самый простой способ — через ssh (scp), тем более я уже делал это раньше. Но не тут-то было, почему-то мак перестал подключаться по ssh к стимдеку, коннект просто не проходил. Понятно что проблема в вайфае, но никакие танцы с бубнами не помогали.
Я попробовал использовать DeckMTP, плагин, позволяющий подключать стимдек к компьютеру по протоколу MTP. Тем более что он уже был у меня установлен, хоть я его и не трогал. Пришлось зайти в биос, включить поддержку Dual Mode USB. Но в итоге я так и не смог его завести, потому что макбук отказывался видеть стимдек. Нативной поддержки протокола в макоси нет, а Android File Transfer отказывался работать.
Короче, я просто раздал вайфай с телефона и за две минуты всё перекинул.
Я надеюсь, игра оправдает потраченное на неё время, иначе… 🤬🔪
В итоге 2.5 часа потратил на то, чтобы поставить что-нибудь новенькое.
Сначала хотел скачать на сам стимдек торрент-клиент, арч по неведомым причинам не хотел ставить зависимости, я забил
Потом решил скачать игру на маке, полчаса боролся с тем, что местный вайфай как-то очень хитро отказывается качать торренты. Скачал, окей.
Потом ещё час с лишним пытался перекинуть файлы на стимдек. Самый простой способ — через ssh (scp), тем более я уже делал это раньше. Но не тут-то было, почему-то мак перестал подключаться по ssh к стимдеку, коннект просто не проходил. Понятно что проблема в вайфае, но никакие танцы с бубнами не помогали.
Я попробовал использовать DeckMTP, плагин, позволяющий подключать стимдек к компьютеру по протоколу MTP. Тем более что он уже был у меня установлен, хоть я его и не трогал. Пришлось зайти в биос, включить поддержку Dual Mode USB. Но в итоге я так и не смог его завести, потому что макбук отказывался видеть стимдек. Нативной поддержки протокола в макоси нет, а Android File Transfer отказывался работать.
Короче, я просто раздал вайфай с телефона и за две минуты всё перекинул.
Я надеюсь, игра оправдает потраченное на неё время, иначе… 🤬🔪
😁15👍4👎1
Окей, я прошёл Melatonin
Melatonin — это ритм-игра. Она состоит из 16 мини-игр, каждая из которых отличается своей собственной геймплейной механикой. Но их всех объединяет то, что для набора очков нужно нажимать на кнопки точно в ритм, обращая внимание на звуковые и визуальные подсказки.
Собственно, контента тут немного. Каждая мини-игра — это один музыкальный трек длиной 1-2 минуты. У каждой игры есть обычный и усложнённый режим. Плюс к этому есть ещё 5 уровней, где объединены несколько мини-игр в одном треке. В итоге чтобы дойти до конца мне потребовалось около 4 часов. В игре есть режим редактора, в котором можно создавать свои уровни, но я пока не знаю, можно ли вообще находить и играть в чужие уровни.
Я уже давно начал замечать, что у меня плохое чувство ритма. Я предпочитаю ориентироваться на визуальные подсказки и очень легко теряю темп, если мне не на что опираться глазами. В Beat Saber или Geometry Dash это обычно и не требуется (хотя иногда и бывает полезным), а здесь же несколько мини-игр основаны буквально на этом. Сначала у меня получалось не очень, но спустя 10-15 минут попыток мне удавалось натренироваться. В общем, пришлось немного попотеть. Хотя мне кажется, что тем, кто умеет играть в «настоящие» ритм-игры (по типу osu!/mania), Melatonin не вызовет трудностей.
Кстати, моя самая любимая мини-игра —офис , а нелюбимая — прыжки по телефонам .
В общем, интересная игрушка с приятной атмосферой. Художникам и композиторам респект, получилось действительно красиво. Советую попробовать.
Melatonin — это ритм-игра. Она состоит из 16 мини-игр, каждая из которых отличается своей собственной геймплейной механикой. Но их всех объединяет то, что для набора очков нужно нажимать на кнопки точно в ритм, обращая внимание на звуковые и визуальные подсказки.
Собственно, контента тут немного. Каждая мини-игра — это один музыкальный трек длиной 1-2 минуты. У каждой игры есть обычный и усложнённый режим. Плюс к этому есть ещё 5 уровней, где объединены несколько мини-игр в одном треке. В итоге чтобы дойти до конца мне потребовалось около 4 часов. В игре есть режим редактора, в котором можно создавать свои уровни, но я пока не знаю, можно ли вообще находить и играть в чужие уровни.
Я уже давно начал замечать, что у меня плохое чувство ритма. Я предпочитаю ориентироваться на визуальные подсказки и очень легко теряю темп, если мне не на что опираться глазами. В Beat Saber или Geometry Dash это обычно и не требуется (хотя иногда и бывает полезным), а здесь же несколько мини-игр основаны буквально на этом. Сначала у меня получалось не очень, но спустя 10-15 минут попыток мне удавалось натренироваться. В общем, пришлось немного попотеть. Хотя мне кажется, что тем, кто умеет играть в «настоящие» ритм-игры (по типу osu!/mania), Melatonin не вызовет трудностей.
Кстати, моя самая любимая мини-игра —
В общем, интересная игрушка с приятной атмосферой. Художникам и композиторам респект, получилось действительно красиво. Советую попробовать.
❤11👍3
Media is too big
VIEW IN TELEGRAM
После недолгого периода игры в Risk of Rain меня опять потянуло на ритм-игры, и я решил попробовать A Dance of Fire and Ice.
Игрушка прикольная. Хоть это и ритм-игра, требования к ритмичности здесь довольно мягкие. А вот если случайно пропустить инпут, то весь уровень придется начинать заново. Встроенного контента тут довольно много, я ещё даже не близок к тому, чтобы пройти всю игру. Плюс есть кастомные уровни, которые я даже не пробовал.
Как я уже говорил, у меня довольно специфический скиллсет в ритм-играх. Я бы назвал его «мышечная память + визуальная калибровка». То есть я запоминаю паттерны, вырабатывая на них мышечную память, а при игре полагаюсь на визуальные подсказки, чтобы контролировать темп. Если убрать одну из частей уравнения, мой скилл падает до уровня воробушка. Собственно, такая тактика работает и в Geometry Dash, и в Beat Saber, и до определенной степени тут. А вот с чем у меня ещё хуже, так это с координацией движений. Использовать несколько пальцев или несколько рук, чтобы прожимать какие-то более быстрые/сложные паттерны, для меня просто чёрная магия. И такое чувство, что я уже начинаю упираться в потолок своих возможностей.
На видео прогресс за ~4.5 часа игры (простите за плохой звук) (как видите, на длинных прямых участках я изо всех сил стараюсь не сбиться с темпа, при этом я смотрю на кружочки и делаю микроподстройки темпа нажатий). Ритм-геймеры, есть советы, как тренироваться, чтобы стать лучше? Пишите в комменты
Игрушка прикольная. Хоть это и ритм-игра, требования к ритмичности здесь довольно мягкие. А вот если случайно пропустить инпут, то весь уровень придется начинать заново. Встроенного контента тут довольно много, я ещё даже не близок к тому, чтобы пройти всю игру. Плюс есть кастомные уровни, которые я даже не пробовал.
Как я уже говорил, у меня довольно специфический скиллсет в ритм-играх. Я бы назвал его «мышечная память + визуальная калибровка». То есть я запоминаю паттерны, вырабатывая на них мышечную память, а при игре полагаюсь на визуальные подсказки, чтобы контролировать темп. Если убрать одну из частей уравнения, мой скилл падает до уровня воробушка. Собственно, такая тактика работает и в Geometry Dash, и в Beat Saber, и до определенной степени тут. А вот с чем у меня ещё хуже, так это с координацией движений. Использовать несколько пальцев или несколько рук, чтобы прожимать какие-то более быстрые/сложные паттерны, для меня просто чёрная магия. И такое чувство, что я уже начинаю упираться в потолок своих возможностей.
На видео прогресс за ~4.5 часа игры (простите за плохой звук) (как видите, на длинных прямых участках я изо всех сил стараюсь не сбиться с темпа, при этом я смотрю на кружочки и делаю микроподстройки темпа нажатий). Ритм-геймеры, есть советы, как тренироваться, чтобы стать лучше? Пишите в комменты
🔥6
Geometry Dash — отличный таймкиллер
Если зайти в мою библиотеку в стиме, то можно увидеть, что в Geometry Dash у меня наиграно больше 5000 часов. Но это не совсем так.
Дело в том, что раньше, когда я ещё учился в школе, я часто оставлял игру запущенной на компьютере в фоне. Когда мне хотелось сделать перерыв от решения домашкипо геометрии , я открывал игру, делал несколько попыток, бесился, ставил игру на паузу и возвращался к домашке. И сейчас я всё чаще ловлю себя на таком же поведении, только уже на стимдеке.
У Geometry Dash есть какой-то свой шарм, который заставляет тебя возвращаться к игре снова и снова. Динамичный, но при этом когнитивно лёгкий геймплей (не нужно погружаться в атмосферу, не нужно решать какие-то головоломки). Возможность прерваться почти в любой момент.
P. S. обновление 2.2 уже в этом месяце! не ждём, а готовимся
Если зайти в мою библиотеку в стиме, то можно увидеть, что в Geometry Dash у меня наиграно больше 5000 часов. Но это не совсем так.
Дело в том, что раньше, когда я ещё учился в школе, я часто оставлял игру запущенной на компьютере в фоне. Когда мне хотелось сделать перерыв от решения домашки
У Geometry Dash есть какой-то свой шарм, который заставляет тебя возвращаться к игре снова и снова. Динамичный, но при этом когнитивно лёгкий геймплей (не нужно погружаться в атмосферу, не нужно решать какие-то головоломки). Возможность прерваться почти в любой момент.
P. S. обновление 2.2 уже в этом месяце! не ждём, а готовимся
❤6🌚4👍1👎1
Forwarded from IT НИГИЛИЗМ | Всеволод Плетнев
This media is not supported in your browser
VIEW IN TELEGRAM
Мы с товарищем обсуждали модели данных, а он их накидывал и связывал в каком-то редакторе. Выглядело это очень наглядно: вот таблица А, вот таблица Б, вот связи черз какие-то колонки и так далее. А потом коллега сгенеририровал на основе всего этого SQL и развернул всю эту красоту в PostgreSQL. Потрясающе! Конечно, схема была всем зашарина и досконально изучена. И что это за редактор такой!? Все просто: CodePen/JSFiddle от мира баз данных — dbdiagram.io. Для персонального использования бесплатен, можно импортировать/экспортировать SQL и генерировать картинки. Мне понравилось и вам советую ☺️
#db #sql #data
✈ ️ IT НИГИЛИЗМ 📘 TWITTER
#db #sql #data
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5
Forwarded from Experimental chill
Contest
Пописал тут контест от телеграма https://www.tg-me.com/contest/330. В целом задача -- всё, что написано в markup code в телеге -- определить, код ли это и какого языка программирования из 100 самых популярных. Как обычно, ни данных, ни условий тестирования не дали, классический телеграм.
Из уже существующий решений есть
* VSCode'овский https://github.com/yoeo/guesslang, прилагающий к нему https://github.com/yoeo/guesslangtools. Из хорошего, 55 языков поддерживает c 90%+ качеством, из плохого работает на больших кусках кода.
* Какая-то статья https://github.com/aliostad/deep-learning-lang-detection, утверждают 99%+ качества. Обучение у них на слишком хороших данных.
* Какие-то регексовские вещи, которые очевидно никогда не наберут 90%+ качества
Вторую я покрутил, повертел и получил тоже ~90% качества на средненьких таких данных.
Как брать данные
* https://libraries.io/
* https://huggingface.co/datasets/bigcode/the-stack
* https://sourcegraph.com/search -> Actions -> Export Results
В эпоху LLM, на hugging face собрали неплохой датасет, который я почему-то нашёл только в последние пару дней, чутка оттуда покачал, но особо много это не дало, а кластера для терабайтов у меня не было. В итоге использовал libraries.io и sourcegraph.
Собрал я 5M файлов, качал я это дело на 5TB машинке пару дней, github отдавал разным машинам в районе 50-100MB/s в зависимости проснулись ли прогеры из Сан Франциско :), много тротлили, но я их переиграл. Суммарно после дедупликации получилось 100GB кода.
Дальше начинается самое веселое. Из хорошего в файлах гитхаба есть расширение, которое почти однозначно определяет язык. Ага, конечно,
.hh -> C++ и Hack
.p -> Gnuplot и OpenEdgeABL
.fs -> Forth и F#
У гитхаба есть неплохой алгоритм детекции таких disputes: heuristics.yml на регулярных выражениях. Целый день я сидел и фильтровал данные, помимо добавлял языки программирования, которых Github не знает.
Например, FunC и FIFT. В целом видна человеческая рука здесь по добавлению 2 языков программирования от уважаемого Николая. По всему интернету файлов существует в районе 1000 и спасибо sourcegraph, который смог это всё найти. Но мусора в расширениях .fc и .fift было предостаточно, выфильтровали :)
Далее обучение. Я взял guesslang и чутка крутил batchsize, hidden dnn layers и получил в среднем 88% аккуратности и 92.5% на топ50 самых популярных языках
В конце начинается самое интересное, а собственно, как достать markup comments телеграма? К сожалению, датасетов почти нет, tgstat.ru не сохраняет информацию об этом. Я покачал каких-то прогерских community и докручивал на маленьких данных.
Самое плохое, что лучше всего сработало при маленьких кусках кода просто повторить его, пока не станет 30-40 строк кода. От таких положений вещей модель начинала сходиться к правильным ответам чаще.
Ещё, конечно, не забывайте, что любой текст это Markdown, поэтому чтобы различить одно от другого надо постараться. Докручивали уже disputes какими-то регекспами из heuristics.yml и логикой, мол, если строк мало, то вряд ли это эзотерический язык. Всё равно люди компилируют C код как C++, а Hack почти в природе нет, кроме как у Meta.
Самое сложное в конце было найти баланс, а что в общем-то авторы, хотят, что они вообще будут тестировать и какое распределение у всего и вся. Скорее всего будет 95% не языков программирования.
Последние полдня потратил на то, чтобы собрать tensorflow C++ с нуля и вкомпилить в .so, потому что принимать ничего другого они не хотят. Ну что ж, значит tensorflow. Скомпилировал. Отправил 600Mb .so файл.
Зато более менее работает, 2-3 ms на 4kb.
Делал я это дело 7-8 дней, из которых 3 полных часов по 10, ещё часа по 3-4 вечерами в оставшиеся дни.
Что будет, то будет. Ради фана и узнать что-то новое делал. Узнал о многих языках программирования вроде Raku, ICON, Keyman, LOGO.
И получайте почти красивую картинку confusion matrix.
Пописал тут контест от телеграма https://www.tg-me.com/contest/330. В целом задача -- всё, что написано в markup code в телеге -- определить, код ли это и какого языка программирования из 100 самых популярных. Как обычно, ни данных, ни условий тестирования не дали, классический телеграм.
Из уже существующий решений есть
* VSCode'овский https://github.com/yoeo/guesslang, прилагающий к нему https://github.com/yoeo/guesslangtools. Из хорошего, 55 языков поддерживает c 90%+ качеством, из плохого работает на больших кусках кода.
* Какая-то статья https://github.com/aliostad/deep-learning-lang-detection, утверждают 99%+ качества. Обучение у них на слишком хороших данных.
* Какие-то регексовские вещи, которые очевидно никогда не наберут 90%+ качества
Вторую я покрутил, повертел и получил тоже ~90% качества на средненьких таких данных.
Как брать данные
* https://libraries.io/
* https://huggingface.co/datasets/bigcode/the-stack
* https://sourcegraph.com/search -> Actions -> Export Results
В эпоху LLM, на hugging face собрали неплохой датасет, который я почему-то нашёл только в последние пару дней, чутка оттуда покачал, но особо много это не дало, а кластера для терабайтов у меня не было. В итоге использовал libraries.io и sourcegraph.
Собрал я 5M файлов, качал я это дело на 5TB машинке пару дней, github отдавал разным машинам в районе 50-100MB/s в зависимости проснулись ли прогеры из Сан Франциско :), много тротлили, но я их переиграл. Суммарно после дедупликации получилось 100GB кода.
Дальше начинается самое веселое. Из хорошего в файлах гитхаба есть расширение, которое почти однозначно определяет язык. Ага, конечно,
.hh -> C++ и Hack
.p -> Gnuplot и OpenEdgeABL
.fs -> Forth и F#
У гитхаба есть неплохой алгоритм детекции таких disputes: heuristics.yml на регулярных выражениях. Целый день я сидел и фильтровал данные, помимо добавлял языки программирования, которых Github не знает.
Например, FunC и FIFT. В целом видна человеческая рука здесь по добавлению 2 языков программирования от уважаемого Николая. По всему интернету файлов существует в районе 1000 и спасибо sourcegraph, который смог это всё найти. Но мусора в расширениях .fc и .fift было предостаточно, выфильтровали :)
Далее обучение. Я взял guesslang и чутка крутил batchsize, hidden dnn layers и получил в среднем 88% аккуратности и 92.5% на топ50 самых популярных языках
В конце начинается самое интересное, а собственно, как достать markup comments телеграма? К сожалению, датасетов почти нет, tgstat.ru не сохраняет информацию об этом. Я покачал каких-то прогерских community и докручивал на маленьких данных.
Самое плохое, что лучше всего сработало при маленьких кусках кода просто повторить его, пока не станет 30-40 строк кода. От таких положений вещей модель начинала сходиться к правильным ответам чаще.
Ещё, конечно, не забывайте, что любой текст это Markdown, поэтому чтобы различить одно от другого надо постараться. Докручивали уже disputes какими-то регекспами из heuristics.yml и логикой, мол, если строк мало, то вряд ли это эзотерический язык. Всё равно люди компилируют C код как C++, а Hack почти в природе нет, кроме как у Meta.
Самое сложное в конце было найти баланс, а что в общем-то авторы, хотят, что они вообще будут тестировать и какое распределение у всего и вся. Скорее всего будет 95% не языков программирования.
Последние полдня потратил на то, чтобы собрать tensorflow C++ с нуля и вкомпилить в .so, потому что принимать ничего другого они не хотят. Ну что ж, значит tensorflow. Скомпилировал. Отправил 600Mb .so файл.
Зато более менее работает, 2-3 ms на 4kb.
Делал я это дело 7-8 дней, из которых 3 полных часов по 10, ещё часа по 3-4 вечерами в оставшиеся дни.
Что будет, то будет. Ради фана и узнать что-то новое делал. Узнал о многих языках программирования вроде Raku, ICON, Keyman, LOGO.
И получайте почти красивую картинку confusion matrix.
Telegram
Telegram Contests
🏆 Telegram ML Competition
Prize fund: $40,000 – from which the 1st place winner will receive $15,000 if any submissions qualify for 1st place.
Deadline: 23:59 on October 15th (Dubai time)
Who can participate: Everyone
Results: October 29th, 2023
Telegram…
Prize fund: $40,000 – from which the 1st place winner will receive $15,000 if any submissions qualify for 1st place.
Deadline: 23:59 on October 15th (Dubai time)
Who can participate: Everyone
Results: October 29th, 2023
Telegram…
🔥13👍4🌭3❤2