В целом angular dart ничо так, терпимо. Цикл edit-compile-run конечно подольше чем был в славном gwt, секунд 25 у меня на 2ядерном гейбуке.

Профит в том, что тайпчекает выражения в html шаблонах тоже, что немного утешает. Ну все остальное тоже тайпчекает, кроме левых проколов, таких как если ты написал левый тег, то он его молча как есть оставит. Всякие SCSS тоже нихрена не чекает, легло оно на что или нет. Но импорты в них понятно, ругается.

На безрыбье и рак — рыба.

Загрузил немного данных в яндексовскую БД ClickHouse, сравнить перфоманс с KDB.

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

Померял простой group-by, на memory table кликхауз уделал на этих запросах аналогичное KDB раза в полтора, на сжатой таблице хранимой на диске где-то того же порядка результат. Ну чо, нормуль, одобряю. Писать более сложные тесты не стал, потому что ну его нафиг, вот почему. А, и еще у них там сэмплинг есть при желании, то есть берутся не все данные, а регулярные кусочки, и по ним считаются приближенные данные, в кдб такое надо явно писать, но не было нужно.

Вердикт: перфоманс действительно на высоте, но использовать это для полезных целей кроме самого простого анализа time series не вижу смысла.

вот раньше такая штука была, "zmodem" называлась. Шо это такое: сидишь в терминале, тебе запущенная в терминале консольная программа генерирует специальную последовательность, которую ТЕРМИНАЛ понимает и складывает в файл рядом с собой. Нужно чтобы передать например файл из консоли прямо ко мне, через сколько бы там я штук ssh не сидел далеко. Нужно, чтобы терминал умел понимать zmodem как он понимает ansi sequences. И кстати в другую сторону тоже работало.

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

Решил, дай-ка проверю, что местная контора сварила на новый год.

Ппц, я живу в раю, в 22 веке! Не знаю как в РФ, но имхо это уже за пределами щастья (определенного рода, конечно). Да, достаточно честный 3G, 15 мбит в городе, по ощущениям есть, я не мерял нарочно. У нас в гребенях тоже быстро.

Киевстар, 3G, 90грн ($3/мес)

Закинул удочку в Serokell, которые вроде б то под руководством Дарта Вейдера^W^WPhilip Wadler пишут свой альткойн на Хаскеле. Питерские, но ищут remote чуваков.

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

Говорят, что работы на 8-9 часов, прислали небольшую заготовку, которая по юникс сокетам коммуницирует, API неможко парсит, таймауты там тестовые имплементит, которые нужны по ТЗ, молодцы.

Бросаться в это? Кто пропустил и хочет, могу зафорвардить, они раскидали тем, кто выразил интерес в середине декабря.

Какой смысл в node.js если есть dart?

Варианты ответов: 1) под ноду есть офигенне ВЕБ-фреймворк, без которого не жизнь, и оно без ноды на сервере не живет 2) реюзать код с бровзером

В моем случае: чисто енларг-подобный процессинг: схватил — сцепил — залил/отдал, никаких веб фреймворков. Шарить с вебом тоже нечего. Зато строгая типизация с тайпчекером, системные штучки искаропки, раздельные кучи, и самое главное — это то, что оно задизайнено все изначально как надо, не костыльно, весь тулчейн включая package mgr.

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

Неявный вопрос звучит так: может я пропустил что-то, что в этом направлении идет еще дальше дарта?

Мечта человечества была не голодать, нажраться. Вот, хавка вроде есть. Теперь мечта жрать и не жиреть, на глагне реддита "многообещающие колеса, позволяющие жрать и не жиреть, ускоряют метаболизм жира в клетке, проверено на мышах". Да, все верно, в отличие от предыдущих колес, НЕ подавляют аппетит.

reddit.com

KDB+ начали раздавать почти бесплатно. Если раньше лицензия на ядро стоила бешеных бабок (тысячи в год), и выдавалась вручную, то щас туда впилили динамическое измерение ядер во время выполнения, оно теперь постоянно стучится домой, и чуваки разворачивают его на cloud по 5 центов за ядро/час, а малые инсталляции (до 16 ядер) вообще вроде даром для личного пользования (до того была unlimited 32bit версия, но это просто смешно).

tech.marksblogg.com вот тут чувак между делом меряет перфоманс и занимается вещами, которые лично мне не доводилось щупать. Там же сравнение с другими СУБД.

