Как стать автором
Поиск
Написать публикацию
Обновить
-10
0
Сергей @tac

Программист

Отправить сообщение

MVC без контроллера

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров7.8K

Прошло уже лет 25 со дня изобретения концепции Model‑View‑Controller, а споры и её модификации не завершаются по сей день. Хотя очевидно, что в изначальном виде эта концепция ужасна, не объектно‑ориентирована и избыточна. А избыточно именно наличие контроллера, в то время как разделение визуализации и бизнес‑логики является сердцем этой концепции, из‑за чего и живет эта идея до сих пор. Но вопрос контроллера замыливается, хотя понятно, что на его месте должна быть реализация биндинга. Особенно, когда в игровом движке Unity это биндинг уже есть изначально, хотя и появился косвенно. Об этом подробно рассказываю в следующем видео.

Читать далее

Когда в Unity нужно MVC, как сделать Binding визуальных контроллов с методом

Время на прочтение4 мин
Количество просмотров5.1K

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

По ссылке "Когда нужно MVC, как сделать Binding визуальных контроллов с методом (UNITY, C#, Разработка игр)" вы можете послушать меня, а кто хочет почитать прошу подкат.

Читать далее

Как учат создавать игру вида TowerDefence — ошибки «новичков»

Время на прочтение3 мин
Количество просмотров13K
Достаточно много времени я потратил на рефакторинг одного проекта, который судя по заявлениям автора проекта был основой для обучения студентов в МФТИ. Выполнен этот проект просто ужасно, учить так студентов — пожалуйста так не нужно.

Весь рефакторинг выполнен онлайн в виде 6 частей, каждая по 2-3 часа стримов на ютубе, ниже я дам только ссылку на затравку, а полные стримы вы сможете найти на том же канале.
Разбор чужого кода — так учат делать Tower Defence

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



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

RNAInSpace и фолдинг тРНК — закрытие сезона, новый сезон — Структурное выравнивание

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

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

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

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

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

Анализ генома бактерий. Продолжение

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

Проект «Геном прокариот» — научный стартап

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

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

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

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

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

Дарвиновская эволюция бактерий — полная картина

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

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

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

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

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

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

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

Систематика прокариот — детализированные пояснения

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

Понятие о структурной адаптации и введение в «чистое обобщение»

Время на прочтение7 мин
Количество просмотров14K
Продолжим серию статей «ИИ для чайников». Если в прошлой статье мы попробовали отграничить людей, решающих задачи «оракулов сильного ИИ» от задач «слабого ИИ», и показать решение какого рода задач дает больше, чем лирические «откровения». Одну из таких задач мы назвали «задача двух учителей».

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

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

Резюме проблемы «двух и более учителей» и субъективное мнение о ИИ-сообществе

Время на прочтение9 мин
Количество просмотров5.2K
Пока я тут излагал мысль она несколько растеклась по статьям

1. Модель функционального разделения сознания и бессознательного. Введение
2. Модель проявления сознания или ИНС без эффекта забывания
3. Проблема «двух и более учителей». Первые штрихи
4. Обучение с подкреплением на нейронных сетях. Теория

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

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

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

Обучение с подкреплением на нейронных сетях. Теория

Время на прочтение4 мин
Количество просмотров26K
Я тут написал статью Проблема «двух и более учителей». Первые штрихи, пытаясь показать одну сложную нерешенную проблему. Но первые штрихи оказались немного за сложными. Поэтому я решил для читателей немного разжевать теорию. Увы, сейчас видимо учат/(учатся ?) несколько шаблонно — типа как для каждой задачи свои методы.

Так мне указали, что для задачи классификации — нейронные сети (обучение с учителем), генетические алгоритмы (обучение без учителя) — задача кластеризации, а еще есть обучение с подкреплением (Q-обучение) — как задача агента, который бродит и что-то делает. И вот такими шаблонами многие и судят.

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

И заодно проанализируем диссертацию Бурцев М.С., «Исследование новых типов самоорганизации и возникновения поведенческих стратегий», в которой не больше не меньше красиво сделано именно применение простеньких нейронных сетей в задаче обучения с подкреплением.
Читать дальше →

Проблема «двух и более учителей». Первые штрихи

