Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

среда, 3 октября 2018 г.

"Я положил мот чтобы что-то..." (с) Долбоклюв


"Я художник - я так вижу" (с) или моя первая работа красками

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

Доча уже давно рисует по номерам а я смотрел и облизывался, вчера я решил взять левелап и купил себе две заготовки-полотна картонные от компании Rosa c контуром (без номеров).
Краски и мольберт я одолжил у ребенка ночью, пока все спали :) Кисточки купил свои.

Три часа и как по мне вышло очень даже ничего. А если кто-то думает иначе - "я художник я так вижу" (с) - очень удобный аргумент.


Рекомендую всем. Это не так сложно как кажется. А кайф в процессе тот еще.

Если у тебя появилась мысль "классно, но это не для меня - у меня нет таланта" или что-то типа "талантливый человек талантлив во всем" - скажу: если тебе чем-то нравится любоваться, особенно как кто-то делает что-то - ты достаточно талантлив, чтобы попробовать это сделать в первый раз. Талантливый человек любит пробовать - вот с этим соглашусь.

Гугли любой адрес ближайшего магазина художника и после работы айда туда. Ты поймешь если это уже твое спустя 10 секунд после, того как войдешь в магазин. Хочу чтобы ты попробовал это сегодня же а не ждал годы как я.

Теперь больше про алгоритм, которым пользовался. 

Времени это заняло часа три, ну максимум 4.Судя по фоткам 22:40 начал, 2:47 закончил. В перерыве где-то пол часа-час с женой общались на всякие разные темы. Вообще после полуночи, час за два идет   - концентрация выше. Если же не концентрироваться, то по наблюдением за ребенком может уйти до недели на одно средних размеров полотно.

У меня всего пять цветов было. Белый, желтый, рыжий, коричневый и черный. Акриловые краски. Кисточки я купил набор для акрила - их там было много всяких номеров. Но я пользовался самой большой 99% работы (12) и самой маленькой - нос, глаза и другие мелкие детали. 

Рисовал послойно, как интуиция подсказывала. Вначале определил самый частый светлый цвет, к которому потом проще всего добавить новое (потемнее). На нем тут же наметил более темные части. 


Затем обвел контура черные, а то изначальные контура стали теряться под слоем краски и я стал себя чувствовать не уверенно. Так появились тупо черные глаза и нос. Потом пошла коричневая грива. На рисунке она более черная, но я боялся сразу давать черный цвет - его потом отменить сложно. Потому грива рисовалась вначале рыжая, потом более коричневая, потом еще более коричневая. Добавляя все более темные штрихи я делал ее более темной. 


Потом все остальные черные детали причем на львице тоже. Детальнее нос и глаза. 


Кончики волос гривы. Тут было много миксов с черным цветом. После подробнее так же проработал львицу. Ее было сложнее. Особенно ее ухо - с ним я наигрался...


После понял что надо было слой неба рисовать до черных волос на гриве, пришлось небо рисовать поверх, а потом добавлять детали. 


И скажу это было самое сложное, потому что как-то не получалось. Особенно то место, что между Львом и львицей. Я там много краски намешал :) В результате оставил какой-то средний цвет...

А еще я понял, что надо было слои более жирно промазывать, потому что местами у меня видно белое непрокрашенное полотно. И тут мой внутренний Цензор и отыгрался по моему внутреннему Ребенку. Тут же и вспомнилась мысль "я художник - я так вижу" и Цензор отступил за неимением разумных логических доводов. 

Ну а в каждом слое - смотришь на эталон, делаешь какую-то загогулину. Стараешься небольшими итерациями так чтобы не испортить. Тут нет Ctrl-Z как в фотошопе. Нет, вообще-то можно что-то исправить, но надо ждать пока высохнет, и играться. И чем более темный цвет, тем сложнее его осветлить. Пару таких моментов было и у меня. Добавил темного цвета и стало в целом хуже, пришлось потом добавлять что-то еще в другом месте, чтобы общее ощущение было норм. 

Ну и после каждого инкремента системы, после каждого коммита, смотришь и думаешь 1) "хорошо, но.." а потом 2) "а как сделать лучше?" а потом 3) "а как сделать так, чтобы если не пойдет можно было исправить?" и делаешь пару мазков, там где придумалось. Затем GoTo 1)

Программа в целом не сложная. И да, срисовывать в 100500 раз легче, чем рисовать что-то свое из картинки в голове. 

воскресенье, 30 сентября 2018 г.

Мой первый опыт игры в VR - игра Beat Saber

Люблю удивляться. Открыл для себя сегодня игровой мир VR вместе с ребятами из CUBE

Начал с игрушки Beat Saber, что предложили со старту


Не я на ролике, но было тоже неплохо. За чуть больше чем за час прошел все 10 уровней, что там были на hard. Теперь все болит. Мозгу эта вся движуха очень понравилась.

Тебе надевают на голову шлем VR, туда же наушники. В руки дают "курки". Шлем ловит кручения твоей головы, а два окуляра показывают объемную картинку того виртуального места, куда ты сейчас смотришь. Игра же определяет, что именно тебе там увидится. Стереозвучание обманывает мозг еще сильнее. Курки в руках определяют местоположение твоих рук и того девайса, что в руках твоих находится по задумке игры.

В Beat Saber у тебя два световых меча (как в Звездных Войнах) по одному в каждой руке: один синий, другой красный - ими ты будешь работать. На тебя летят кубы так же окрашенные двух цветов. Их как раз и надо разрубать мечами. Но не все так просто, на кубах нарисованы указатели поясняющие как именно их стоит разрубать. Разрубил правильно - зачет. Если не так или не разрубил вовсе - не зачет. Много промахов - Game over.