Мытарства с гейбуком почти подошли к концу.

Купил Mi Wifi 5GHz, поставил прямо возле гейбука (а не на другом этаже 2.4), проблемы с сетью под линуксом ушли. Проблемы с блютусом под линуксом ушли. Возникли проблемы, правда с 5Гц. Сегодня на утро он не анонсируется и не коннектится. On/Off 5Гц через местную админку починили говно. Видать, зря я сэкономил вместо микротыка (микротык который теперь я хочу сюда — это 5Гц/ГигабитЕзернет стоит $125 баксов, хочу в будущем гонять по нему много по дому).

Также гемор с медленной отрисовкой на 4К мониторе — перевел резолюшн пониже под макосью. Он-то и был не нативный, а scaled, а теперь он еще менее нативный, зату сцуко стал значительно быстрее.

Оказывается, гей-ось у себя внутри рендерит весь экран на opengl surface указанного размера (larger text == меньший размер surface), потом (КАК-ТО?) его проецирует на opengl surface размера нативного резолюшна (монитор 3840 x 2160) и эту картинку гонит через displayport, монитор показывает 3840. Есть у него и низкие разрешения, проецируется на меньший резолюшн, хотя монитор все равно показывает сигнал 3840 x 2160.

Так вот, я провел исследования как выглядят шрифты на мониторе после всех этих пертурбаций. Сделал 2 замера: полностью нативный резолюшн (когда на экране все очень мелкое но быстрое, и пиксель-в пиксель), и тот резолюшн где снова не тормозит потому мелкий резолюшн (1504 х 846) . Результаты на картинке внизу. Нужно понимать, что страдал я под тормозным резолюшном где-то в половину от нативного, где был доволен шрифтами, хотя они УЖЕ были "пикселизованные". Эту пикселизацию я и пытался измерить на картинке, чтобы устранить внутренний вопрос "ты шо, с 846p на 2160p мониторе работаешь???"

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

Отключил compositing в KDE, и под линуксом на 4К ВСЕ стало жрать меньше в 5 раз (а так — анимированная вертушка в хроме жрет столько-то процентов, да и вообще сам он покушывает). Теперь вообще клевота.

А под гей-осью (macosx) так делать запретили в купертине!

Я замерял latency ввода клавиатуры гейбука на манер как делал афтор в матерьяле #2886434. Ну, скажем, что рендеринг страницы еще добавляет времени.

Короче, 7 кадров 120 FPS ~ 60 msec. +/- 16 мсек на рефреш — это встроенная клава + встроенный монитор гейбука.

А вот 4К моник (тоже 60FPS over DisplayPort) плюс механическая клава (CM Storm) дали реакцию 4 кадра, что составляет ~ 33 мсек +/- 16 мсек на рефреш.

Думаю, дело в клаве. Картинка, для удовольствия читателя, прилагается (встроенная клава+моник).

