Открытый код

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

Мой профиль на GITHUB: https://github.com/tirinox

Правда там нужно поработать над описанием, над тестами. Может, написать на тематические ресурсы для пиара.

Сейчас выложены следующий проекты:

Erudite Push Stream

https://github.com/tirinox/erudite_push_stream

Сервер для получения сообщений по TCP от сервера. Пришел из сервера Эрудита. Некоторая замена nginx_push_stream_module. Т. е. у нас есть бэкенд на PHP, он хочет уведомить пользователя о событии, поэтому обращается к erudite_push_stream. Пользователь в свою очередь держит открыт к TCP соединение к нему и получает сообщение.

Написан на Go Lang.

GoWaiter

https://github.com/tirinox/gowaiter

Тоже из инфраструктуры Эрудита. Умеет устанавливать таймеры и дергать HTTP запросы, когда таймер истекает. Так же умеет дергать их заранее заданному расписанию (на подобие CRON). Очень простой сервис с минимумом настроек.

Написан на Go Lang.

 

Взлом игры “Потребительская корзина” от РокетБанка

РокетБанк устроил конкурс с розыгрышем iPhone, хамона и макарон. В одном из заданий нужно играть в игру типа “Ну, погоди!”. Несколько раз пробовал, но она оказалась для меня слишком сложной, поэтому я взломал движок Construct 2 (на котором она сделана) и прошел ее на раз-два.

Итак, нам понадобится браузер Chrome.

Открываем игру.

Кликаем правой кнопкой около игровой приставки, выбираем Inspect. (Картинки можно открыть пошире)

screen-shot-2016-09-29-at-23-14-55

В появившемся окне кликаем на Sources (наверху).

screen-shot-2016-09-29-at-23-15-03

Кликаем на три точки, затем Go to file.

screen-shot-2016-09-29-at-23-15-21

Находим файл c2runtime.js, переходим к нему (это движок игры).

screen-shot-2016-09-29-at-23-15-33

Нажимаем (Ctrl+F или Cmd+F на маке), это поиск. Находим нужную ф-цию (AddVar).

screen-shot-2016-09-29-at-23-15-51Дописываем туда код, как показано на рисунке.

Код смотрит, если переменная – очки за игру, то добавляем сразу по 10:

if(v.name == 'Score') x = 10;

screen-shot-2016-09-29-at-23-16-33

Нажимаем Ctrl+S (или Cmd+S на маке). Chrome может подвиснуть на пару секунд, не пугайтесь. Затем возвращаемся к игре, нажимаем “Заново” и “Играть”. Теперь каждый собранный продукт дает нам по 10 очков вместо 1 очка. Нам остается набрать 100 и более очков, продуть, и все! Печать наша!

screen-shot-2016-09-29-at-23-19-31

Спасибо за внимание!

P. S. Оформляйте карты РокетБанка через мой реферал: https://rocketbank.ru/loves/maksim.koltsov

Запах метро

Сегодня на строящейся станции московского метро “Ховрино” появился характерный метрошный запах. Ох, как же мы его любим!

Это верный знак, что открытие не за горами!

Apple customer

Поймал себя на мысли, что для того, чтобы переустановить систему, я сходил в магазин и купил новый SSD. Похоже, я превращаюсь в эталонного Apple customer (сел iPhone, пошел и купил новый).

На самом деле, мой старенький HDD сдох, и теперь у меня в системе 2 SSD.

Переустановил за два дня без особых проблем обе системы. Теперь у меня OS X El Captain 10.11.5 и Windows 10.

Короче, чем только не займешься лишь бы не работать 🙂

Срочно Ктулхи

Дошли руки отфошотопить эту девочку. Пририсовал циркулярный рот и тентакли. Качество так себе, потому что в онлайн-редакторе Pixlr тяжеловато работать, и возможностей у него мало.

srochnoktulhi

Первый день весны

 

День сегодня начался хорошо. Проснулся я по будильнику в 7:10, это показалось рановато. Переставил на 7:40, чтобы еще подремать, предаваясь приятным мыслям. Следующий звонок будильника значительно приблизил к пробуждению, я включил телевизор на Дискавери. Там крутили “Как это сделано?” Передача явно разожгла мой интерес, потому что это был повтор вчерашнего вечера, когда я уже находился не в состоянии понять, что происходит на экране. Повалялся примерно полчаса, а может и поболее. Наконец, резко вскочил, завалил ингредиенты для овсяной каши в мультиварку. Пока завтрак готовился, я чуть-чуть поделал растяжку, заправил постель, сделал несколько прочих мелких нужных или полезных дел.

После завтрака, в который помимо овсянки входил подсохший крупный изюм и кофе со сливками и дольками шоколада, я принялся за работу. Честно говоря, это слово “работа” мне не нравится в контексте моей деятельности. Однако, я еще не подобрал адекватной замены.”Работу” я придумал для родственников и некоторых друзей. У нормального взрослого человека должна же быть работа? Все мы знаем, что этимология этого слова восходит к рабству и неволе, к чему я уважения не имею. Впрочем об этом как-нибудь позже.

