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


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

воскресенье, 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$ на мешочек травы. Лучше сделать это перед дождем, чтобы меньше заботиться о поливе. Да и после хорошего дождя вряд-ли кто будет жечь костры пару дней. А когда трава взойдет, она такая милая, что на нее прям жалко ступить.

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

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


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

среда, 25 апреля 2018 г.

вторник, 10 апреля 2018 г.

пятница, 6 апреля 2018 г.

Wordpress на codenjoy.com упал

Как всегда ранним утром я проснулся с мыслью, что сегодня в лучшем случае поломается что-то одно, в более веселом варианте - два :) И главное найти это и быстро устранить. Вчера обновился wordpress автоматически, и на надцатый раз он все же сломался. Зайти на страничку с домена codenjoy.com не могу.


Есть второй домен третьего уровня, который предоставлялся мне с хостингом. И где-то там на админке надо его восстановить. Нашел, восстановил. Теперь могу хоть до логинки добраться. Но залогиниться не могу. Мало того, что все лагает при загрузке (как оказалось из за плагинов логина который тянет скрипты из Одноклассников и ВК) а они жеж у нас забанены на Украине.


...так еще и постоянно все сбрасывается на codenjoy.com. Вначале я подменял форму логина вручную, но потом задолбался.


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


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


В табличке wp_options я нашел два поля siteurl и active_plugins которые мне помогли. Первый указывает на домен сайта, а второй - какие плагины включать - я выключил все социальные, поставив поле a:1 - мне кажется что это количество, так как при 5 включенных плагинах оно было = 5. Все заработало. Вернее я просто смог залогиниться и включить админку, а сайт стал заметно быстрее грузиться (секунды вместо минут!).

Еще раз обновился до новой версии.

Но не помогло. Что-то мне подсказало - а зайди из другого компьютера. Я зашел и вот она причина - ваш домен остановлен, потому как ICANN не верефицировало его. Выслали мне имейл на проверку. Сказали ждать ответа через 1-2 сутки.

Вот тебе и вот... И так чуть ли не каждый день :) только падает всегда что-то новое. В квест комнату не ходи...




среда, 4 апреля 2018 г.

Во всем виноваты инженеры?

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

"But what we can say is that we programmers wrote the code that killed her" (с)
И вот тут я не соглашусь. Убили девушку не программисты, а желание всей нашей цивилизации по максимуму ничего не делать и ни за что не отвечать. Пусть все будет автоматизировано, а мы будем тупо лайкать котиков на фейсбуке. Мода на отказ от ответственности приводит к тому, что получаются такие вот смертельные моменты. Кто-то принял решение выпустить эту машину на дорогу, законодательство страны разрешило этому случиться, кому-то раньше пришла идея об автопилотах в машинах и он стал это двигать в массы, и да - была там и команда разработчиков, где менеджер проекта давил на дедлайны, отдел тестирования спорил с отделом разработке о какой-то фигне играя в словестный пинг-понг в джире, и программист написал злощастный IF, который в числе прочих факторов убил девушку. Да и сама девушка так же пользовалась ДОПом в ночное время суток, а это уже само по себе смертельно опасно, даже если за рулем водитель. Не надо все валить на прогеров. Фиксить стоить систему, а не винить людей. Сбой дала сложная система. 

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

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

А сколько таких косяков сокрыто в стенах домов, которыми мы пользуемся каждый день. Сколько их в инфраструктурах города. Школы, Медицина, Комунальные службы, Электростанции, Заводы... Я не думаю что во всем этом виноваты программисты. Мне думается, что мы на свой страх и риск пользуемся теми новшествами, которые вчера придумали и еще не знаем о последствиях которые предстоят как плата за технологии. Как говорится во многих лицензиях "ai is" и "без какиз либо гарантий". 

А как, например, я как производитель микроволновок могу гарантировать безопасность человека, который придумал свою ручную собачку посушить в микроволновке? Да я задолбаюсь описывать в руководстве по эксплуатации КАК НЕ СТОИТ пользоваться микроволновой энергией в том генераторе, который собран на моем заводе.  

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

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

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

среда, 28 марта 2018 г.