sab123: (Default)
Я вчера ходил на IEEEшную лекцию от человека из конторы, занимающейся fraud detection. Оказывается все кредитные агентства вовсю продают "header files" - полную идентифицирующую информацию про всех, но без кредитного рейтинга. Их продают не всем, но для покупки вполне достаточно быть банком, ну или вот компанией, занимающейся безопасностью. Поэтому, очевидно, самый простой способ для организованной преступности раздобыть всю эту информацию - это организовать банк, и купить ее. Ну, и потом можно торговать ей дальше.

Еще мне понравится вот такой аспект рассказа: чтобы анализировать кредитные запросы, конторе этой надо видеть большой сегмент рынка запросов, то есть иметь в своих клиентах организации, представляющие большой сегмент рынка. Но как запустить всю эту деятельность сначала? Их основатели и до того занимались анализом транзакций (но не кредитных запросов, а по кредитным карточкам), поэтому у них были знакомства в финансовых конторах. Они туда пошли и предложили сделать исследование-анализ кредитных запросов. Клиент дает базу запросов и получает в ответ классификацию по поддельности, и общие выводы. И вот эти базы они использовали для начала своей деятельности.
sab123: (Default)
А ведь генераторы случайных чисел, описанные в http://www.pcg-random.org/party-tricks.html (через http://juan-gandhi.dreamwidth.org/4013708.html) - это получается чуть ли не идеальный способ компрессии. Если его можно заставить выдавать произвольную последовательность, то получается, что эта последовательность сжимается до начального состояния генератора. Последовательность любой длины в очень широких пределах - до фиксированного размера.

Или я что-то тут упускаю?
sab123: (Default)
Прочитал в IEEEшном журнале про концепцию реверсивных вычислений. Но без внятных подробностей. Попытался придумать, как оно может работать, чтоб сравнить с тем, как оно на самом деле работает. Но в интернетах подробности как-то тоже не очень нашлись, так что как оно на самом деле работает я так и не знаю, но у меня получилось как-то на удивление просто, и поэтому непонятно, в чем их страдания: http://babkin-cep.blogspot.com/2017/09/reversible-computing.html (там же и ссылка на IEEEшную статью).

А вот как оно может работать на уровне транзисторов, мне все еще непонятно. В интернетах находится про реализации на квантовых точках в сверхпроводниках, а не про транзисторы. То, что у меня выдумывается на транзисторах, похоже по сути сводится к аналогии "использовать выход первого элемента в качестве питания второго элемента". Но я не транзисторщик, а так, мимо проходил.
sab123: (Default)
EFF впадает в истерику на предмет того, что мобильные операторы ограничивают видео-трафик и приводит это как пример ужасов, которые нас ожидают в отсутствие net neutrality:

https://www.eff.org/deeplinks/2017/07/throttling-mobile-networks-sign-things-come-unless-we-save-net-neutrality-now

Но я лично вижу такие ограничения в разумных пределах как положительные. Чтобы вся эта видеосрань не мешала пользоваться нормальным интернетом. Если net neutrality ее запрещает, это сильный агрумент против net neutrality.
sab123: (Default)
Понадобилось. Искал, думал что где-нибудь будет про как подредактировать реджистри на диске. Фиг там. Но решение нашлось на Линуксе, вся последовательность автоматизирована, от загрузочного диска до редактирования реджистри:

http://pogostick.net/~pnh/ntpasswd/

И вот так всегда, на Виндовсе простые решения в-принципе есть, но их обычно никто не понимает и не ищет, а вместо того процветает дебильный вудуизм.
sab123: (Default)
Оказывается, что Эрик Шмидт, который в Гугле, и Эрик Шмидт, который один из авторов Lex - это один и тот же человек.

RR3

May. 25th, 2017 10:00 am
sab123: (Default)
Найдена польза от смартфонов: Real Racing 3 - очень впечатляющая игра. Какая графика достижима нынче на телефонах - это уму нерастяжимо. Ну, и реализм физической модели - тоже, но это требует поменьше вычислений. Руль очень хорошо имитируется поворотом телефона, единственная проблема - газ и тормоз нелья регулировать плавно, они только или нажаты или отжаты. Для тормоза это не страшно, а вот для газа несколько неудобно.

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

На интернетах нынче есть источники мудрости про все, для этой игры - rr3.wikia.com.

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

