The Great Asymmetry

Tags: English, life
Created on Tue, 18 May 2021

The Random (or destiny, God, Universe, luck) has crossed my life path these days with an unlikely person that makes me think outside of my box. It is possible of course that I make myself think outside of the box, or the box got smaller, or my thinking larger. It is also possible that I'm reinventing the wheel, getting more bored at work or COVID/knee injury isolation is making me nuts. But it's kind of romantic to think it's a person. And isn't it almost always a certain somebody that makes you think strange things and change your direction in life? Anyways.

I lose some sleep every once in a while thinking about a certain great asymmetry that science around me never seems to talk about (or I am not in those circles at least). Not physics, not biology or chemistry.

Why am I experiencing stuff from this exact brain/body?

Sure, I understand that my brain interprets serotonin, dopamine or oxytocin as pleasure (or I would understand if I actually studied the brain and not just watched educational YouTube videos or read a pop-sci books). In any case, there is some process that is, I believe, fairly well studied and if I asked or dared to learn and get a degree in neurochemistry I would be able to fairly accurately describe the paths, the neurotransmitters and the hormones at play.

The Hard Problem

But what is pleasure? This is part of the hard problem of consciousness. The description of what pleasure is or how pleasure gets delivered or what brain activity is associated with pleasure is the easy problem. The hard problem is more about the experience that I know I have, that you know you have but you don't know whether I have it and I don't know whether you have it. I believe that other humans or living beings experience sadness and pain, pleasure and happiness but I can't know for sure. I can test their brains, I can measure their voltages between certain regions, I can see them light up in one of these big medical machines. But I cannot know whether they really experience it.

In any case - why this exact brain? There are about 7 Billion or so roughly equivalent brains on the planet even if we limit experiences to human. Although - we don't have to. The 1% difference (or whatever - depends how you measure it) in DNA to monkeys can't possibly exclude them from the potential pool of possibilities I (whatever I is) could have "attached" to. I don't have accurate statistics, but isn't it possible that the smartest monkey is smarter than the dumbest human? I'm talking babies or some degenerative/psychiatric human brains compared to the "Einstein" of chimpanzees? Isn't there some overlap? And if we go down the same logic - maybe some dogs, cats or rats, dolphins, magpie (also addorably known as Pica Pica) or cockroaches (there are some insanely smart bunch out there). Why this brain? Why this particular body?

Is it the atoms that make it? Or the cells? If this is not one of these common misconceptions, I'm pretty sure all atoms/cells have been changed one by one since my birth ala the Ship of Theseus. So there is some continuity in my existence even though it may not be material.

So: soul?

But if soul is the answer, based on what we know about the physical world so far - it is a free rider on the physical wave of existence. If soul is somehow non-materialistic (i.e. either not found out by current physics or impossible to find by any scientific method (the later would make it quite philosophical in existence)) then how much can the soul really do? It seems our brain and neuron structure is governed by fairly simple laws of chemistry and biology, creating the illusion that it's magic only because it's so much of it.

I mean, looking at the Internet, it can be kind of magic - there are so many computers, so many cables, each computer - a Universe by itself. And yet, it is governed by a handful of protocols, created and managed by humans. You don't notice the Internet how brilliantly and seamlessly it works. Until, of course, it doesn't work. Then you notice it. Then you call the Internet Service Provider (ISP) or the electricity company. Or the ISP calls their upstream provider's support and so on until they find and fix the problem (sometimes literally by laying down new cable).

But the Internet is not really magic. It's complicated, messy, sort-of evolved by trial and error, not really intended to be what it is today. It is impossible for single human to comprehend it and it's probably impossible to even properly map it out, even with computers. Yet, it works.

And as far as we know, so is our brain. But because we didn't create it and we have "just" started understanding (in the past some-hundreds of years, depending on how you count) we still don't know each cabling where it goes and what it does. But whenever we poked at one specific part of it, we understand it from bottom to top, all the way. We haven't mapped it out yet, but there is no indication that there will be some hidden region in it called "soul". We don't understand it because it's so huge, it's an Internet in our heads evolved for about 4 billion years - cabling has went everywhere. But we will get it. We will explain every part of it eventually - I have no reason to doubt it.

And when we do, we will be able to trace every single decision down to the neuron or neurons that started it. We will have a complete history of what vision or sound created which electrical signal. We will play the favorite game of Robert Sapolsky - get down to the nanosecond before the decision, then play it backward to the last minute, hour, day, month, year, decade all the way to our parents and grand-parents genes, our ancestors way of life and the evolution that made them.

The fact that we can't do it is an engineering problem, not a principal science problem. Then where is the free will? What made me take that decision - there doesn't seem to be space for it, not in our material world.

Types of soul

But if it is the soul - does the soul obey our laws of nature? If it does - then it "rides" on the laws of physics, perhaps giving us a solution to the hard problem - the soul is what experiences the physical world. But it's a "read-only" kind of soul - it can experience but it can't possibly influence decisions. So this kind of soul does not provide space for free will. But maybe it provides this asymmetry that keeps me up at night. Somehow this soul is attached to these ever-changing physical characteristics of my body for some time. It doesn't matter that it chose this brain/body but does every brain/body has some soul like this? Do more "complicated" pieces of matter have more/less soul? Do dogs, cats, ants and cockroaches have some soul that experiences? Do trees, mushrooms, bacteria and viruses have soul? Do rocks? Stars? Galaxies? Atoms? Quarks? Is there a limit, a quantity? Of course, all of these questions assume some eventual discoverability of such a soul - I'm leaving the completely philosophical kind of soul for my third year of quarantine - then I will go completely crazy.

