wizzard: (Default)
Мне тут пришла в голову идея написать транслятор Javascript в Lua ;-)

(В обратную сторону уже пару штук есть)

В целом интересны такие вещи:

1) насколько страшно будет распухать код при попытке изобразить семантику ECMA-262 на Lua

2) будет ли конструкция ECMA-262 -> Lua -> LuaJIT быстрее V8 ;-)

3) насколько получится сделать модули ноды (npm) совместимыми с OpenResty

Что скажете?

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

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

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

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

ээхх....
wizzard: (Default)
1. посчитать velocity aka отношение планируемых часов по [его] таскам к часам календарным
2. посчитать efficiency aka "записанные часы по таскам к прошедшим часам календарным"
3. показать todo-list :)

если человек прошел все три испытания - впасть в депрессию в ближайшие полгода ему не грозит ;)

UPD: из зала подсказывают, что есть еще sink rate - "входящие таски к выполненным к дропнутым"

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

p2p wiki

Sep. 26th, 2013 03:15 pm
wizzard: (Default)
сделал наконец в своей p2p wiki wysiwyg аутлайнер.

черт, насколько же удобнее стало (хотя он пока не интегрирован никак, даже внутр ссылки подсвечивать не умеет)

но до слезания с OneNote еще очень-очень далеко...

и надо бы перевести ее на Markdown наконец (а вот тут как раз не NIH, этот проект начался до того как Markdown вообще появился, бгг)

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

и вообще столько всяких TODOшек :/

вопрос кстати - как в маркдауне отступы делать? только списками? неудобно ((
wizzard: (Default)
...aka "что удерживает меня от перехода с Microsoft'овского стэка на что-то другое"

Пост родился из продолжительной дискуссии с _sorcerer на тему "а чем NaCl хуже?", которая продолжилась в духе "но лучше ведь сделать нельзя", а чтобы не шерстить свои заметки по второму кругу - решил вынести ссылки из коммента в пост.

итак. http://www.cs.virginia.edu/~nrp3d/papers/computers_and_security-net-java.pdf старый, но актуальный обзор
http://www.onjava.com/pub/a/onjava/2004/01/28/javavsdotnet.html?page=4 а вот тут наглядно показана разница между подходами (в одном случае проверяется формальная модель, в другом - валидация отдана на откуп программисту, что и приводит к последствиям описанным в предыдущем обзоре)

http://research.microsoft.com/en-us/um/people/fournet/pwp/default.htm история поиска проблем в секьюрити-модели дотнета и разработки диагностических тулзов (понятно, что можно руками нарисовать на методе formatDisk, что его могут вызывать все, но это можно статически обнаружить, что в Джаве невозможно)

http://msdn.microsoft.com/en-us/magazine/ee677170.aspx к чему в итоге пришли (не стоит читать раньше других ссылок, т.к. будет непонятна терминология)

http://people.csail.mit.edu/jeanyang/papers/pldi117-yang.pdf расширение идей до целой ОС

читать по порядку, потом читать референсы, тоже по порядку. да, читать здесь МНОГО.

при этом у меня так и остался неотвеченный вопрос - почему кроме MS Research никто этим не занимается? ну или может занимается, так где же хотя бы пейперы?
wizzard: (Default)
2013 год, да? весь код уже написан?

а вот ХУЙ! последние полгода я регулярно ебусь с кривыми реализациями ЦЕЛЫХ ЧИСЕЛ и СТРОК. я уж не говорю о такой роскоши, как компиляторы, дата-время, таймеры, генераторы случайных чисел и т.д. А вы говорите "офис", "фотошоп", и удивляетесь, почему софт до сих пор глючит и в нем до сих пор находят дырки. да-да-да. ага щаз.

да, есть куча либ. все они рабочие. только везде есть 3/4 функций, и эти 3/4 не пересекаются, и хуй что проинтегрируешь!

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

на что я уже только не сабмитил баги... -_-

UPD: хочется уйти в монастырь ЛММ писать proof-checked code на хаскеле агде или на чем там его еще пишут, плюс с дополнительной обработкой ошибок от RAM и HDD видимо.
wizzard: (Default)
оказывается, они не завяли а, наоборот, развиваются! http://kck.st/11wlW7I

as a completely unrelated note, CSS IS AWESOME. даже на Амазоне - http://tvori.info/people/wizzard/blog_images/2013/css_is_awesome.jpg
wizzard: (Default)
compiler bug

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

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

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

а еще мне надо дописать спеку на код, написанный человеком А (не мной, но по моей просьбе), чтобы с ним мог интероперировать код, написанный человеком Б. тоже веселое занятие...
wizzard: (Default)
In Soviet Russia, portable code writes you!

Сижу и проверяю арифметику на целых числах. Дожился.

https://gist.github.com/wizzard0/6189922
wizzard: (Default)
Товарищи, а может вдруг кто знает, какой есть софт/SDK для пакетного распознавания speech-to-text?

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

[profile] kelijah приглашается в тред :)
wizzard: (Default)
duality

Я тут временами люблю перефигачивать себе мозги. Рефлексы, привычки, модели, точки зрения, образ мышления, вкусы - все это настраивается.
Read more... )

Итого, если раньше я мог нормально работать много где, то сейчас приходится закрываться в комнате, врубать музыку в уши, отключать мессенжеры и выключать мобильники. И "flow" срывается не на единицы минут, а на часы, а то и дни. В итоге за май - огромный бэклог нерешенных технических вопросов. Зато переговоры, да...

Ну и что теперь делать, блин? Не, как минимум один выход есть - соорудить сознательно управляемый переключатель между этими двумя состояниями ("социопат/дипломат"). Но на это уйдет минимум год, а то и 3-5... А делать что-то надо уже сейчас >_<. Отвратительно.

EDIT: говорят, что человек, который мне нужен - называется не психотерапевт, а менеджер/агент ;) Вообще, интересная мысль. Подумаю.

EDIT2: заместитель/бизнес-партнер. мда.
wizzard: (Default)
(это мой коммент к прошлому посту)

Есть совершенно разные виды кода - есть код "трудный" и "сложный", по-английски "complex" и "complicated" (но английские варианты я все время путаю), для трудного лучше супер-языки, для сложного - супер-IDE.

Трудный код - его мало, он нетипичный и, как правило, плохо поддается разбиению на модули. "Рожается" медленно и типично для этого нужны супер-гуру, 1-2 шт.
Сложный код - его много, но он плюс-минус однообразный, и не поддается уплотнению. "Рожается" быстро, но с кучей мелочей, типично параллелизуется на Х программистов, X>5.

Например, "написать движок построения планов к БД" - трудный код.

Написать экспортеры в Х форматов - сложный код.

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

А делятся программисты на два лагеря вот так: http://osteele.com/posts/2004/11/ides (за ссылку спасибо lionet)

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

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

Если я пишу сам - я могу херачить DSL'и транслирующиеся по нескольку метауровней в итоговый код, если пишет 3 человека - уже появляются какие-то conventions, если пишет 30+ - то фичи языков начинают активно запрещаться, иначе человек, ушедший в отпуск, тратит еще месяц на последующее "вьезжание в тему".

Поэтому, проекты, где много рутины - надо писать на языках с IDE и прочим инструментарием, используя его на всю катушку, а "жесткие ключевые части" можно писать на чем угодно.

Рутины типично много везде. Поэтому LISP не побеждает, а остается нишевым языком. А тот же самый дотнет рантайм прототипировался на лиспе. И это нормально. Для каждой задачи свой инструмент.
wizzard: (Default)

пишу датафлов движок для продакшена в третий раз.

в какой-то книжечке я читал, что после 3 частных случаев можно наконец делать либу :)

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

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

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

edit: вставил картинку, картинка уменьшена и не кликабельна, дабы не вызывать вопросов у лоеров заказчика.
wizzard: (Default)
(цитата)

Modern programming is primarily text because that’s what a keyboard affords us. We could use a mouse for freeform input, but that’s too painful in my experience. With a pen and paper, we are afforded full use of graphs, diagrams, arrows, functional curves, sketches (e.g. of characters, world maps, interactions), of ad-hoc mathematical symbology, etc.

This is a freedom that I love in my note taking, when I’m actually thinking about ideas. I’m that person who buys composition books and handfuls of pens and just wanders off to a park or restaurant. I often find it difficult to shift back to rigid program text.

I like scratch space. I scratch notes in margins. I connect ideas together. I’m not fond of structured editors. But this notion of an “unstructured” edit space that happens to represent a structured virtual program object (achieved via clarifications and constraints) appeals to me greatly.

http://awelonblue.wordpress.com/2012/10/26/ubiquitous-programming-with-pen-and-paper/

собственно говоря, ровно по этой причине я люблю OneNote, rich text и индуктивные (не резистивные) тачскрины со стилусом.
wizzard: (Default)
решил прикрутить в вики редактор "для простых смертных", в смысле, WYSIWYG, играюсь вот с разными...

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

еще больше печалят мысли о синхронном редактировании и потенциальных коллапсах/взрывах документов, если юзеры в реалтайме залогинены с использованием редакторов, использующих разные codebase (например, один с мобильника и один с веба)

что же делать?...
wizzard: (Default)
...это отображение состояния софта (чаще какого-то сложного процесса или системы), рассчитанное не на чтение+восприятие цифр, а на восприятие рисунков, шаблонов. Или звуков.

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

Встречал много раз у всяких экспериментальных артистов и ученых, и пару раз в статьях от каких-нибудь cutting edge компаний, но никогда не встречал в опенсорс коде. Хотя нет, вру, mtr умеет делать похожую визуализацию, но вроде и всё.

[16:36:35] K: я так понимаю у тебя там в консоли целый ASCII-art был со статусами ))
[16:36:40] wz: Да
[16:36:58] wz: Я люблю аскиарт в консоли, без него не могу дебажить
[16:37:00] wz: Ну, реально
[16:37:07] wz: Когда у тебя процесс идет несколько часов
[16:37:11] wz: И перехерачивает кучу данных
[16:37:17] wz: То без шансов какие-то логи читать
[16:37:31] wz: Только смотреть на узоры разных букв и высматривать необычные паттерны
[16:37:52] wz: Благо, мозги человеческие паттерн рекогнишеном умеют заниматься отлично
(snip)
[16:49:30] wz: Еще полезно в логе делать отступ, равный глубине стэка, и красить треды разным цветом

Как-то вот так :)
wizzard: (Default)
Накопился определенный опыт работы с одним и с другим.

В общем:
Git: it works, but you have to learn it, tune it and tweak it.

Mercurial: it just works. you can tune it if you want, but it just works.

Еще с гитом я успел повлетать в пачку неприятных моментов когда пуш/пулл тупо не проходили, или репозиторий корраптился. Хорошо, что есть reflog.

Плюс, как показала практика, в меркуриал можно успешно засунуть TFS репозиторий с историей весом несколько Gb, и это не вызывает каких-то тормозов вообще. Очень, очень хорошо. Да, не факт что это нормальная ситуация, но легаси есть легаси, его не изменить.

В гите такое же действие приходит к тому что эмм надо долго шаманить с настройками, прежде чем пройдут особо крупные коммиты. Можно? Можно. Удобно? Не очень.

Хотя "непроходимость коммитов" случалась даже на мелких репозиториях, если делать рефакторинг.

С меркуриалом "history is sacred". Кому-то это нравится, кому-то нет. Мне - нравится.

Гит, напротив, должен быть приятен тем, кто подрабатывает в министерстве правды и правит коммиты задним числом.

Итого, для себя для продакшена - меркуриал. Гит неплох, но отвлекает. Меркуриал - просто и естественно становится частью рабочего процесса.

Плюс, "windows is a first-class citizen for mercurial". Hg Workbench на первый взгляд страшен, но уже через пару дней реально удобная тулза. Тестеров и джуниоров она тоже не пугает, что немаловажно.

А, да. SVN остается для особо сикретне проектов, где важна необходимость ограничивать доступ с гранулярностью до папок и оправдан оверхед на неудобные мержи.

Как-то вот так.
wizzard: (Default)
Есть вещи, которые плохо ложатся в голову, и вызывают напряжение и/или страх ошибиться при их реализации.

К примеру, я видел людей, которые боятся работать с указателями, с изменяемыми данными (pun intended), со слабой типизацией, с ASCIIZ-строками, с кодировками, с UDP, с многопоточностью, с eventually consistent системами, ну и так далее.

