Как стать автором
Обновить
52.2
Карма
0
Рейтинг
Максим @i4niac

Пользователь

  • Подписчики 5
  • Подписки 4
  • Публикации
  • Комментарии

Вычисление факториала на числах Чёрча

Ненормальное программированиеJavaScriptФункциональное программирование
Доброго дня, друзья!

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

Для того, чтоб жизнь мёдом не казалась, ограничим себя небольшим подмножеством языка JavaScript, а именно, будем использовать только анонимные функции от одного аргумента. Больше нам ничего не потребуется (ну почти).

Начнем с определения факториала, и посмотрим, что нам понадобится в процессе решения задачи:

var fact = function (n) {
  if (n === 0) return 1;
  return n * fact(n - 1);
};


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

Готовы?
Ну тогда поехали.
Всего голосов 51: ↑51 и ↓0+51
Просмотры25K
Комментарии 47

Ошибки новичка в сфере разработки игр

Разработка под iOSРазработка под AndroidUnity

Оригинал изображения

Полгода назад я рассказывал про свой опыт работы фрилансером на oDesk. После этого я решил оставить разработку Android приложений на заказ и заняться своей давней мечтой — созданием игр. Мы с друзьями объединились, и работа закипела…

Для начала хочу рассказать о текущем состоянии проекта:
Время от разработки до публикации: 2 месяца
Время нахождения в магазинах приложений: 3 месяца
Загрузки iOS: > 15000 (93 % русскоязычные пользователи)
Загрузки Android: > 35000 (63 % русскоязычные пользователи)

Данный проект не является финансово успешным на данный момент, поэтому я хочу рассказать о наших ошибках.
Статья в первую очередь предназначена для новичков в сфере разработки игр.
Читать дальше →
Всего голосов 55: ↑50 и ↓5+45
Просмотры97K
Комментарии 22

Автоматизация тестирования iOS-приложений с применением Calabash и Cucumber

Блог компании Mail.ru GroupRubyРазработка под iOSТестирование мобильных приложений


В процессе разработки любого приложения наступает момент, когда в связи с ростом функциональности трудозатраты на регрессионное тестирование становятся непомерно велики. Другая причина значительной трудоемкости тестирования iOS-приложений (так же как и любых других мобильных приложений) — разнообразие линейки поддерживаемых устройств и версий ОС, необходимость тестирования в альбомном и портретном режимах, а также при различных условиях соединения с интернетом. Стремление оптимизировать процесс тестирования приводит нас к необходимости его полной или частичной автоматизации.

В этой статье я расскажу о том, как мы автоматизируем тестирование наших приложений (ICQ и Агент Mail.Ru), поделюсь нашими наработками в этой области и упомяну о проблемах, с которыми мы сталкиваемся.
Читать дальше →
Всего голосов 48: ↑46 и ↓2+44
Просмотры31K
Комментарии 10

«Математика – один из видов искусства»: пост к столетию со дня рождения Мартина Гарднера

Блог компании Wolfram ResearchЗанимательные задачкиПрограммированиеРазработка игрМатематика
Перевод
Tutorial

Перевод поста Эда Пегга Младшего (Ed Pegg Jr) "Martin Gardner’s 100th Birthday"

Я думаю, содержание этого поста будет интересно всем, кто любит математику и ее красоту, всем, кто знаком с замечательными книгами и задачами Мартина Гарднера, а также будет полезно учителям, школьникам и студентам. Все ссылки в данном посте ведут на сайты Wolfram Demonstrations Project (коллекция бесплатных интерактивных демонстраций, созданных пользователями системы Mathematica на языке Wolfram Language с помощью технологии Computable Document Format (CDF), при этом для вас доступны исходные коды всех демонстраций, а значит, вы можете каждую из них скачать, изучить и изменить под себя) и Wolfram MathWorld (крупнейшая и самая авторитетная онлайн-энциклопедия по математике).

Gardner100_1.gif