What if it's another kind of soul - a read/write kind of soul? Can it influence the physical world? A common place where people hearing about some effects of the quantum world try to put such kind of soul is the entanglement or in the measurement problem. The randomness of the quantum world.

Quantum magic

Some caveats - these effects are magnitudes smaller than a brain, smaller than neurons, organelles in the cell, or even the DNA. MAGNITUDES. As in 5-6 magnitudes, meaning 1 with 5-6 zeroes, meaning 10,000-100,000; meaning if a quantum effect is a fluctuation happening at the scale of a bean (1 cm), the scale of a neuron will be roughly 1-10 km.

And these are RANDOM - meaning if this was the case that gives us souls, we wouldn't have thoughts - we would start moving a piece of our mouth, then choke, start a letter of a thought, then twitch a finger or stop our heart. Nothing would make sense if, as far as we know, the quantum effects are really random.

But this is the only place where some unpredictability happens. And OK - small effects, "butterfly effect" (doesn't apply here, it's not (necessarily) chaos really), loads and loads of handwaving - I know I'm talking some bollocks in this post, science friends - if you haven't switched off long ago, probably you want to do it now - I know this will be wrong, but enjoy the ride if you decide to. I don't want to feed wrong ideas to the wrong kind of people - I know they are wrong. Please don't cite me. I'm dreaming and exploring here.

Maybe it's not random - we don't have enough data. Maybe it's random just at first sight, but if you take the whole Universe, we will discover the pattern. Or the pattern is something beyond human comprehension... Although it is: all measurements of random seem to be perfectly happy - we can test if something is random and how random it is. For example AAAAAAAAA is much less random than EUXMQPFHN and even this is not a random string of bytes but all capital, printable, ASCII/English characters. In any case, quantum is quite random. But maybe this seemingly random thing is not random and bubbles up 6 magnitudes to create something like a soul.

Then of course the question is, as with every God explanation - what controls the soul? If there is something more complicated outside of our Universe, doesn't it also deserve explanation? If God created the soul, who created God? Are we back to "turtles all the way down"?

Entanglement is cool and all but hard to keep it. The brain is too "hot and wet" for Entanglement to exist for too long time or for too many particles. But some respectable scientists like Penrose seem to be going in this direction, looking at this with some smart anesthesia folks. I don't think he is right, but also I don't want to say a Nobel prize winner is not right, so - keep at it, maybe we find out something new.

The measurement problem is interesting as well - what counts as measurement? What actually disturbs the quantum states? Doesn't the equipment that measures become part of the quantum system? Doesn't the person and brain reading the measurement also then become part of the system? What exactly collapses the wave-function?

There are a few states where this type of soul/consciousness seems buggy - and as the analogy with the flaky Internet goes, and as real scientists, we should poke there. The times of sleep. The time of a coma. The time of a general anesthesia. Drunkenness. Mushrooms. Other forbidden or less forbidden stuff. Yoga. Meditation. These stuff some claim provide different experiences. And some of them I've never experienced, I can't deny that they exist for some people. It's like if I was blind to deny that some people see. Or if I never experienced happiness to deny some people can. It's basic politeness and the whole soul/hard problem depends on politeness - otherwise I can just postulate that everything is a hologram put by the Devil and only I can experience stuff, the whole Universe is a hoax.

As many of the links, videos (and laziness to include all other links) shows - none of this is new or original, of course. But this is my blog. And these are my thoughts these days. Losing sleep. Thinking why am I in this particular brain and not in another. Giving in into the slippery slope of mysticism perhaps? Looking at some of my previous writings and the speed with which I wrote this one, having previously read and thought on a lot of these topics - it's probably not (just) the romantic thing.

But she definitely sparked it (back).

"НЕ" на задълижителното машинно гласуване

Tags: Български, политика, технологии, хакове
Created on Thu, 06 May 2021

В предишния ми пост обясних защо не трябва да позволяваме електронното гласуване. Депутатите миналата седмица, обаче приеха задължителното гласуване с машини в секции над 300 избиратели. Това също е огромен проблем ако искаме доверие в демократичния избор.

Елементарната аналогия

Ето какво правим: връщаме се в дните, когато кутиите за пускането на бюлетините не бяха прозрачни. Преди може би 15 години вече решихме, че така може да се манипулира кутията, като се пуснат гласове предварително или някой да подмени кутията без някой да гледа. Въпреки, че твърдим че минаваме в "дигиталната ера" или се "модернизираме" истината е, че тази стъпка със задължителното машинно гласуване е огромна стъпка назад що се отнася до доверието в изборния процес. Вижте предишния ми пост относно как технологиите ускоряват както добрите, така и лошите неща. В случая в този пост ще защитя идеята, че този вид дигитализация е лоша, тъй като създава много повече проблеми.

Машината за гласуване е черна, тъмна кутия пълна с код, който може (не казвам, че ще се, но е възможно) да се промени от достатъчно малък брой хора, така че да се запази конспирацията в тайна.

Информацията, която следва е от обучителен клип предназначен за Секционните Избирателни Комисии (СИК):

Ако не ви се гледа видеото, следното е важно: разбираме, че има три разпечатки от машината - 1. една в началото която показва нули за всички партии, 2. по една разпечатка след всеки вот и 3. една в края, която показва сумите на всички гласове.

Разпечатка 2. (или отделните вотове) се пускат в тъмна кутия (това го чух, че е тъмна, а не прозрачна, но нямам потвърждение - ако някой знае първоизточник моля да ми изпрати). Тази кутия НЕ се носи в Районните Избирателни Комисии, което на практика изглежда я обезсмисля като верификация. Ако тези листчета всъщност се използват или като верификация на вече разпечатаните гласове от разпечатка 3. или като първоизточник на реалния брой гласове (т.е. се броят както стандартни бюлетини), то това би направило машинното гласуване сравнително еквивалентно на нормалното гласуване с бюлетина. Доколкото ми е известно това не е така.