Лично меня уже лет 8 адски одолевает паранойя на тему endianness - записывается 100500 в памяти как 0x00,0x01,0x88,0x94 - или 0x94,0x88,0x01,0x00. Вот ничего с этим поделать не могу.

Особенно одолевает, когда данные эти не являются сами по себе числами, а когда хочется, к примеру, SHA256 хэш хранить в виде 4 int64 - интуитивная проверка результатов тут уже не катит :/

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

- "в деньгах" ответило 31 человек, "в процентах" - 17, всего 39 (некоторые ответили и так, и так, два человека не указали ни то, ни другое :))

- По желаемой зарплате выделяются четыре явных группы: <$500 , расплывчатая группа $1600-3900, пик $4000-$4300 ("рынок"?), и некоторое кол-во индивидуумов >7000$.
Все цифры в долларах США, после налогов. Налоги вычтены у тех, кто писал "контракт" или "gross", не вычитались у тех, кто писал "на руки". Возможно, пару человек ошибся. Скорее всего, ошибся, когда считал прогрессивку, но вряд ли более чем на 10-15%.

- С процентами ситуация тоже интересная, есть люди, готовые уходить даже с понижением ЗП, но в более интересное, есть предсказуемые 25-35%, а есть те, кому надо поднимать ЗП почти в 2 раза :) Средняя температура по больнице - 65%, но таких людей в реальности нет, есть больше, есть меньше.

- 4 человека дополнительно указало, что релокейшн в Москву обязан сопровождаться 2x-5x увеличением ЗП :) (в основной статистике это не учитывалось). Тем не менее, у тех, кто живет в Москве, ЗП ненамного больше. Вывод - среди нормальных специалистов там должны быть кадровые проблемы.

- Большой пик на $4000 соответствует тем, кто указывал "повысить на 25-30%", т.е. на руки сейчас они получают около $3000.

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

- Методом деления на желаемый процент :) посетители обзора получают в среднем на 10-35% больше, чем выходит по статистике dou.ua (UA), tut.by (BY), onwardsearch.com (US) и того, что Гугл нашел по европе.
- Выше $7000 решает не сколько доход, сколько налоги, и место жительства пофигу (такие люди нашлись везде понемногу). В US/EU, конечно, несколько больше.

Ну и, наконец, картинки:


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

UPD: упс, забыл себя добавить, пришлось пересчитывать...
Автор обзора согласен заниматься контракторством за те же деньги, которые давали на предыдущих краткосрочных контрактах, или делать интересные вещи с хорошей командой - но за кусочек компании.
UPD2: если кто не верит, что в Киеве или Питере бывают зарплаты >$8000 after tax - такие люди есть, я их живыми видел, да :) (причем в этом опросе их нет)
wizzard: (Default)
(По мотивам http://metaclass.livejournal.com/725819.html , http://belnetmon.livejournal.com/2033065.html , http://aliaksei.livejournal.com/2060745.html , и пока комп все равно нещадно тормозит из-за массовой миграции виртуалок)

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

Предположим, что новая работа попадает в ваш skillset и/или поле желаемых занятий, и связана с IT.

Комменты скринятся, по желанию могу расскринивать. Желательно также указывать какие-то, эм, качества, которыми вы гордитесь, ну и то самое поле желаемых занятий :)
По итогам нарисую обьективно необьективную статистику.

UPDATE: уже 6 18 31 33 37 data points!

UPD2: "+25%" - это тоже хорошо, но абсолютные цифры прикольнее.

UPD3: выделяются две тенденции, "про деньги" и "деньги не главное". что любопытно, обьем денег там, где они "не главное", где-то такой же, как и там, где "про деньги".

UPD4: Хватит, наверное. Теперь главное не забыть сделать эту самую статистику)))

UPD5: Сделал - http://wizzard.dreamwidth.org/240170.html

Пиар welcome.

Profile

wizzard: (Default)
wizzard

April 2017

S M T W T F S
      1
234 5678
91011 12 131415
161718 19202122
23242526272829
30      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 25th, 2017 04:20 pm
Powered by Dreamwidth Studios