Search
Write a publication
Pull to refresh
0
Евгений @RuKoolread⁠-⁠only

User

Send message

Часто задаваемые вопросы про asm.js

Reading time4 min
Views42K
asm.js — необыкновенно оптимизируемое, низкоуровневое подмножество JavaScript. asmjs.org

asm.js — новый язык?


Нет, это просто подмножество JavaScript. Программа на asm.js одинаково поведёт себя и в существующих движках JavaScript, и в движке с предварительной (ahead-of-time, AOT) компиляцией, способном распознавать и оптимизировать asm.js; различаться будет её скорость, разумеется!

Какой выигрыш в производительности можно ожидать от asm.js?


Сейчас ещё рано утверждать. Однако наши предварительные измерения производительности программ, скомпилированных из Си в asm.js, показывают не более чем двукратное замедление по сравнению с компилированными в машинный код посредством clang. Мы опубликуем дальнейшие измерения, когда насобираем их.

Как я могу следить за ходом реализации?


Мозилла работает над первой реализацией оптимизирующего компилятора asm.js для SpiderMonkey. В вики Фонда Мозиллы также опубликован план разработки дальнейших выпусков и оптимизаций. Если авторы других движков JavaScript опубликуют собственные планы реализации компиляторов asm.js, мы их здесь упомянем.

Почему бы вам не разработать синтаксис байткода вместо необычного диалекта джаваскрипта?


Для компиляторов наподобие Emscripten или Mandreel синтаксис байткодового языка попросту не особенно значим. Притом большинство байткодов и вообще машинных языков имеют двоичный формат, не читаемый людьми. Однако мы можем создать на уровне asm.js более человеко-читаемый синтаксис, который будет и удобным в дизассемблировании, и пригодным для чтения и записи людьми.

То обстоятельство, что asm.js — это JavaScript, не обернётся ли непредсказуемым выполнением кода?


Предварительная (ahead-of-time, AOT) компиляция asm.js может генерировать код, выполнение которого весьма предсказуемо, потому что валидный код asm.js ограничен крайне небольшим подмножеством JavaScript, состоящим только из строго типизированных целых чисел, чисел с плавающей точкою, арифметических операций, вызовов функций и обращения к куче.

Почему бы тогда не NaCl или PNaCl вместо этого? Вы просто упорствуете насчёт JavaScript?


Принципиальным достоинством asm.js по сравнению с новыми технологиями вроде NaCl и PNaCl является то, что asm.js работает сегодня: существующие движки JavaScript ужé неплохо оптимизируют код, написанный в таком стиле. Что означает, что разработчики могут выпускать код на asm.js сегодня, а со временем его работа будет ускоряться. Другою важною пользою является заметно бóльшая простота реализации, для которой потребуется совсем немного дополнительных механизмов поверх существующих движков JavaScript — и не понадобится слой совместимости API.

Читать дальше →

Фрилансерам на заметку

Reading time2 min
Views17K
Фрилансеры часто рекомендуют своим клиентам оплатить работу через терминалы.

Это удобно для клиентов далеко не всегда знающих, что такое электронные деньги, но пользующихся терминалами для оплаты повседневных услуг. Да и для оплаты нужно всего 2 шага:
  • Записать номер кошелька, обычно, Яндекс.Деньги или Вебмани
  • В терминале ввести номер кошелька и вставить оговоренную сумму в купюроприемник.
Все просто, но возникает несколько неудобств при оплате в терминалах:
  • Фрилансер не может определить, что работа оплачена, так как платежи приходят без комментариев (заказчику приходится дергать ТП, чтобы узнать номер транзакции). Это особенно актуально, если у фрилансера много заказчиков и платежей.
  • В терминалах есть комиссия и фрилансер рискует получить на свой кошелек меньшую сумму, а клиенту приходится бежать к терминалу еще раз, чтобы доложить 10-50 рублей. Даже не смотря на наличие в некоторых терминалах калькулятора комиссий.
