Pull to refresh
3
0
Send message

Как легко и непринужденно написать игру за 2 года

Reading time5 min
Views24K
В данной публикации я расскажу о моём опыте разработки 2D игры под Android, которая затянулась на 2 года и набрала 15 загрузок в Google Play. Также поделюсь некоторыми мыслями по поводу разработки.



Предыстория


В один прекрасный день, когда на моей машине весело работал Debian Linux, а я бороздил просторы каталога конфигурационных файлов, попутно уничтожая свои нервные клетки, и ко мне пришла идея отдохнуть. Как и положено плохим парням с плохим зрением, я решил отдохнуть играя в какую-нибудь игру. Едва увидев скриншот игры Funny Boat, я понял, что мне срочно необходимо сделать её клон на Android.
Читать дальше →
Total votes 37: ↑32 and ↓5+27
Comments8

Использование кодовой базы проекта Chromium в качестве SDK для разработки кроссплатформенных приложений

Reading time11 min
Views15K
Помимо вполне понятной официальной документации (Chromium Wiki), существуют и статьи о том, как получить исходный код и собрать проект Chromium (например).

Я же хотел рассказать о том, как на основе этого кода можно создавать приложения на C++, способные компилироваться и выполняться на нескольких операционных системах и архитектурах. Конечно, для этой цели уже существуют библиотеки, такие как Qt и boost. Но именно поэтому данная статья относится к разделу 'ненормальное программирование', ведь никто всерьез не рассматривает код Chromium как основу для кроссплатформенного приложения.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments5

Дайджест продуктового дизайна, февраль 2016

Reading time15 min
Views12K
Уже шесть лет я публикую регулярные обзоры свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-декабрь 2015.


Читать дальше →
Total votes 25: ↑22 and ↓3+19
Comments0

Эволюция смартфонов. Часть 1: 1994 — 2010 годы

Reading time11 min
Views142K
Ещё в 2013 году я публиковал статью Старая реклама сотовых телефонов и смартфонов (с 1980-х годов по конец 2000-ых), там можно понаблюдать за самыми яркими телефонами с 1980-х годов.

Но в этот раз я хочу проследить именно за смартфонами — коммуникаторами, умными телефонами, фаблетами, плафонами и другими устройствами того же типа, одно только определение названия которых вызывало баталии среди гиков. И поэтому начать нужно именно с IBM Simon, выпущенного более 20 лет назад. Затем мы перейдём к устройствам на Symbian, появлению первого iPhone и первого Android-смартфона от HTC, вспомним устройства от Nokia и завершим путешествие новейшими гаджетами, представленными в 2016 году.

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

Если в статье не хватает конкретной модели — пожалуйста, напишите о ней в комментариях с изображением. Так мы сделаем «Эволюцию» более полной.


IBM Simon


IBM Simon имел большой монохромный дисплей 4,7 дюйма с разрешением 160х293 пикселя, а весил полкило без учёта док-станции. Эта футуристическая для того времени смесь компьютера и телефона без клавиатуры, но с сенсорным экраном, совместила в себе мобильник, пейджер, органайзер, почту, будильник. Работал гаджет на 16-битном процессоре Vadem VG-230 16 МГц. Кстати, оперативной памяти тут был целый мегабайт. Хотите посмотреть, что внутри? Читайте разбор на Хабре, а в посте на Geektimes читайте, как на этот гаджет можно загрузить картинки.

image
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments133

Как работают профессионалы. Евгения Арестова, генеральный директор ЦОД «Омский»

Reading time2 min
Views7.6K


Рубрика «Как работают профессионалы» продолжает знакомить читателей «Мегамозга» с рабочими привычками самых разных специалистов на IT-рынке. В преддверии Международного женского дня мы решили представить нашей аудитории еще одного интересного специалиста-женщину, работающую на важной должности.

Евгения Арестова — руководитель строящегося ЦОДа «Омский» (Tier III), одного из крупнейших за Уралом, вокруг которого планируется возведение городка с собственным логистическим парком, селькохозяйственным комплексом и малоэтажной застройкой на 14 тысяч человек. Так же генеральный директор компании «Открытое бизнес пространство», созданной для обеспечения полного цикла строительства и управления проектом «ЦОД «Омский».