Читать далее...
Всего голосов 78: ↑75 и ↓3+72
Просмотры57K
Комментарии 18

20 ноября — запуск первой стратегической MMO-игры для… программистов

Я пиарюсь
В следующий четверг состоится запуск проекта, над которым мы работали последние несколько месяцев. Screeps — первая известная мне стратегическая игра в MMO-песочнице, созданная для программистов. Вместо традиционного Point'n'click, геймплей заключается в написании и постоянном улучшении программы для AI ваших юнитов на JavaScript, которая управляет ими непрерывно и автономно — даже когда вы не онлайн. Это радикально новая идея, и если вы программист, вам определенно стоит на это взглянуть.



Если вы программист, то не думали ли вы в предыдущий раз, когда играли в свою любимую онлайн-игру, чтобы было бы здорово как-нибудь ее автоматизировать? Зачем тратить время своей жизни на выполнение действий, которые легко выполняются ботом? Почему вы должны каждый день заходить в игру, чтобы получить награду, если с этим легко справился бы скрипт? Больше никакой бессмысленной траты времени на действия, которые под силу и ребенку, мы же способны на большее. В Screeps скрипты не просто разрешены, Screeps это игра о скриптах!

Под катом технические и игровые подробности.
Читать дальше →
Всего голосов 72: ↑70 и ↓2+68
Просмотры21K
Комментарии 80

Полноценный процессор в Minecraft: как он работает, как на нем программировать и для чего он?

AssemblerКодобред
Из песочницы
Все, наверное, знают, что в песочнице Minecraft можно делать абсолютно всё. Различные цифровые схемы и процессоры создают в Minecaft уже с давних пор. Но тот процессор, о котором я пишу, на самом деле уникален! Его название — DjCPU8.



Почему он уникален? По многим причинам. Давайте по порядку:

1) Скорость работы. Это пока самый быстрый процессор такого уровня в Minecraft. Одна инструкция выполняется примерно 1 секунду.
2) Количество памяти. Оперативной памяти аж 256 байт. Не знаю других ЭВМ с таким объемом памяти.
3) Вычислительные способности. 42 инструкции. Работает с арифметикой, логикой, стеком, вводом/выводом, регистрами и т.д.
4) Ассемблер. В других процессорах нужно вводить программу в двоичном виде. Но в DjCPU8 можно вводить ее текстом.
5) Простота. Ни с какой другой ЭВМ невозможно так просто и приятно работать.
6) Широта применения. Порты ввода/вывода можно создавать в любом месте.
Читать дальше →
Всего голосов 170: ↑142 и ↓28+114
Просмотры164K
Комментарии 68

Лучшие плагины для Sublime Text

Разработка веб-сайтовПрограммирование

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



Читать дальше →
Всего голосов 116: ↑114 и ↓2+112
Просмотры601K
Комментарии 101

Абстракции в компьютерном покере

Искусственный интеллект
image

Компьютерный покер является весьма нетривиальной задачей в первую очередь из-за громадного количества игровых состояний, которое настолько велико, что мечтать о непосредственном решении этой игры не приходится. Единственным способом хоть как-то научить машину играть в покер является переход к абстракции — уменьшенной копии покера, в которой близкие в стратегическом смысле ситуации исходной игры объединены воедино. Именно вопросам абстракций в покере и посвящена данная заметка.
Читать дальше →
Всего голосов 103: ↑94 и ↓9+85
Просмотры46K
Комментарии 22

То, чего еще никто не писал про Нокиа, Элопа и горящую платформу

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