Когда кубов не много - это не сложно. Но когда их много, и рубать их надо то там то сям - вот тут и начинается веселье. И это все еще под ритмичную музыку. И когда уровень проходишь в 10й раз, то невольно начинаешь подтанцовывать. И понимаешь что кубы не рендомно расположены, их специально так разместили чтобы ты двигался под музыку.

Круть в общем! Калорий за два часа сжег наверное непривычно много.

Потом отстреливал орков из лука, от чего левая рука болит сильнее :) Очень рекомендую, кто еще не пробовал.

четверг, 27 сентября 2018 г.

Опасная интуиция скорости: 70 км/ч или 120 км/ч?

Сегодня по дороге в школу семья увидела жесткое ДТП. Не могу пройти мимо.

Со скоростями интуиция не работает у людей как надо. Хочу напомнить школьную формулу кинетической энергии для водителей всех транспортных средств. И расшифровать ее печальные последствия.

Энергия_столкновения = половина массы_транспортного_средства * скорость_транспортного_средства_в_квадрате.

Вот это самое В КВАДРАТЕ и в носит непонятки. Ускоряясь всего на 30 км в час со скорости 70км до 100км энергия разрушения будет уже ВДВОЕ больше. Еще +20км (до 120км) и энергия увеличится ВТРОЕ.

Спидометр транспортных средств должен показывать не скорость, а энергию. Тогда и смертей на дорогах думаю было бы меньше.


Видео по теме


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

Правду говорят, что ангелы хранители не летают больше 60 км в час.

Да и еще момент, как думаешь почему краштесты проводятся на скорости 64 км в час, а не скажем на 120


...или 190...


...а смысла нет - инженеры и физики это знают. Просто будет купа металлолома. И там и там.

Береги себя, тебе еще есть чем поделиться с миром.
  • Пристегивайся, как бы водители такси не удивлялись и не говорили что "в городе можно не пристегиваться". 
  • Заказывай (если речь про такси) более массивную машину с бОльшим салоном. 
  • Не давай водителю гнать с тобой. А если не слушает, останавливай машину и вызывай другую.
  • Садись на заднее сидение по центру. 
  • Пристегивайся! И проверяй как пристегнулся, как бы это делал на самом страшном аттракционе американские горки. 
  • А если думаешь, что не надо - смотри на youtube "что будет если не пристегнуться".
Для наглядности, я бы безопасно размещал разбитые машины на обочинах тех мест, где они попали в ДТП. Как памятка участнику дорожного движения.

воскресенье, 2 сентября 2018 г.

пятница, 31 августа 2018 г.

Выйти за пределы системы и посмотреть на накопленные в ней ошибки, затем предложить решение

Далекий по меркам IT 2007 год. Стив Джобс взял и навсегда изменил индустрию смартфонов, заткнув за пояс всех конкурентов. Посмотри как это было - весьма поучительно



Конечно же огромная работа сотен людей предшествовала этой часовой презентации. Им всем низкий поклон.

Но важен, по моему, тот критически настроенный мускул в мозге, который позволил этому случиться. Давайте сделаем что-то совершенно не похожее на то что есть сейчас. Давайте выйдем за пределы системы и посмотрим на накопленные в ней ошибки со стороны. Затем предложим решение.

Я хотел бы, чтобы ты делал так же. Не стоит быть гениальным для этого. Стоит просто задаться гениальным вопросом. Если бы я все делал с нуля, каким бы оно могло быть? Мечтать и фантазировать. Вот что стоит делать каждый день. Как ребенок.

А потом никому не говорить. Держать в секрете до тех самых пор, пока не будет что показать. Ведь рассказав идею очень велик шанс, что бросишь так и не начав. Это очередная ментальная ловушка нашего мозга. Держи в секрете. А потом удивляй!

А ты держишь в секрете свои начинания? 

вторник, 14 августа 2018 г.

Семья это постоянная работа и ответственность

Несколько мыслей на память. Все же мне есть чем гордиться. Скоро 14 лет семейной жизни. решение жениться было принято за 5 минут на 4й день знакомства. Я не знал что будет, но я понимал что рядом мой человек. 

Даже если Закон позволяет мне развестись с половинкой и завести новую семью, для меня развестись с Женой равносильно тому, чтобы отправить Маму в дом престарелых а самому начать помогать другой пожилой женщине, звонить ей интересоваться тем как она, звать ее Мама. Сказать Жене о разводе - это все равно, что сказать ребенку "знаешь, я решил, что у меня плохо получается быть для тебя папой и я попробую еще раз с другим ребенком, а ты иди в детдом". Или сказать Зебестфренду, что ваши отношения исчерпали себя и ты познакомился с другим - с ним тебе интереснее и тем у вас больше, его теперь ты будешь называть Зебестфрендом. Бред! 

А раз я решил не разводиться никогда, то у меня появился один любопытный квест длинной в жизнь (вернее две жизни, потому что половинки две). И будет сложно. Семья это не что-то, что можно оперативно порешать за первых N лет, а потом спокойно почивать на лаврах. Одна Жизнь слишком сложна, чтобы разбираться в ней в одиночку. Все очень торопится куда-то вперед. Только привык к чему-то, а оно уже не работает как прежде. А отношения - это вообще столкновение двух Жизней-Вселенных. Одно уравнение и 100 неизвестных. И решать его без надежды на хоть какое-то решение придется каждый день. До конца его/ee и/или твоей жизни... Хотя нет, наверное все таки твоей - после gameover человеку обычно пофиг уже. А умрем мы все. Через 120 лет начиная от текущего момента все, кого ты знал, перестанут существовать. Так что играть в квест не долго осталось. Но игра потребует полной сосредоточенности и внимания в первую очередь твоих. 