А если мерять в IDEA, там все 80 мсек по ощущениям 8(

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

Возник вопрос — как на нем работать. Нужен хороший и быстрый удаленный десктоп для линукса, чтобы ходить с тупой тормозной безвентиляторной маленькой железяки. И чтобы не страдать.

VNC всякий отпадает т.к. тормоз.
NX / x2go отпадает т.к. рисует не так как в оригинале, и тормозит на передаче картинок
Teamviewer лучше, но тоже тормоз.
Оригинальный X протокол там в нем часто половина не работает, opengl вызовы тоже.
AnyDesk идея хорошая использовать low latency видео-кодек, но реализация кривая с клавишами которые не передаются половина шорткатов, да и в последней версии там уже и изображение кроме первоначальной картинки не ходит — доломали.

А вот Chrome Remote Desktop взлетел и полетел. Тоже быстрый видео-кодек, и передает все кнопочки, особенно если на клиентском компе запустить тупо голый X с оконным менеджером, от которого нужно обработать запрос на fullscreen окно с клиентом Chrome RemoteDesktop, и еще нужно убрать все шорткаты с этого оконного менеджера, чтобы они шли на удаленный комп.

И вот просто взяло и заработало. Звук еще не настраивал, пишут что прикрутили в октябре 2016.

Я свичнулся с Жабы на Котлин в основной разработке.
Основная причина проста: просто приятна обновка.
Всякие фичи Котлина прекрасны. К Жабе претензий тоже нет — изумительный язык. Я не страдаю от ее многословия.
Можно назвать множество причин переключения — фич ради, конечно.
Но основная — это просто что-то новое, просто новизна, которая будит уснулую часть мозга, которая уже сделала свое дело, доведя до автоматизма свою часть работы — выражение себя на жабе — и спала уже давно.
Это могла быть и Скала, — Скала просто прекрасна, — но Скала более неудобная в работе: из-за ее гениальной разноликости она чересчур тормозит в инструментарии (компилятор, IDE), что начинает напрягать через некоторое время. Это чувствует и Одерский, который пишет другую, несовместимую версию Скалы, более шуструю.
Больше пока вариантов нет. Остальные либо тормозят в рантайме, либо без статической типизации, либо без tools.

Наконфигурял у себя в лесу 10 кВт стабилизатор и 3 кВт инвертор включенный после него. Теперь когда у меня 140 вольт в розетке вечерами, водокачный насос даже стартует! (раньше не мог, и через год сгорал)

Задумка такая, что инвертор с батарейками держит оверлоад до 9 кВт (при номинале в 3 кВт) до 20 секунд, что круто. За это время пусковой ток насоса (> 20А, что дает более 4кВт) уже давно прошел, и насос в стационарном режиме кушает свои 1 кВт. К этому времени (+10 сек от пуска насоса) ошизевший отключившийся стабилизатор уже наконец приходит в себя, и включается снова, видит нагрузку 1 кВт и уже не шизеет, на 140 вольтах норм себя чувствует.

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

Где еще слабина в такой схеме и была ли альтернатива?

Граждан РФ какие-то, понимаешь, мизулины (или приравненные к ним) начинают возвращать из расслабленного виртуальчика в реальность:

Уважаемый @roscomnadzor , вы если порнхаб блокируете, вы хоть предлагайте альтернативу ? Целую, Лёля
Уважаемая Лёля, в качестве альтернативы можно познакомиться с кем-нибудь в реальной жизни, целую, ваш @roscomnadzor

С точки зрения общего блага, данное действие несомненно благо. С точки зрения личного блага конечно вой и скрежет зубовный 8)

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

Минус у нее один, но стремный: иногда, раз в 20 минут, не доходит какая-то клавиша: нажатие там, или отжатие. При том, bluetooth/wifi interference, если шифи на 2.4ггц, и если скайп голосом, и если блютуц наушники при том доносят голос, то эфир засорен конкретно, и клава сразу начинает пропускать клавиши. Ну, до того это было по мыше заметно, что она изредка притормаживает, если эфир вблизи ноута засорен, но на мыше это не так фатально. На клаве это просто драма. Переключил шифи на 5Гц, стало приемлемо (раз в 20 минут, но бывает и реже).
Клава Varmilo VB87M.

Гик внутри меня плачет.

Выкачал новый несколькодневный билд венды (оно мне обновилось само, короче), а там встроенная убунта, и под этой новой версией жаба уже запустилась (под предыдущей нет, я писал об этом).

Решил уж идти до конца, apt-get xubuntu-desktop, поставил VcXsrc виндовое на весь экран, и XFCE сессия запустилась, десктоп там нарисовала, всякое такое. Оконный манагер работает, xterm даже. Встроенный терминал чото пока не завелся. Firefox работает. Хром не работает. glxgears вертится, 11 кадров в секунду на весь экран (странно, почему-то через mesa, хотя сервер вроде умеет opengl).

Редакция будет и дальше информировать вас, наших читателей, о наших извращениях.

набрел на i.redditmedia.com

via reddit.com

Открыл для себя технологию под названием "гидрографика". Этой технологией на пластмассу на фоточке нанесен рисунок дерева.

Смысл технологии в том, что на специальную пленку печатается цветной рисунок, потом эта пленка кладется просто на воду плавать, основа (пленка) растворяется, остается плавать только краска рисунка на воде. Туда углом (плавно) погружается изделие, и к нему постепенно прилипает, подъезжая, краска, плавающая на воде, повторяя все изгибы изделия, до определенной меры, конечно. Потом краска разгоняется, изделие достается, просушивается, покрывается лаком или чем там надо, и готово! На youtube есть видео.

Говорят, можно делать самому дома (практиковаться надо, говорят), токо изготавливать пленку неизвестно как, а стоит она чо-то как-то дороговато (10 баксов за погонный метр шириной 60 см с рисунком). Да и как нанести свой рисунок, неясно мне еще.

Приняли участие в ICFP Contest.

Предметом задачи был оригами: единичный кусок бумаги складывается в "оригами" как угодно, главное что есть выраженные линии сгиба и бумага не рвется и все разглажено.

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

Задача — предъявить развернутый единичный кусок бумаги со всеми линиями сгиба и показать как каждый образованный ими многоугольник ложится из развернутой бумаги на то что было показано в задаче (наборы координат).

Всякие ограничения про смежные грани, все такое.

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

Условие и решение производились в рациональных числах вида A/B (где числитель и знаменатель целые).

Мы просрали полимеры, и находимся приблизительно на 20 месте. Всего было около 130 команд проявивших какую-то осмысленную активность кроме тривиальной, а просто открывших счет было 200.

------------

Для имплементации рациональных чисел на Жабе взяли готовую реализацию на big integers. Мне надоело всякие операции a.plus(b) писать, и я взялся за Котлин (пожалел товарищей по станку, Скалу не взял). Потому что Котлин умеет переопределение операций!

Не пожалел. Котлин рулит, оказался как раз с нулевым порогом вхождения. ИДЕЯ конвертит жабу в Котлин одной кнопкой, плюс небольшой напильник.

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

Немного утомляет, что ТИПЫ можно не писать (но не везде). Когда нужно, приходится смотреть определение символа, идти туда, и копипастить тип оттуда. Вывод типов кажется в большем числе мест чем в скале, например можно не объявлять тип функции.

Не так вылизан плагин в IDEA, как в случае с Жабой.

Но в целом, учитывая облегчение, что там функции инлайнятся по-настоящему, и что компилится быстрее скалы, и что интероп с жабой не хуже чем в скале, — очень хорошо.

UBER (таксисты), ихний CTO плачет и кается, плачет и кается.

Начали "как положено" хипстерам, на Node.js + Json, но говорят, что внезано "unexpected cost of untyped json interfaces" когда дофига сервисов, короче, очень тяжело им. Ни в село, ни в красную армию.

Карочи, таперича у них движняк в сторону go/java, typed interfaces (свой RPC протокол), короче sanity постепенно comes back.

(По материалам infoq.com )

Я чего постоянно парюсь так с хипстеров и ихнего жабоскрипта? Потому что если их послушать, то они вроде ходят вертикально, и говорят, и программируют. И они считают их жабоскрипт и ноду серьезным продуктом на сервере. А я привык внимательно слушать людей, которые что-то серьезно заявляют, и предполагать что они не гонят пургу. Так вот, открытие: они просто не понимают, когда говорят о серьезных-то продуктах. Ну, типа, не шарят. Очень много дебилов в отрасли, одним словом. А парюсь я оттого, что привык внимательно и уважительно слушать, а они херню порют, и оттого у меня диссонанс. А если не слушаешь внимательно и уважительно, а сразу посылаешь учить паскаль, то возникает конфликт поколений. Короче, стороны не понимают друг друга.

Дао изреченное — не есть дао. Иллюстрация номер один.

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

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

И без этих ваших <input type=text>. Ихних жабоскрипт-хипсторов запрягли написать div-ами симуляцию текстового терминала с клавиатурным буфером, так что тетеньки могут печатать (type-ahead) на 3 экрана вперед. Бакенд на жабе.

Умилило, что хоть кто-то в наше нелегкое хипстерское время понимает в производительном (и следовательно, бабло-эффективном для бизнеса) UI-интерфейсе.

Может, те sane (здравомысленные) времена еще вернутся?

Дооптимизился компилятором CN1 (микро-оптимизациями) до усрачки, но дальше уже нужно оптимизировать алгоритмы сверху, и поэтому перестал 8)

Заценил оптимизатор LLVM/CLANG (кстати уперся в его глюк и забил — он дожонглировался регистрами: пишет через один offset register, читает через другой через некоторое время, а смещение-то не сходится!).

На картинке сгенерированный код по симуляции стека и результат его компиляции для ARM. Так эта скотина все SP++ и SP-- вычисляет, и даже не изменяет сам регистр, а только индекс при регистре, когда выполняет последовательность операций. Получается тупа куча mov без inc/dec. Очень было приятно видеть такой уровень оптимизации, я доволен прогрессом в этой сфере. Микро-оптимизировать сишечку в таких условиях становится сложновато.



Эклипсовцы скомпилили свое IDE посредством GWT!!!.

За исключением того, что эклипс в принципе более убогий по сравнению с идеей, да и чото глючит у меня оно, что-то старается сделать там себе. Докер там у них внутре юзается мой системный, подняло у меня молча какую-то убунту себе с JDK...

Но когда мне рассказали, что многие гугловцы вообще девелопят на сервере в vi, потому что проекты у них настолько большие, что на десктоп не становятся, и что IDEA туда в производственный процесс поэтому особо не втыкается, становится ясно, что это движение скорее в правильном направлении. Но опять начинать с нуля.

По мотивам #2824276

И вот наконец-то пришло время, когда мне РЕАЛЬНО захотелось поковыряться в продакшн сервере (на жабе) (на амазоне) и посмотреть какие переменные и чего там вообще есть прямо на лету. И какие у нас варианты?

1) jvisualvm — вроде не позволяет, т.к. никаких плагинов не нашел, хотя там что-то про Object Query Language присутствует. Есть подозрение что это для копания в дампе памяти. Требует хитрой конфигурации с указанием override hostname, ибо протокол внутре с редиректом, а в редиректе мне приходит внутренний адрес, если ничего не предпринимать.

2) jdwp — удаленная отладка со всеми фишками. Хостнейм на сервере прописывать не требует, но чото втыкает немеряно, на паузу процесс стал спустя 5 минут после нажатия на кнопку, а это я еще вычислять ничего не начал. Да и как там без паузы чото делать? Нафига мне паузы?

3) нашел grails console, а по соседству с ней — groovysh, а по соседству с ним — groovy-shell-server, который тремя строчками подключается в мавене к проекту, инициализируешь его на стартапе, и он обеспечивает доступ по SSH (!!! сам имплементит на жабе протокол, и можно даже authenticator свой добавить) прямо к консоле, в которой позволяет ковыряться в объектах прямо с авто-комплишном, с доступом к приватным полям, сериализует и красиво показывает pojo, короче, для меня открылся killer application для груви !!!

День прожит не зря.

Новости про Pianoteq, который является синтезатором фортепиано, моделирующим инструмент со всемы поскрипываниями и взаимными резонансами, с кучей настроек. Известно, что он раздается в бесплатном варианте с несколькими заглушенными клавишами (так шо играть на нем неприятно), и через 20 минут протухает. Я его честно не так давно пытался поломать в отладчике (не хотел платить 100 евро), но он кажется скомпилирован с пропусками нот, и все равно не работает как надо.

Недавно наткнулся на гениальное по простоте решение: загружается в FL Studio несколько экземпляров синтезатора (как VST plugins, в виде которых он тоже может работать) ,и пропущенные ноты заменяются другим транспонированным на полтона экземпляром того же самого инструмента. И сам инструмент подхачен не протухать через 20 минут. Карочи, все работает.

Ссылка на современную подхаченную версию плюс шаблоны для FL Studio — в треде про старую версию Pianoteq на рутрекере.

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

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

Вот например, перед нами многочисленный враг, и в данный момент он больше наседает на товарища, а ты более свободен. Выбор "смыться или помочь", если ты коллективист, не стоит, но параллельно с ним, если ты выручаешь товарища то :

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

2) когда ты не доброволец, а находишься в нагруженном месте по обстоятельствам, то тебе за себя страшно, а когда, наоборот, ты защищаешь кого-то, ты думаешь о нем, и тебе за себя не так страшно, и страх не сковывает тебя, и у тебя больше КПД.

Получается, вместо мощности 1+1 если товарища не выручать, имеем например 1+1.5, то есть прибавление к мощности на ровном месте. Далее, кстати, по нарастающей.

Это хорошее, полезное правило. Если есть дух.

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

Вот тебе очередная выгода после хрома.

А вот скажите, есть ли такой сервис, чтобы я с разных своих серверов регулярно слал на него всякие показатели, типа "последняя почта была 3 часа назад", "места осталось 2000 гб", итд, а потом еще мог ставить на эти цифры руками на каждый отдельный случай всякие уровни желтого и красного, и чтобы потом оно мне все попадало на андроед и еще верещало когда что-то пошло в красный уровень? Чтобы там было сведено всё в одну таблицу/список на которое удобно смотреть.