🇳🇱 Привет из Нидерландов!
Сегодня ровно две недели, как я прилетел в эту замечательную страну. Дел и активностей было настолько много, что я почти полностью выпал из интернетной жизни, за исключением пары чатиков с друзьями. Но теперь я более-менее обжился и готов поделиться новостями с вами.
Почему я тут? Я поступил на программу 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
Bottles — лучший способ запуска windows-игр на стимдеке
Из коробки стимдек работает на SteamOS, построенной на линуксе. Но лишь малая доля игр может запускаться из-под линукса нативно. Поэтому возможность запускать windows-игры на стимдеке часто оказывается полезной.
Очевидный вариант — использовать встроенный в SteamOS инструмент под названием Proton. Он позволяет запускать exe-файлы буквально в несколько кликов, достаточно просто добавить этот файл в steam как non-steam game и затем запустить его из библиотеки. Для простых кейсов работает очень даже хорошо.
Но как быть, если сборка игры не портативная, а предполагает запуск установщика? В таком случае Proton может доставить массу проблем. Дело в том, что Wine (который используется протоном под капотом) для запуска exe-файлов использует виртуальные окружения (виртуальные файловые структуры, виртуальные реестры и так далее), которые называются Wine Prefixes. Они позволяют изолировать окружения примерно так же, как это делает докер или гипервизор виртуальных машин (но немножко на другом уровне). Так вот, Proton настроен так, что в нём каждый запущенный файл создаёт и использует свой wine prefix. Из-за этого алгоритм установки игр с установщиком выглядит примерно так: возьми установщик, добавь его в стим, запусти, проведи установку, найди установленный exe-шник с игрой где-то в недрах wine, добавь его в стим, запусти. В итоге получается, что в стим добавлен и установщик, и сама игра. Причём удалять установщик из стима нельзя, ведь иначе удалится wine prefix и все файлы игры вместе с ним.
Bottles — это тоже обёртка над Wine. Но, в отличие от Proton, она даёт пользователю больше контроля над wine prefixes, при этом не теряя в простоте использования. Установить программу можно через встроенный магазин приложений на стимдеке Discover или с официального сайта. Здесь виртуальные окружения полностью отвязаны от exe-файлов, которые внутри них будут запускаться. Поэтому сначала нужно создать новое окружение (которое тут называют Bottle). После этого путём нехитрых мунипуляций запускаем установщик, используя созданную бутылочку. И вуаля, игра установлена. Теперь остаётся только добавить exe-шник для запуска игры в стим и наслаждаться. Ещё одно преимущество такой изоляции в том, что внутри существующей бутылочки можно запускать и другие exe-файлы, например установщики модов или DLC. Ну и всегда приятно осознавать, что окружение с файлами игры никуда не денется само по себе.
Из коробки стимдек работает на SteamOS, построенной на линуксе. Но лишь малая доля игр может запускаться из-под линукса нативно. Поэтому возможность запускать windows-игры на стимдеке часто оказывается полезной.
Очевидный вариант — использовать встроенный в SteamOS инструмент под названием Proton. Он позволяет запускать exe-файлы буквально в несколько кликов, достаточно просто добавить этот файл в steam как non-steam game и затем запустить его из библиотеки. Для простых кейсов работает очень даже хорошо.
Но как быть, если сборка игры не портативная, а предполагает запуск установщика? В таком случае Proton может доставить массу проблем. Дело в том, что Wine (который используется протоном под капотом) для запуска exe-файлов использует виртуальные окружения (виртуальные файловые структуры, виртуальные реестры и так далее), которые называются Wine Prefixes. Они позволяют изолировать окружения примерно так же, как это делает докер или гипервизор виртуальных машин (но немножко на другом уровне). Так вот, Proton настроен так, что в нём каждый запущенный файл создаёт и использует свой wine prefix. Из-за этого алгоритм установки игр с установщиком выглядит примерно так: возьми установщик, добавь его в стим, запусти, проведи установку, найди установленный exe-шник с игрой где-то в недрах wine, добавь его в стим, запусти. В итоге получается, что в стим добавлен и установщик, и сама игра. Причём удалять установщик из стима нельзя, ведь иначе удалится wine prefix и все файлы игры вместе с ним.
Bottles — это тоже обёртка над Wine. Но, в отличие от Proton, она даёт пользователю больше контроля над wine prefixes, при этом не теряя в простоте использования. Установить программу можно через встроенный магазин приложений на стимдеке Discover или с официального сайта. Здесь виртуальные окружения полностью отвязаны от exe-файлов, которые внутри них будут запускаться. Поэтому сначала нужно создать новое окружение (которое тут называют Bottle). После этого путём нехитрых мунипуляций запускаем установщик, используя созданную бутылочку. И вуаля, игра установлена. Теперь остаётся только добавить exe-шник для запуска игры в стим и наслаждаться. Ещё одно преимущество такой изоляции в том, что внутри существующей бутылочки можно запускать и другие exe-файлы, например установщики модов или DLC. Ну и всегда приятно осознавать, что окружение с файлами игры никуда не денется само по себе.
🔥12❤1
3 новых и необычных уровня в Geometry Dash
Floating Outskirts — это платформер внутри Geometry Dash. Кастомная физика, кастомные коллизии, десять уровней с атмосферными декорациями и интересными механиками (двойной прыжок, движущиеся объекты, подводные уровни, подбираемые объекты и много чего ещё). Если бы я не знал, что это всё в Geometry Dash, я бы даже и не подумал об этом. Но как автору удалось реализовать управление персонажем, если в игре доступно только 2 инпута? Используется хитрая система обработки нажатий: например, если держать нажатой кнопку влево, то кнопка вправо будет отвечать за прыжок (и наоборот). Сначала пришлось привыкать к такому, но я был удивлён, насколько интуитивным оказалось управление. Я попробовал сыграть уровень в Practice Mode и за час прошёл только ~60% (а потом у меня вылетела игра). Кстати, для прохождения уровня надо пройти все 10 этапов без единой смерти. Поэтому автор утверждает, что Floating Outskirts войдёт в топ-100 самых сложных демонов.
Piano Man — уровень, который завязан на ритмичность. В уровне используется 2-player mode, 2 кнопки соответствуют двум мелодиям в музыке. Требует отличной координации движений. Очень оригинальный концепт, мне зашёл. Играть не пробовал, я думаю не потяну. P.S. без декораций уровень выглядит вот так.
WHAT — уровень, почти полностью состоящий из 3д-анимаций, которые Spu7nix создавал в Blender-е и переносил в Geometry Dash покадрово с помощью самописного скрипта. Автор уже несколько лет расширяет представления о том, что возможно реализовать в Geometry Dash.
Floating Outskirts — это платформер внутри Geometry Dash. Кастомная физика, кастомные коллизии, десять уровней с атмосферными декорациями и интересными механиками (двойной прыжок, движущиеся объекты, подводные уровни, подбираемые объекты и много чего ещё). Если бы я не знал, что это всё в Geometry Dash, я бы даже и не подумал об этом. Но как автору удалось реализовать управление персонажем, если в игре доступно только 2 инпута? Используется хитрая система обработки нажатий: например, если держать нажатой кнопку влево, то кнопка вправо будет отвечать за прыжок (и наоборот). Сначала пришлось привыкать к такому, но я был удивлён, насколько интуитивным оказалось управление. Я попробовал сыграть уровень в Practice Mode и за час прошёл только ~60% (а потом у меня вылетела игра). Кстати, для прохождения уровня надо пройти все 10 этапов без единой смерти. Поэтому автор утверждает, что Floating Outskirts войдёт в топ-100 самых сложных демонов.
Piano Man — уровень, который завязан на ритмичность. В уровне используется 2-player mode, 2 кнопки соответствуют двум мелодиям в музыке. Требует отличной координации движений. Очень оригинальный концепт, мне зашёл. Играть не пробовал, я думаю не потяну. P.S. без декораций уровень выглядит вот так.
WHAT — уровень, почти полностью состоящий из 3д-анимаций, которые Spu7nix создавал в Blender-е и переносил в Geometry Dash покадрово с помощью самописного скрипта. Автор уже несколько лет расширяет представления о том, что возможно реализовать в Geometry Dash.
❤3