Так, а что я там говорил про помощь других? А все просто. Держишь в голове мысли? Они там не решатся. Их надо Про-Го-Ва-Ри-Вать. Лучше с теми, кто решил подобные проблемы в прошлом. Не "я решал и не вышло", а именно решИЛ. Или хоть усиленно решает сейчас. Вопросы семьи лучше обсуждать с теми, кто давно семейный и семья его ты знаешь имеет те фичи, что тебе хочется заполучить в свою. Еще лучше, если это будет профессиональный психотерапевт. От него потом можно перейти к семейному и ходить с половинкой вместе. А че? Вам консультация не нужна? Что "все как то решили сами и мы решим сами"? А ничего, что в большинстве этих "мы сами" мужик бухает, а жена получает в качестве коммуникации больно по лицу? Ну или кто-то кому-то изменяет и даже больше - работает на две семьи. Или еще как-то. Например, половинки давно разведены - Мама воспитывает ребенка самостоятельно. Или не дай Бог на кладбище уже, хотя мог(ла) бы жить и жить. Им всем не нужна помощь, но она нужна мне. И я ее ищу везде, где есть намек на решение того, что волнует сейчас. Нужна ли она тебе - решай сам. 

Я знаю точно, что в любых долгосрочных отношениях первые какушки лезут из меня любимого. И если их всех не повыдавливать, то в новых отношениях будет все так же как и в прошлых. От чего ушел, к тому и пришел. Потому работать стоит над собой, а не искать где лучше. Еще одна трудность, что какушки-то видно у других лучше, чем у себя. И хочется выдавливать их из всех, но никак не из себя. И это желание - не больше чем еще одна такое отверстие откуда полезет, если я решу оставить людей в покое и возьмусь за себя. Знаем, проходили! 

Из чтива. Человек с Марса и Женщины с Венеры, или тому подобные книги. Гуглим Марка Гангора, тоже прикольно рассказывает об отличиях в восприятии и обработки инфы. Но предостережение - не надо с тем, что узнаешь из этих источников сразу же бежать к своей половинке со  "смотри как надо со мной общаться" - это не сработает! С себя выдавливай, а людей в покое оставь. 

Теперь про развод. Что ты пытаешься решить разводом? Правильно, свободу получишь. А в чем свободу? Распиши это все. Спрашивай себя почему это важно для тебя, чтобы докопаться до глубинных потребностей. После реши эти потребности с помощью семьи, а не без нее. Не получилось сразу? Продолжай поиски. Гениальное решение просто выглядит, но не всегда дается просто. 

Например, в моей семье нормально спать в разных спальнях, потому что сон это святое и частота пробуждений резко сокращается раздели ты людей с разными биоритмами по разными комнатам. При этом секс регулярный и может проходить в любой спальне. Одно другому не мешает. А если вы поругались, то разойтись по углам - это отличное решение и островок спокойствия для рефлексии. После поймешь где неправ, подойдешь и извинишься за свою часть. Услышишь в ответ "прости и меня за то, что..." и вместе придумаете как быть. А спать вместе на одной кровати под одним одеялом тихо ненавидя один другого в этот момент - это изврат. Но это одна из идей получения свобод, которые были бы у тебя будь ты холостым. Эта или какая-то другая.

Еще один "например" - любой совершеннолетний участник может временно отлучиться от семьи решать свои личные вопросы, а другой возьмет на себя бытовые обязательства всей семьи на этот момент. Ну или как-то делегировать свою часть обязательств, чтобы все работало как и раньше. И езжай хоть на неделю отдыхать, заземляться. И мне и супруге нужен такой отдых. Оказывается, когда я еду куда-то, то отдыхает и половинка. Ровно как и наоборот. А вот когда соскучились друга за другом так, что аж АХ! Вот тогда и домой. Сюда же совместный отдых без детей. В общем есть рутина и от нее нужно иметь возможность активно эскейпиться периодически на время больше чем 1 сутка каждому участнику. И опять же, дабы не давать повода додумать лишнего - 99% времен мы живем вместе, так сказать work from home. Но отдыхать друг от друга и своих обязанностей надо чаще чем 2 недели в году. 

Другой "например" - решили кто за что отвечает. В финансах например как бы жена не хотела, но если она не зарабатывает, а зарабатывает муж, то муж и будет решать куда деньги пойдут. А будет вмешиваться в процесс, будет периодически ловить его на "сокрытии доходов". С какой целью это будет происходить - это на совести мужа. Но я вот откладывал на всякий пожарный случай, который как нельзя кстати возникал и всегда, когда накапливалась вполне определенная сумма. А сейчас у нас все прозрачно. Каждый месяц бюджет пишем вместе, все приходы и расходы прозрачны. Каждый знает сколько и куда идет. А все потому, что не мешаем роли. То есть я выполняя роль принимаю финальные решения по вопросам и остальных участников ставлю в копию, слушаю пожелания и реализую их. Среди таких ролей-сфер можно выделить: быт, финансы, здоровье, отдых, досуг, родственники, квартира, образование детей и так далее. Можно поделить, договориться и следовать правилам и совсем чуть-чуть их нарушать, чтобы не было скучно. 

Это далеко не полный список того, что можно взять из идеи "а я хочу развестись" и принести в семью. Не сразу. Но постепенно. Для этого и нужны годы. И штормить будет. Но решения найдутся, если искать. 

