• Сделать свою игру — просто? Или почему мечты часто остаются мечтами

    Конечно, я расскажу вам просто несколько банальностей, в которые никогда не поверил бы сам в начале своего пути. Да и путь не большой и не сильно успешный. Просто немного хобби, но после которого проясняется взгляд, позволяющий сказать какой проект имеет шанс на успех, а какой заведомо неудачен. Конечно, мой путь один из таких, и теперь я жалею только время, которое потерял, а вам мой читатель может быть лишь интересно какие ошибки я в свое время сделал.
    Читать дальше →
  • Картирование интернета

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

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

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

    Читать дальше →
  • JavaScript to TypeScript — трудности перевода

    Наверно многие в курсе, что у JS достаточно ограниченно реализовано ООП. Одних уровень ООП в JS устраивает, другие не видят необходимости придерживаться правил ООП, другие без ООП не могут писать код. Тут мы попробуем без холивара разобраться в некоторых ньансах перехода с JS на TS.

    О мотивации перехода мы поговорим в заключении статьи и скорее для тех, кто понимает важность качества кода. Но пару слов все же скажем вначале. Когда Вы делаете небольшой тестовый код, с неясным коммерческим статусом — то вряд ли вы будите этот код прилизывать. А ООП это хороший способ прилизать код, это не сколько не влияет на функциональность вашего кода, даже наоборот, часто задерживает быстрое написание тех фич, которые вы решили сделать. Иногда даже страдает производительность. Но наверное каждый знает тот уровень, когда ему самому уже сложно разобраться в своем коде, тогда вы начинаете его просматривать и время от времени подумывать о рефакторинге. Если ваш язык интерпретируемый, без строгой типизации и не достаточно хорошо поддерживает ООП, то вы этот момент будет оттягивать долго — но я рекоммендую все же об этом задуматься. Если ваш язык JS — хорошим вариантом будет его перевести на TS, вы ничего не потяряете это уж точно. Но есть некоторые сложности, из-за которых в процессе перевода вы можете засомневаться в правильности такого решения.
    Читать дальше →
  • RNAInSpace и фолдинг тРНК — закрытие сезона, новый сезон — Структурное выравнивание

      И вот не прошло и полтора года как я добрался собрать третичную структуру тРНК. Напомню, что ранее писал статью на эту тему на хабре «Развитие RNAInSpace, алгоритм CRA, проблемы кода на Linux и прочие». Надо сказать, что около года я этим не занимался, но за это время вышла вторая моя научная статья на эту тему «Применение теории игр для задачи сворачивания рибонуклеиновых кислот» (это для тех, кто захочет поговорить об этом профессионально). Но вот недавно я можно сказать получил третичную структуру тРНК и сверил её с образцом, имеющимся в базе данных (PDB), который получен биологическими методами (кристалография).

      Под катом рисунки 3D-структуры тРНК, пояснения и планы на будущее.
      Читать дальше →
    • Проблематика получения преимуществ с помощью ботов и твинков

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

        В разрабатываемой мной игре «Кибер развитие» это реализовано, может еще не окончательно, но в значительной мере. А тем кому действительно интересен ответ — читаем дальше…

        Читать дальше →
      • Игры как моделирование реальности

          В статье рассказывается о определенном, можно сказать новом жанре игр. Задуматься об этом меня заставило интервью с Николаем Дыбовским из компании Ice-Pick Lodge, интернет-статьи пользователя под ником Orgota, мой опыт игр в игры жанра «Песочница» и сравнительно небольшой опыт создания игры «Кибер развитие».
          Читать дальше →
        • Браузерная игра «Кибер развитие» — обновление

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

            Играть можно тут



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

            Читать дальше →
          • Где наша бизнес-логика для идеалиста?

              В этой статье я попробую сам разобраться в себе и в своих аргументах. Для начала попробую оппонировать автору статьи, перевод которой нашел на хабре Где наша бизнес-логика, сынок?. Её писал такой же идеалист, которым я был еще лет 10 назад. Поэтому по сути в этой статье я буду спорить сам с собой. Дело в том, что чем больше приложений я разрабатываю тем больше красивые теории перестают вписываться в идеальные схемы. Идеальные схемы хороши тем, что они просты. Вас спрашивают где бизнес слой? И ты легко можешь сказать на стороне клиента или на стороне сервера. Если смешенно многозначительно крутят носом и говорят «гавно-код». С этим я не согласен. Реальный мир не вкладывается в идеалистические концепции, точнее его можно туда запихнуть, но мы от этого скорее потеряем. Поэтому вначале подсознательно я понимал, что есть разные случаи. А теперь все более пытаюсь сформулировать, что влияет на то или иное решение по размещению бизнес логики. Здесь мы оставим красивые теории без аргументации молодым утопистам желающим простых решений.

              Читать дальше →
            • Браузерная игра «Киберсеть» — продолжение

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

                  В связи с некоторыми новыми веяниями хотелось бы узнать мнение пользователей бухгалтерских, банковских и прочих финансовых приложений по поводу того какая стилистика интерфейса им больше по душе.
                • Браузерная игра «Киберсеть» — успехи и неудачи проекта

                    Игра «Киберсеть» — это браузерная пошаговая игра с воссозданием экономики и устоев общества. Её отличительная черта в том, что сами игроки могут совершенствовать игровой мир изобретая и создавая разнообразные продукты. Эта игра в отличии от аналогов не требует постоянного присутствия в игре, но в ней и не нужно мучительно долго ждать пересчета игровой ситуации. Вы просто играете когда у вас есть время управлять агентом.


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

                    А играть можно здесь.

                    Читать дальше →
                  • Браузерная игра «Киберсеть» — социально-экономическая стратегия

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

                      И далее я уже даже запланировал второй этап развития игры. Но обо все по порядку…

                      Но можно все это не читать, а сразу играть :) — Браузерная игра «Киберсеть»

                      Читать дальше →
                    • Экономическая симуляция как игра для программистов

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

                        Наибольший интерес представляет тут то, что 1000 реальных игроков играющих по сети могут создать достаточно интересную среду. Пример этого я нашел в игре «Виртономика» (о которой вкратце расскажу). Ни какой идеальный симулятор розничных продаж не будет так интересен. А игроки делают ошибки или выбирают те или иные акценты при развитии. Отсюда поведение которое потребуется от автомата управляющим таким предприятием будет не банальным в рамках известных методов, и тут есть что изучать.

                        Ниже я опишу несколько «па» о игре в Виртономику, а затем вкратце опишу, какую другую игру-симулятор можно сделать, причем так чтобы она была интересна как обычным игрокам, так и игрокам-программистам.

                        Читать дальше →
                      • Анализ генома бактерий. Продолжение

                          В предыдущей статье, обсуждение получилось слишком крикливым. Но мы открыли свой сайт и там будет более расширенная информация (где? — пишите письма). Я обещал написать продолжение о своем эксперименте, поэтому те кто заинтересовался проблематикой построения эволюционных деревьев — прошу под кат.
                          Читать дальше →
                        • Проект «Геном прокариот» — научный стартап

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

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

                            Поэтому в первую очередь я нуждаюсь в советах от тех у кого есть опыт в стартапе подобных проектов на не коммерческой основе. Во вторую очередь, нужна собственно команда программистов (от знания биологии, при необходимости, я вас освобожу :) ). А сейчас я хотел бы найти таких энтузиастов, которые могли бы обеспечить работу (скажем скромно) домашней веб-страницы проекта (прошу писать мне на почту tac@inbox.lv или личными сообщениями хабра). И конечно, важен любой другой отклик и предложения.

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

                            Читать дальше →
                          • Дарвиновская эволюция бактерий — полная картина

                              Я начну с провокационного заявления — «биологи не публикуют детали своих исследований». Казалось бы столько статей, столько исследований… но где описание и детализация информации, которая получена? Её в принципе нет. А статьи без такой информации пусты и спорны. Каждый нахваливает свой метод, но много ли кто озаботился верификацией чужих данных, а главное смог ли он её сделать?

                              Можно лишь приветствовать появление таких биоинформационных баз как NCBI genomes и PDB, в которые исследователи помещают данные о секвенированных геномах и структурах РНК, белков. И главное, некоторые ученные прежде чем опубликовать статью, прежде помещают данные в биоинформационные базы.

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

                              Конечно, так оно выглядит только для таких дилетантов как я. У настоящих же профессионалов все как в аптеке. Поэтому можете не утруждать себя ответом на эти пафосные заявления. Мы просто поговорим как выглядит биоинформатика в её частных областях глазами дилетанта. Но может и вас эта история к чему нибудь побудит.

                              Мы поговорим ниже о построение дерева эволюции согласно Дарвину, посмотрим на сколько это справедливо и таки я в итоге дам полное дерево (в рамках имеющейся информации) эволюции бактерий на основании самых консервативных генов тРНК. И дам пояснение о методе построения такого дерева.

                              Специалистам в биоинформатике рекомендую читать с раздела №5, пропустив весь мой пафос.

                              Читать дальше →
                            • Систематика прокариот — детализированные пояснения

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

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

                                Читать дальше →
                              • Систематика прокариот — дальние родственники

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

                                  Вот теперь образовалась пауза, и я добил эту тему, и представляю результаты.

                                  Читать дальше →
                                • Развитие RNAInSpace, алгоритм CRA, проблемы кода на Linux и прочие

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

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

                                    P.S. Ищу тех кто понимает математику и сможет помочь мне разобраться с алгоритмом CRA. С другой стороны, нуждаюсь в помощи тех кто использовал Gromacs.

                                    Читать дальше →
                                  • Получена траектория сворачивания вироидного рибозима или новости с фронтов при использовании ПО RNAInSpace

                                      Пару месяцев назад я рассказывал о приближенных результатах в задаче о сворачивании РНК. Напомню требуется свернуть вироидный рибозим NC_003540 организма Chrysanthemum chlorotic mottle viroid, третичная структура которого неизвестна.

                                      И вот оно свершилось — рибозим свернулся ! (В нем образованы все имеющиеся водородные связи)

                                      Смотрим его конечное состояние, а под катом еще его траекторию сворачивания, а также подводим итоги.



                                      Читать дальше →