Usage of AsyncWorker in native nodejs module for callbacks

August 27th, 2020 Comments off

Documentation:
https://github.com/nodejs/nan/blob/master/doc/asyncworker.md#api_nan_async_queue_worker

Example from nodejs tests:
https://github.com/mkrufky/nan/blob/master/test/js/asyncprogressqueueworker-test.js

https://github.com/mkrufky/nan/blob/master/test/cpp/asyncprogressqueueworker.cpp

There is a test code for asyncworkers variants in napi too:
https://github.com/nodejs/node-addon-api/blob/master/test/asyncworker-persistent.cc


NAPI thread safe function looks like a more customizable way to implement callbacks. Asyncworkers have some functionality already implemented. Like keeping a reference to callback and deleting it after worker is done.

https://github.com/nodejs/node-addon-api/blob/master/doc/threadsafe_function.md
https://github.com/nodejs/node-addon-api/tree/master/test/threadsafe_function (edited) 

Categories: Blog Post Tags:

List of articles for static code analysis and cmake integration

January 26th, 2019 Comments off
Categories: Blog Post Tags: , , ,

Electron 4 and 2 versions conflict

December 4th, 2018 Comments off

Build locally two versions of electron. 4.0.0 first and then 2.0.14 later.
Have error on 2.0.14 electron start.


.\electron\out\D\electron.exe --enable-logging 

[7992:1204/204023.135:ERROR:connection.cc(1964)] Cookie sqlite error 1, errno 0: no such column: persistent, sql: DELETE FROM cookies WHERE persistent != 1
[7992:1204/204023.135:FATAL:connection.cc(1458)] SQL Error in DELETE FROM cookies WHERE persistent != 1, no such column: persistent
Backtrace:
base::SequencedWorkerPool::EnableForProcess [0x000001D6A7F545A5+669541]
base::SequencedWorkerPool::EnableForProcess [0x000001D6A7F540C8+668296]
base::SequencedWorkerPool::EnableForProcess [0x000001D6A7FC6F90+1139024]
sql::Connection::OpenInMemory [0x000001D6BD333027+66427]
blink::mojom::PresentationServiceResponseValidator::Accept [0x000001D6B1C09602+71857488]
blink::mojom::PresentationServiceResponseValidator::Accept [0x000001D6B1C0CDB3+71871745]
blink::mojom::PresentationServiceResponseValidator::Accept [0x000001D6B1C0D976+71874756]
blink::mojom::PresentationServiceResponseValidator::Accept [0x000001D6B1BFFCA7+71818229]
blink::mojom::PresentationServiceResponseValidator::Accept [0x000001D6B1C0034F+71819933]
blink::mojom::PresentationServiceResponseValidator::Accept [0x000001D6B1C00B5A+71821992]
blink::mojom::PresentationServiceResponseValidator::Accept [0x000001D6B1C0FA33+71883137]
base::SequencedWorkerPool::EnableForProcess [0x000001D6A7ECF5C0+124800]
base::SequencedWorkerPool::EnableForProcess [0x000001D6A7F5DBCD+707981]
base::SequencedWorkerPool::EnableForProcess [0x000001D6A81BDE9B+3199067]
base::SequencedWorkerPool::EnableForProcess [0x000001D6A81BE8DA+3201690]
base::SequencedWorkerPool::EnableForProcess [0x000001D6A81A7499+3106393]
base::SequencedWorkerPool::EnableForProcess [0x000001D6A81CCD01+3260097]
BaseThreadInitThunk [0x00007FFFF9743034+20]
RtlUserThreadStart [0x00007FFFFC181471+33]

System: Windows 10. Visual Studio 2017, etc.

To have electron 2 running remove files from C:\Users\USERNAME\AppData\Roaming\Electron what looks like they have something with cookies and db.

Categories: Microblog Tags: , ,

Моя вариация gtd

April 9th, 2017 Comments off

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

Простой текстовый файл. Плюс пробелы и несколько символов для наглядности.

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

Задачи делятся на действия/подзадачи каждая с новой строчи с отступом в 2 пробела(или табуляция). У подзадач свои более мелкие подзадачи. Дробить можно на произвольную глубину. Делается для понятности, возможности контроля и разгрузки памяти. Действия и подзадачи не нумерую. Действия и подзадачи перечисляю в порядке их предполагаемого выполнения.

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

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

Информацию если она может быть когда то еще полезной сохраняю в отдельном файл и/или вики отдела. Информация по задаче также как правило остается в задаче в джире. Но иногда информацию которая нужна лично мне в контексте задачи сохраняю строчкой со знаком +.

Задача которая завершена переносится в файл архив.

Плюс псевдо задача todo в которой собираются действия у которых нет задачи.

Формат не жесткий, он для удобства, а не для формализма.

Categories: Post Russian Tags:

Автоматизация репутации и ее потенциальные проблемы

January 9th, 2016 Comments off

Развитие информационных технологий сделало возможным появление автоматизированных систем расчета социальной репутации.

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

Сами по себе алгоритмы расчета репутации не несут чего то плохого или хорошего. Проблема в том кто будет их использовать. Тоталитарному государство это даст возможность быть еще тоталитарнее. Коммерческой фирме это даст возможность уменьшить риски и связанные с ними потери.