А чтобы было немного ярче, вот картинка-метафора. Для меня семья это где-то так. 


И только с переездом на новую квартиру понимаешь сколько важного г...на вы насобирали. 

пятница, 10 августа 2018 г.

Pexyla - еще одно сочинячество

Когда я услышал эти 4 аккорда и решил что по их мотиву надо что-то сочинять! Один субботний день, и готов очередной шедевр...


Даже записал как FLStudio работает. На будущее запишу видос процесса сочиняторства. Все весьма не сложно, если знать определенные правила. В мире музыки их есть много, но зная несколько несложных можно такое вот сваять за день. 

Реверсинжиниринг БК ЛИК

Продублирую сообщение тут, у себя в блоге, потому как форума имеют привычку раз в 10 лет закрываться... А та информация, которую я сейчас перерабатываю - она еще не одно поколение будет будоражить. Всем форумам жить долго! Но все же бекап не зря придумали. И пусть на меня обидится гугл за этот копипаст. Ссылка на оригинальный топик.

Я начинал свой путь с модификации Специалиста - Лик, разработанного Черновицким заводом "Электронмаш" в Украине. 

На данный момент у меня есть желание систематизировать все, что накоплено по этому чудному радиоконструктору дабы оно находилось в одном месте. Буду обновлять этот пост новыми новостями. 
  1. Мануал о том, как быстро запустить любую игру с помощью эмулятора Виктора Пыхонина.
  2. Архив программ для ПК "Лик". Прислан А.Болтаевским. Инструкции по запуску в эмуляторе Специалиста в самом архиве. Взято тут
  3. Прошивки ПЗУ для "Специалиста" (9(!) разных Мониторов) в том числе и "ЛИК". Взято тут
  4. Архивы игровых программ для "Специалиста" (они так же подходят для ЛИКа) раздватричетыреВзято тут
  5. Руководство пользователя ПК "Лик" взято так же у Виктора Пыхонина
  6. Подборка программ для ЛИКа от Александра Болтаевского
  7. Описание на Википедии
  8. Краткий обзор Лика со схемой, руководством и фотографиями
  9. Еще одна подборка программ и игр для ЛИКа: раздватри взятые тут
  10. Радиоконструктор "Бытовое электронно-вычислительное устройство ЛИК". Руководство по эксплуатации ДАЯ 4.075.005 РЭ содержащее схему в хорошем разрешении
  11. Схема ЛИК из этого руководства, отдельно в максимально найденном разрешении
  12. Описание применения. Руководство оператора. Руководство программиста. Скан-черновик лежит тут
  13. Фотографии в хорошем разрешении (спасибо xlat) лежат тут
  14. DipTrace схема. Я уперся в ограничение на некоммерческую версию в 2000 контактов, а потому она завершена всего на 98% - не подключены 3 ПЗУ'шки и логика в части контроллера ввода-вывода. Тем не менее схема будет лежать и обновляться тут, а вот и компоненты используемые в проекте.
  15. Некоторые исправления ошибок, выявленных в ходе перегона схемы в DipTrace. Внимание, так как проект на стадии разработки, я уверен что на каждой схеме (и моих исправлениях) накоплены ошибки, которые планируется в ходе "реверсинжиниринга" исправить. Это значит, что наработки вы используете на свой страх и риск - "как есть", без каких-либо гарантий. 
  16. Так же нашел чудную фришную программу Logisim в которой можно изучать логику работы различных схем. Напиcана она на java и запускается одним кликом по jar после установки Java (JDK или JRE) последней версии. Я только начал в ней глубже исследовать схему - и она будет лежать и обновляться тут. В этой же папке есть пару скриншотов для наглядности и сама программа.
  17. Подборка всего, что было найдено за 2 бессонные ночи в одном месте (постоянно обновляется) на случай креша тех или иных сайтов. Жаль, но многие сайты уже не работают - их можно найти только в вебархиве и то не полностью, потому я позволил себе сохранить то что касается ЛИКа в отдельном месте.
Из дальнейших планов:
  1. Найти по сарафану в Черновцах образец ЛИКа и сделать реверсинждиниринг по печатной платы - инфы о ней кроме как схемы и расположения элементов и 2-3 фоток в сети я не нашел, и то пришлось вложить в это 1 ночь.
  2. Так же стоит устранить неточности в документации, которые я еще в школьном возрасте выявил и предложить оцифрованный и более современный формат.
  3. После хочу собрать этот компьютер собственноручно (радиодетали уже заказаны и в пути).
  4. Следом хочу реализовать программатор и сделать копии ПЗУшек, которые у меня остались с тем, чтобы навести порядок в этой области (ROM для эмуляторов есть, но не факт что оригинальные).
  5. Так же игрушки и программы - все будут собраны в одном месте.
  6. Хочу так же реанимировать все, что у нас сохранилось на кассетах (я их хранил последние 15-20 лет).
  7. Есть в тетрадках некоторые заготовки, которыми могу и хочу поделиться. Мелочь, но тоже пригодится.
  8. Так же у меня начат эмулятор на java его хочется продолжать и закончить просто потому что "можется".
  9. Что всплывет по ходу дела так же скорее всего захочется реализовать.
Конечно же время на это не океан, но это проект для души, а потому он будет регулярно пополняться самым ценным активом. 

Что касается сборки. Микросхемы уже приехали. Приобрел 4 комплекта прозапас. 
Ищу кто бы мог продать/подарить/позаимствовать ЛИК дабы я мог аккуратно изучить печатную плату и дорожки. Было бы минимально достаточно, если бы кто-то из числа счастливых владельцев ЛИКа сфотографировал(а) бы мне обратную сторону платы и переднюю сторону платы (эту сторону с максимально различных ракурсов). Цель - максимально подглядеть расположение дорожек. А если у кого-то есть не паянная плата - отсканировать ее было бы пределом мечтания.

Из следующих шагов: 
  1. Закончить схему в DipTrace
  2. Развести дорожки в DipTrace максимально приближенные к оригиналу
  3. Продолжать исследовать логику работы в Logisim
  4. Максимально отдебажить проект, выявить очепятки и попробовать собрать первую версию
Спасибо за интерес к теме. 
Чего-нибудь неожиданно-приятного нам. 

P/S/ Для любителей игры Клад, в нем есть одна хитрость. Если запускать программу с J0000 с последующим ресетом и далее с J4567 то можно будет сразу стартовать игру со следующего уровня, на котором играли в прошлый запуск. Reset Монитора и очередная команда J4567 запустит уже очередной уровень. Подобрано "патологоанатомом" школьником опытным путем с мыслью "а что если..." в ходе очередного "там там тадам там тадам тадам тадааам"...

Steps to reproduce:
  1. Reset
  2. Загрузить игру в память любым способом (Alt-F3 или I= в http://emu80.org эмуляторе)
  3. J <ВК>
  4. Видим заставку
  5. Reset
  6. J3456
  7. выбираем скорость игры
  8. загрузился уровень 1й - играем
  9. если надоело, Reset
  10. J3456
  11. выбираем скорость игры
  12. загрузился уровень 2й - играем
  13. если надоело, Reset
  14. goto 7)

Codenjoy quadro - новая игрушка с пылу-жару

Сегодня решил залить новую игрушку от участника Hackenjoy Олега. По условиям участия - с участника игрушка, с нас кодревью с мерджем всей истории коммитов в общий репозиторий codenjoy.

Первую часть уговора выполнил еще неделю назад


А вторую вот только что закончил. На память о том, как мерджить два репозитория я оставлю тут заметку.
git clone дочернего репозитория который должен быть вмерджен в основной
cоздаем новый пустой репозиторий на github
в файле .git/config меняем путь со старого репозитория на новый пустой
git push --all ofigin
    так что наполнили пустой репозиторий контентом
cd codenoy - перешли в основной репозиторий
git subtree add --prefix=CodingDojo/games2 https://github.com/codenjoyme/quadro-game.git master
далее переименовывем ручками папку CodingDojo/games2 в CodingDojo/games
и дальше в основном репозитории
    git add CodingDojo/games2
    git add CodingDojo/games/quadro
    git commit -m"Добавили новую игру Quadro"
    git push --all origin

суббота, 28 июля 2018 г.

Hackenjoy - как это было

В прошлой публикации я поделился анонсом мероприятия, который мы проводили  уже дважды. В этом будет отчет. 

Первым был offline ивент, когда я еще в GoIT развивал джаву в далеком 2015-08.

Вот коллажик из фоток


А вот более подробно о формате и заявленных игрушках ребят


В результате ребята получили бесценный опыт работы в парах (pair programming) а Codenjoy увидел около 15 новых игрушек. Не все их них были дописаны в тот день, но средняя готовность многих была около 90%. Реябтам судя по их отзывам очень понравилось. И я этому рад. 

В этом году, буквально две недели назад мы стартовали online hackenjoy на площадке Juja. Формат изначально заточенный под offline экспериментально попробовали провести в online. И получилось! Конечно выхлоп не такой, как в случае, когда мы заперли участников физически в одном помещении на двое суток и не выпускали без реализованной игрушки, но все же очень здорово. И да мне самому удалось написать игрушку, которая вскоре появится на demo сервере. 

Вот как это происходило в моем пространстве-время в трех частях.


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

Первая игра называется Quadro (GitHub).


Остальные в процессе...

Codenjoy + Hackathon = Hackenjoy

Что это вообще такое?
Hackenjoy = Хакатон + Codenjoy

Что такое Хакатон?
Как ты еще не знаешь? Это мероприятие на определенную тему, где собираются айтишники, чтобы за 48 часов реализовать прототип, который потом можно продемонстрировать всем участникам. Это очень фаново, поскольку все самое интересное происходит ночью. А под утро все ходят с немного измененным сознанием, что порождает массу креативных идей. Потом немного спят и снова за дело. Кодят все синхронно, кодят на одну и ту же тему, потому очень драйвово. Приблизительно как на стадионе во время футбольного матча или концерта :)

Что такое Codenjoy?
А это веселый тренажер для программистов. Там ты играешь в игру но не джойстиком, а с помощью своего бота, которого по ходу пишешь. Игр есть много разных. Змейка. Тетрис. Танчики. Бомбермен. 2048. Судоку. Кубик рубика. Хекс и так далее… Детальнее про Codenjoy тут http://codenjoy.com

А JuJa?
А это наша тусовка в которой мы часто проводим всякое-разное-интересное, в том числе рубимся в Codenjoу. Вот и возникла идея, а почему бы и да?!

И при чем тут я?
А при том, что на хакатоне ты будешь писать игрушку, которая возможно станет кандидатом в проведении финального турнира.

Но почему бы не использовать существующие игры?  
Все просто. Игру необходимо держать в секрете, а все те, что уже есть - давно опубликованы. Это во-первых. А во-вторых игру надо хорошо продумать и хоть раз в нее поиграться всей командой.

