wizzard: (Default)
не хочу рефакторить кучу легаси говнокода на JS в няшные AMD модули на TypeScript, а хочу фырфырфыр и отпуск

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

спать хочется

edit: хотя переписывать Fortran на Objective-C по идее еще хуже

ээхх....

html5 hype

Sep. 12th, 2013 04:32 pm
wizzard: (Default)
Интелу надо сделать процессор, оптимизированный для Javascript.

Или сделать свой JS-движок, вложив туда наследие от своего С++-компилятора ;)

Тогда x86 начнут снова любить ;)
wizzard: (Default)
compiler bug

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

или таки bite the bullet и продолжить составлять //gist.github.com/wizzard0/6189922?

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

а еще мне надо дописать спеку на код, написанный человеком А (не мной, но по моей просьбе), чтобы с ним мог интероперировать код, написанный человеком Б. тоже веселое занятие...
wizzard: (Default)
...и иллюзию контроля над тем, что сайт делает у вас на машине

...а также иллюзию того, что историю и куки можно чистить, а от browser fingerprinting - уйти.

Я нашел чудесный сайт, на который можно аплодить картинки (и смотреть эти картинки, естественно), при этом ни аплоад, ни даунлоад не показывается в network debugger'e :)

HTML5 рулит, да. Никаких плагинов.

Это в дополнение к antidebug tricks, которые в JS тоже возможны, да)

P.S. я сайт пока не показываю потому что ищу, можно ли этой техникой раскопать внутренний IP посетителя и/или его айпи "до VPN"

UPDATE: PoC - http://wizzard.dreamwidth.org/306493.html

typescript

Oct. 2nd, 2012 12:04 pm
wizzard: (Default)
microsoft выкатил свой диалект JS с модулями, классами и optional typing.

Что скажете? Embrace, extend, extinguish? Или хорошее дело?

Имхо, с точки зрения scalability кода, который на этом можно написать - явно хорошее. По крайней мере, лучше Dart и прочих попыток сделать из JS джаву.

Но вот не сломали ли они Good Parts (в смысле, лиспообразие и совместимость с прототипным программированием) - надо внимательно посмотреть.
wizzard: (Default)
Итак, сегодня я выучил два новых ключевых слова для поиска в Google (и не только). Если бы я знал их два года тому назад, они сэкономили бы мне тысячи LOC и месяцы работы.

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

Соответственно, искать надо "недостающая фича polyfill" или "недостающая фича shim".

Еще можно сходить сюда http://www.calormen.com/polyfill/ или сюда - https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills

Еще 10 лет назад ничего из этого не имело смысла. А еще через 20-50 уже не будет иметь. Век живи, век учись...

Dart FAIL

Oct. 23rd, 2011 01:36 pm
wizzard: (Default)

Hello World –> 17259 строк кода, по сравнению с которым Java кажется верхом компактности и скорости.

Подробнее можно читать тут.

Лично меня удивил не размер stdlib сам по себе, а то, что они пытаются:

  • компилировать все это в рантайме (мобильные устройства, привет)
  • без каких-либо оптимизаций (черт, весь мой JS обфускатор весит меньше, могли бы уже и воткнуть какой-нибудь простой инлайнер, тем более, что у них есть Closure Compiler)
  • вообще без какой-либо оглядки на Javascript: The Good Parts и прочие гайдлайны
  • без совместимости с существующими JS библиотеками

короче, это ужас и кошмар, *любой* из компиляторов с List of languages that compile to JS работает лучше.

Окей, вначале Dalvik, теперь Dart, что будет следующим? :)

wizzard: (Default)

http://jsconsole.com и их Remote Debugging – это просто волшебная штука, если хочется дебажить приложение на телефоне!

wizzard: (Default)

Usable instead of Rhino Shell or v8-shell on any Windows PC. Provides (very) basic file IO and include functionality. Download: run.js

I used it to build and run OMeta-based ES5 parser from ES-LAB.

N:\nya\the-one\parsers>cscript //NoLogo run.js es-lab-jsparser-tests.js 
Loading N:\nya\the-one\parsers\es-lab-jsparser-tests.js...
Loading N:\nya\the-one\parsers\load-ometa.js...
Loading N:\nya\ometa-js\lib.js...
Loading N:\nya\ometa-js\ometa-base.js...
Loading N:\nya\ometa-js\parser.js...
Loading N:\nya\ometa-js\bs-js-compiler.js...
Loading N:\nya\ometa-js\bs-ometa-compiler.js...
Loading N:\nya\ometa-js\bs-ometa-optimizer.js...
Loading N:\nya\ometa-js\bs-ometa-js-compiler.js...
Loading N:\nya\es-lab\unicode.js...
Loading N:\nya\es-lab\es5parser.js...
Loading N:\nya\es-lab\json2.js...
Loading N:\nya\es-lab\unit.js...
Loading N:\nya\es-lab\parsertests.js...
[Lexer done. Passed: 190 Failed: 0 Total: 190]
[Parser done. Passed: 1186 Failed: 0 Total: 1186]

N:\nya\the-one\parsers> UPD: Moved to http://tvori.info/wsh-runner/
wizzard: (Default)

(захотелось мыслю написать и сюда тоже)

еще одна причина трепыханий с собственным JS рантаймом - потому что хочется сделать подобие Application Domains из .NET для JS, чтобы компоненты могли что угодно творить. ибо без eval (или кодогенерации, как кому угодно), все-таки, львиная доля привлекательности динамических языков теряется.

плюс, когда рантайм свой, можно делать как hard так и soft resource quotes, и попробовать все-таки осилить его сериализацию и сделать тот самый holy grail ака мигрирующие в пространстве (между машинами) и во времени (сейв-лоад) аппликухи.

а йаваскрипт, а не другой язык, просто потому, что популярный.

Profile

wizzard: (Default)
wizzard

June 2017

S M T W T F S
    123
45678910
11 121314151617
18192021222324
252627282930 

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 25th, 2017 02:46 am
Powered by Dreamwidth Studios