Pull to refresh
-14
0
Send message

Компилятор .NET в JavaScript и пример XNA-демо в браузере

Reading time1 min
Views2.2K
Разработчик Kevin Gaad, который судя по его профилю работает в компании Mozilla, представил свою разработку – компилятор .NET(C#) кода в JavaScript. Для демонстрации работоспособности библиотеки Кевин опубликовал портированный пример демонстрационного проекта игры на базе XNA 3.1.

image

Игра работает в браузерах IE9+, Firefox 4+, and Chrome 11. Разработчик пишет, что Opera не поддерживается из-за проблем браузера с ECMAScript5 и в Chrome 12 и 13 есть баги, которые мешают нормальной работе.

Проект компилятора с открытым кодом доступен на сайте GitHub. Разработчик сделал анонсы своей работы на Hacker News и Reddit, где можно ее прокомментировать. Кроме того, демонстрационный проект с игрой доступен здесь: Platformer.zip.

Выглядит впечатляюще.
Total votes 110: ↑96 and ↓14+82
Comments34

Новый алгоритм для депикселизации графики

Reading time1 min
Views8.8K


Сотрудник Microsoft Research Йоханнес Копф (Johannes Kopf) совместно с профессором Дани Лисчински опубликовали научную работу (dropbox, narod.ru, depositfiles.com) с описанием нового алгоритма депикселизации, который значительно превосходит все существующие методы. Разница в качестве действительно колоссальна.
Читать дальше →
Total votes 215: ↑204 and ↓11+193
Comments107

Тюнинг Canabalt

Reading time7 min
Views2.6K
Была предпринята попытка сохранить оригинальную орфографию, шутки и пунктуацию. И, да, данный пост — перевод статьи создателя Canabalt, не думайте, что игру создал я.

image

[Эта статья рассматривает технические особенности, соотношения и размеры Flash версии игры Canabalt. Читатель, будь осторожен, статья содержит спойлеры и большое количество цифр!]

Друзья часто спрашивают меня: думал ли я о том, чтобы выложить исходный код моей Flash игры Canabalt в интернет на растерзание и изучение. Они думают, что для людей будет полезно увидеть, как в игре организована физика и другие вещи. Но я отношусь с опасением к этой идее, на это у меня есть несколько причин, например: исходный код игры написанный за 5 дней, представляет из себя кошмарный и отвратительный спагетти-код, который вряд ли поможет кому-нибудь. Поэтому, из чувства гордости по поводу первого дня рождения Cannabalt, я подумал: «почему бы не написать статью, в которой бы рассказывалось о том, как внутри всё устроено?»
Читать дальше →
Total votes 62: ↑60 and ↓2+58
Comments30

ChucK — программируем звук

Reading time5 min
Views15K
Языков программирования существует великое множество: от мейнстримовых до эзотерических, от учебных до узкоспециализированных. И если с мейнстримом знакомы так или иначе многие из нас (хотя бы на уровне школьного бейсика), то языки программирования, предназначенные для выполнения специальных задач, остаются для многих тайной покрытой мраком. Давайте немного приоткроем занавес и посмотрим, пусть одним глазком, мир программирования… музыки!

Итак, наш сегодняшний гость ChucK, придуманный Пери Куком (Perry Cook) и Ги Вонгом (Ge Wang) из университета Принстон в 2003 году, последняя версия вышла в 2009 году.
ChucK — один из языков программирования, предназначенный для написания музыки, синтеза звука в реальном времени и организации взаимодействия различной специализированной периферии.

Читать дальше →
Total votes 50: ↑48 and ↓2+46
Comments15

Эксперимент с голографическим кодированием и декодированием информации

Reading time4 min
Views9.6K
Захотелось мне как-то сделать кодирование информации основываясь на голографическом принципе. Захотелось не просто так, а для проверки кое-каких своих идей и теорий. Теории не подтвердились, идеи не реализовались. Но поскольку подобного алгоритма я «с наскока» не нашёл и пришлось придумывать его самому, основываясь на учебниках по физике, то решил поделиться им на хабре. Алгоритм, кстати, довольно простой.
Читать дальше →
Total votes 62: ↑61 and ↓1+60
Comments48

Создание приложений для планшета BlackBerry Playbook средствами WebWorks SDK

Reading time5 min
Views5.7K
image
В продолжение прошлой статьи о разработке веб-виджетов с помощью WebWorks SDK мы расскажем об особенностях создания приложений под планшет BlackBerry Playbook.
Для начала напомним, что версия API для BlackBerry Tablet OS (операционная система планшета Playbook на базе QNX) пока сильно урезана по сравнению с API для BlackBerry OS 6 и 7. Информация об изменениях публикуется в блоге разработчиков, документация периодически обновляется.

Среда разработки


Настройка среды разработки ничем не отличается от описанной ранее. Но, помимо выполнения общих настроек в Eclipse IDE, необходимо также установить BlackBerry WebWorks SDK for Tablet OS, VMware Player (Windows) или VMware Fusion (Mac) и BlackBerry Playbook Simulator. Все необходимые инструменты, документация и примеры доступны по адресу us.blackberry.com/developers/tablet/webworks.jsp
В процессе установки BlackBerry WebWorks SDK for Tablet OS необходимо будет указать директорию с расположением Adobe AIR SDK, поэтому также желательно заранее скачать требуемый пакет. После установки WebWorks SDK в значение системной переменной среды Path для удобства желательно дописать пути к консольным утилитам bbwp.exe (собирает приложение из проекта) и blackberry-deploy.bat (управляет приложениями на симуляторе) приблизительно следующим образом:

c:\Program Files (x86)\Research In Motion\BlackBerry WebWorks SDK for TabletOS 2.0.0.4\bbwp;c:\Program Files (x86)\Research In Motion\BlackBerry WebWorks SDK for TabletOS 2.0.0.4\bbwp\blackberry-tablet-sdk\bin
Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments8

Самая маленькая игра в мире (58 байт)

Reading time3 min
Views54K
Для тех, кто читал статью в песочнице: добавил раздел «Можно ли сделать игру меньше?».

Прочитав историю одного байта, вспомнил свою историю.

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

Первый прототип, размером 80 байт, был готов на следующий день. (Поскольку о контроле версий тогда я даже не догадывался, то остается верить воспоминаниям). С этого момента началась моя борьба за байты. Помню, довольно быстро размер был уменьшен до 65 (или около того), дальше каждый байт давался все с большим и большим трудом. К концу лета результат был 58 байт.

Сюжет и управление


Вы несетесь по трассе на грузовике с двумя прицепами. Слева от вас разделительная полоса, справа обочина укрытая травой. На дороге встречаются люди и деревья (может ямы). Ваша задача: не сбивать людей и не врезаться в деревья (не попадать в ямы).
Управление: стрелки влево-вправо — поворот; Esc — пауза.

Скриншоты и код
Total votes 331: ↑329 and ↓2+327
Comments133

Рекурсивный zip-архив

Reading time5 min
Views40K
Многие хабрапользователи наверняка знакомы с квайнами — программами, выводящими собственный исходный код. Сегодня я хочу показать как сделать интересный вариант квайна — ZIP-архив, который распаковывается сам в себя.

Читать дальше →
Total votes 171: ↑168 and ↓3+165
Comments55

Создание объектов в Javascript

Reading time5 min
Views71K
Гибкость Javascript позволяет создавать объекты множеством способов. Но как это нередко случается, разнообразие таит в себе множество подводных камней. Из этой статьи Вы узнаете о том, как разглядеть и обогнуть эти опасные рифы.
Читать дальше →
Total votes 133: ↑119 and ↓14+105
Comments68

Эмулятор компьютера с linux на JavaScript

Reading time2 min
Views45K
Никакой серверной части. Только JS: полноценный эмулятор компьютера с линуксом на борту.

bellard.org/jslinux
(внимание, только хром и FF4)

Я долго с ним игрался — это не имитация, линукс ведёт себя как настоящий линукс — компилированные программы работают, ошибки в них вызывают segmentation fault, повреждение корневой файловой системы вызывает бурю возмущения в dmesg и т.д.
Эмулятор PC на JS с линуксом на борту

dd показывает при работе с памятью более чем приличную производительность — более 40 мб/с (не забываем, что это эмулятор, и что это JS в вашем браузере!).

Я никогда не думал, что мы доживём до подобного.

… А теперь начинается оргия:

* С использованием локального хранилища мы можем организовать диски (каждый key-value соответствует одному сектору).
* С использованием web-socket мы можем создать паравиртуализированный драйвер сети с выходом на железный машрутизатор и получить нормальную сеть.
* С использованием существующих технологий (NUMA, DRBD, corosync) можно организовать вычислительный кластер из браузеров.

(Кстати, показывать консоль в этом случае не обязательно — вы запускаете виртуальную машину у клиента в бэкграунде, виртуальная машина присоединяется к кластеру, начинает считать, по её аварийному завершению — закрытию браузера — кластер автоматически переконфигурируется).

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

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

Ну и финал — запуск хрома внутри эмулируемой виртуальной машины.

Итак, эмуляция дошла до браузеров…
Total votes 362: ↑333 and ↓29+304
Comments357

Перенаправление траффика на удаленный сниффер средствами iptables+iproute2

Reading time5 min
Views43K
После покупки своего первого смартфона люди обычно замечают, что расходы на мобильную связь немного увеличиваются. Обычно это происходит за-за того, что «умный» телефон «ходит в Сеть» без ведома хозяина. Конечно, решить эту проблему просто — установить специальные утилиты для блокирования подключений к точкам доступа GPRS/HSDPA либо купить безлимитный тариф на доступ в Интернет и забыть. Столкнувшись с описанной ситуацией, я в первую очередь заинтересовался и тем, что телефон ищет в Сети и, самое главное, что передает в Сеть. Последнее особенно актуально в связи с недавними новостями.
Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments18

Подробности о будущих API для P2P-коммуникаций между браузерами

Reading time2 min
Views1.3K
Несколько дней назад консорциум World Wide Web объявил о создании рабочей группы Web Real-Time Communications Working Group, которая должна разработать стандарты пиринговых коммуникаций между браузерами (собственно, сама новость уже обсуждалась на Хабре). Если стандарты примут, то станет возможной прямая передача видео и звука между ПК без использования сервера и отдельных приложений.
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments13

Вы НЕ инженер-программист!

Reading time3 min
Views36K
От перев.: Думаю, практически каждый разработчик читал произведение искусства под названием «Если бы программисты строили дома». В этом юмористическом рассказе проводится параллель между строительством и разработкой ПО. Неожиданно! Понятно, что в каждой шутке есть доля правды. И вот спустя годы я наткнулся на другое сравнение. Мне оно показалось более точным, поэтому я решил перевести его на русский и поделиться с сообществом.

Познать дзен садоводства!
Total votes 233: ↑203 and ↓30+173
Comments103

Необходимость длительного отдыха: очередная ловушка при планировании времени

Reading time3 min
Views42K
Корреляция между трудом и отдыхом на коротком промежутке времени прослеживается очень просто. Если ночь не спал — днем гудит голова, сложно сосредоточиться, работать практически не возможно (подчеркну, что здесь и далее речь идет об интеллектуальном труде).

А вот более длительные фазы, период которых составляет несколько месяцев, проследить значительно сложнее. Хотя эти фазы так же реальны, как и кратковременные фазы.

Читать дальше →
Total votes 148: ↑146 and ↓2+144
Comments208

Что такое Protected Mode и с чем его едят

Reading time5 min
Views28K
Для того, чтобы писать операционку, нужно разбираться во многих деталях. Вот давайте я вас немного просвещу, (но давайте договоримся, что маны вы будете читать сами, чтобы было о чём побеседовать).
Честно говоря, на просторах сети есть туча тучная материалов по PM, да и ileyи pehat несколько рассказали об этом режиме, но меня попросили всё равно описать в общих рамках его. Сейчас кратко выдам теорию (вообще то специально для этого Intel маны писала), потом начнём писать код.
Читать дальше →
Total votes 67: ↑61 and ↓6+55
Comments16

Perfect dark (Анонимная P2P)

Reading time3 min
Views33K
image

* Perfect Dark — пиринговый файлообменный клиент для Microsoft Windows.

** На данный момент основное заполнение пространства сети занимает Японский контент.
** Данная сеть не зависит от работоспособности серверов, так как в них нету надобности.
** Анонимность заключается в том что никто не знает что именно вы качаете, и что выкладываете.
** Используются технологии шифрования
Читать дальше →
Total votes 55: ↑42 and ↓13+29
Comments72

Можно ли спроектировать впечатления?

Reading time9 min
Views2K
Представляю вашему вниманию перевод статьи в двух частях под названием "Can Experience be Designed?" от Oliver Reichenstein. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением компании Information Architects Inc..


Для начала загадайте число от одного до десяти. А затем сделайте шаг назад и посмотрите на словосочетание «Проектирование впечатлений пользователя» так, словно вы никогда раньше его не видели.



Смотрите внимательно на эти слова до тех пор, пока вы не услышите в своей голове волшебно красивый голос, произносящий их вслух: «ПРОЕКТИРОВАНИЕ ВПЕЧАТЛЕНИЙ ПОЛЬЗОВАТЕЛЯ». Что думаете? Все это кажется вам какой-то нелепицей? Нет, я говорю не про загадывание числа и не про шаг назад, а про идею. Идею о том, что кто-то может контролировать ваши чувства и ощущения. Или же вы с легкостью согласитесь, что ваши впечатления от прочтения этой статьи были продуманы мной как автором? Вы читаете этот текст каким-то своим, особым образом? Или вы прочитали и ощутили его так, как я это задумал?
Читать дальше →
Total votes 78: ↑66 and ↓12+54
Comments27

Как самостоятельно провести исследование перед проектированием сайта

Reading time7 min
Views30K
В прошлой статье о проектировании сайта я назвал одним из ключевых этапов исследование контекста проекта. Напомню, что под контекстом я понимаю различные факторы, окружающие сайт и способные оказать влияние на его работу. К таким факторам относятся: целевая аудитория и её потребности, характеристики и тенденции среды, поведение конкурентов и другие, в зависимости от тематики проекта.
Зачем и как делать исследование?
Total votes 53: ↑51 and ↓2+49
Comments31

Новый русский перевод лицензий Creative Commons 3.0

Reading time1 min
Views6K
imageВ начале недели опубликованы новые переводы лицензий Creative Commons на русский язык. Советую всем почитать, чтобы вокруг великих и ужасных лицензий было меньше мифов и заблуждений.

Вот размещённые в Викитеке переводы всех шести современных лицензий (всё это только простые переводы, не путать с дополнительной адаптацией лицензий к законам РФ):
Читать дальше →
Total votes 54: ↑50 and ↓4+46
Comments24

Принципы дизайна страниц оплаты для интернет-магазинов

Reading time14 min
Views22K
Представляю вашему вниманию перевод статьи под названием "Fundamental Guidelines Of E-Commerce Checkout Design" от Christian Holst. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением издания Smashing Magazine.


Грустная статистика систем электронной коммерции — согласно последним исследованиям, по крайней мере 59,8% потенциальных покупателей покидают сайт на этапе оформления заказа и его оплаты (у разных исследований разные показатели — от 59,8% у MarketingSherpa до 83% у SeeWhy).

Основной вопрос заключается в том, почему пользователи так часто и массово покидают свою корзину, не закончив оформление заказа? Причина заключена в какой-то фундаментальной ошибке дизайнеров, создающих интернет-магазины? А быть может есть какие-то формальные правила, которые усложняют жизнь простым пользователям и мешают им покупать продукты? Существует ли какая-то возможность улучшить ситуацию и повысить конверсию электронных магазинов?
Читать дальше →
Total votes 174: ↑168 and ↓6+162
Comments58

Information

Rating
Does not participate
Registered
Activity