Так что мы будем писать игры или играть в них?
Будем писать, а потом и играть. Все начнется на хакатоне, где мы двое суток стартанем написание игрушки. Попутно мы научимся таким штукам, как парное программирование и test driven development. Так вот мы стартанем, а потом у нас будет неделя времени, чтобы дописать игрушку, сделать ее максимально классной. На следующих выходных мы устроим финальный конкурс и мега баттл между разработчиками в эту игру-победитель.

Т.е. ориентироваться нужно на 2 недели свободных выходных? сначала 48 часов кодим игры, а на следующих выходных - ботов к игре-победителю?
Да, так и будет. Ботов кодят обычно 4-6 часов. На счет второго тура, думаю мы еще решим с ребятами, кто будет на первом. Чтобы было удобненько всем-всем. Так что главное запланировать первую итерацию - хакатон.

А что если про игру узнают?
Мы верим в то, что все что происходит в стенах Juja клуба остается в стенах Juja клуба. “Ведь, первое правило клуба гласит…” (с)
Шучу! Игра опенсорс. Движение открытое. Пусть узнают!

Стой, ты что-то говорил про TDD и парное программирование?
Да, драйвить ивент будет в том числе СанЁк Баглай, и он хочет на старте, дабы все было максимально эффективно, рассказать про правила парного программирования, правила TDD и сам Codenjoy фреймворк.

А если у меня нет напарника?
Не беда, можно будет напарника найти в группе участников. Главное зарегистрируйся. С другой стороны, если мы будем хакатонить онлайн, то можно и без напарника. Либо с напарником удаленно.  

А как долго писать игрушку?
Если набить руку, то не сложную игрушку типа крестиков ноликов, змейки или пятнашек можно написать за 4 часа под ключ. Но так как мы это будем делать впервые, у нас будет почти 48 часов. Ну на самом деле эффективной будет только первая ночь :) Но самые крепкие из нас будут немного кодировать и на следующий день.

А если я приду уже с некоторыми набросками?.. :)
Наброски можно. Но вот вопрос в том, как написать правильно игрушку для codenjoy? Это все мы будем обсуждать в день хакатона. Есть ряд требований и фреймворк также подразумевает, что будут реализованы специальные интерфейсы. Мысли о том, какая бы это могла быть игра - это другое дело.

А если я не выдержу?
Ляг поспи и все пройдет. Ты можешь в любой момент закончить, если пожелаешь. В результате у тебя будет еще неделя чтобы закончить. Свет увидят те игры, которые автора допилят до конца.

Покидать локацию-трансляцию запрещено? :)
Можно, почему же  :) Мы будем онлайн вебинарить, всегда можно будет отойти лечь поспать и вернувшись продолжить с того места, где остановились но с 2x скоростью :) При этом помним про напарника - надо будет с ним предварительно договориться. Ибо вы в связке.

Кстати про остальные игры, если игра-победитель будет одна, то что будет с остальными играми?
Каждая игра, что будет дописана включится (вместе с git историей) в codenjoy фреймворк (вот тут http://codenjoy.com/codenjoy-contest) с именами и фотками авторов (если разместите у себя в корне проекта описание) и в нее можно будет поиграть позже в любое время.

На какое время старта (и, соответственно, окончания)?
Стартуем в субботу утром, пилим до вечера воскресенья. И да, это будет не круглые 48 часов, а несколько меньше. Но этого будет достаточно - поверь :)

А где это будет?
Это будет онлайн. Можно локально собираться с ребятами по городам и коворкингам (для этого нужно самоорганизоваться). Запись будет. Я (Саша Баглай) буду кодить свою игрушку и транслировать это в эфир. К трансляции могут подключаться и другие участники (было бы любопытно понаблюдать как кто кодит). О технических деталях broadcast’а на youtube сообщим позже.

А можно взять друга?
Этот ивент не только для участников JuJa клуба, а для всех желающих. Потому приглашай всех, кого считаешь нужным.

А где найти напарника?
За этим вопросом в слак чатик. Важно чтобы вы могли в один день. Но если не получится - на месте мы создадим пары рандомно.

У меня есть вопрос, куда его задать?
Это Google Docs тут можно выделить любую часть текста и правой кнопкой мыши -> комментарий. А там задать любой вопрос.

Когда это будет?
Точные даты -

Во сколько начало?
первый этап - начало в 10:00 в субботу, а заканчиваем в 18:00 воскресенья
второй этап - известно

Как это будет происходить?
1 этап - подготовка, вы настраиваете окружение у себя дома, до хакатона, продумываете игру
2 этап - хакатон - тут мы разбираемся как писать игрушку, обсуждаем TDD и стартуем
3 этап - всю неделю до выходных есть возможность допилить свою игру
4 этап - следующие выходные выбираем лучшую игрушку и играем в нее

Как пишется игра?
Она должна быть написана как картридж в приставку Dendy - то есть есть фреймворк codenjoy, под него пишутся игрушки. Если ручки чешутся уже сейчас начинать разбираться то вот https://github.com/codenjoyme/codenjoy-game По всем вопросам пиши в Slack чатик https://jujacore.slack.com/messages/week03-snake-codenjoy/

А я еще не в чатике, как добавиться?
Ну а если ты еще не участник JuJa комьюнити, пиши нам на почту info@juja.com.ua Так же в процессе регистрации ты указываешь свой email и на него ты получишь все инструкции.

А можно поучаствовать в первом этапе, но не участвовать во втором? есть ли смысл?
Участвовать в первом И/ИЛИ во втором есть смысл. Что получишь? FUN Вот пруф http://codenjoy.com/portal/?p=58 Если будешь писать свою игрушку - оставишь след в истории. Что еще получишь - попробуем Test Driven Development и будет кодервью каждой игрушки.

