Pull to refresh
-11
0
Сергей @tac

Программист

Send message

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

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

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

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



Читать дальше →
Total votes 14: ↑7 and ↓7 0
Comments 60

Работа со строковыми ресурсами Android

Reading time 9 min
Views 117K
Понимание, что используемый в программе текст это отдельный ресурс, такой же как изображения и звук, приходит на сразу. Но стоит несколько раз поменять имя программы в паре десятков файлов или заняться исправлением однотипной синтаксической ошибки в пяти, шести разных местах и необходимость хранить строки отдельно от кода становиться очевидной.
В Android работа со строковыми ресурсами сделана очень удобна и не вызывает поначалу никаких сложностей. В официальной документации она описана в статье String Resources. В файле project\res\values\strings.xml задаем строку и ее имя после чего в Activity загружаем строку по этому имени.
Читать дальше →
Total votes 41: ↑32 and ↓9 +23
Comments 25

Места распространения Android приложений

Reading time 4 min
Views 77K

В какой-то момент разработчику андроид приложений становится тесно в рамках одного магазина Google Play. И тогда он начинает задумываться о том, как бы еще донести до пользователей свои приложения. Оказывается, достаточно много вариантов это сделать.

Перечислю те, которые попробовал сам. Сразу оговорюсь, что приложения у меня бесплатны, с рекламой внутри. С публикацией платных приложений разберусь, когда появятся достойные.
Читать далее
Total votes 72: ↑69 and ↓3 +66
Comments 37

Делаем чат на ASP.NET с помощью Web Socket

Reading time 4 min
Views 79K

Вступление



Я думаю, что многие веб-разработчики задают себе вопрос о том, как передать пользователю какое-либо сообщение, напоминание. Раньше для этого было необходимо постоянно отправлять запросы к веб-серверу, но теперь появилась такая удобная технология, как Web Socket.

В этой статье я хочу показать, как можно написать простой чат на ASP.NET MVC 4 с помощью Web Socket.

Читать дальше →
Total votes 42: ↑33 and ↓9 +24
Comments 26

Публикация приложения в Android маркеты

Reading time 7 min
Views 141K
Хорошо это или плохо, но для Android-приложений существует большое количество различных рынков продаж. С одной стороны приходится публиковать в нескольких, с другой — охват обеспечивается более широкий. Когда я задумался о том, что пора бы задействовать альтернативные маркеты для своего приложения, то толковой информации не нашёл. Сразу хочу предупредить, что программа предназначена для узкой русскоязычной аудитории, абсолютно ничем не примечательна, является по сути обычным rss-ридером для моего сайта халявы. Т.е. для многих этот опыт не будет показателен. Также я не использовал никаких средств для раскрутки своего приложения(реклама, обзоры, накрутка).
Читать дальше →
Total votes 55: ↑48 and ↓7 +41
Comments 21

Tasks и Back Stack в Android

Reading time 5 min
Views 81K
Привет. Из названия темы вы могли заметить, что речь пойдет о том, как устроены Tasks и Back Stack в Android. Эта статья будет являться свободным переводом официального источника. Тема больше ориентирована на новичков, но я думаю, что и опытный разработчик сможет узнать что-то новое, т.к. тема специфична и не часто приходится кастомизировать поведение наших Activity.
Читать дальше →
Total votes 22: ↑18 and ↓4 +14
Comments 12

Разработка и модификация прошивки для Android телефонов на примере HTC Hero GSM. Часть 1

Reading time 10 min
Views 164K
Причины по которым люди ставят модифицированные версии прошивок различны. Кому-то хочется удивить друга смешной анимацией загрузки, кому-то не хватает определенного функционала (например vpn), кто-то хочет выжать максимум производительности из своего телефона за счет разгона процессора, а кто-то пять месяцев ждет новую версию операционной системы Android для своего любимого HTC Hero.
На данный момент уже существует превеликое множество самых невообразимых сборок для самых различных телефонов на базе Android. Иногда они даже появляются в той или иной форме на Хабре.
Я же хочу Вам рассказать о процессе и особенностях создания кастомной прошивки на основе официальной. Данные знания были получены в процессе разработки одной из не многих отечественных прошивок на базе Android 2.1 для HTC Hero GSM. И более или менее успешно опробованы на себе и других подвернувшихся пользователях одного крупного российского форума.
Не смотря на то, что все нижеследующее было сделано для HTC Hero, данные правила и особенности имеют полную силу для всех телефонов, особенно тех, которые разработаны компанией HTC и используют фирменную оболочку Sense.
Для экспериментов нам понадобится:
  • Android SDK желательно последней версии
  • Утилита apktool для реинжениринга системных приложений
  • Утилиты smali/baksmali для де-оптимизации системных приложений
  • Утилита unyaffs для извлечения системных файлов из образа
  • Скрипт split_bootimg.pl для извлечения ядра и ramdisk-а
  • Утилита testsign для подписывания пакета обновления и отдельных приложений
  • установленное и настроенное JRE
  • телефон с операционной системой Android
  • права суперпользователя и модифицированная подпрограмма восстановления (recovery rom)