Еще я ощутил, что значит "легкая" машина (как-то на настоящих машинах не ощущал). Нынешний дорожный Корвет или Феррари быстрее Феррари Формулы-1 образца 1950-х годов, но управляется очень по-другому: нынешние быстрые дорожные машины имеют большую инерцию, и как бы требуют поанирования заранее, а та Феррари очень верткая, быстро реагирует на повороты руля.
sab123: (Default)
Я нынче внезапно оказался Программистом На Джаве (tm). Это, видимо, самый ужасный язык программирования в мире, еще даже хуже Питона. C# - гораздо, гораздо лучше (кстати, если кто не знает, он нынче есть даже для Линуксов в виде Core .NET). C# - это немножко странноватый, но вполне человеческий язык программирования. Джава - гнездо какого-то прямо скажем альтернативного мышления, в плохом смысле этого слова. В ней мало того, что все раком, но оно раком специально, и они этим раком гордятся.

fake news

May. 1st, 2017 02:40 pm
sab123: (Default)
Нет, не про то, что вы подумали, а совершенно отдельное явление:

Я тут обнаружил, что похоже есть сайты, которые освежают старые скандальные новости на предсказуемо популярные свежие темы. То есть вот конкретно про запуск ракеты Space X, вверху поиска висела новость про взрыв их ракеты, датированная "час назад". С популярной свежей темой поисковики регулярно обновляют поиск и выкладывают свежие источники сверху. Недавно обновленная скандальная статья вызовет большой приток трафика.

DKIM

Mar. 11th, 2017 11:53 am
sab123: (Default)
Оказалось, что подписание емейлов через корпоративный ключ, публикуемый в DNS, о котором я говорил наверное в примерно 2002 году, было реализовано в Яхе в 2004 году и стало стандартом DKIM. Ну, оно конечно очевидно по своей сути. Но радует, что очевидная вещь все же оказалась реализованной.
sab123: (Default)
Узнал про сайт, в который тычешь C++ный код, а он показывает, во что ассмеблерное оно компилируется, и типа можно не возиться вручную с objdump:

https://godbolt.org/
sab123: (Default)
Попытался нынче установить Федорный Линукс. Почему-то у них нынче нет установочного ISO, а есть только ISO, который качает пакеты с интернетов. Он их уже часа два качает и дошел только до примерно 30%. Ну, не говоря уже о том, что такой подход к установке совершенно непригоден для долговременного использования.

А что нынче есть человеческого? Вот скажем Ubuntu-MATE? У него ISO полтора гига. Что все равно выглядит как-то маловато. Есть ли нынче человеческий Линукс с нормальным полным дистрибутивом?
sab123: (face)
А вот есть у нас нейросети и байесианские сети. В байесианских сетях последовательно соединяются несколько уровней байесианского вывода. Но ведь и в нейросетях каждый нейрон - байесианская машина, вычисляющая одну гипотезу. Вот это сложение входных сигналов умноженных на коэффициэнты - это байесианское умножение верояности гипотезы согласно имеющимся событиям, только выраженное через логарифмы. Нелинейная функция в конце нейрона - это решение о том, принимаем ли мы гипотезу истинной или ложной исходя из того, преодолела ли вероятность некий порог. Разница между двумя сетями получается только в том, что в байесианских сетях гипотезы выбираются вручную, а в нейросетях - автоматически, в процессе обучения (начиная от случайных, и далее через backpropagation). Спрашивается, почему их все еще различают как два отдельных типа сетей?
sab123: (face)
Оказывается, односительно недавно была придумана более внятная альтернатива для Paxos (кстати, Ousterhout - это создатель Tcl), Raft:

https://raft.github.io/

А в Апаче есть еще один альтернативный алгоритм:

http://zookeeper.apache.org/
sab123: (face)
Когда это помнится Микрософт хвалился, что в отличие от Гугеля не читает почту? Уже читает. На хотмейле к письму про резервирование билетов показали рекламу с билетами в том же направлении (и что особо занимательно, варианты на соседние аэропорты тоже, то есть оконечные пункты были слиты к рекламодателю для более интеллектуального анализа). Впрочем, цены в рекламе оказались враньем.

Из поисков агентов помимо пожравшей все экспедии: vayama.com - говно; какая-то найденная тоже на skyscanner.com шведская контора gotogate.com - может и не говно как таковое, но платежи туда не проходят (сегодня меня еще и разбудили автоматическими звонками про возможный fraud с обоих опробованных карточек), да и вообще они берут только Визу и Мастеркард, а про Амекс и Дискавер они не в курсе.

P.S. Через Ваяму таки нашлась скидка в примерно 10% цены. Но с геморроем. С другой стороны, конечно, в Экспедии и всем ей пожранном нынче тоже такой же индусский сервис.

MOS

Sep. 21st, 2016 06:22 pm
sab123: (face)
В IEEEшном журнале прочитал статью про историю создания первых микропроцессоров. Примерно в одно и то же время их сделали Intel и TI - TI сделал свой TMX 1795 на пару месяцев позже, зато восьмибитный. Но пристроить его к коммерции так и не удалось (кроме получения патентов). интересно, что Интелу и 4004 и 8008 достались как разработки под заказ, от которых заказчик потом продал права на дизайн обратно Интелу.

Теперь самая интересная часть: собственно упихать схему размера процессора на один кристалл получилось только по технологии МОП (MOS). Которую к около 1967-1970 году как раз удалось сделать по скорости не хуже биполярных транзисторов, но все еще компактную и с гораздо меньшим энергопотреблением. А вот в совке еще до 1990-х годов МОП считалась тормозной технологией, и все "настоящие" машины делались как минимум на биполярной ТТЛ. От так от отставание. Хотя я поискал, например К1801ВМ1 делался таки на МОП технологии. Так что сделать ТТЛьный однокристальный процессор и в совке тоже не сумели, только секционные.
sab123: (face)
Уже наверное пару лет тому назад мне захотелось, чтобы интерпретируемый язык программирования мог взять да сгенерить из куска кода синтаксическое дерево, чтобы это дерево можно было потом программно поковырять, и результат скомпилировать уже в исполняемый код. Оно нужно чтобы писать обобщенные темплейты, которые будут связывать данные программистом аргументы в виде кусков кода с генерируемой темплейтом обвязкой. Ну вот например sql queries можно так изобразить. Но до того, чтобы прям что-то на эту тему сделать, я так и не дошел. Я ограничился передачей кусков кода в виде текста и манипуляцией с этим текстом перед вставлением этих кусков в общий шаблон.

А тут опа, и оказалось, что в C# оно уже есть. Называется Expression Trees. Как я понимаю, является тоже результатом их опыта с впихиванием кусков SQL (LINQ).
sab123: (face)
с подачи http://juan-gandhi.livejournal.com/3651456.html

The most epic ones I remember were:

1. My application crashed by jumping to a random address when I connected more than 1000 clients. Eventually I've traced it to some bits in the return address on the stack of an OS authentication function getting flipped at random. Which happened because the function did the NIS authentication and used select() to control the sockets. I've built my code with the definition that supported up to 10240 bits in FD_SET but the system library was built with the default settings with only 1024 bits in FD_SET, and allocated the FD_SET variables on the stack. So when more than 1024 sockets were open, it got a socket at index over 1024 and select() corrupted the random bits on the stack. Hm, don't remember how I fixed it or if I fixed it at all. Maybe I've moved the authentication into a separate process.

2. The machines in a Veritas cluster committed suicide. The 2-node clusters are inherently unstable, trying to decide whether the other machine had failed or if the network got partitioned (in case of partitioning the master machine is supposed to continue and the slave machine is supposed to kill itself). The slave machine killed itself out of nowhere. It worked the worst when the master machine was getting stopped, so it would move the load to the slave machine, and that one would kill itself in the middle of fail-over. It took probably close to a year: they would send a dump, I would add more diagnostics and a potential fix, send them a patch, in a month or so they would have the problem reoccur and send another dump, I'll look at the diagnostics in it and do another iteration... Kind of spectacularly, I've solved the problem onsite: the customer wanted someone to be present and hold their hand while they have a service window and install the latest patch, and the support engineer had personal plans, so I went. This last patch contained the diagnostics to the point where it watched for the unusual timing between the events. So we've installed the patch, and it has turned out that once in a while the OS time just stopped for about 4 seconds. Which broke all the heartbeat algorithms. The weirdest part is that this timer bug was a known one, fixed in another edition of the OS but somehow it never occurred to them to port the fix to this one too. But while working on it , I think I've fixed a few genuine race conditions in the clustering code too :-)

October 2017

S M T W T F S
12 3 45 6 7
8 9 10 1112 13 14
15 161718 192021
22232425262728
293031    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 22nd, 2017 06:32 am
Powered by Dreamwidth Studios