Процесс оплаты можно сделать еще проще, принимая оплату через терминалы следующим образом:
Читать дальше →

«Смс не надо» — сервис позволяющий отписаться от назойливых смс-рассылок

Reading time3 min
Views37K

Здравствуй!
Тема борьбы с нежелательной смс-рекламой на Хабре поднималась уже не раз[1]. Хочу внести свой небольшой вклад в дело борьбы с многоголовой гидрой спама.

Я, как и наверное многие, частенько получаю смс сообщения с «ненавящевой» рекламой такси, кредитов, фитнес-центров и прочих радостей жизни. И вот сегодня наткнулся на сервис smsnenado.ru[2], предлагающий отписаться от смс-рассылок.
%username%, я к данному сервису не имею никакого отношения, предупреждаю сразу

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

datFM — двупанельный файл-менеджер для Android

Reading time3 min
Views4.8K
Приобрел я планшет на Android, красивый, быстрый, удобный, но вот досада хороший файловый менеджер я для него так и не нашел. На телефоне я использовал X-plore (он меня полностью устраивает), на планшете попробовал Solid Explorer, он был близок к тому что мне нужно, но почему то переходил в однопанельный режим при вертикальной ориентации (возможно это где то отключается) и не позволял передавать каталоги по Bluetooth или через Gmail. Часть ФМ для Android это мегакомбайны, часть слишком просты, часть вообще не имеет двупанельный интерфейс и так далее, все меня чем то не устраивают. Что делать? Естественно писать свой велосипед! Вот так и началось.

datFM

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

На телефоне:

Читать дальше →

Рунетология(187): Владимир Горбунов, основатель Workle.ru

Reading time1 min
Views2.6K
Владимир Горбунов о том, почему чиновники интересуются Workle.ru, когда вера иногда важнее опыта, и почему командная работа важнее индивидуальных наград.
Читать дальше →

Логотип по стандартам HTML5 или Как поставить векторную картинку на веб-страницу

Reading time3 min
Views50K
Рисуем логотип
20-летнему юбилею тега IMG посвящается
25 февраля 1993 года Марк Андрессен (Marc Andreessen) написал:
Предлагаю новый опциональный HTML-тег: IMG
При нем должен обязательно указываться аргумент SRC=«url».
Тег отсылает к файлу растрового изображения (bitmap или pixmap). Браузер будет запрашивать этот файл в Сети, распознавать как изображение и вставлять в текст сообразно месту тега в коде страницы .


Допустим, вы нарисовали в Corel Draw! логотип компании и собираетесь разместить его на сайте не как-нибудь, а формате HTML5. И, соответственно, размещать картинку не в растровом формате, а в .SVG

Зачем мне картинка в SVG?


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

Вышел Emmet v1.0

Reading time3 min
Views53K
Рад сообщить, что после более полугода разработки в свет вышел Emmet (бывший Zen Coding) v1.0.

Emmet — это инструмент для ускорения работы с HTML и CSS. В основе проекта лежит механизм динамических аббревиатур, которые разбираются «на лету» и из которых генерируется готовый фрагмент кода. Для написания аббревиатур используется синтаксис, похожий на CSS-селекторы, но с некоторыми дополнениями, специфическими для создания кода. Например, вот такая аббревиатура:

section>h2+ul.nav>li.nav-item$*5>a

простым нажатием клавиши превращается в:

<section>
    <h2></h2>
    <ul class="nav">
        <li class="nav-item1"><a href=""></a></li>
        <li class="nav-item2"><a href=""></a></li>
        <li class="nav-item3"><a href=""></a></li>
        <li class="nav-item4"><a href=""></a></li>
        <li class="nav-item5"><a href=""></a></li>
    </ul>
</section>

Подробности

Учим язык, смотря сериалы: vlc + lua + stardict + wordnet + anki = l'amour