Время на прочтение5 мин
Количество просмотров4.5K
В двух предыдущих статьях я по касательной затронул проблему, которую назвал проблемой «двух и более учителей»:

1. Модель функционального разделения сознания и бессознательного. Введение
2. Модель проявления сознания или ИНС без эффекта забывания

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

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

Было время, когда я был фанатом игры в Цивилизацию. Надо сказать, что её первые версии были наиболее интеллектуальны, а в версии после Civilization II: Test of Time можно вообще не играть — они испортили важную интеллектуальную начинку. Поэтому совсем не удивительно, что ниже я предложу компьютерно сыграть в этюд по этой игре.

Важно отметить, что устраивают турниры с подобными сценариями, например, ICFPC 2012 с краудсорсингом и нейронными сетями, играя в игру Supaplex. Это тоже интересная задача, но в ней не возникает проблемы «двух и более учителей». Поэтому цель этой статьи понять когда же эта проблема возникает.

upd. Кажется, первые штрихи оказались несколько сложноваты. Прошу для понимания прочитать предваряющую статью Обучение с подкреплением на нейронных сетях. Теория.

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

Модель проявления сознания или ИНС без эффекта забывания

Время на прочтение8 мин
Количество просмотров6.3K
Эта статья продолжение Модель функционального разделения сознания и бессознательного. Введение. В ней мы лирически описали принципы перцептрона Розенблатта. И подняли проблему обучения от двух и более учителей. В этой статье проблема «двух и более учителей» не рассматривается, её мне достаточно сложно сформулировать технически на простых примерах (на сложных могу). Поэтому с этим будем разбираться возможно в следующей статье — если будет некоторый интерес.

В этой статье мы поговорим о сознании, но если желаете пропустить лирику (а специалистов она несколько напрягает, но хотелось чтобы поняли не только специалисты), то начинайте читать с раздела «Модель «Нулевого сознания» в Интеллектронике». Но лирика все же дает некоторые идеи о связи с такими фиктивными понятиями как сознание.

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

Модель функционального разделения сознания и бессознательного. Введение

Время на прочтение8 мин
Количество просмотров10K
В последние время на хабре по теме ИИ начали появляться сильно легковесные статьи, это точнее даже не про ИИ, а про философию ИИ. Причем такую философию, которая не ставит НИ КАКИХ принципиальных вопросов перед исследователями. Ну, скажем так это просто трёп за жизнь. И что удивительно такие статьи набирают некоторое количество плюсов.

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

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

Здесь я дам отрефакторинную версию одной моей научно-популярной статьи 2006 года, которая как я думал стоит в том же ряду по смысловой нагрузке, как те которые выше я критиковал. Но теперь я все же вижу, что стилистика хоть и такая же, но за моей статьей может стоять (и стоит) четкая техническая постановка. О ней мы поговорим позже, а пока так сказать лирическое вступление. Но важно то, что я лирически подвожу к одной существенной нерешенной проблеме из области ИИ.

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

Использование UML для эксперимента по эволюционной систематике прокариот, и косвенно о психологии ученых

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

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

С другой поставить новый эксперимент. И было бы желательно привлечь к этому тех кто интересуется подобными вещами. Если у вас нет времени — может у вас есть свободное процессорное время :)?

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

Геномы секвенированных организмов — ошибки в базах

Время на прочтение4 мин
Количество просмотров4.1K
Наиболее известная база, содержащая геномы секвенированных организмов — NCBI, содержит большое количество систематических ошибок. Из-за этого практически невозможно использование этих данных, и тем более невозможно изучение механизма мутаций (а, следовательно, и эволюции), так как в таком случае исследуются человеческие ошибки при секвенировании, а не природные мутации. Поэтому прежде чем использовать эти данные необходимо уточнение этой базы.

И это трудоемкая задача, её невозможно решить для отдельного нужного организма. Поэтому хотелось бы найти тех, кто хотел бы создать свой русскоязычный источник аналогичный NCBI, но с уточненной информацией.

В статье показывается на сколько массовы ошибки геномов, находящихся в NCBI и рассказывается как самому в этом убедится, и некоторые способы исправления.

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Game Developer, Software Architect
Lead
C#
OOP
ASP.Net
MSSQL
Game Development
C++
Programming microcontrollers
Software development
WPF
Unity3d