Така остава, че разчитаме само на изхода от Разпечатка 3. Да видим какво може да се "хакне". Следното са само няколко бегли идеи за това как може да се наруши процеса. Не твърдя, че имам информация, че ще стане, не твърдя, че ще стане и не приканвам никого да прави тези неща - просто изяснявам защо не можем да вярваме на тъмна кутия.


Както говорих в миналия пост има три основни парадигми в сферата на сигурността съкратени CIA - confidentiality, integrity, availability (съвпадението със CIA като Central Intelligence Agency на САЩ е полу-случайно). Това на български в превод биха били: поверителност (или запазване тайната на вота), почтеност/непокътнатост (или че вотът, който е даден ще бъде същия като вотът получен като резултат) и наличност (или че машината ще работи независимо от външни обстоятелства).

От тези особено големи проблеми са почтеността и наличността. Поверителността се запазва, тъй като машината няма информация кой сте - картите, които ви се връчват са анонимни и (поне не би трябвало) няма камери или друг начин машината да ви идентифицира - идентификацията става пред комисията.

Следват спекулации. Ако някой има първоизточници - да ми изпрати (не искам пропаганда на определени партии или медии - говоря за официални документи, технически характеристики на машините, обществени поръчки, публикувани в сайтове на министерства и пр.)


Машината се твърди, че не е свързана с Интернет. Да приемем, че това е така, поне не с LAN кабел, тъй като би било твърде очевидно, а и прекалено зависимо от физическа инфраструктура. Разбира се възможно е да бъде модифициран хардуера, да се добави WiFi, Bluetooth или друг радио модул. Атака/хакване на това ниво е малко вероятно да се направи за всички машини без да изтече информация за конспирацията.

Софтуерът, който се инсталира на машините, обаче вярвам че ще бъде един и същ за всички машини. Нямам информация кой прави това. Нямам информация софтуера да е отворен код (open source), а дори и да е - няма верификация, че същия код, който бихме видели като отворен, ще бъде инсталиран на тези машини. Има начини за дигитален подпис на софтуер, но не съм наясно дали такъв съществува на тези машини.

Това накратко означава, че хората, които ще инсталират софтуера могат да променят само числата, които излизат накрая от машината, независимо за кои партии са гласували. Това е един начин да се наруши принципа за почтеност/интегритет на изборния резултат. Разбира се, за да е достоверна лъжата, машината трябва да отчете колко гласа са пуснати общо, а не да има записани стойност от преди това и да преразпредели гласовете процентно. Т.е. ако някой накоди 200 гласа за партия А и 100 за пъртия Б преди машината да се инсталира (приемаме отново че няма достъп до нея от Интернет или някакъв вид локална мрежа) а гласуват само 50 човека, то при сумирането в протокола ще бъде очевиден този вид хак. Но това е тривиален код.


Вторият голям проблем, разбира се, е осигуряването на наличността на машината. Както се вижда от видеото машината е снабдена с батерия, която ще я остави включена при временно спиране на тока. По-дълго спиране на тока ще е проблем. Друг проблем е самата машина да не стартира или да спре да работи по средата на гласуването или непосредствено преди последната разпечатка.

Доколкото разбирам депутатите са приели, че в такъв случай се минава на гласуване с нормални бюлетини. Но всяка секция трябва да са снабдена с достатъчен брой бюлетини, тъй като не се знае къде и кога някоя машина може да спре да работи. Ако това не стане изборният процес в тази секция ще бъде нарушен, тъй като няма да има "наличност" на нито един начин за гласуване. Тъй като ще има достатъчно бюлетини така или иначе защо да не се позволи да гласуваш с каквото искаш, а си задължен освен ако няма сериозен проблем? Това го оставям на будния читател да помисли.

Ще могат ли да се осигури необходимия брой машини до 11 юли (доколкото разбирам за сега това е датата) - едва 2 месеца от сега? Става въпрос за машини включително в секции в чужбина, които са над 300. Ще има ли достатъчно време за обучение, тестване и проверка на интегритета на всички тези машини без да настане хаос, който ще намали доверието на изборите?


Има още един проблем, който намерихме с един приятел при гласуване с машина. Той би трябвало да е сравнително рядък, но въпреки това е уникален с машините, но не и при хартиеното гласуване.

При хартиено гласуване ако се объркаш и гласуваш за грешния кандидат или прецакаш бюлетината със знак, можеш да върнеш бюлетината на комисията, тя да бъде унищожена и ще ви се даде нова. Гласът не е пуснат, докато не влезе в кутията, което го прави публичен, но таен вот - тъй като всеки може да види, че гласуваш, но не и за кого.

При машинното гласуване, ако се объркаш нямаш undo. В момента, в който машината изпищи няма как да поискаш да прегласуваш. Ако видите видеото има подробност, че има общо 5 карти - 3, които се сменят за всеки избирател (не може да се гласува с една карта два пъти последователно) и две административни, чрез която да се разпечатат гласовете в началото и в края. Това е сравнително добро ниво на сигурност, тъй като не позволява двоен вот от един избирател. Но това означава и че веднъж натиснат гласът не може да се върне. Комисията не може да ви даде друга карта, тъй като това означава, че ще гласувате два пъти. Доколкото разбирам от видеото административната карта не позволява да се върне вот (и не би и трябвало - това би било еквивалент на комисията да бърка в урната). Така че гласуването в случая отново е тайно и публично, но машината играе ролята едновремено на тъмна стаичка и на урна.