Reading time3 min
Views129K
Очень уж мне нравится смотреть сериалы, а еще я учу с их помощью языки. И если раньше я прилежно останавливал видео на непонятном месте, перематывал назад, включал субтитры и забивал незнакомые слова в Анки, то сейчас я делаю то же самое. Разве что лень заставила этот процесс автоматизировать, что привело к созданию расширения Say It Again для проигрывателя VLC со следующими особенностями:

  • Навигация по субтитрам (переход к предыдущей, следующей фразе) — клавиши y, u;
  • Сохранение слова, его транскрипции и перевода вместе с контекстом (см. скриншот) — клавиша i;
  • Функция «Еще раз»: переход к предыдущей фразе, показ субтитра и пауза — клавиша backspace;
  • Подключение любых словарей в формате Stardict (в сети лежат словари из Lingvo x3);
  • Экспорт в Anki или другую программу, понимающую файлы в формате csv;


Say It Again screenshot


Зачем все это нужно и как это работает?

Кроссбраузерная кастомизация системного скроллбара

Reading time8 min
Views146K


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

Под катом можно узнать, как в ближайшее время будет работать скролл в 2ГИС Онлайн.
Подробности

Секреты быстрого кодинга в WebStorm

Reading time4 min
Views140K
Сегодня — немного практических советов по работе с WebStorm.

Вначале пишем совсем простой HTML, после color: нажимаем <Ctrl-пробел> и получаем список цветов.

image

КО подсказывает: во всех IDE от JetBrains <Ctrl-пробел> — это контекстная подсказка.

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



А теперь представим себе проект посложнее, небольшое приложение под node.js.
Читать дальше →

Обзор инструментов для сжатия изображений

Reading time15 min
Views373K


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

WindowsAndroid позволяет запускать Android 4.0 ICS как Windows-приложение

Reading time2 min
Views159K


Если вы хотите запускать приложения под Android на своем ПК или ноутбуке с Windows, то теперь такая возможность появилась. Новая программа WindowsAndroid позволяет запускать Android 4.0 Ice Cream Sandwich как «родное» приложение для Windows. Соответственно, в открывшемся окне можно работать со всеми Android-программами.

Читать дальше →

Как узнать цвет борща? Colorchuzer поможет

Reading time1 min
Views46K


Colorchuzer — это простое приложение которое поможет вам узнать название цвета мгновенно! Стоит только навести камеру и вы увидите шестнадцатеричный код цвета и его полное название.
Читать дальше →

Файлообменник Mega запущен в работу

Reading time1 min
Views140K


Пару дней назад на Хабре уже публиковалась новость о том, что сегодня, в субботу, будет запущен «наследник» Megaupload. Честно говоря, я немного сомневался в том, что Mega действительно начнет работать — я думал, что в последний момент будет опубликована новость о каких-то препятствиях (то ли чисто технических, то ли юридических, то ли и тех и других). Но нет, как и обещал создатель ресурса, Ким Дотком, Mega заработал. Об этом сообщил сам автор проекта в своем Twitter.

Читать дальше →

Сервис шаринга скриншотов и кода

Reading time5 min
Views11K
Многие из вас наверняка слышали про сервисы, позволяющие делится скриншотами одним нажатием кнопки. Общая концепция следующая: жмёшь хоткей, выделяешь область экрана, в буфер обмена получаешь ссылку на скриншот, который автоматически загружается на какой-то хостинг. Так же многие из вас наверняка пользовались другими сервисами — позволяющими опубликовать фрагмент исходного кода и получить ссылку на страничку, отображающую этот исходник с подсветкой синтаксиса.

Мы объединили две эти идеи и сделали проект, обладающий следующими фичами:

  • Публикация скриншотов и исходников по нажатию хоткея
  • Open Source — можете форкнуть / поднять на своём сервере / добавить новые фичи
  • Прямая ссылка на изображения, отсутствие рекламы
  • Кроссплатформенность
  • Устойчивость к высоким нагрузкам (хостимся в облаке)

Читать дальше →

JavaScript: от начала до конца

Reading time6 min
Views189K
TL;DR
Эта обзорная статья. Такое себе "краткое содержание предыдущих серий". Она будет полезна для новичков, или тех, кто не следил за отраслью в последнее время. Для новичков это будет первый шаг во "Вселенную JavaScript", бывалые смогут освежить свои знания.

