Pull to refresh
52
0
Алексей @alco

User

Send message

Искуственный интеллект с нечеткой логикой в аркадной игре

Reading time10 min
Views16K

Введение или как я писал свой первый ИИ


Доброго времени суток. Я написал свой первый искуственный интеллект много лет назад, когда учился в колледже. Тогда это был ИИ для змейки в необычной для змеек игре — Serpent's Madness (ссылка ведет на мой сайт игры), в которой последние могут двигаться в любом направлении. Скриншот ниже демонстрирует это:



Тогда это был детерминированный алгоритм, т.е. алгоритм с четкой последовательностью действий, когда на каждом шаге можно точно сказать, что будет на следующем. Выглядел он приблизительно так
Читать дальше →
Total votes 65: ↑55 and ↓10+45
Comments21

Введение в jQuery Mobile

Reading time6 min
Views25K

Введение в jQuery Mobile


Мобильная стратегия jQuery может быть легко объяснена — это внедрение пользовательского JavaScript в наиболее часто используемые браузеры на мобильных платформах.
Основной ценностью нашего подхода является широкий спектр платформ, поддерживаемых jQuery Mobile. Мы прилагаем все усилия, что бы jQuery поддерживал все мобильные браузеры, по крайней мере занимающие номинальную долю рынка.
Что бы обеспечить широкую поддержку, все страницы в jQuery Mobile построены на чистом HTML, это обеспечивает совместимость с довольно многими web-ориентированными устройствами. В устройствах, которые интерпретируют CSS и JavaScript, jQuery Mobile применяет прогрессивные методы, что бы ненавязчиво преобразовать семантические страницы используя богатый интерактивный опыт и мощь Query и CSS. Стандарты доступности активных интернет-приложений, таких как WAI-ARIA тесно интегрированы во всей структуре для оказания поддержки для чтения с экрана.
Читать дальше →
Total votes 30: ↑18 and ↓12+6
Comments21

О чем недоговаривают производители SSD [Обновлено!]

Reading time4 min
Views52K
Это перевод статьи с сайта «The SSD Review». По правде сказать, это не совсем перевод — скорее выжимка смысла с добавлением графиков, которые говорят сами за себя. Я намеренно оставил без внимания рекламу накопителей Intel. Ну и еще один момент — автор странно передергивает, сначала показывая преобладание random 4-8k write, а затем приводя на графиках как меру производительности random 4-8k read. Ощущение, что он сам что-то недоговаривает. Будет неплохо, если кто-то из компетентных людей оставит в комментариях свое мнение.

UPD:
Достоверность информации в статье подтверждена опытным путем. Проделал опыты, написал парсер и выложил результаты хабражитель deseven, за что ему огромное спасибо. Табличку с его данными вы можете посмотреть в конце статьи.

Вы задумались о покупке SSD? Речь пойдет о самом важном, что необходимо для этого знать. Данная информация покажет в выгодном свете лишь парочку-другую производителей, в то время как остальные окажутся в крайне невыгодном положении.

Итак, в чем же обман?
Читать дальше →
Total votes 202: ↑185 and ↓17+168
Comments291

Как Facebook разрабатывает код

Reading time8 min
Views2.5K
Перевод оригинальной статьи.

Как Facebook разрабатывает код


Я очарован тем, как работает Facebook. Это очень уникальный социум, не легко воссоздаваемый (и их метод не работал бы для всех компаний, даже если бы они попытались). Это заметки, накопленные из разговоров со многими друзьями из Facebook о том, как компания разрабатывает и выпускает программные продукты.

Прошло более шести месяцев с момента, как я собрал эти наблюдение, и я уверен, что даже сейчас Facebook постоянно совершенствует свои методики разработки ПО. Так что эти заметки, возможно, немного устарели. А также, похоже, что культура Facebook, управляемая разработчиками, получает всё большее внимание общественности. Так что я чувствую себя теперь более комфортно, выпуская эти заметки… ОГРОМНОЕ спасибо многим людям, которые помогли собрать воедино это представление о Facebook изнутри! Также выражаю благодарности людям epries и fryfrog, которые внесли исправления и отредактировали.