Собственно работа не задалась. Истек сертификат разработчика, и я потратил уйму времени на расследование этого инцидента и исправление последствий. На текущий момент проблема еще не решена. Мне уже захотелось отправиться на обед, когда Заур обратился ко мне с ошибкой на тестовом сервере. Я обычно стараюсь не откладывать подобных дел, когда от моих действий зависит возможность работы других членов команды. Ошибка была устранена. Я поехал на обед, именно поехал, потому что кушать уж больно сильно хотелось, а это не хорошо с точки зрения правильного питания. Из под носа уехал нужный автобус; я не расценил это как неприятность, но тогда я еще не знал, что это только начало череды. Благо интервалы общественного транспорта у нас коротки. Заметив, что по Яндекс.Транспорту у меня 3 минуты, я решил пробежаться (буквально, т.е. бегом) до следующей остановки. Асфальт пешеходных дорожек по улице Дыбенко уже свободен от снега. Это был своеобразный тест на то, можно ли уже возобновлять пробежки. Можно.

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

Мрачную картину дополнили новости из моих любимых заведений питания на Речном. Так, оказалось, что в Муму бизнес-ланчи подорожали до 275 рублей (с 250 рублей). 25 лишних рублей, конечно, мне по карману, однако, что хуже, изменился состав обедов. Первый ланч мне вообще не приглянулся, а второй отсутствовал в продаже. Тогда не надо. Развел руками, развернулся и ушел. Постоял напротив Островка Суши. 320 рублей за два небольших блюда – дороговато, при условии, что трапеза на пластиковом стуле в проходном месте фудкорта не сулит уютных переживаний. Вышел на улицу. Терзаться сомнениями – дело недостойное и бессмысленное, поэтому я составил план. Иду в Жили-Были, если есть народ, кушаю там, если нет, что иду смотреть Столовую на другой стороне дороги, если плохо, иду в Суши-Вок. Интерьер Жили-Были доламывали рабочие. Нет больше этого кафе. В столовую не зашел, почему-то она внешне показалась мне той еще обрыгаловкой. В Суши-Вок тоже не пошел, в прошлый раз лапша у них была катастрофически пересолена, а я стараюсь минимизировать потребление соли. Вернулся в Островок. Приготовили быстро, но качество блюд упало, хоть было и вкусно, но сделано халтурно и из более дешевых продуктов.К тому же не наелся совсем. Вряд ли я туда еще пойду.

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

Вышел после обеда на остановку. Занял очередь на 745 автобус, который не спешил выезжать на посадку. Позвонил маме, она была занята. Хотела перезвонить, но перезвонила гораздо позже, когда я уже был дома. Стоило мне заскучать в ожидании и уйти, как автобус подъехал. Мелочь, но прекрасно вплетается в картину сегодняшней невезучести. Ладно, идем пешком, хотя и не особо хочется сегодня. Что-то опять немного болит голова. Как я выбью сегодня норму калорий? А мне так хочется значок “Идеальная неделя”… По пути зашел немного “покачаться” на брусьях и попытаться поподтягиваться на турниках. Понравилось, были даже некоторые успехи, подумал, что можно бы и чаще так делать.

Возле дома зашел в Магнит за хлебом, джемом, огурцами и тушенкой. Взял две разных банки говяжьей. Как всегда продавщица запуталась в наименованиях. Спросила, сколько стоит. Я не знаю, я ориентируюсь не на цену. Огурцов, кстати, опять не было. Зеленый салат откладывается до лучших времен. А может, все-таки зайти в кафе у дома? Там тоже есть бизнес-ланчи. Позже…

Вчера дочитал “Поток” (Михай Чиксентмихайи). Там было ближе к концу по преобразование негативных явлений в жизни. Типа во всем видеть хорошее, или вызов, или игру, если простым языком. Припомнил об этом. Плохо с обедами в кафе? Будем готовить дома. Опоздал на автобус – прогулялся. Впрочем ничего особенного грустного сегодня не было, я постоянно это понимал, чем удерживался от уныния.

Дома открыл обе банки с тушенкой и отъел по куску. Хах! Я в квартире один и могу позволить себе такое безобразие! С готовкой все было неплохо. Начал с трех вареных яиц. Лажанулся с таймером, всмятку не получилось, но со сливочным маслицем очень хорошо зашли. Красная рыбка в прикуску. Еще до того, как сварились яйца, начал резать овощи на картоху с тушенкой. Решил приготовить побольше, она у меня всегда получается отменного вкуса. Процесс тушения идет час, а я пишу этот текст. Точнее уже эти слова я дописываю после того, как покушал. Очень вкусно! Надо будет обязательно угостить этим блюдом кого-нибудь, Катю, к примеру.