Все вышеперечисленное доступно в версиях как для системы Linux так и для Windows. Но в своих примерах я буду ориентироваться на использование Linux.
Конечно же ни root-права ни recovery нам не нужен для того, чтобы начать разработку, однако если мы захотим опробовать наше творение, они нам понадобятся. Для HTC Hero можно использовать RA-hero-v1.6.2.
Наверное, самое время напомнить, что использование неофициальных прошивок лишает нас гарантии, но где наша не пропадала. И несмотря на то, что большинство операций безопасно — всегда нужно четко понимать что и зачем делается, дабы не причинить необратимый вред своему андроиду
Читать дальше →
Total votes 79: ↑73 and ↓6 +67
Comments 46

Сравнение биологических последовательностей

Reading time 6 min
Views 22K
image
Тетрапептид HABR несравненен

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

Биологические последовательности — это первичная структура биологических макромолекул. А именно белков и ДНК / РНК. (Есть еще углеводы, например, крахмал, но они состоят из одинаковых мономеров и потому неинтересны.) Последовательность ДНК определяет последовательность белка, последовательность белка определяет его пространственную структуру, структура определяет функции белка, а совокупность функций разных белков называется жизнью. Именно различиями в функционировании разных белков мы, в сущности, и отличаемся друг от друга. Сравнивать молекулы бывает нужно, грубо говоря, по двум причинам:

1) сравнивая попарно белки разных организмов, мы можем сказать, какие организмы более похожи друг на друга, а какие — менее;
2) сравнивая одновременно десяток-другой белков, мы можем найти структурно- и функционально-важные участки (они обычно идентичны у родственных организмов), что бывает полезно при создании искусственных белков (дизайн лекарств, нанотехнологии, в хорошем смысле слова).

Читать дальше →
Total votes 32: ↑32 and ↓0 +32
Comments 13

Структура белка: введение для айтишников

Reading time 17 min
Views 155K
Приятно видеть, что хабравчане регулярно интересуется другими предметными областями – например, биологией (более конкретно – структурой и функцией биологических макромолекул). Однако некоторые посты (например, этот), вызывают у специалиста просто физическую боль из-за обилия совершенно диких фактологических ошибок. В этом посте мне хочется рассказать о структуре и функции белка. О том, что мы знаем и о том, чего не знаем, а так же об имеющихся в этой области вычислительных задачах, требующих решения и интересных IT-специалистам. Постараюсь рассказывать сжато и тезисно, чтобы информации было больше, а воды – меньше. Всех, интересующихся структурой белков, прошу под кат, там очень много букв.
Читать дальше →
Total votes 146: ↑145 and ↓1 +144
Comments 72

Квантовая механика для всех, даром, и пусть никто не уйдёт обиженным: часть первая

Reading time 10 min
Views 214K
Здравствуйте! Я хотел бы представить вашему вниманию отличное введение в квантовую механику, написанное Элиезером Юдковским; быть может, он известен вам по своему сайту lesswrong.com, посвящённому рационализму, предрассудкам, когнитивным парадоксам и ещё многим интересным вещам.
Читать дальше →
Total votes 119: ↑109 and ↓10 +99
Comments 149

Браузеры генома

Reading time 5 min
Views 60K
Не последнюю роль в биоинформатике занимает визуализация. Учёные в этой области работают с огромными объёмами информации, которую хорошо бы как-то охватить взглядом и представить в голове. Ярким примером средства визуализации являются браузеры геномов (genome browser), о которых я и хочу рассказать.

Читать дальше →
Total votes 93: ↑91 and ↓2 +89
Comments 81

«Непредвзятый» универсальный алгоритмический интеллект (часть 2)

Reading time 18 min
Views 14K

LSearch и ξtl


