Как стать автором
Обновить
-11
0
Сергей @tac

Программист

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

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

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

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

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



Читать дальше →
Всего голосов 14: ↑7 и ↓7 0
Комментарии 60

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

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

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

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

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

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

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

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

Вступление



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

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

Читать дальше →
Всего голосов 42: ↑33 и ↓9 +24
Комментарии 26

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

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

Tasks и Back Stack в Android

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

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

Время на прочтение 10 мин
Количество просмотров 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.
Наверное, самое время напомнить, что использование неофициальных прошивок лишает нас гарантии, но где наша не пропадала. И несмотря на то, что большинство операций безопасно — всегда нужно четко понимать что и зачем делается, дабы не причинить необратимый вред своему андроиду
Читать дальше →
Всего голосов 79: ↑73 и ↓6 +67
Комментарии 46

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

Время на прочтение 6 мин
Количество просмотров 22K
image
Тетрапептид HABR несравненен

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

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

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

Читать дальше →
Всего голосов 32: ↑32 и ↓0 +32
Комментарии 13

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

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

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

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

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

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

Читать дальше →
Всего голосов 93: ↑91 и ↓2 +89
Комментарии 81

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

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

LSearch и ξtl


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

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

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

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


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

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

Время на прочтение 4 мин
Количество просмотров 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-перемешивания все-таки немного другой.

Читать дальше →
Всего голосов 125: ↑107 и ↓18 +89
Комментарии 86

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

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

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

Читать дальше →
Всего голосов 14: ↑10 и ↓4 +6
Комментарии 49

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

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

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

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

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

Читать дальше →
Всего голосов 39: ↑30 и ↓9 +21
Комментарии 69

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

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

image

Читать дальше →
Всего голосов 69: ↑66 и ↓3 +63
Комментарии 42

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

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

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

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

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

Китайская IP-камера

Время на прочтение 2 мин
Количество просмотров 47K
В день распродаж «чёрную пятницу» 25.11.2011 в числе прочего я купил две ip-видеокамеры по $25. Сейчас такая камера стоит около $45.



Читать дальше →
Всего голосов 58: ↑48 и ↓10 +38
Комментарии 103

Информация

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

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

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