Биография нашей героини более чем представительная: тут и два высших образования (Омский педагогический университет и Московская финансово-промышленная академия), работа в области консалтинга и государственного управления в городской администрации. С 2011 года Евгения занимала должность в Департаменте городской экономической политики, откуда в 2014 году вновь вернулась в консультирование, в этот раз — в строительной области. Воспитывает пятерых детей.
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments5

Стив Джобс и Святой Грааль: почему одни продукты становятся сверх-успешными, а другие провальными

Reading time4 min
Views6.9K


Почему одни стартапы и продукты проваливаются, а другие принимаются публикой «на ура» и приносят своим основателям миллионы?

Почему один и тот же человек — Стив Джобс создал два провальных продукта (Macintosh и NeXT) перед тем как произвести на свет бест-селлер iMac?

Почему любой провал нужно рассматривать как ступеньку к успеху?

Я попробую дать свой ответ на этот вопрос.
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments8

В чём не следует подражать Джобсу

Reading time6 min
Views17K


Заказчики, млеющие от форм знака БМВ, не думают, что цвета и их расположение намекают на флаг Баварии, а сектора в круге символизируют самолетные пропеллеры (двигатели к которым «Баварские мотозаводы» когда-то изготавливали). Данный знак хорош только тем, что стоит на хороших машинах.

Артемий Лебедев, «Ководство», § 103.


Презентации, которые делал Стив Джобс, считаются (заслуженно) яркими, интересными и запоминающимися. После его смерти титул самого крутого спикера компаний технологической сферы не имеет однозначного обладателя, но одним из перспективных кандидатов, несомненно, является Илон Маск. Он не так близок к миру IT (носит пиджак!) и внешне кажется непохожим на Джобса, но между ними можно найти немало общего. Многие эксперты (и на Мегамозге в том числе) препарируют их презентации в поисках рецепта успеха. Капитан Очевидность в моём лице хочет отметить, что основная часть успеха Маска и Джобса лежит не в области выступлений. Но пойду дальше и скажу, что учиться выступать, повторяя их стиль, может быть опасно.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments13

Как я написал игру за 3 года

Reading time3 min
Views55K
На днях я закончил создание своей небольшой игры и хочу описать вам путь, по которому я прошел. Хочу сразу оговориться, что моей главной целью было получение знаний и опыта в создании 3D игр для Android, и этого я успешно добился. По этой же причине я не использовал готовые движки.

image

Я начинал с создания карт для Counter-Strike: сделал карту с автобусной остановкой из своего города, пытался сделать школу. Круто же постреляться в родной школе? Это дало мне базовое понимание из чего состоит виртуальный мир.

Несколько позже я начал проходить туториалы по OpenGL на Android. Радовался как ребенок, когда впервые на экране телефона появился заветный треугольник!

image
*Картинка взята отсюда

Затем получился кубик с наложенной текстурой камня и появились мысли о создании своей простейшей игры. Перенос игры Portal на Android казался вполне достижимой задачей для новичка. Я сильно недооценивал предстоящий объем работ. Хорошо, что на то время уже существовал Portal в Google Play, и я успел создать только одну комнату.

Тогда я решил сделать что-то попроще и, увидев в Футураме бильярд без гравитации, решил его по-быстрому воплотить (пока другие не успели). Оказалось, что я по-прежнему недооценивал объем работ. И, кстати, бильярд без гравитации таки успели сделать раньше меня.
Читать дальше →
Total votes 93: ↑82 and ↓11+71
Comments64

Дурим DPI двумя скриптами

Reading time3 min
Views53K
Данная статья является лиш исследованием на тему и не должна использоваться как инструкция к действию.

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

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

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


Исходные данные:
Сайт(Адрес изменён): http://rutracker.og


Страница заглушка(Адрес изменён): http://198.51.100.0/...

Адрес страницы заглушки которая появляется при попытке открытия сайта. У каждого провайдера адрес страницы заглушки наверно разный.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments54

Лучшие бесплатные коллекции векторных иконок

Reading time2 min
Views334K
Привет, Хабр! Сегодня я хочу представить вам огромную коллекцию из 51 набора бесплатных векторных иконок. Да, есть потрясающие ресурсы Flaticon или Iconfinder, но бывают случаи, когда необходима именно группа иконок в едином стилистическом оформлении. Определиться с выбором, вам поможет эта подборка. Я старался собрать не как можно больше, а действительно самое лучшее.