В предыдущей части ( http://habrahabr.ru/post/150056/ ) мы рассмотрели базовые модели «непредвзятого» универсального алгоритмического интеллекта, которые мы назвали идеальным минимальным интеллектом (ИМИ), поскольку эти модели, не будучи ориентированными на какой-то класс сред, являются максимально компактными. Однако понятно, что они являются далеко не достаточными для создания реального ИИ.
Читать дальше →
Total votes 15: ↑11 and ↓4 +7
Comments 0

«Непредвзятый» универсальный алгоритмический интеллект

Reading time 31 min
Views 15K

Постановка задачи


В предыдущих статьях «Основы подхода к построению универсального интеллекта», часть 1 ( http://habrahabr.ru/post/145309/ ) и часть 2 ( http://habrahabr.ru/post/145467/ ), мы в общих чертах описали разные существующие подходы и сформулировали некоторые методологические принципы, которые целесообразно выполнять при разработке универсального ИИ. В статье «Идеальный ученик, или о чем умалчивается в машинном обучении» ( http://habrahabr.ru/post/148002/ ) необходимость соблюдения этих принципов (и, в особенности, сохранение универсальности) было обсуждено на примере проблемы машинного обучения. Здесь мы разберем одну распространенную модель универсального интеллекта в целом. Хотя эта модель крайне далека от реального универсального ИИ, она позволяет понять критические недостатки других подходов.
Читать дальше →
Total votes 24: ↑20 and ↓4 +16
Comments 19

О том, как мы ворпсиманием теcкт

Reading time 4 min
Views 171K
Помните, в интернете, году этак в 2003, проходила картинка, в которой сообщалось, что неважно в каком порядке идут буквы в слове, лишь бы первая и последняя были на местах, а остально мозг сам скомпонует и вычленит смысл. Вот оригинальный текст:

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


В английском варианте это звучало так:
Arocdnicg to rsceearch at Cmabrigde Uinervtisy, it deosn’t mttaer in waht oredr the ltteers in a wrod are, the olny iprmoatnt tihng is taht the frist and lsat ltteer are in the rghit pcale. The rset can be a toatl mses and you can sitll raed it wouthit pobelrm. Tihs is buseace the huamn mnid deos not raed ervey lteter by istlef, but the wrod as a wlohe.


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

Читать дальше →
Total votes 125: ↑107 and ↓18 +89
Comments 86

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

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

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

Читать дальше →
Total votes 14: ↑10 and ↓4 +6
Comments 49

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

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

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

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

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

Читать дальше →
Total votes 39: ↑30 and ↓9 +21
Comments 69

Учёные создали искусственную медузу

Reading time 2 min
Views 3.3K
Биоинжинеры из Калифорнийского технологического института (Калтех) и Гарвардского университета во главе с Китом Паркером (Kit Parker) создали первую в мире искусственную медузу. Биоробот, названный «медузоидом» (Medusoid), состоит из смеси полимеров и мышечных волокон крысы.

image

Читать дальше →
Total votes 69: ↑66 and ↓3 +63
Comments 42

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

Reading time 2 min
Views 9.2K
Ученые в Стэнфорде совершили огромный шаг вперед: впервые была создана полная цифровая модель организма и всего его жизненного цикла. Для создания компьютерной модели крошечной бактерии Mycoplasma genitalium потребовалось написать 28 независимых взаимодействующих друг с другом модулей, симулирующих процессы живой клетки и оперирующих 1.900 параметрами. Для описания их поведения использовались 900 различных научных отчетов. Сложность модели высока: лишь для процесса деления одноклеточного требуется 10 часов симуляции, а на выходе получается полгигабайта данных.

Mycoplasma genitalium — простой паразит, обитающий в мочеполовых и дыхательных путях. Бактерия привлекает исследователей в первую очередь размером своего генетического аппарата — у M. genitalium всего 525 генов, в то время как у более традиционной лабораторной E. coli их 4.288. Несмотря на характер микроорганизма и трудности в работе с паразитом, малое количество генов делает его привлекательным для биоинженеров: именно с участием M. genitalium в 2008 году впервые была создана искусственная хромосома.
Читать дальше →
Total votes 97: ↑90 and ↓7 +83
Comments 81

Идеальный ученик, или о чем умалчивают в машинном обучении

Reading time 12 min
Views 23K
Ранее habrahabr.ru/post/145309 мы сделали обзор подхода к универсальному искусственному интеллекту (ИИ). Но что такое универсальный ИИ? Чего именно недостает современным практическим системам ИИ, чтобы называться универсальными? Для большей конкретности обсуждения этого вопроса давайте рассмотрим его на примере машинного обучения, являющегося необходимым компонентом ИИ.
Читать дальше →
Total votes 50: ↑49 and ↓1 +48
Comments 68

Information

Rating
Does not participate
Registered
Activity

Specialization

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