IMG_7501

Еще в “Потоке” было написано про жизненную тему. Каждый сам создает себе смысл жизни. И каждый поступок его или внешние события теперь приближают или отдаляют от конечной “великой” цели. Возможно, от того я иногда страдаю, что у меня цели нет. Выбирать надо ответственно. Победить болезнь, побороть несправедливость в мире или полететь к другим галактикам? Наверное, разработка смысла жизни – это работа не одного дня. Почему не может быть и целей помельче и менее альтруистичных? Одна тема способна породить другую, более значимую, обширную и добродетельную. Мне кажется, чтобы творить великое, нужно начать с себя, вложить в себя силы, познакомиться с разными вещами и явлениями, научиться многому, а потом уже и других учить. Нет ничего приятнее из способов обретения знаний, чем путешествия. Волей-не-волей во время странствий человек впитывает в себя огромные объемы информации: виды, запахи, вкусы, культура, люди, языки и многое-многое другое. Катя подарила мне отличный подарок, о котором я сам давно мечтал. Это стирательная карта Земли. Вчера я не поленился и купил для нее в Икее рамку. Теперь карта будет стоять над моей кроватью и ежедневно мотивировать меня к новым путешествиям. Как элемент самодисциплины, я вывел следующее правило для себя: сделал работу, обновление или проект – езжай ненадолго в новую страну или регион России, стирай его на карте и по-новой. Мой первый смысл – затереть карту до конца. Пока трем, там посмотрим насчет чего-то поважнее 🙂

IMG_7500

На написание этой заметки ушло много времени: более часа точно. Сомнительно, что можно делать это ежедневно. Это редкая акция.

Самкомнадзор

Прошлая чистка списка групп ВК, конечно, дала позитивные результаты. Но все равно меня тянет постоянно зайти полистать ленту. Более того даже не удержался и подписался обратно на Подслушано Воскресенское. Короче, проблема решена не до конца.

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

Снимок экрана 2016-02-19 в 11.13.16

Как замену для ВК выбрал две альтернативы:

  1. Писать сюда
  2. Читать книги

Сейчас читаю “Поток” и “Справочник по Swift”.

Ментальное оздоровление ч. 1

Социальные сети играют важную роль в пожирании времени и отуплении граждан. Как и от других вредных привычек, не всем людям легко сразу отказаться от этого. Я помню, с чего начиналось мое знакомство с ВК. Многие друзья стали перебираться из Живого Журнала в ВКонтакт, и я тоже создал аккаунт на общей волне. Было удобно “шпионить” за тем, что происходит у друзей. А что теперь? Сидишь полдня и скролишь эти бесконечные паблики с рекламой, тупыми шутками, циничными картинками и политотой. Да еще троллишь в комментариях! Это глупо и недостойно: поглощать информационный мусор и гадить им же вокруг. А сами люди почти перестали создавать контент.

Простой шаг в с собственном ментальном оздоровлении: отписаться нафиг от всей этой черноты!

Оставим, пожалуй, музыку, иностранные языки, эстетику, цели, технологии и т. п. Для начала.

Совершенный троллинг

Мне кажется, что совершенным троллингом можно назвать тот, что собирает множество лайков, при этом вызывая “молчаливое тление пуканов” затролленных личностей; иными словами: беспомощный гнев, неспособность дать на пост хоть какой-то вразумительный ответ. Таким образом, тролль может пожинать лавры, любуясь абсолютным мерилом собственного превосходства, выраженным числом пальцев вверх возле своей записи, без необходимости тратить свое драгоценное время на дальнейшую дискуссию, которая не только не сможет укрепить его позиции, но и в некоторых ситуациях привести к смене ролей охотника и жертвы, что уж никак не может быть свидетельством профессионализма. Совершенный троллинг должен вызывать беспомощность и желание устраниться.

“Да какого х.? Да я его! Что он?!.. ну нафиг, лучше с этим не связываться… Пойду поработаю.”.

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

Иллюзии

Существует тренд избавления от иллюзий. Что будто многие из нас пребывают в иллюзорном мире и пора бы открыть глаза и узнать правду. Но стоит ли следовать этому? На самом деле нужно задать себе два вопроса:

  1. Будет ли жизнь в новом мире лучше?
  2. Не окажусь ли я просто на новом уровне иллюзорной вселенной?

Многие вспоминают Матрицу, но Матрица не дает на самом деле однозначного ответа, зато показывает вопрос с разных сторон.

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

Может, быть Сайфер был прав, предавая людей?

А ведь в конце оказывается, что город людей Зион – это лишь очередное изобретение машин, своего рода очередная иллюзия, лишь очередной инструмент. Так зачем ломать систему, которая хочет сделать тебе хорошо, скрыв горькую правду, ошибки твоих предков?

Если оно работает, не трогай.

220px-Сайфер