UPD: перевод не является красочным литературным произведением, которое читается и захватывает дух. Поэтому, если есть возможность, лучше прочтите оригинал на английском.

Читать заметки
Total votes 112: ↑80 and ↓32+48
Comments44

Выключение внутреннего экрана ноутбука в Lion

Reading time1 min
Views7.4K
В Mac OS X Lion компания Apple изменила поведение макбуков при закрытии крышки с подключенным внешним монитором, это было специальное изменение, о чём можно судить из документации: support.apple.com/kb/ht3131

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

На днях на форумах Apple наконец-то появилось решение, возвращающее поведение как в Snow Leopard.
Читать дальше →
Total votes 41: ↑35 and ↓6+29
Comments28

Тестирование поведения приложения в условиях нехватки памяти

Reading time2 min
Views7.3K
В android мы можем перехватить событие low memory для нашего приложения или активити, путем установки им через registerComponentCallbacks в качестве обрабочика наследника от интерфейса ComponentCallbacks переопределив ему метод onLowMemory.

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

Так же система гарантирует что после вызова onLowMemory будет вызвана системная сборка мусора (garbage collector)

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

И есть и второй способ — изменить данный лимит, о чем собственно и речь пойдет ниже.
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments12

Альтернативные аллокаторы памяти

Reading time13 min
Views90K
Написал Стивен Тови в 2:29 утра по программированию (шутка юмора Google Translate)
Вступление от себя: эта заметка, прорекламированная Алёной C++, предназначена в основном разработчикам игр для консолей, но будет, наверное, полезна и всем, кому приходится сталкиваться с экстремальным аллоцированием динамической памяти. Возможно, любители посравнивать управление памятью в C++ и Java тоже найдут над чем задуматься.

Оригинал с небезынтересной дискуссией в комментариях: altdevblogaday.org/2011/02/12/alternatives-to-malloc-and-new


Обязательная вступительная басня

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

Сейчас объясню, почему...
Total votes 75: ↑72 and ↓3+69
Comments59

Google voice + ipkall + sipnet == Звоним в любую точку США бесплатно

Reading time3 min
Views31K

После того как я довольно плотно подсел на иглу виртуального шоппинга передо мной встал вопрос поиска дешевого решения для приема звонков из Американских магазинов.
Естественно можно купить прямой skype номер, но это стоит каких-то, но денег, а так как принимать звонки от магазинов приходится не так часто, то надо было найти решение поэкономичней.
Читать дальше →
Total votes 130: ↑124 and ↓6+118
Comments74

Обзор читалок для iPhone

Reading time3 min
Views187K
image

Одной из причин покупки iPhone для меня стала возможность комфортного чтения электронных книг. Родная читалка iBooks появилась только в OS 4.0, поэтому пока что приходится пользоваться сторонними программами, самые интересные из которых я в этой статье и рассмотрю.

Читать дальше →
Total votes 80: ↑56 and ↓24+32
Comments103

Блокировка экрана в OSX по хоткею

Reading time1 min
Views4.7K
Привет тебе хабрапользователь!

Недавно я столкнулся с необходимостью блокировки экрана на маке. Что я смог нагуглить меня не удовлетворяло по разным причинам, захотелось просто по хоткею блокировать экран. Как оказалось добавить эту возможность самому не представляет никаких трудностей, и всего 10 минут времени.
Если есть желание узнать как это сделать, добро пожаловать под хабракат
Total votes 54: ↑42 and ↓12+30
Comments109

Массовый сбой консолей PS3

Reading time1 min
Views1K
В ночь с 28 февраля на 1 марта 2010 года большинство консолей PlayStation 3, принадлежащих жителям Северной Америки, Европы (в том числе и России) и Австралии лишились возможности подключения к сетевому сервису PlayStation Network. При попытке установить соединение с PSN на экран выводится сообщение о возникновении ошибки 8001050F.

Ошибка 8001050F на моей PS3 :(

Upd:По сообщению в блоге Playstation.Blog, функционирование всех консолей полностью восстановлено. Обновления, что характерно, никакого не вышло. Проблема заключалась в том, что консоль по каким-то причинам посчитала 2010 год високосным и попыталась установить дату в 29 февраля, что привело к сбросу даты и неработоспособности части онлайновых сервисов.

Подробности об ошибке
Total votes 66: ↑40 and ↓26+14
Comments38

Цифры Интернета

Reading time1 min
Views741
На сайтах посвященных IT тематике, включая, конечно же, наш любимый Хабр, мы постоянно наталкиваемся на новости, вроде "В Твиттер отправляется более 50 миллионов твитов в день", или "Более миллиарда роликов проигрывается на YouTube ежедневно", и так далее. Но что будет если собрать всю эту Интернет-статистику в один ролик? Jesse Thomas сделал именно это, собрав множество информации в одном замечательном ролике, и полученный результат впечатляет, даже если многие цифры из «достижений» Интернета вам были известны до этого.



Растем, не правда ли?
Total votes 54: ↑46 and ↓8+38
Comments24

Постмортем iPhone игры Finger Physics

Reading time9 min
Views1.6K
Игра Finger Physics была разработана московской командой PressOK Entertainment (Reaxion) и выпущена в сентябре 2009 года на платформе iPhone/iPod. Игра попала в Top-5 платных приложений в США, а бесплатная версия заняла почетное первое место. Finger Physics в разы окупил свой бюджет, был загружен более 2,5 млн раз, получил множество положительных рецензий и успел побывать в руках у самого Стива Джобса (пруфлинк) на январской презентации iPad.

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

Finger Physics начинался как личная разработка сотрудников, в свободное от основной работы время, в итоге став полноценным проектом компании, принесшим бесценный опыт разработки на новой платформе и кардинально поднявшим моральный дух команды.

Читать дальше →
Total votes 82: ↑67 and ↓15+52
Comments26

Советы по конфиденциальности в Живой ленте Google

Reading time1 min
Views877
Поскольку стали возникать вопросы о проблемах конфиденциальности Живой ленты (Google Buzz), вот краткая инструкция на этот счет.

1. Первым делом закройте от публичного доступа список своих подписок и подписчиков. Это делается в личном аккаунте (http://www.google.com/profiles/me/editprofile?edit=t#about), галочка «Отображать список моих подписок и подписчиков». По умолчанию эта галочка включена, что позволяет любому желающему увидеть ваш список контактов — теоретически это может быть вся ваша адресная книга. Снимите эту галочку.

2. Отпишитесь от всех малознакомых личностей, от кого вы не хотите получать обновления. Для этого зайдите в «Подписки» (не «Подписчики»!) и нажмите «Удалить» напротив таких людей.

3. Чтобы ваши обновления не могли читать те, кого вы не хотите видеть в своей аудитории, есть два способа. Первый, наиболее брутальный: просто заблокируйте неугодных подписчиков. Для этого зайдите в «Подписчики» (не «Подписки»!) и нажмите «Удалить» напротив таких людей. Второй способ более грамотный — распределить контакты по группам («Друзья», «Коллеги», «Семья», можете создать другие группы). Это делается в разделе «Контакты» Gmail. Затем, когда будете ставить обновление, задайте ему ограниченный доступ и пометьте галочкой те группы, которые смогут его увидеть. Контакты из неотмеченных групп это обновление не увидят.

Обновление. Оказывается, первый пункт можно выполнить проще. Внизу диалога «Подписчики» есть галочка «Показывать в моём профиле списки пользователей, подписчиком которых я являюсь, и пользователей, которые являются моими подписчиками». Снимите её и нажмите «Готово».
Total votes 90: ↑72 and ↓18+54
Comments71

Новый смартбук от HP

Reading time1 min
Views35
Сегодня HP объявила о выходе нового смартбука (первого для них) под именем Compaq Airlife 100.

Что такое смартбук? — это гигантский телефон-раскладушка. Устройство внешне похоже на нетбуки и имеет следующую начинку:

1ГГц процессор на базе ARM
16Gb SSD накопитель
Wi-Fi и 3G модуль
SD кардридер
0.3MPx веб-камера
аккумулятора в режиме работы хватает на 12 часов, на 10 дней в режиме ожидания.
размер клавиатуры составляет 92% от полноценной ноутбучной
Устройство работает под управлением OS на базе Android!

Ходят слухи, что использовалась платформа Qualcomm Snapdragon, но HP их пока не подтвердили.

большая фотка под катом
Total votes 51: ↑39 and ↓12+27
Comments111

Об обучении нейросетей

Reading time3 min
Views13K
image
Это статья уровня 2 (см. ниже).
Статья является логическим продолжением моего рассказа про сверточные нейронные сети и их применения для распознавания изображений.
Прежде чем продолжить хочу дать понимание чем же все таки занимаются люди из области Машинного обучения и какова их глобальная цель. Глобальная цель — это порабощение всех людей машинами создание методов и алгоритмов, способных путем обучения выстраивать сложные и нелинейные модели внешнего мира. В качестве пояснения предлагаю взглянуть на картинку, благодарно позаимствованную из [1]. Сейчас человечество уже умеет создавать алгоритмы, способные учится простым операциям, но что насчет такого вот преобразования — у нас есть изображение сидящего человека которое по сути является сырым вектором значений яркости картинки в каждой точке. И нам необходимо постепенно повышая абстрактность этих сырых данных сделать вывод «человек сидит». Отсюда собственно главный вопрос: Как создать систему способную не только понять простые (пусть и нелинейные) зависимости, но также обучиться сложным, многомерным и многоуровневым иерархиям представлений реального мира?
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments32

Переlator

Reading time9 min
Views20K
По ходу своей работы я сталкиваюсь с маленькими задачами, которые отнимают много времени (при решении «в лоб»). Иногда получается найти средства для быстрого решения этих задач, иногда нет. Во втором случае, чаще всего, я быстренько пишу собственные маленькие программы, которые позволяют максимально упросить решение задачи.

Недавно столкнулся с одной такой задачей. Всё чаще стала возникать необходимость перевести какой-то текст. То на иврите нужно перевести абзац, то на китайском сайте нужно было почитать обсуждение, то при написании письма зарубежным коллегам не получается перевести «хитрое» предложение — приходится обращаться к онлайн сервисам перевода («подглядеть», что подскажут). Я пользовался сервисами ПРОМТ и Google. Такой подход мне начал надоедать, и я за пару вечеров набросал контекстный переводчик, который использует сразу три сервиса от компаний: Google (Google Translator), Microsoft (Bing Translator), ПРОМТ (мобильная версия).

image

Уверен, что мои наработки кому-то окажутся полезными.

Эту мини-статью я разделю на две части. Первая посвящена тем, кто хочет просто установить программу и пользоваться ей. А вторая, тем только делает первые шаги в освоение разработки «под» Mac OS X и iPhone (сделали первую программа «Конвертер» по руководству от Apple, но уже имеющие желание писать коммерческое ПО).

Читать дальше →
Total votes 94: ↑86 and ↓8+78
Comments60

Самое ужасное собеседование в моей жизни

Reading time4 min
Views40K
Привет, читатель Хабра!

Было ли когда-нибудь в Вашей жизни собеседование, после которого в лучшем случае Вы вышли в холодном поту и сказали: «Ну они там и звери, эти HR-ы!», а в худшем – настроение упало на весь день и не только день?
У меня, например, было. Сейчас расскажу как.
Читать дальше →
Total votes 261: ↑205 and ↓56+149
Comments247

50 цитат о программировании всех времён

Reading time6 min
Views160K
Перевёл после прочтения комментариев к статье «О ненависти к C++». В цитатах можно найти ответы на большинство возникших там вопросов.

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

49. Lisp — это не язык, а строительный материал.
— Alan Kay

48. Ходить по воде и разрабатывать программы, следуя спецификации, очень просто… если они заморожены.
— Edward V Berard
Читать дальше →
Total votes 344: ↑336 and ↓8+328
Comments136

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity