Про маркетинг решений для гиков
Dec. 31st, 2014 06:57 pmПросто они ведутся на сайты а-ля https://otr.cypherpunks.ca/ а не https://silentcircle.com/ , т.к. привыкли, что "софт без неприятных неожиданностей" (а именно это во многом создаёт то самое психологическое ощущение безопасности - после того, как закончился период первоначальной адаптации) выглядит так.
Ну и каждое новое поколение/субкультура имеет свой особенный культурный контекст в этом смысле. Чуть ли не вплоть до того, какую фантастику читали в детстве. Потому что дизайнеры намеренно или бессознательно проецируют свою этическую систему и мораль "что можно, что нельзя" на дизайн продукта (как код, так и оформление), после чего естественным образом там остаются те, кому это близко по душе.
Ну и из разных контекстов потом произрастают фанаты PGP, фанаты Telegram, OTR, CryptoCat и так далее.
А, да. Справедливо не только для секьюрных мессенжеров, а и для "средств общения вообще". Чего стоит одно недолюбливание мобильных телефонов в США стараниями Голливуда.
(Выводы сделаны после продолжительного догфудинга разных секьюрных мессенжеров и попыток анализа их совокупного влияния на привычки и прочий OPSEC своих пользователей, а сам пост - развернутый комментарий на пост Арканоида)
КДПВ, somehow related:

TypeScript-2014
Sep. 12th, 2014 11:02 pmПоявилась инфраструктура, то-сё. Ну и в общем - да, он работает. Позволяет лопатить неслабые количества JS-кода в одиночку и в команде, и отлично интегрируется с существующей лапшой. Хотя есть нюансы.
1. Поддержки IDE как не было, так и нет :) Ну то есть Sublime Text рулит, бибикает и бегает кругами как вокруг Visual Studio, так и вокруг JetBrains WebStorm'a. Потому что студиевский typescript language service тормозит и виснет, а вебштормовский, ммм, существенно быстрее, но при этом выводит типы неправильно, ну и толку с него такого? :)
2. Сложившееся комьюнити с DefinitelyTyped, скажем так, странное. Дефинишны тоже очень разного качества и разных парадигм. Но и на том спасибо.
3. Собственно, если код использует "только cjs модули" + какой-нибудь browserify (мы сделали свой велосипед, впрочем) - всё зашибись. Или если "только лапша из скрипт-тэгов", то тоже отлично работает.
А если смешивать - то области видимости тоже психоделически смешиваются, и править код становится неудобно, на малейший чих куча ошибок при компиляции. Хотя, с другой стороны, ну логично же.
А, да, чего я это пишу. Наконец-то придумали convention, как нормально раздельно компилить пакаджи, чтобы результат можно было npm install, и подключенные пакаджи продолжали типизированно линковаться с их пользователями. Почти автомагически (тайпинги генерятся сами, плюс обертка которая правильно ремапит их в cjs). Очень радует.
Ну то есть еще чуть-чуть, и в JS появится нормальное понятие "deployment unit" (aka CLR "assembly"), которую можно подключить и быть более-менее уверенным, что если интерфейс поменяется - то это будет видно сразу при компиляции, и для этого не надо каждый раз лопатить компилятором мегабайты файлов, а достаточно просто проматчить type definitions (.d.ts)
Такое вот.
compiler bug
Aug. 12th, 2013 03:01 pm
кроме всего прочего, попалась странная задача. есть, кхм, глючный оптимизирующий компилятор (точнее, кросс-транслятор). в него суется арифметика и он ее иногда неправильно оптимизирует. например промежуточные результаты получаются шириной в регистр а не шириной в байт. как это дебажить? )
или таки bite the bullet и продолжить составлять //gist.github.com/wizzard0/6189922?
потому что кросстрансляторы я люблю, и это не первый раз, и похоже далеко не последний.
а еще мне надо дописать спеку на код, написанный человеком А (не мной, но по моей просьбе), чтобы с ним мог интероперировать код, написанный человеком Б. тоже веселое занятие...
надо и хочется
Oct. 21st, 2011 04:31 pmесть вроде такое общеизвестное правило, что вначале надо делать то, что надо, а потом уже – что хочется.
только вот беда, если то, что надо – непонятно как делать, зато понятно, как делать то, что хочется – то можно днями сидеть и тупить, потому что голова естественным образом думает про другое, а ты ее заставляешь думать про то, что надо :/
в итоге не делается ни то, ни другое.
как бы так, черт побери, сделать включатель-выключатель этой штуки? (ну, понятно, что целиком ее откручивать тоже нехорошо)
Как выяснилось на прошлой неделе, одного бэкапа бывает недостаточно :)
Но как прозрачно (без длительной медитации на прогрессбары) бэкапить off-site виртуальные диски и криптоконтейнеры – совершенно неочевидно.
Ладно, купил нормальных винчестеров, сделал на десктопе RAID1 для данных, RAID0 для свопа и ОС, перенес всё окончательно в виртуалки, и то хлеб.
С нетерпением жду результатов ремонта искупавшегося в горячей воде ноута, да.
P.S.: как в уже-установленную Win7 добавить драйвер сата-контроллера, не загружая ее? так бы я, может, обошелся клонированием образов в одном месте
hardware sucks
Oct. 13th, 2011 02:10 pmпосле чего на следующее утро залил железку радикальным количеством теплой воды :(
разобрал, сушится, вечером попробую включить.
с одной стороны, вроде на вид вся вода уже удалена, но такого ее количества я определенно ни в одном ноуте еще не видел.
я чего-то не понимаю. был код на плюсах. есть порт на яву с идентичным функционалом.
мне оно понадобилось на сишарпе, и я сдуру взялся переносить явский вариант – ну как же, языки же ближе вроде как? убив месяц, заподозрил неладное. пошел сравнил размер и офигел. плюсы – 30 KLOC, ява – почти 300 KLOC.
и таки да, пока что:
- плюсовый код читается гораздо легче, невзирая на C++ FQA
- на сишарпе получается в ~2 раза компактнее плюсов, не говоря уж о той куче кода, за которую я взялся в оригинале. как можно было так извратиться?…