У JavaScript очень удивительная судьба. Он преодолел путь от самого не понимаемого до самого удивительного языка. У него было тяжелое детство:
Изначально Автор хотел написать функциональный язык. Но менеджеры хотели получить, «обычный» объектно-ориентированный. И чтобы было легко искать разработчиков для новоиспеченного языка синтаксис решили сделать похожим на Java и даже название сделали похожим.
Но на этом история не заканчивается. Java, JavaScript это торговые марки Sun (а теперь Oracle). Microsoft не мог воспользоваться именем JavaScript (Netcape и Sun дружили против Microsoft). В результате Microsoft решил сделать реверс инжиниринг JavaScript и назвал его JScript. Сделали реверс инжиниринг, и сделали его настолько хорошо, что даже содрали все баги в реализации. Позже решили сделать стандарт и назвали его ECMAScript.
Читать дальше →

Меню запуска приложений в KDE4 и Gnome2 по клавише Super

Reading time1 min
Views10K
В KDE4, по умолчанию, меню приложений вызывается комбинацией клавиш Alt-F1 в то время как у большинства в подкорке сидит кнопка между Ctrl и Alt — Super, как её ещё называют кнопка Windows.
К сожалению стандартный диалог выбора комбинации клавиш позволяет использовать кнопку Super только в сочетании с другой. Дескать Super только модификатор и все тут. Я долго не мог найти решение этой проблемы, лучшее что мне удалось — установить Caps Lock.
Читать дальше →

Оптимизация Windows для использования SSD диска: мифы и реальность

Reading time6 min
Views856K


Когда весь интернет пестрит холиварами на тему «SSD ненадежны» и «SSD настолько быстрые, что я больше никогда не буду работать с HDD», думаю самое время внести немного ясности в то море противоречевой информации о самих SSD и о настройке Windows для работы с ними.

Кто заинтересовался, прошу под кат.

Читать дальше →

Генератор энтропии Seeder 1.1 существенно уменьшает лаги на Android-устройствах

Reading time2 min
Views142K
В старых версиях Android некоторые системные компоненты и JVM активно считывали большие объёмы случайных чисел из псевдоустройства /dev/random. Это устройство предоставляет интерфейс к системному генератору случайных чисел (ГСЧ), который выводит шумы из драйверов устройств и других источников в «хаотичный» пул. На старых версиях Android иногда возникали проблемы с наполнением пула случайных чисел. В случае опустошения пула возникали лаги UI, пока пул не наполнялся. В новых версиях Android проблему с лагами UI решили, но не до конца: всё-таки иногда возникают характерные задержки.

Многие пользователи считали, что лаги интерфейса объясняются недостаточной производительностью CPU, на самом деле это не так. Проблема именно в истощении пула случайных чисел.

Один из разработчиков с форума XDA-Developers перекомпилировал rngd, так что пул случайных чисел каждую 1 секунду пополняется из пула псевдослучайных чисел /dev/urandom. Результат — потрясающее ускорение интерфейса Android с почти полным исчезновением лагов! Chrome, карты и другие тяжеловесные приложения теперь мгновенно переключаются между задачами.
Читать дальше →

Курс по Sass на Code School и мировозрение после него на примере (смотрим на .less, .scss и .sass)

Reading time6 min
Views12K
В сентябре я прошел курс на Code School по Sass, называется Assembling Sass и вел его Nick Walsh, гуру в css и sass. Курс полностью бесплатный. Пройдя его я задумался на чем бы себя испробовать. Мой друг недавно написал на Less «Punches» — имея background и foreground и наложением сверху CSS мы получаем следующий эффект «дырок». (Если интересно запустить этот код могу дать ссылку на github).


image
Читать дальше →

Information

Rating
Does not participate
Location
Заречный (Пензенская обл.), Пензенская обл., Россия
Date of birth
Registered
Activity