Какие цели всего этого?
Цели у нас две:
1) Участники Juja комьюнити получат фан в процессе написания игрушек
2) Codenjoy получит много новых игрушек, а так как он крутится 24/7 то в них всех потом можно будет играть и играть.
win-win

А в резюме можно будет этот опыт записать?
А то! Можно конечно. Как участие в opensource проекте. Кстати да, сразу же работай из под своего github аккаунта, сделай форк https://github.com/codenjoyme/codenjoy-game - так ты навсегда останешься в истории проекта как соавтор.

А игры могут быть какие-то варианты настольных или нынешних мобильных пазлов? или все ограничиваемся 8-битными аналогами?
Игры можно писать любые. Есть особенности. Игра должна быть дискретной. То есть любое поле должно быть как в тетрадке в клеточку. Также игра пошаговая. Каждый тик - 1 секунда. Играют либо каждый на своем поле, либо все на одном. За 1 секунду все должны сделать свой шаг. После чего игра пересчитает состояние поля и посылает каждому клиенту новое состояние борды. И снова будет до 1 секунды ждать хода игрока.

Игру также можно кастомизировать. Например игра в крестики нолики - поле три на три, два игрока играют. Но мы ведь программисты. Можно сделать поле 10x10 и играть будут все кто хочет. Важно только понимать, за что давать очки. И чтобы в игру было интересно играть - то есть писать бота

Что надо будет написать кроме игры?
Под ключ. Движок игрушки, которая будет реализовывать интерфейсы codenjoy фреймворка. Мануал как играть в игру. Логику подсчета очков. Default’ового бота, который будет развлекать играющих (чтобы они бидоси сами не играли). Спрайты - квадратные png файлы, которые будут отрисовываться на поле.

Что такое спрайт?
Спрайт гуглим тут https://ru.wikipedia.org/wiki Это рисуночек квадратненький на котором изображены все возможные состояния живности на карте, дабы потом отрисовать на поле.

Спрайты могут быть статические - просто картинка, и анимационные - набор картинок (как гифка)?
Спрайты статические. Не надо усложнять, клиенту потом это все парсить. Если герой - то один символ. Если важно показать его направление - можно 4. Больше не стоит. По одному маленькому квадратику на какой-то элемент. В проекте есть sample игра, в ней реализована примитивная логика, но все рабочее. https://github.com/codenjoyme/codenjoy-game

пятница, 22 июня 2018 г.

Косточки от черешни

Заморочился в этом году. Не выкидывал ни одной косточки черешни и вишни. Все промыл и высушил. Хочу рассадить везде где только можно. Ясное дело вырастут дички. Хочу решить другой вопрос - сделать это массово. Вот прям в 100 раз, чем я мог бы позволить себе покупая саженцы. Интересно что будет. Как-то раз мысль проскочила: если бы Киев в свое время сделали не городом Каштанов, а городом фруктовых деревьев - люди бы сейчас меньше голодали. Дичка или не дичка - урожай есть урожай. Попробуем, что получится расскажу позже. 


А что интересно? Был ли у кого подобный опыт? Пока что учусь по ютьюбу. Говорят надо высушить, а потом отмочить и вместе с тем отморозить косточки в холодильнике - после оболочка треснет и семечко готово к весне. Так в нем заложено защита от предстоящей зимы. Но по моему достаточно будет просто наделать дырок в земле и разместить туда по несколько семечек. А там пусть уже законы природы берутся за свое. Часть ростков срежут вместе с травой работники ЖКХ, часть будут вытоптаны, часть не прорастет. Но на входе 1000 семечек, значит и результат должен сильно отличаться от 0. Если конечно в этих ГМ сортах не придумали что-то такое, что сделало все эти косточки бесплодными. Посмотрим...

Как жить без алкоголя? А как жить с ним?


Подписываюсь под каждым словом. То же самое касается и курева. Нечего бросать. Для меня сейчас попить алкогольного чего-то, это как пойти выпить стаканчик бензина или масла машинного отработанного. Пока ты думаешь, что что-то потеряешь, что тебе предстоит избавиться от вредной привычки - это будет ад на Земле. Но когда-нибудь придет осознание, что это глупость, как есть пыль на дороге и ты просто перестаешь это делать. Навсегда. Или не придет. И да, нет никакого тут подвига. Просто осознание, что звуки вокруг другие, если снять кастрюлю с головы по которой постоянно кто-то бьет черпаком. 

Что было в первые пол года после принятого решения - так это поиск новых вещей, в которых можно выключить мыслерадио. А потом научишься работать с ручкой громкости этого вечно болтающего в голове радио. Инструментов много вокруг. Мир ярче чем 3 цвета пива. 

среда, 20 июня 2018 г.

четверг, 3 мая 2018 г.

Новое увлечение - высадка деревьев в месте где я живу

Что-то безвозвратно поменялось с переездом на свою квартиру. Какие-то необратимые процессы в мозгу прошли и я почувствовал ответ за ту территорию которая меня окружает. Нет и раньше на съемной квартире на меня периодически нападали субботники, но сейчас вообще сорвало крышу. В общем за прошлый месяц уже высадил 9 фруктовых деревьев на клочке земли перед домом. Просто потому что мог. Еще два дерева в прошлом году осенью в яру возле места нашего отдыха. Одно из которых этой весной безнадежно поломали не_ведают_что_творящие отдыхающие. 

(рисунок не мой, взято тут для наглядности)

А еще общей сложностью вынесено порядка 20 120-литровых мешков бутылок и мусора и зеленый лес стал еще зеленее. Но я уверен что в следующем году мусора будет еще больше, т.к. в прошлом году уже заказывал уборку территории и тогда мешков было меньше. 