Другая сложность в том что те кто подвергается такой оценке заинтересован в улучшении своей оценки. Люди начнут подстраиваться под критерии систем ограничивая себя в выборе круга общения, действий, информационного окружения. Владельцы систем будут стараться скрыть от общества алгоритмы и критерии по которым производится оценка, чтобы помешать людям подстраиваться под систему для “зарабатывания” рейтинга. Но неизвестность критериев приведет лишь к тому что люди будут стараться вести себя осторожно даже по большему спектру критериев чем требуется. Создавая общество людей притворяющихся “нормальными”.

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

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

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

Иначе у истории будет шанс еще раз повторить “Шагай в ногу или шагай в печь”

По мотивам https://www.schneier.com/blog/archives/2016/01/replacing_judgm.html

Categories: Post Russian Tags:

Useful links for ssl setup on nginx

September 9th, 2015 Comments off

Пост на хабре с полезным обсуждением http://habrahabr.ru/post/252821/

Расшеренный пример конфига с описание опций для nginx https://gist.github.com/paskal/628882bee1948ef126dd

Генератор конфига ssl с учетом применяемого ПО и его версий https://mozilla.github.io/server-side-tls/ssl-config-generator/

Проверка качества настройки ssl https://www.ssllabs.com/ssltest/index.html

Бесплатные сертификаты:
Start ssl http://www.startssl.com/ у них же на сайте и описание того как сертификаты получить и выложить на сервер
Wo Sign https://buy.wosign.com/free/
И когда нибудь заработает https://letsencrypt.org/

Categories: Microblog Tags: , ,

Государство и угрозы информации

March 20th, 2015 Comments off

Одна из популярных классификаций угроз информации делит угрозы на следующие категории:

  • раскрытие конфиденциальной информации
  • утрата доступа к информации
  • подмена информации

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

Я не оправдываю террор, но оно само придумалось

January 20th, 2015 Comments off

После теракта в Париже в новостях видны высказывания публичных персон начинающиеся примерно так “Я не оправдываю террор, но ….”. Замечательная словесная конструкция. Вроде как они и террор не оправдывают, но и лучи поддержки совсем не в сторону французов.

Раз уж СМИ признали что такая фраза не оправдывает террор то с ней можно придумать и более веселые варианты. Например вариация старого анекдота “Я не оправдываю террор, но эту систему пора уже менять.”
Read more…

Categories: Microblog Tags:

Рождественская история или Автоматический Встроенный Реформатор

January 2nd, 2015 Comments off

В конце прошлого года в Китае был введен запрет на использование двусмысленных фраз в СМИ. Как это часто бывает запрет введен для защиты детей. А то вдруг дети посмотрев телевизор начнут нефритовым стержнем тыкать в пещеру божественного лотоса в буквальном смысле. Ну а то что под этот запрет попадают попытки с помощью эзопова языка обойти политическую цензуру это жертва на которую придется пойти ради детей.

В России пока такого запрета нет. Поэтому поделюсь вот такой сказкой от vzua.
Ну, а теперь рождественская история. Пускай это будет неизвестная науке серия сериала «Стар Трек». На одной планете власть захватил Суперкомпьютер. Поскольку там все механизировано, автоматизировано и компьютеризировано, то Суперкомпьютер легко входит в каждый дом, в каждую кофеварку и в каждую программу, подменяет собой экзе-файлы и творит всяческий беспредел. Аборигены вызывают «Энтерпрайз», поскольку сами справиться не могут, а сил больше нету никаких. Кирк и Спок узнают от старожилов, что все дело, судя по всему, в том, что у Суперкомпьютера, призванного приносить суперпользу, сгорел Автоматический Встроенный Реформатор, функция которого была в том, чтобы бить железного друга по шаловливым ручкам, если вдруг что не так. Ну а теперь адская машина вытворяет что хочет, уничтожила все запасы Автоматических Встроенных Реформаторов на складах, следит за всеми и никакого сладу с ней нет, не помогают ни фаерволы, ни антивирусы, ни выключить и снова включить.

Кирк и Спок ценой невероятных усилий добывают последний экземпляр Автоматического Реформатора и в масках Санта Клаусов проникают на рождественскую вечеринку, которую злобная тварь устраивает в своем машинном зале. Надо ли говорить о том, что Суперкомпьютер давно разгадал планы друзей и теперь замышляет уничтожить их вместе с последним экземпляром спасительной для аборигенов платы? Надо ли говорить, что он заблокировал связь и теперь друзья лишены всяческой надежды на помощь, а «Энетрпрайз» превратился в бесполезное корыто, болтающееся на орбите?

На вечеринке на Кирка и Спока в масках Санта-Клаусов нападают приспешники Суперкомпьютера, сам он изо всех сил облучает героев электроникой и, в целом, творится черти что. Кирк, обороняющийся от превосходящих сил, в жаре битвы ломает последний Автоматический Реформатор, друзья окружены, кажется, что все пропало и тут Спок замечает, что Суперкомпьютер можно просто выключить из розетки.

From: http://vzua.livejournal.com/132927.html

Categories: Blog Post Tags:

Не рекреационное применение галлюциногенов

November 16th, 2014 Comments off

Оказывается были разработки пуль с галлюциногенной начинкой. Причем как во времена Второй Мировой в Германии так и относительно недавних 90х в Сербии.

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

http://mindhacks.com/2014/11/04/hallucinogenic-bullets/

Categories: Post Russian Tags: