дыбр

Mar. 10th, 2015 07:31 pm
wizzard: (Default)
Спасибо всем, кто откликнулся в итоге на пост. Стало веселее :)

Осталось еще перестать засиживаться в офисе до двух ночи, и станет совсем хорошо...

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

Просто они ведутся на сайты а-ля https://otr.cypherpunks.ca/ а не https://silentcircle.com/ , т.к. привыкли, что "софт без неприятных неожиданностей" (а именно это во многом создаёт то самое психологическое ощущение безопасности - после того, как закончился период первоначальной адаптации) выглядит так.

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

Ну и из разных контекстов потом произрастают фанаты PGP, фанаты Telegram, OTR, CryptoCat и так далее.

А, да. Справедливо не только для секьюрных мессенжеров, а и для "средств общения вообще". Чего стоит одно недолюбливание мобильных телефонов в США стараниями Голливуда.

(Выводы сделаны после продолжительного догфудинга разных секьюрных мессенжеров и попыток анализа их совокупного влияния на привычки и прочий OPSEC своих пользователей, а сам пост - развернутый комментарий на пост Арканоида)

КДПВ, somehow related:
wizzard: (Default)
Тайпскрипту скоро исполняется два года (если считать с первого публичного релиза).

Появилась инфраструктура, то-сё. Ну и в общем - да, он работает. Позволяет лопатить неслабые количества 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)

Такое вот.
wizzard: (Default)
Never, NEVER ever try to rely on ordering in distributed systems.

Even if everybody tells you "in this particular case it'll be okay".

Especially if you're pretending to be asynchronous. Because asynchronous means you have INFINITE timeouts.

Crap crap crap.
wizzard: (Default)
Оно пытается работать, лол. Оверхед (в частности, write amplification) просто-таки безумный. Но работает.

(Шифрованные не в смысле "на криптодиске", а в смысле "расшифровывается минимальное необходимое для ответа на кверю количество данных, минимально необходимым количеством ключей")
wizzard: (Default)
после двадцатого изничтоженного дедлока в мозгах отрастает многопоточный симулятор -_-
wizzard: (Default)
выражаю публичное спасибо [profile] ev_genus за организованный в очередной раз coding session
wizzard: (Default)
на третьем человеке мой ресурс цензурных обьяснений "как надо делать, как можно делать, как не надо делать, и как нельзя делать" на сегодня явно исчерпался >_
wizzard: (Default)
compiler bug

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

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

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

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

и баг оказывается в коде (купленной) либы, сцуко.
wizzard: (Default)

есть вроде такое общеизвестное правило, что вначале надо делать то, что надо, а потом уже – что хочется.

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

в итоге не делается ни то, ни другое.

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

wizzard: (Default)

Как выяснилось на прошлой неделе, одного бэкапа бывает недостаточно :)

Но как прозрачно (без длительной медитации на прогрессбары) бэкапить off-site виртуальные диски и криптоконтейнеры – совершенно неочевидно.

Ладно, купил нормальных винчестеров, сделал на десктопе RAID1 для данных, RAID0 для свопа и ОС, перенес всё окончательно в виртуалки, и то хлеб.

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

P.S.: как в уже-установленную Win7 добавить драйвер сата-контроллера, не загружая ее? так бы я, может, обошелся клонированием образов в одном месте

wizzard: (Default)
ну вот, поставил в ноут новый винт, все перенес, etc...



после чего на следующее утро залил железку радикальным количеством теплой воды :(



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

я чего-то не понимаю. был код на плюсах. есть порт на яву с идентичным функционалом.

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

и таки да, пока что:

- плюсовый код читается гораздо легче, невзирая на C++ FQA
- на сишарпе получается в ~2 раза компактнее плюсов, не говоря уж о той куче кода, за которую я взялся в оригинале. как можно было так извратиться?…

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 4th, 2025 01:41 am
Powered by Dreamwidth Studios