Хакове винаги могат да се измислят и при хартиено гласуване. Но имаме хартиено гласуване от много време и сме минали през голяма част от възможните проблеми с решения като прозрачни урни. Не съм против прогреса. Но задължаването за гласуване с машина е грешно, при положение, че не сме изчистили хакове, а напротив - връщаме такива (както казах в началото - машината е тъмна кутия с код). Имам вече няколко приятеля, които казват, че няма да гласуват с машина, защото знаят колко нечестно може да бъде. Не просто нечестно, но нечестно лесно могат да бъдат хакнати. Няма интегритет на кода. Малко хора могат да ги накодят, което маха прозрачността на изборния процес. Това недоверие или проблеми, които се появят по време на изборите може да доведе до касация и нови избори.

Не знам дали има начин това да не стане на 11 юли. Не съм сигурен, че достатъчно хора разбират за проблемите с това решение. Надявам се поне малко да съм ви накарал да се замислите. Ако нещо си заслужава да се излезе на протест, то това е. Но не мисля, че обществото ще има енергия за този конкретен и трудно разбираем проблем.

Дано не съм прав.

Защо онлайн гласуването НЕ Е добра идея?

Tags: Български, политика, технологии, мнения
Created on Tue, 27 Apr 2021

За хората незапознати с този блог - здравейте, аз съм Даниел Цветков, специализирам в област сигурност на облачните технологии и работя в Гугъл, Швейцария. Мнението си е мое и не представлява това на компанията ми, но се надявам че с това ще ми повярвате, че имам бегла представа за какво говоря. Мнението ми се споделя от специалисти в бранша, вижте връзките най-долу (на английски предимно)

Ако нямате търпение за цeлия пост, основното, което трябва да знаете е, че технологиите нямат вграден морал или етика. Те не могат да ускорят само добрите неща без да направят лесни и лошите неща - те просто ускоряват.

Технологиите улесняват гласуването от вкъщи, но в същото време правят много по-лесно манипулирането на гласовете. Ако истинността на избора на суверена е важна за вас, то онлайн гласуването, колкото и да е примамливо в днешно време, НЕ трябва да става истина.

Гледайки развитието на новините тези дни по всичко личи, че българите ще трябва да гласуваме поне няколко пъти в идните месеци. Има и някакъв теоретичен шанс да изпаднем в политическа криза и цикъл от постоянни избори в следващите години. От доста време се прокрадва идеята за електронно гласуване и сега е перфектна буря тази идея да се реализира. Изглежда удобно - защо да не гласувам отвкъщи? Защо да ходя да се редя на опашки във време на пандемия? Колко пъти трябва да ходя до урните, да си губя дните вместо просто да цъкна няколко бутона и да си дам гласа - все пак мога да пазарувам онлайн, как може изборите да са по-важни от пари? Ето, Естония се справя вече повече от десетилетие - защо не и ние? Защо да живеем в миналия век, като всеки има телефон и Интернет навсякъде?

Преди време аз бях на същото мнение. В този пост ще се опитам да разкажа накратко защо го промених без да навлизам в технически детайли. Ако са ви интересни техническите подробности, може да направим подкаст по тази тема с любопитковците

Сега, разбира се, много хора ще кажат, че "ако изборите решавали нещо щяха да ги забранят". Няма да дискутирам тук дали изборите в една демократична държава са важни - това го оставям на упражнение на драгия читател да реши дали има смисъл въобще от гласуване за каквото и да е или ситуацията е "просто си пий ракията и се оплаквай колко е зле държавата". Гласуването е право, не задължение, поне в България, поне за сега. Единственото, което искам да разясня е, че електронното гласуване е лоша идея. Аз съм човек, който живее в чужбина от вече десетилетие и също като някои поп-лидери в момента съм трудно подвижен (също коляно). За мен би било най-лесно да твърдя, че искам да мога да отида на някой уебсайт, да цъкна бутонче, да си направя избора и да си продължа работата.

Най-големият проблем с технологиите е, че те ускоряват както добрите, така и лошите неща. Да, ще е по-бързо, лесно и удобно да цъкнете на бутон за коя партия гласувате отвкъщи. Но в същото време ще е много по-бързо, лесно и удобно гласът ви да се подмени и то не само вашият, но и масово, на целия народ. Да, възможно е да вдигнем избирателната активност с малко. Може би. Но цената, която трябва да заплатим ще е огромна - и в парично изражение, и като доверие към цялата избирателна система.

Тайната на вота

Гласуването в днешните демократични държави изисква тайната на гласа. Гласът трябва да е анонимен, защото е ваше право да не споделяте тази информация, да не бъдете гонен от партии или организации, всички знаем за платените гласове. Анонимността не е същото като тайна - не е тайна, че сте отишли да гласувате, но е тайна за кого. Влизате в тайната стаичка и гласувате, пускате бюлетината и не е ясно за кого сте гласували. Постигането на такава анонимност, колкото и проста да изглежда, е почти невъзможна с Интернет технологии, дори да приемем, че Вашето устройство няма вирус, който може да манипулира вота (каквито ще се появят непременно). Системата, която имаме в момента не е перфектна и купуването на гласове е проблем. Но ако за минута си представите, че вие сте човек от някоя "лоша" партия, който иска да купи гласове, ще видите че и това не е много лесно. Трябва да сте внимателни, да имате много хора под вас, които да са вътре в конспирацията, трябва да намерите кои хора са податливи, но и които няма да ви издадат. С Интернет е достатъчно да имате връзка с хората, които разработват софтуера - клиентската или сървърната част - и сте "вътре".