Среди веб-разработчиков существует много споров о том, что лучше: иконочный шрифт или SVG спрайты? Четкого ответа на этот вопрос нет. Каждый выбирает свое. Данные наборы иконок вас неограничиывают в выборе, поскольку представлены в различных форматах: @font-face, SVG, EPS, AI, PSD, Sketch.

В целом данная подборка содержит более 10 000 иконок, охватывающих множество категорий: интерфейсы, технологии, наука, спорт, маркетинг, среда, транспорт и тд. Полые, заполненные, цветные, во Flat, Material, Elegant, Cartoon, Hand drawing стилях.

Responsive Icons (100 иконок, PSD, AI, EPS, SVG)


Responsive Icons

Читать дальше →
Total votes 91: ↑82 and ↓9+73
Comments23

Хабра-граф, -сообщества и куда же делась вся карма

Reading time7 min
Views29K

Вступление


Cегодня мы вместе с анализом графов, data mining, subgroup discovery и всеми веселыми штуками взглянем на Хабр. Весь код и данные прилагаются — каждый может взглянуть на них самостоятельно, легко повторить рассчеты из статьи и найти что-то интересное самостоятельно.




(это не просто картинка для привлечения внимания, а — граф связей ~45000 пользователей Хабра по тому, кто на кого подписан; размер вершины пропорционален числу подписчиков; все картинки кликабельны; подробности далее)



Обсуждаемые проблемы возникли, конечно же, далеко не вчера, но некоторые их аспекты кажутся мне достаточно новыми и поэтому достойными дискуссии, основанной на непредвзятых и репрезентативных данных. Например в комментариях этой статьи, увидел интересное утверждение:

Тут проблема в том, что на всем хабре за сегодня не насчитать больше 50-80 человек, которые вообще могут голосовать. У 90% пользователей карма просто ниже 5. Как итог оценивают комментарии и статьи только избранные. Это как жюри выходит такое.

И решил, что стоить его сформулировать в виде гипотезы и проверить:

Q1: Правда ли, что Хабр превратился в жюри-based сообщество, где два с половиной человека голосуют за статьи?

Вот в этой статье к нам вернулись "железные" Хабы и стало интересно, а как вообще представлены разные сообщества внутри Хабра? Формулируем в виде гипотезы:

Q2: Как сегментировано сообщество, или проще говоря сколько у нас здесь групп по интересам и соотвествуют ли они имеющимся хабам?

Последнее, но не менее интересное наблюдение, что активность на Хабре упала (по данным Хабра-пульса и моим субъективным наблюдениям), что даже решили ввести аккаунты "read & comment". Поэтому решил оценить активность сообщества и продумать, как информация о структуре сообщества может нам помочь:
Q3: Насколько активно сообщество и как нам может помочь структура внутренних групп?


За подробностями добро пожаловать под кат.

Структура статьи

Читать дальше →
Total votes 164: ↑162 and ↓2+160
Comments238

Руководство по HTML/CSS/JavaScript

Reading time13 min
Views211K

Frontend Guidelines

Правила и руководства оформления, форматирования HTML, СSS и JavaScript кода. Его цель — повысить качество кода и облегчить совместную работу и поддержку инфраструктуры.

От переводчика

Приветствую всех снова, меня зовут Максим Иванов, и сегодня я подготовил перевод, который, возможно, окажется для вас полезным. Бенджамин Де Кук (Benjamin De Cock), разработчик из Бельгии, собрал некоторые указания по оформлению кода, которые позиционируют себя как лучшие практики по написанию HTML, CSS, JS. Конечно, существует множество рекомендаций, например, есть хороший гайдлайн от Google, наверное, есть еще что-то, однако, если следовать хотя бы некоторым из них, то можно надеяться, что ваш код станет лучше. В отдельных случаях следование этим гайдлайнам не полезно, а совсем наоборот. В общем и целом, все зависит от вашего опыта и виденья дела, если вы новичок, то скорее вам будет полезно оценить то, что пишут другие и в обществе считается верным, если вы гуру, то наверное вам и не нужны гайдлайны, которые написаны непонятно кем на ваш взгляд. Итак, приступим.
Читать дальше →
Total votes 38: ↑29 and ↓9+20
Comments38

Python и красивые ножки: как я бы знакомил сына с математикой и программированием

Reading time4 min
Views109K
Раньше мы уже искали необычные модели Playboy с помощью библиотеки Python Scikit-learn. Теперь мы продемонстрируем некоторые возможности библиотек SymPy, SciPy, Matplotlib и Pandas на живом примере из разряда занимательных школьных задач по математике. Цель — облегчить порог вхождения при изучении Python библиотек для анализа данных.



Читать дальше →
Total votes 70: ↑60 and ↓10+50
Comments65

Расширенный поиск Яндекса (и Гугла) с помощью установленного скрипта или в интерфейсе

Reading time9 min
Views54K
В яндекс-поисковике, как и в Гугле, есть настройки расширенного поиска (по датам, документам, сайтам, стране, языку, ...) и специальные страницы для расширенного поиска. То и другое бывает неудобно из-за интерфейса — большого количества нажимаемых кнопок, кликов и движений. Для некоторых (частоиспользуемых) режимов поиска сделаны юзерскрипты с выбором одной из десятков кнопок в один клик. На экране видны лишь несколько стартовых кнопок, работающих как спадающие списки по наведению мыши.

Такой скрипт, когда-то бывший без спадающих списков, давно работал на страницах Гугла, и, судя по количеству скачиваний, приобрёл популярность среди англоязычных пользователей (есть выбор 5 языков интерфейса). Однажды подумалось, что его несложно будет перенести на Яндекс, и на выходных за пару дней адаптация и перекраска под цвета Яндекса была сделана, и теперь он представляется «целевой аудитории» — людям из IT, которым иногда приходится много искать и которым привычно устанавливать дополнительные скрипты и ходить по гитхабам.
далее
Total votes 11: ↑9 and ↓2+7
Comments4

Ваше проектирование – отстой

Reading time5 min
Views33K
… но это нормально. Любое проектирование отстой. И всегда будет отстоем.

Если вы мне не верите, давайте объясню…

Ни один проект не переживает встречи с реализацией


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

Данные, которые вы ожидали как обязательные в ответе внешнего сервиса, могут отсутствовать (или быть невалидными). Ожидаемая уникальность может оказаться совсем не уникальной на практике (даже в sha1 когда-нибудь случаются коллизии). Процессы, которые предполагались надежными, будут падать гораздо чаще, чем вы ожидали.

Это нормально.

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

Недостающие данные могут быть сделаны опциональными или заменены умолчальными.

Некорректные данные можно рассматривать как отсутствующие, либо записывать их «как есть» и добавить дополнительную провалидированную версию, которая присутствует только если оригинал валидный.

Ограничение уникальности можно
Читать дальше →
Total votes 50: ↑35 and ↓15+20
Comments29

Простое снятие «навороченной» защиты kraftway credo vv18

Reading time3 min
Views52K
По государственной программе нам на предприятие выделили несколько таких тонких клиентов.
Многие были рады, что он занимает мало места (крепится сзади на монитор), абсолютно бесшумно работает в отсутствие вентиляторов и сравнительно шустро работает по сравнению со старыми компьютерами которые стояли раньше. Самое интересное началось позже, когда пользователи стали терять ключи eToken.

Читать дальше →
Total votes 34: ↑29 and ↓5+24
Comments17

Заметки о SQL и реляционной алгебре

Reading time12 min
Views93K


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

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

Большую часть статьи составляют примеры с вкраплениями теории. В конце разделов приведены ссылки на дополнительные материалы, а для заинтересовавшихся и небольшая подборка литературы и курсов в конце.

Содержание



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

Вперед, на поиски палиндромов 3

Reading time4 min
Views10K
После того, как вроде бы неплохой результат, полученный в предыдущей части, оказался лишь «локальным максимумом», я на некоторое время забросил задачку. Напомню условие:
«The decimal number 585 is 1001001001 in binary. It is palindromic in both bases. Find n-th palindromic number». Или, по-русски: «Десятичное число 585 в двоичной системе счисления выглядит как 1001001001. Оно является палиндромом в обеих системах счисления. Найдите n-й подобный палиндром».

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

В конце концов, алгоритм оказался не таким уж и сложным, зато, на мой взгляд, очень красивым.
Как же они это сделали?
Total votes 15: ↑15 and ↓0+15
Comments38
12 ...
318

Information

Rating
Does not participate
Registered
Activity