• Компактная ОС для ARM процессоров

    “Кажется, что совершенство достигается не тогда, когда нечего более добавить, а тогда, когда нечего больше убрать."

    (Антуан де Сент-Экзюпери)

    image


    По теме изучения программирования встроенных систем, ОС реального времени, Ассемблера и С позвольте представить очень простую операционную систему StartOS.

    Предназначение:

    — если вам необходимо создать устройство, начинающее работать через 1-2 секунды после включения питания и способное реагировать на сигналы из внешнего мира в течение микросекунд;
    — для быстрого создания систем управления объектами с выводом данных в Интернет;
    — отработка идей, алгоритмов, изготовлении прототипов устройств;
    — приобретение опыта программирования встроенных систем на языках C и Assembler;
    — получение полного доступа к «железу» компьютерного устройства, например, для разработки самомодифицирующихся программ.

    Некоторые свойства системы:

    Время готовности после включения питания: < 1 сек
    Объем двоичного кода программы: < 40 kB
    Читать дальше →
  • История света и тени в одной маленькой, но гордой игре

      Если коротко, то суть статьи можно можно проиллюстрировать так:



      Ниже небольшая история реализации освещения в игре подручными средствами.
      Встречают, как известно, по одёжке, а когда в команде нет ни то, что арт-директора, а даже просто художника, обычному программисту приходится изворачиваться по-разному.
      Читать дальше →
    • Создание универсального веб-приложения сайта Habrahabr.ru при помощи Web App Template

      • Tutorial

      Хабровчане, привет!

      В предыдущей статье мы с вами познакомились с шаблоном для создания универсальных веб-приложений – Web Application Template. Если кратко, то Web Application Template позволяет вам «превратить» сайт в приложение для Windows, Windows Phone или Android, добавив в него возможности интеграции с ОС и механизм распространения через магазин приложений.

      Сегодня мы рассмотрим практический пример: как при помощи Web Application Template быстро и просто создать веб-приложение для Windows и Windows Phone на основе сайта habrahabr.ru.
      Перейти к созданию приложения
      • +24
      • 41,9k
      • 2
    • Программировать с нуля. «Сейчас» — самое подходящее время, чтобы начать


        (Иллюстрации к статье А.П. Ершова «Программирование — вторая грамотность»)

        Стив Джобс не написал ни строчки кода, Билл Гейтс — написал. Пол Грэм — первоклассный программист, Питер Тиль — юрист по образованию, сооснователь PayPal и владелец Palantir (написал ли он что-нибудь?), а Илон Маск в детстве написал свою игру и успешно её продал.

        Никита truesnow из #tceh сказал мне, что на курсе «Врубаемся в Ruby» они научат программировать любого человека, даже с нуля. Я спросил его: «А с гуманитарием справитесь?» И мы задумались, были ли случаи, когда «гуманитарий» выучил язык программирования?

        На ум сразу пришел бомж-программист, но после успеха с его приложением он предпочёл остаться «дзен-монахом». Есть ли еще примеры? Вдохновляющий пример, что научиться кодить может каждый — слепой программист. Когда я прочитал статью на Хабре «Смотря на код с закрытыми глазами», то понял, что нет преград, кроме собственных отмазок.

        А у меня для вас есть три истории из моей жизни. Просто три истории.

        История первая — ламер


        Слово «ламер» я прочитал в «Компьютерре». Там давалось такое определение: «Ламер — отнюдь не безграмотный человек, не умеющий (как бы это помягче выразиться?) программировать». Окрылённый истиной я побежал и рассказал об этом друзьям-одноклассникам, но они предпочли поиграть в футбол, вместо того чтобы освоить суперспособности. Забавно, что потом все они зарабатывали программированием деньги, а я нет. Через неделю я записался в краевую станцию юных техников (КСЮТ), где был кружок по программированию. Там для новичков давали qbasic. А боги прогали на C.
        Читать дальше →
      • Атом — минимальный кирпичик реактивного приложения

        Здравствуйте, меня зовут Дмитрий Карловский и я… клиент-сайд разработчик. За плечами у меня 8 лет поддержки самых различных сайтов и веб-приложений: от никому не известных интернет-магазинов, до таких гигантов как Яндекс. И всё это время я не только фигачу в продакшн, но и точу топор, чтобы быть на самом острие технологий. А теперь, когда вы знаете, что я не просто хрен с горы, позвольте рассказать вам про один архитектурный приём, которым я пользуюсь последний год.

        Данная статья знакомит читателя с абстракцией «атом», предназначенной для автоматизации слежения за зависимостями между переменными и эффективного обновления их значений. Атомы могут быть реализованы на любом языке, но примеры в статье будут на javascript.

        Осторожно: чтение может вызвать вывих мозга, приступ холивара, а также бессонные ночи рефакторинга.
        Читать дальше →
      • 15 тривиальных фактов о правильной работе с протоколом HTTP

          Внимание! Реклама! Пост оплачен Капитаном Очевидность!

          Ниже под катом вы найдёте 15 пунктов, описывающих правильную организацию ресурсов, доступных по протоколу HTTP — веб-сайтов, «ручек» бэкенда, API и прочая. «Правильный» здесь означает «соответствующий рекомендациям и спецификациям». Большая часть ниженаписанного почти дословно переведена из официальных стандартов, рекомендаций и best practices от IETF и W3C.



          Вы не найдёте здесь абсолютно ничего неочевидного. Нет, серьёзно, каждый веб-разработчик теоретически эти 15 пунктов должен освоить где-то в районе junior developer-а и/или второго-третьего курса университета.

          Однако на практике оказывается, что великое множество веб-разработчиков эти азы таки не усвоило. Читаешь документацию к иным API и рыдаешь. Уверен, что каждый читатель таки найдёт в этом списке что-то новое для себя.
          Читать дальше →
        • Основы Urho3D

          С удивлением обнаружил, что на Хабре отсутствует информация о таком замечательном движке как Urho3D. Поэтому спешу исправить это досадное упущение. В этой вводной статье я постараюсь заострить внимание на тех вещах, которые пригодятся новичкам сразу же, но в тоже время не буду залезать в глубокие дебри, чтобы сходу не перегрузить большим объемом информации.

          image

          Что это за зверь?


          Не будет преувеличением сказать, что Urho3D по возможностям сопоставим с Unity3D и работать с ним так же легко. При этом он бесплатен без каких-либо оговорок (лицензия MIT), доступен для многих платформ (Windows, Linux, Mac OS X, Android, iOS, Raspberry Pi, HTML5), невероятно быстр и легковесен. Позволяет писать игры на AngelScript (синтаксис похож на C#), LUA и C++. Если вы заинтересовались, то добро пожаловать под кат.
          Читать дальше →
        • Модуль вкладок на es6/es2015 без jQuery и прочих зависимостей

          Предисловие


          Какое-то время назад я стал постепенно отказываться от jQuery в пользу нативного javascript. Это связано с тем, что поддержка старых браузеров перестала быть приоритетной и на первое место вышла скорость загрузки страницы. Я не смог найти минималистичный модуль вкладок с простой html разметкой – поэтому решил написать свой.

          Демо, Исходный код на Github

          HTML разметка


          <div class="tabs">
          	<div class="tabs__toggle tabs__toggle_active">Вкладка 1</div>
          	<div class="tabs__toggle">Вкладка 2</div>
          	<div class="tabs__tab">
          		Содержимое первой вкладки
          	</div>
          	<div class="tabs__tab">
          		Содержимое второй вкладки
          	</div>
          </div>
          

          Если на одной странице нужно разместить несколько групп вкладок нужно просто разделить их в разные блоки '.tabs'. Расположение внутренних блоков влияет только на порядок их вывода. Вкладке по умолчанию следует добавить класс 'tabs__toggle_active'.
          Читать дальше →
        • Простейший физический движок

          Вас интересуют игры? Хотите создать игру но не знаете с чего начать? Тогда вам сюда. В этой статье я рассмотрю простейший физический движок, с построения которого можно начать свой путь в GameDev'e. И да, движок будем писать с нуля.
          Читать дальше →
        • Триггеры и фоновые задания в приложениях Windows Store



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

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

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

            Кроме системных триггеров существуют различные другие триггеры, которые могут срабатывать по таймеру или в результате особых событий.
            Читать дальше →
            • +11
            • 9,3k
            • 4
          • Winium.Desktop: Selenium для desktop-приложений под Windows


              Привет, меня зовут Глеб, и я занимаюсь автоматизацией тестирования в 2ГИС. Больше года назад я писал о нашем инструменте Cruciatus — с его помощью мы тестируем UI desktop-приложений под Windows.

              Cruciatus отлично решает задачу доступа к контролам, но тесты пишутся строго на C#. Это мешает шарить знания и опыт между тестировщиками под разные платформы: mobile, web и desktop.

              Решение мы увидели в Selenium — пожалуй, самом известном инструменте для автоматизации тестирования. В этой статье я расскажу, как мы скрестили Cruciatus и Selenium и как тестировать интерфейс Windows desktop-приложений с помощью привычных Selenium-биндингов.
              Читать дальше →
            • Node-Webkit без вебкита

                Как-то мы обсуждали десктопные приложения nw.js. Всё хорошо, но необходимость распространять весь движок браузера (который с течением времени и добавлением новых фич меньше не становится и сейчас весит сжатый 30МБ) — удручает.
                А что если сделать модуль для node.js, умеющий показывать UI в системном браузере?
                Под катом расскажу о попытке — как оно, стоит ли усилий, можно ли использовать, и что в результате получилось.
                Читать дальше →
              • Scrollissimo – плагин для плавной скролл-анимации

                  Scrollissimo


                  В последнее время все большую популярность набирают анимации, проигрываемые по мере прокрутки страницы. Однако, я заметил, что подавляющее большинство браузеров не создано для таких анимаций. Прокрутка страниц мышью в них происходит не плавно (как в Firefox), а ступенчато. В результате скролл-анимации на страницах проигрываются тоже рывками. По моему мнению, проблема здесь совсем не в браузерах, а в плагинах, которые используются для создания этих анимаций. Потому что именно они допускают резкие скачки. Я считаю, что для любой анимации должна быть какая-то максимальная скорость воспроизведения, при которой анимация будет плавной, а пользователь сможет понять, что же произошло на странице. Если вы со мной согласны, то плавно и без рывков перемещайтесь под кат.
                  Читать дальше →
                • Webix 2.4. Дверь в лето

                    Webix logo

                    Лето набирает силу, и разработчики Webix позаботились о том, чтобы вам было чем себя занять в отпуске или на каникулах. Не так давно в их блоге появился пост о новой, за номером 2.4, версии фреймворка. Новые фичи, обновления, длинный список багфиксов. Очень увлекательно! Давайте посмотрим подробнее, что для нас приготовили.

                    К слову говоря, если вы слышите это название впервые и вообще не понимаете, о чем речь, здесь доступен мой небольшой Webix-туториал.
                    Читать дальше →
                  • Принципы анимации для веба

                    • Перевод
                    Примечание переводчика: Представленный ниже материал содержит значительное количество технических терминов, при переводе которых могут возникнуть неточности. Если вы заметили опечатку, ошибку или неточность перевода — напишите нам, и мы оперативно всё исправим.

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




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

                    На самом деле анимация может быть мощным инструментом, который позволяет посетителям сайта и клиентам легче взаимодействовать с интерфейсом продукта и быстрее добиваться своих целей. Этого можно достичь, если следовать в своей работе некоторым основополагающим принципам.
                    Читать дальше →
                  • Поговори со мной, Windows Phone

                    • Tutorial
                    Пока еще Cortana не стала доступной для русскоговорящих пользователей Windows Phone 8.1, а это ожидается скоро, я предлагаю вам самим сделать веселое апрельское приложение, с помощью которого можно будет поговорить с телефоном, покомандовать им, а может быть и поиграть.

                    На деле это, оказывается, довольно просто.


                    В качестве примера предлагаю сделать детское приложение, которое тренирует в устном счете до 10-ти. Приложение будем писать на XAML/C#
                    Читать дальше →
                    • +17
                    • 13,2k
                    • 4
                  • Unity 3d 4.6 (5) проект Survival shooter game на русском

                    Здравствуйте!

                    Сегодня мы приступаем к изучению и сборке готового проекта от команды Unity 3d под названием Survival Shooter.

                    При детальном изучении проекта мы коснемся таких игровых аспектов в изучении, как новая UI (версия Unity 3d 4.6), создание скриптов для движения камеры, управления игровым персонажем, точки спауна врагов и многое другое.

                    Рассмотрим виды анимации и ее логического применения с помощью Animator Controller.
                    Читать дальше →
                    • +10
                    • 25,5k
                    • 2
                  • Руководство к Car Tutorial (Unity3d): Изучение альтернативной физической модели (часть 1 из 3)

                    • Tutorial
                    Прежде чем начнем, хочу предупредить, что это не перевод официального руководства, а мое личное руководство к установке физики на автомобиль.

                    Часть 1
                    Часть 2
                    Часть 3

                    Изучение альтернативной физической модели:


                    Часть 2
                    Часть 3

                    В официальном руководстве говорилось о физике автомобиля, которая имеет упрощенную модель и имеет много недостатков, которые можно прочитать в самом конце Часть 3 руководства. Или посмотреть это видео:



                    P.S Для тех у кого модели экспортированы, можем сразу же перейти к настройке автомобиля Переход, а так же могут просмотреть видео по настройки автомобиля (дополнение к статье) :
                    Читать дальше →
                    • +6
                    • 21,6k
                    • 2
                  • Руководство к Car Tutorial (Unity3d) часть 3 из 3

                    • Tutorial
                    Часть 1
                    Часть 2

                    Прежде чем начнем, хочу предложить скрипты переписанные на C#. т.к половина скриптов на JS я решил переписать их под C# (мне C# роднее). Скачать

                    Так же идет активный «разбор» проекта для начинающих «Project: Survival shooter», видеоуроки представлены в следующем Плэйлисте, дополнительные видеоуроки к Survival shooter. Лично выражаю благодарность этому каналу, за их не легкий труд.

                    p.s в конце этого руководства есть видео обзор в котором на примерах идет сравнение двух реализованных методов управления автомобилем.

                    Итак, приступим к изучению нашего руководства.

                    Часть 3: Под капотом


                    Мы уже видели, как собрать рабочую машину из 3D-модели, скриптов и встроенных компонентов. Мы также познакомились с публичными переменными и как они могут быть использованы для тонкой настройки автомобиля.
                    Читать дальше →
                  • Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 1 из 6

                    Содержание курса



                    Улучшение кода






                    Official translation (with a bit of polishing) is available here.




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


                    Цель этого цикла статей — показать, как работает OpenGL, написав его (сильно упрощённый!) клон самостоятельно. На удивление часто сталкиваюсь с людьми, которые не могут преодолеть первоначальный барьер обучения OpenGL/DirectX. Таким образом, я подготовил краткий цикл из шести лекций, после которого мои студенты выдают неплохие рендеры.

                    Итак, задача ставится следующим образом: не используя никаких сторонних библиотек (особенно графических) получить примерно такие картинки:



                    Внимание, это обучающий материал, который в целом повторит структуру библиотеки OpenGL. Это будет софтверный рендер, я не ставлю целью показать, как писать приложения под OpenGL. Я ставлю целью показать, как сам OpenGL устроен. По моему глубокому убеждению, без понимания этого написание эффективных приложений с использованием 3D библиотек невозможно.
                    Читать дальше →