Технологиите ускоряват и лошите цели. Вместо да се плаща по единично за гласове, достатъчно е да се разбият крайните точки на събирането на гласовете, за да се променят последните числа. Или софтуерът, който се изпълнява на машините да има бъг, който се знае само от разработчиците, или дори само от кръг хакери, които имат специалност да намират подобни бъгове. Най-сигурният компютър е този, заключен в мазе, заобиколен от въздух, бетон и желязна решетка, без портове, изключен от Интернет, по възможност изключен от тока и ако стаята няма врата или прозорец - това е горе-долу сигурен компютър. За повечето хора. Всичко друго е излюзия.

Сигурността на технологиите

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

Как тогава плащате "сигурно" онлайн? Истината е, че банките плащат милиарди всяка година за сигурност. И въпреки това има много, много пробойни, за които те разбира се не искат да разберете. Но това развитие на тези сравнително сигурни системи става с течение на много години, много опит и има други легални и финансови инструменти, които решават технологичните пробойни. Виждате как напоследък имате все повече (досадни) нива на защита - пращане на смс код, сертификати, 3-Д пароли или каквото Вашата банка го нарича. Тези неща не са случайни, но трудно разбираеми за повечето хора - просто трябва да съществуват и банката ви казва, че не може без тях. Ако например плащане е извършено с вашата карта, вие получавате смс или нотификация, или ако огромно плащане е направено без вие да знаете банката ще получи сигнал вътрешно и може да ви се обади да потвърдите или да отложи транзакцията. Гласуването онлайн няма да има подобен процес поне не първоначално - гласувате веднъж и в края на деня резултатите се обявяват. Ако се намери хакерска атака въобще в някакъв по-късен момент изборите могат да се касират, което ще ни накара отново да се върнем към урните. Казах ако въобще, защото хакерските атаки на системи, които не са тествани могат да се скрият много, много умело. А тестването също трябва да отнеме много, много години, за да имаме поне някаква сигурност. Вижте параграфа относно какво специалистите в средите смятат за "сигурни компютри" - мазето, бетона и прочие.

Ето списък на пробойните в големи компании с изтекли данни. Ето друг списък с хаквания - това са все системи, които в един или друг момент са считани за "сигурни" от големи имена. Ако не сте в средите звучи лесно да се "защити", да се сложи "парола", но както казах - технологиите ускоряват нещата - ускоряват защитите, но ускоряват и пробойните. Вечна игра на котка и мишка с постоянни проблеми. Ето канал, който (почти) всяка седмица прекарва 30тина минути да дискутира пробойните само през последната седмица. Ето и друг канал, който прекарва 3 часа да навлезе в дълбочина, за някои от тях.

Добре де, не са сигурни технологиите - но каква е сигурността сега? Не може ли същите пробойни да се случат и със сегашната хартиена система? Много, много по-трудно. Изборите нарочно са бавни. Системата, която имаме в момента нарочно има сложности с протоколи и множество хора и организации, които следят процеса в определени моменти или в тяхната цялост. Има наблюдатели на изборите, броенето на гласовете става в секциите и да - отново се носят на централно място. Но има много различни хора с различни интереси, самите партии пращат наблюдатели в процеса и подкупването или пробиването на системата трябва да стане на много места, за да има значителна разлика. Разбира се, определени пробойни ще има, но те са локални. Софтуерно гласуване ще позволи пробойната да е глобална. И ако огромни организации, банки и експерти не могат да защитят техните системи, на кого може да вярваме, че ще защити гласуването и демокрацията?

Друг елемент, който спада към сигурността е това системата да е достъпна. Това е третото от едно основно трио принципи в сигурността (Confidentiality, Integrity and Availability - за първите две - конфиденциалност и интегритет говорихме в контекста на запазване на тайната на вота). Това една система да не работи в продължение на четири години, а после в един ден да бъде достъпна (т.е. да не "падне") за 2-4 милиона българи в един ден, е изключително трудна инжинерна задача, която малко компании могат да си позволят. Разбира се, идва момента, че не просто хората имащи право на глас могат да "задръстят" системата, но и външни хакери, могат да я натоварят, така че да ограничат достъпа до възможността за гласуване електронно. Това е все едно в деня на избори да се изсипят 100 милиона човека от различни държави пред секциите и да ограничат достъпа на реалните избиратели. Това във физическия свят е много трудна задача, докато във виртуалния е сравнително лесна - ето тук идва това "лошо" ускорение, за което говоря от самото начало.


Много хора ще се сетят или са чували за Естония и как там избори се провеждат успешно електронно от около 15 години. Първо, Естония е сравнително малка държава с население едва милион и 300 хиляди с право на глас едва 900 хиляди човека. Системата със смарт картите е от няколко десетилетия и като цяло има доста добра онлайн система за много неща, доказала се по-рано. Вижте статиите и видеата в края на статията. Въпреки това, експерти по сигурността и независими хакери не веднъж са показали, че е възможно системата да се пробие по всевъзможни начини - това, че не е станало до сега показва повече липса на мотивация от трети страни или всъщност е ставало, но хакерите не са оставили следи. Това доколко е важна България и кой би имал интерес да хакне нашите избори, дали си заслужава риска - също го оставям като домашно на читателя. По-важни или по-малко важни сме от Естония? Защо нито една друга държава не смее да приложи такъв тип избори? Дали ще са руски или патагонски хакери, дали ще са интереси на някоя партия или хора гущери - това си е ваша работа да вярвате в която конспирация си изберете.

Избирателната активност

Защо по-рано казах, че само Може би ще вдигнем избирателната активност? Защо не със сигурност? Защото ако вие четете този пост, вероятно имате добра Интернет свързаност вкъщи и навън, мобилен смарт телефон или два пълен с камери, локации и какви ли не апове. Но много хора нямат това нещо. Много от нас имаме баби и дядовци, някои от които са големи хакери. Но не всяка баба Пена взима таблета в тоалетната. На някои е доста трудно. Така че, да - може би младите в градовете ще гласуват повече. Всички знаем за кого ще гласува дядо Пешо и има шанс, ако въобще четете този пост, вие да не сте съгласен с неговия глас и си казвате - "не ме интересува какво ще правят тия пенсионери, и без това гласуват за "лошата партия на носталгията". Но живеем в правова, демократична държава и правилата са такива, че всеки над 18 години има право на глас. Друг е въпросът дали това е най-добрата система - също няма да изразявам мнение за алтернативни системи, където определен брой хора имат повече или по-малко глас. Тествани са различни системи през хилядолетието и това е друг разговор.

Добре де, но защо не - трудно подвижни хора, млади или възрастни - нека да имат възможността да гласуват от разстояние. Нищо не пречи разбира се, който иска да отиде и да гласува по стария начин. Това е добър аргумент, признавам. Но това дава и възможност за двоен глас на някои хора - ако си регистриран по стария начин и гласуваш в секцията, а после или преди това гласуваш онлайн, то мястото на регистрацията също трябва да има Интернет свързаност и компютър, който да показва списък дали си гласувал онлайн. Което ни връща на проблема с технологиите - те не са сигурни и е възможно да падне сайта в деня на гласуването, да се хакне и тогава дори и нормалното гласуване няма да може да се осъществи.

Отделно от трудно подвижните хора, или особено във време на пандемия хора, които предпочитат да са вкъщи, трудността на гласуването в секция има и друг невидим плюс. Гласуването предполага някаква заинтересованост от политическия процес. Това да се вдигнеш и да си "изгубиш" времето е някаква бариера, която може би дори искаме да имаме - ако просто си седиш вкъщи и не се интересуваш какво се случва, но веднъж на четири години отидеш в един уебсайт и цъкнеш бутон - как това е по-представителна демокрация от усилието да станеш и да отидеш физически да гласуваш?


Разбира се като абсолютна основа за онлайн гласуване ще наложи издаването на смарт карти или дигитални подписи, което трябва да стане физически по същия начин, както се издават лични карти. Невъзможно е просто да цъкнете на "Регистрирам се", защото такава система ще е толкова несигурна, че ще бъде хакната от ученици и студенти не повече от 3 дена след пускането на системата. Регистрирането онлайн без да има реална свързаност с физическото лице ще позволи лесно създаването на ботове. За повечето неща, които сте срещали онлайн това вече е огромен проблем - с фалшиви профили се борят както Гугъл, така и Фейсбук, Туитър и всъщност почти целия Интернет с всяко нещо, което прави. Почти всяко анонимно гласуване онлайн е съпътствано с хиляди главоболия и съжаления като например наименуването на кораб Boaty McBoatface.

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

Задължително ще има обществена поръчка за разработване на софтуер и закупуване на сървъри, който може да струва милиони и разработването да протече в продължение на години. Подобен софтуер и тестване не се прави са 2 месеца. А освен Естония и някои имплементации в свободен код - няма много големи примери как да се случи точно, така че навлизаме в доста непозната територия. Цената за разработване на такъв софтуер най-вероятно ще надхвърли в пъти повече цените за провеждането на много, много избори. Ето списък на много закъснели, специализирани софтуерни продукти. Индустрията ни е много млада и много грешим, когато се опитваме да оценяваме колко време ще отнеме разработката и колко ще струва. Говорете с който и да е софтуерен разработчик с повече от 2-3 месеца опит.

Отделно, за разлика от хартиената система този софтуер няма да е разбираем за обществото - който не разбира как да пише или чете код няма да има представа дали в някой ред някъде няма грешка. А дори и да знаеш - общия брой редове включително операционната система и други приложения - може да е в рамките на милиони редове. Достатъчно е един от тях да има нещо сбъркано - един плюс или минус повече - и сигурността на цялата система отива на кино.

Отново доброто нещо на сегашната система е, че е бавна, но и сравнително разбираема от обикновения човек. Не напълно - има много протоколи, хора, организации както казахме и преди, неяснотии, но е в пъти, в ПЪТИ по-разбираема от софтуер. Това е важно, за да има доверие в процеса. Със софтуер, особено със софтуер със затворен код, това няма как да стане. Това също е техническа, но изключително важна точка.

Но технологиите са бъдещето!

Технологиите в последните 20 години ни позволиха да вършим много неща от удобството на дома. Цялото ми детство и тийнейджърство е навързано с чакане на по-мощен компютър, на по-бърз Интернет и каквото си мечтаех в един момент, една или две години по-късно ще е реалност, че дори и ще надхвърли очакванията ми. Лаптопите бяха само за бизнесмени, телефоните бяха с шайби и навързани с дома и само по филмите като Мисия невъзможна имаше някакви преносими джаджи и комуникация навсякъде. Сега всички живеем в това невъзможно бъдеще и за добро или лошо почти по време на тази пандемия в последната година, много от нас усетиха колко неща може да вършим от дома.

Но в същото време осъзнахме и границите на технологиите.

Уроците по зуум не са същите. Разговорите липсват дълбочина, постоянни са техническите проблеми - с Интернет връзката от едната или другата страна, камерата или микрофона не са включени или не работят, а груповите разговори са невъзможни защото само един говори в група от 15, а така не работи истинският свят.

Напреднахме много. Но в същото време технологиите не са готови да разрешат всеки проблем. Да, гласуването на хартия изглежда остаряло в сегашния модерен, дигитален свят. Но и демокрацията е стара, гласуването на хартия е от столетия и много от проблемите, които сме намерили са разрешени с много труд и загуби.

Ако смятате, че решението е блокчейн, биткойн, изкуствен интелект, пръстови отпечатъци или специализирани операционни системи мога отсега да ви кажа, че те не решават нищо, освен отделни, локални проблеми. Нищо, което имаме сега, не решава целия проблем, но ако ви е интересно пишете и ако намеря време ще се опитам да разясня защо.