Традиционно, для тех кто не любит много буков, краткие (более-менее) тезисы:

  • Будучи долгое время лидером на рынке, Нокиа сильно расслабилась и загадила свою внутреннюю инфраструктуру бюрократией, чрезмерным аутсорсингом и огромным количеством бесполезной «менеджерской прослойки».
  • Будучи долгое время лидером, Нокиа просрала потратила много денег на ненужные операционные расходы, поглощения никому не нужных фирм и на невменяемую модель аутсорсинга.
  • Полностью оторвавшись от реальности с уходом Йормы Оллилла, Нокиа, под управлением гениального юриста CEO Олли-Пекки Каласвуо, потратила кучу денег и усилий на создание бесполезной и неконкурентоспособной сервисной инфраструктуры Ovi. В результате этого, помимо денег, Нокиа потеряла уйму полезного времени, которое можно и нужно было потратить на развитие основного бизнеса — телефонов, софта и т.д.
  • Бюрократия и непотопляемая менеджерская прослойка в Нокиа, последовательно мигрировала из одного передового проекта в другой, в составе одних и тех же групп лиц, самореплицируясь в виде кучи формальных дебилопроцессов комитетов и управленческих групп, немного перетасовываемых с учетом специфики. В итоге именно эта бюрократия убила и Symbian, и Ovi, и MeeGo и остальные попытки догнать уходящий поезд своими силами.
  • Борьба с бюрократией и прослойкой в Нокиа зашла в полный тупик.
  • У великого CEO Элопа просто не было другого выхода кроме как прибить всю старую, неповоротливую и прогнившую организацию, путем создания альянса с Майкрософтом и переходом на Windows Phone. Тем самым все старые процессы, компетенции, технологии и самое главное — люди резко стали, что называется, «не в тему». И следовательно тем самым можно было под благовидным предлогом прибить этот табун менеджеров, бесконечно рисующих фэнтезийные роадмапы с единорогами и перекладывающих бумаги с левого края стола на правый.
  • Новая Нокиа, после 2011 года и старая Нокиа до 2011 года – это две РАЗНЫЕ организации. Их объединяет только общее название и операционка S40 для телефонов Asha.
  • Горящая платформа, это не Symbian и не MeeGo. Горящая платформа, это то состояние в которое Нокиа загнали годы расслабленного лидерства и тупоголовые амбиции предыдущего CEO – Олли-Пекки Каласвуо с кликой подкаркивающих вице-президентов.
  • С бюрократией и бизнес процессами, имеющимися на 2010 год, Нокиа не спас бы ни Андроид, ни половина населения Бангалора, пишущих на Qt под MeeGo. Даже если бы Apple бесплатно передал Нокиа iOS и все сервисы, то они бы выродились руками всяких Requirement Managerов в типичные Нокийские дизайн-химеры и в итоге загнулись через какое-то время.
  • То, что сделал великий CEO Элоп – было единственно возможным разумным решением, дающим хоть какие-то шансы на выживание. Вопрос «каким образом он это сделал?», остается открытым, равно как и вопрос «поможет ли это Нокиа?» в итоге. Не следует забывать, что нынешняя Нокиа — это совершенно новая организация, поэтому глупо предполагать, что она разом вернет себе лидерство. Как и всем новым организациям ей придется за это лидерство долго бороться.
  • Без ошибок и побед Нокиа никогда не было бы ни Андроида, ни Айфона. И Google и Apple тщательно проанализировали достоинства и недостатки более старших конкурентов перед тем как шагнуть вперед.

Все это в деталях — под катом. Предупреждаю что клевых картинок там нет. Сплошное графоманство и ёрничанье.
Читать дальше →
Всего голосов 548: ↑505 и ↓43+462
Просмотры271K
Комментарии 330

Размеры экранов

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

Попробуем разобраться со всеми хитростями, связанными с этими параметрами. Начнём с планшетов.
Вот соотношение размеров экранов, использующихся в большинстве современных планшетов.



Обратите внимание, насколько экран 8" с соотношением сторон 4:3 визуально больше широкого экрана 7". А широкий экран 10.1" на сантиметр меньше экрана 9.7" по высоте.

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



Текст на экранах с низким PPI (количеством точек на дюйм) читается не комфортно. Я бы не стал покупать планшет с экраном, имеющим PPI ниже 150. Даже 164 PPI экрана iPad mini многим кажутся недостаточными. Отлично воспринимаются экраны с PPI больше 200.

Для меня было большим открытием, что экран 9.7" 1024x768 имеет даже меньшее PPI, чем экран 7" 800x480.

Читать дальше →
Всего голосов 157: ↑147 и ↓10+137
Просмотры290K
Комментарии 69

Вам календарик 2013

Дизайн


Добрые традиции — это здорово! Календарик!

В карман (100×70мм):
pdf, eps, svg или png (1185×829, 300dpi)

На стенку (A4):
pdf, eps, svg или png (3512×2457, 300dpi)

Сделай сам:
Генератор календариков (Python, CC-BY)

Читать дальше →
Всего голосов 197: ↑176 и ↓21+155
Просмотры55K
Комментарии 34

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

Искусственный интеллект

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


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

Смысл НДС

Финансы в IT
Думаю многим приходится сталкиваться при общении с заказчиками с вопросом — «А вы работаете с НДС или без НДС?». Постараюсь кратко объяснить в чем суть этого вопроса и в чем суть самого налога на добавленную стоимость. Понимание этого даст вам преимущество перед вашими конкурентами, которые отвечают не задумываясь.
Читать дальше →
Всего голосов 147: ↑119 и ↓28+91
Просмотры80K
Комментарии 174

MIX: первый день, ВСЕ что вы хотели узнать про Windows Phone 7 и Silverlight 4

IT-компании

Полное и абсолютное руководство по материалам, представлнным вчера на MIX

.
image

Конференция MIX – это крупнейшее событие в мире web-разработки: три дня, более 130 докладов и сессий, десятки докладчиков с разных компаний со всех уголков мира. Подробное описание конференции я сделал в этой заметке, обратитесь к ней, если хотите узнать что это за мероприятие и какие темы на нем обсуждаются.

Напомню, что всю информацию и онлайн-трансляцию можно найти по адресу http://live.visitmix.com/ .

Запись прошедшего keynote уже можно посмотреть по адресу www.microsoft.com/presspass/events/mix/videogallery.aspx

Что же принесла конференция в свой первый день.
Ниже ОЧЕНЬ много картинок (они небольшие). Много текста.

Читать дальше →
Всего голосов 131: ↑109 и ↓22+87
Просмотры709
Комментарии 111

Как загружается ARM

Компьютерное железо
Прошлый мой топик был полностью теоретическим, этот же будет практическим. Практика будет довольно хардкорной (я сам занялся этим вопросом только через год работы с ARMами) — инициализация процессора и памяти. Иными словами: что нужно сделать с процессором, чтобы попасть в функцию main(). Первая часть статьи посвящена инструментам сборки и отладки. Вторая — обработке векторов исключений, третья — инициализации стеков и памяти.
Но сначала хочу сделать одно уточнение. Многие почему-то считают, что ARM — это обязательно монстр со внешней памятью, кучей обвязки, работающий на частоте не менее 600Mhz, и т.д. Это правда лишь отчасти (если говорить об ARM9 и более поздних семействах). Тот чип, с которым я обычно работаю (AT91SAM7X512), не намного сложнее знакомых многим AVR. Ему для работы нужны только кварц и питание (можно и без кварца, но тогда будет совсем грустно). Всё. Но возможностей у него, конечно, больше, много больше, чем у AVR. Но об этом позже. Сегодняшняя статья никак не будет привязана к конкретному железу.
Читать дальше →
Всего голосов 62: ↑60 и ↓2+58
Просмотры10K
Комментарии 35

15 Вопросов на собеседовании в Google, из-за которых вы можете почувствовать себя глупым

IT-компании
Перевод
15 вопросов от Google
Google снова набирает людей.
Это отличная новость для тысяч начинающих менеджеров и разработчиков ПО, желающих найти спокойную пристань в эти сложные дни.
Теперь плохие новости:
  • Google предпочитает людей из «Лиги Плюща»
  • Им интересны ваши оценки (в институте), даже если вам уже за 30
  • Они ищут людей, которые хотят изменить мир

Хуже того, если вы подходите по всем этим параметрам, вам все равно надо проходить собеседование.
Льюис Пин (Lewis Pin), тренер по поиску работы из Сиэтла, собрал 140 вопросов, которые в Google спрашивали его клиентов.

Сколько шариков для гольфа поместится в школьный автобус?


Сколько шариков для гольфа поместится в школьный автобус?
Позиция: Менеджер проекта

Читать дальше →
Всего голосов 268: ↑231 и ↓37+194
Просмотры181K
Комментарии 525

Наглядно о ДНК

Научно-популярное


В институте Walter и Eliza Hall (Австралия), сделали несколько отличнейших анимаций о самых базовых процессах происходящих в нашем организме. Все процессы показаны в реальном времени.

1. Показано как молекула ДНК длинной ~1.8метра, упаковывается в хромосому.
2. Копирование ДНК с помощью молекулярной машины — Хеликазы.
3. Переписывание ДНК в РНК, чтобы произвести далее белок гемоглобин.
4. Перевод РНК в гемоглобин с помощью рибосомы.
5. Гемоглобин и Серповидно-клеточная анемия.

К сожалению у видео не очень хорошее качество. Пытался свести качественное видео с сайта института( оно там 600 x 480 ) с этим звуком — не сходится во многих местах ;(

Тут есть этот ролик, но без комментариев, зато в отличном качестве, а заодно и все остальные ролики по биологии. Большинство в 600x480. Апоптоз (программируемая смерть клетки), Диабет первого типа, Заражение малярией, Ответ имунной системы на заражение, злокачественная(рак) опухоли.
wehi.edu.au/education/wehi-tv
Всего голосов 80: ↑75 и ↓5+70
Просмотры1.3K
Комментарии 43

Автор SauceKit арестован

Чулан
В Лас-Вегасе арестован Кристофер Кеннеди (Christopher Kennedy), который обвиняется в продаже зловредного софта под названием SauceKit. Это программа позволяет незаметно внедрять ничего не подозревающим пользователям чужие реферальские куки. Достаточно просто опубликовать специальный скрипт на каком-нибудь форуме (скрипт можно внедрить разными способами) — и все посетители форума станут вашими рефералами на eBay. Соответственно, вы получите своё партнёрское вознаграждение от eBay Partner Network. Как сообщается, некоторые владельцы SauceKit зарабатывают до $10 000 ежемесячно, используя этот софт (подробности см. в ордере на арест, PDF).
Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Просмотры193
Комментарии 30

Обзор торговых роботов

Финансы в IT
Привет, хабралюди! Все мы знаем про Forex, может даже кто-нибудь из Вас и пытался (или до сих пор пытается) на нём играть заработать на жизнь, пиво, телефон, машину, стартап (нужное подчеркнуть). Но в нашей жизни полностью уделить все время торговле на валютном рынке, практически не реально и в следствии чего появились автоматические торговые эксперты.
В данном посте я расскажу о некоторых платных советниках, которые я покупал и использовал на реальном счете. Все графики и цифры взяты из личного опыта и никаким образом не отношусь к разработчикам советников.
Так что предлагается выбрать «красную» или «синюю» таблетку :)

Синяя таблетка...
Всего голосов 165: ↑130 и ↓35+95
Просмотры15K
Комментарии 183

Android Market — заработай себе на пиво

Разработка под Android
Буквально месяц назад решил попробовать зарабатывать на приложениях для Android.
Хотелось бы поделиться своим, хоть и небольшим, опытом.
Читать дальше →
Всего голосов 88: ↑81 и ↓7+74
Просмотры19K
Комментарии 97

Информация

В рейтинге
Не участвует
Откуда
Sutherland, New South Wales, Австралия
Дата рождения
Зарегистрирован
Активность