В ходе этого эксперимента познакомился с некоторыми местными садоводами, которые занимаются тем, что убирают территорию и следят за окружающей их природой. Их всего 2 нашлось на весь микрорайон. Печально. Один дед хоть и сам продолжает высаживать деревья и заниматься уборкой, при личной беседе говорит на моей предложение помочь, что "а смысл, все равно загадят". Другая Женщина, сообщила об одном интересном фрагменте из фильма. 

(фото не мое, взято тут для наглядности)

Двое монахов, возле догорающей церкви. Один из них иконописец. Это было во времена набегов всяких недоброжелателей на наши земли с полным уничтожением всего имущества. Иконописец: - И вот зачем писать, если оно все равно будет сожжено. 
Второй монах: - Нет ты будешь писать, ты будешь писать в два раза больше. Они жгут а ты пишешь еще больше, они сожгли снова - и ты написал в два раза больше. 


В этом что-то есть. Я не думаю, что кому-то в голову придет уничтожить последовательно 11 саженцев. Чтобы выместить злость или удовлетворить любопытство достаточно 1-2 вполне. Хотя есть персонажи, которые мои труды пугают больше всего - те кому саженцы нужны на шару. Я нашел точку, где привитые фруктовые деревья стоят 60 грн (или 2.3$) - там и закупаюсь. Есть люди, у которых денег нет, но озеленением они все же хотят заниматься (или перепродают потом, я ХЗ). В общем что они делают - выкапывают деревья глухой ночью, когда город засыпает. Меня это парило, а потом я стер круг вокруг моего района и начертил круг побольше. Если у меня во дворе убудет, то в масштабах города и всей Земли озеленение все же случилось. Просто кому-то это дерево нужнее было. Бог с ним.


А еще недавно Друг сообщил, что в Штатах деревья выдают просто так людям. А те берут их, высаживают и радуются. Нам до этого еще расти и расти. Так же знаю, что в некоторых городах у деревьев есть свои отдельные сайты с привязанными людьми, кто за ними смотрит. Вот это любопытно. Как пробудить у окружающего населения любовь к природе? 

Пока я высаживал деревья многие соседи проходя мимо смотрели на меня и что-то свое думали. Не скажу что, могу лишь судить о тех, кто решался все же что-то сообщить мне под руку. Сообщения были такие: "Зачем оно тебе? Тебе что больше всех надо?", "Оно тут не вырастет, тут солнце и грунт желтый...", "А верхушки надо обрезать, иначе оно как тополь вырастет!" и тому подобные сообщения. Я даже ждал, что кто-то будет на меня ругаться, что я этим занят. Но обошлось. 

Итого 11 деревьев высажено, 1 потрачено. Счет 11:1. Иду их полью что-ли. 


Кстати был так же получен опыт засеивания травы на месте плешей, которые образуются в ходе прожигания дерна кострами отдыхающих. Читатель, прошу тебя очень не жги на земле костер, после тебя останется на многие месяцы проплешина, как от сигареты на твоей коже, если ею прижечь твою ладонь. А из за кислой среды от золы прогоревшего контента, там еще долго ничего не захочет расти. И ты нифига не удобряешь если постоянно ссыпаешь купу золы под одно маленькое деревце - оно в результате отравится, так же как и ты солью/сахаром/водой/кефиром да чем угодно, если в тебя в 10 раз больше влить этого добра в организм. 


Что еще печально - так это то, что одни отдыхающие с мыслью об оптимизации своего труда пластиковые стаканчики кидают в тот же костер, они там естественно не догорают. А другие отдыхающие принимают здоровое решение не жечь костер в том же месте и жгут его рядышком. В результате проплешин теперь две, потом три, пять. Верной дорогой идете товарищи! Для тех, кто хочет хоть что-то поменять - купите пожалуйста мангал, или почитате статью по типу этой.

В прошлом году пробовал перекопать землю. Не получилось. В этом перекопал и засеял - трава взошла. Но на ней тут же кто-то решил зажечь очередной костер. Я найду контент для сварки дешевого мангала и попробую установить стационарный мангал. Посмотрим к чему это приведет. Аж любопытно. 


Глядя на это все превращение зеленой территории на мусорную свалку становится неудивительным, почему и другие события в то же время имеют место быть. Если я сам к себе и своему будущему так отношусь, как я могу надеяться, что ко мне будут относиться лучше?


Высадить 10 деревьев по времени 3 часа с поездкой на базар, +23$. Если высадишь их с ребенком на пару то сделаешь хорошую прививку на будущее. До сих пор помню свое первое дерево высаженное в школе и оно все еще растет! И может даже останется, когда я уйду. Всегда есть продавец, продающий саженцы дешевле - его стоит поискать. Но делать это стоит параллельно с начатым процессом высаживания, а не отговаривать себя завтраками. Сегодня самый лучший день, чтобы посадить одно дерево.

Перекопать пару квадратных метров кострищ и засеять травой = 1 час + 4$ на мешочек травы. Лучше сделать это перед дождем, чтобы меньше заботиться о поливе. Да и после хорошего дождя вряд-ли кто будет жечь костры пару дней. А когда трава взойдет, она такая милая, что на нее прям жалко ступить.

Грабли - хороший инструмент для очистки территории от пластиковых подснежников, лучше купить добротные и по дороже с металлической обрезиненной ручкой приваренной к граблям.

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


А если ты уделишь чес времени и высадишь сегодня одно дерево, не смотря ни на какую срочную рутину - тебе больщущий лайк под фоткой, которую ты сделаешь рядом с этим деревом!