Не съм против прогреса. Напротив - работата ми всеки ден ме сблъсква с технологии, които не съм виждал използвани по начини, които не съм виждал и това ме зарежда! Може би ще е добре да имаме електронно гласуване някой ден. Но технологиите в днешно време въобще не са готови за нещо подобно. Има някои много основни правила, които вероятно биха забранили да гласуваме някога онлайн. Но всички знаем, че понякога човечеството намираме начини да разбием тези правила и да намерим решение. Сегашната ситуация с технологиите не е на това ниво, колкото и да ни се повтаря, че сме много напред. Едва от 30 години имаме Световната мрежа. Едва от 50 имаме нещо като Интернет. Едва от 70 нещо като компютри. Демокрацията е много, много по-стара. Нека развиваме технологиите в други сектори.

Ако вярвате в демократичния процес и ви пука за истинността на резултатите, електронното гласуване само може да подкопае доверието. Нека се затрудним специално по тази тема. Нека излезем и сложим маски, нека се редим на опашки един или няколко дена в годината. Нека да е бавно и досадно, архаично и да харчим пари за секции и много хора, които да са в процеса. Нека не ускоряваме манипулирането на гласувате. Не се поддавайте на общественото мнение. Това какво хората искат не винаги е правилно в дългосрочен план. Всеки иска заплата 10000 лева. И популистки изказвания твърдят, че каквото иска народа трябва да му се даде колкото и да е тъпо. Но както всеки икономист ще ви каже, че просто вдигане на заплатата 10 пъти ще повиши инфлацията многократно и ще понижи доверието във валутата, което може да ни вкара в икономическа спирала за десетилетия без никаква промяна за хората, така аз ви казвам, че онлайн гласуването е добро само на много повърхностен поглед и вероятно трагично за демократичния процес.

Благодаря за вниманието.


The forbidden topic

Tags: English, politics
Created on Wed, 14 Apr 2021

#BlackLivesMatter. #MeToo. #WomenInTech. #GenderPayGap.

I'm going to talk about something that may get me fired, dead or worse - canceled. It's the dogma of our time. We do not talk that there are differences between people that may influence their career. We try to fool nature but as Feynman said - "Nature cannot be fooled". As we tried not to care about O-rings that will break under certain temperature that have killed people we try so hard not to care that different people - men, women, gays, blacks and especially - people that have sharp noses vs people who don't - have different capabilities. We talk only about equalizing the playing field. And some parts of it are smart and we need less bias, more understanding of different perspectives that different people bring. But many initiatives are annoyingly stupid and completely detached from reality, trying to fool nature. I'm going to agree with my corp bullshit that I have to swallow everyday, attend brainwashing trainings, listen and read articles that almost no matter what the topic is will claim that certain groups of people (mainly black and women) are the poor sufferers of injustices brought by me. This stupid blog post is the silent modern days' Galileo's "And yet it moves".

Americanisms have brought up a topic that I would never realize to care about. Gender and racial discrimination. Sure, I can relate to the gypsies minority in my own home country and how me, my family and friends have learned to treat "them", creating our own biases and human generalizations that we can try to work out and escape from. But I have not seen a "real" black person until I left my country when I was 19. So all the cultural baggage of "black lives matter" are almost completely incomprehensible to me - it is something, happening somewhere else yet because it's the empire I should care.

But let's get closer to "my home" of expertise:

"There are not enough women in tech".

Honestly, I don't give a crap whether you have a viable birth canal or not. Do you know why I can't SSH to my machine?

I have studied physics in high school where my class had 3 girls. The class above me had 0. Yet it was a girl in my class that was better than me in physics and we competed in competitions and Olympiads and she usually won. It didn't really matter it was a she - she was better in physics, I was a bit better in astronomy.

But you know what? Other than a birth canal, she also had blond hair. Maybe it was actually the hair! We only had 3 blonds in the class and one of them was better than me in physics!

Why do we decide to segregate people in gender or race? Here are a few more of the people that I feel may have more or less representation at the "top of the social hierarchy" (that is usually refered as the bosses or richest people in monetary amount):

Point is: we can segregate in an almost infinite amount of ways. We can put people in as many groups as our human's imagination can work out. We can say that "creating an environment where the voices of people who have not thought of green elephants in two years is toxic, discriminatory and biased, it is not inclusive and doesn't represent the true spectrum of diversity in our world". Replace the above with "women" or "black" and you will have almost every corporate message about "DEI" (Diversity, Equity and Inclusion) that exists in corp emails or public statements.

Everyone has different perspective. Trying to equilize representation of everyone is an ideal that can never be achieved. I'm sure that designing software with people who use their spacebar as a heating device will be beneficial to some people.

xkcd's 1172: Workflow

I'm sure that seeing more people with hair in their ears win Oscars will help me understand the diversity we have in our planet.

So what that women are underrepresented in certain areas? Is that what we really want? Do we want equal amount of women to be also in construction jobs? Or mining? Do we want equal amount of women to commit suicide as men? Why do we equalize on certain areas but not others?

Ideally, I also want equal amount of men to give birth as women. This way we can understand more the women's perspective. But we can't. Or we could with modern medicine so why don't we push it? It's ridiculous. Certain people have differences in experience and perspectives - people who believe in the Flying Spaghetti Monster should provde their perspectives when writing code.

Okay, I'm "privileged young male in a \"Western\" country" (Human languages don't have the idea of escaping quotes, right?). But I'm also a short, hairy, sweaty and coming from an almost third (or at least second) world country - an underrepresented group that I can claim that feels oppressed and that not enough sweaty people are hired in tech. I want a program that encourages sweaty people - "Sweaty people in tech". I would go there and educate sweaty people that they also deserve to work in tech! That they shouldn't listen to the nay-sayers, that they shouldn't be influenced by Hollywood's misguided ideals of perfection non-sweaty body! They can also learn how to code!

How can that be non-discriminatory?! Why create programs that encourage sweaty people but do nothing for non-sweaty ones? Why the DEI doesn't measure that characteristic! There has been no conclusive research that says that sweaty people are less intellectually capable of coding!

Is it historically that women were "oppressed"? What do I have to do with this, why should I suffer and apologize for what other people have done historically? How is that not more hurtful than what you are trying to do?

I want to be able to read articles without having to think about my pee-pee and whether my ancestors who did have a pee-pee created "great" stuff or whether other people with pee-pees have once again tried to talk dirty with people with birth canals. There are differences between men's and women's biology but there are also differences in people diagnosed with cancer and those with Asperger's syndrome. Stop writing about the only two differences that you can think of in people - namely gender and race - you are actually perpetuating any biases that exist and create ones that haven't existed in people like me who haven't thought about that until you write it in every email and talk in every talk show.

Sure, women and men have different agendas because of pee-pees and vaginas. Claiming that you will act no different if you had a chance of a 9-month period in which you will carry a tumor if you are not careful whose pee-pee you allow in your birth canal VS just going and fucking whatever looks like a hole - is insane. Of course you will think differently about a lot of things in your life! I have an injured knee now for the past month and underwent a surgery that requires me now to go with crutches - I rethink a lot of stupid trivial things how to do them in the past month but it will heal and will get back to "normal" in some time. Of course my sleep suffers. And my mental health. And my job. And I try not to, try to push through whatever I go through and so does every living or dead person on this planet. Claiming that I'm "the same" as everyone else is insulting to everyone else!

So are there intelligence differences between the sexes because of that? Probably - it's extremely hard to measure because we don't have a definition of intelligence. Is there a difference between people who can whistle and people who can't? Probably - it's extremely hard to measure because we don't have a definition of intelligence.

Do I want more women in tech? I don't really care. If they want to - come on in, join the fun of everyday machine telling you how dumb you are. Not everybody wants that. Do I want more women to be CEOs of companies. I don't really care - go on, become a boss and live through the stress of caring for a 100,000 people employees and the pressure of billionaires, countries and state agencies telling you what to do. Not everybody wants that but if they do - let them, don't stop them due to their birth canal or hair in their ears. Maybe stop them if they are dumb - although how is that not a discrimination against dumb people? They also have rights and should be encouraged ... ah, whatever, you get the point.

If this post reaches any public, anywhere, I will have trouble. Thankfully my blog is a complete shitshow mix of Bulgarian, English and posts that are semi-coherent that I can claim insanity.


Tags: English, learning
Created on Thu, 25 Feb 2021

Yesterday, out of nowhere, I decided to try to learn Morse code.

In general, I hate learning languages - I can express something already in one language and learning how to do that in another seems useless with very little added benefit.

But Morse is a different type of language - it's a different communication medium, an almost universal human-binary protocol that can be communicated through timings in different mediums including wires, light or sound.

It can be argued that is is actually a tertiary protocol because it actually uses 3 types of signals - Dots are short signals, dashes are longer ones (3 times as long by standard) but then you also put silence between the letters (which is by standard the length of a dash or 3 beats). However if we think in binary representations - i.e. high and low set of signal - then a dot is a 1, a dash is a 111 and silence depends on where it should be. A silence between individual dots and dashes is a single 0. So for example letter P which is represented as .--. in binary would be 10111011101 - three one-bit silences between the dashes and the dots. When it's between letters you put a three-beats silence so Pi which in morse would be .--. .. in binary would be 101110111010001010 - notice the 000 between the letters. So it's a binary protocol and can be implemented in a any medium that supports an unambiguous high and low.

The binary protocol kind-of-follows the frequency of the letters in English language - the most frequent letters are represented with a single character - E is ., T is - - while the less frequent ones require more - e.g. Q is --.-. It's not perfect but it's International and that's better than anything else we have.

So I found this video that proposes two techniques: a more visual and a more audible version:

The first one draws on the idea of a binary tree. You construct all the characters in a tree structure that starts from a root node. Every time you go left, it's a ., every time you go right, it's a -:

morse as binary tree

The other one is associating words or phrases that can be roughly translated to the stresses and the lengths of the dots and dashes. For example the phrase Dog did it can be pronounced with a loong Doog which represents the dash and then with short did it which represents the shorter dots:

morse as mnemonic

The person in the video says that most professionals recommends this audible method for learning instead of the more visual binary-tree one.

So I found another raw video from youtube that represents the sounds in triplets...:

...and then tried recording my own cringy voice in almost a singing fashion at the middle repeat:

What I found out is that this mnemonic method really helps in one direction - if I know the letter, I can get the sound. I almost learned these already because the phrases are phrases I know, easy to associate with the letter and stresses make sense (mostly). So let's say my access in this direction (letter->sound) in programmatic terms is now O(1). This direction corresponds to the writing operation - so if I have a word or a sentence I can now (almost) translate it already to sounds.

However the other direction (sound->letter) is much harder. Listening to this long training video for single letters...:

... I find that my association with the letter when I hear the sound is almost linear (O(n)) in speed - I try to go through each of the letters I know in order to get which one I am at. After I hear the correct letter, then it's easy to hear it the second time with the mnemonic I have. This would be the "reading" direction (or more like listening).

So I'm now looking at a way to speed up the reading direction. I'm really trying to hear the sounds as the phrases but I'm still struggling.

Anyway, it's day two and just a fun side thing. Whenever, whatever :)