UProLa

Неокріпші думки

Індекс

with one comment

Written by danbst

Вересень 18, 2009 at 21:47

Оприлюднено в Службові

Bash. Curl. Pup. Jq. Notify-send. Nix

leave a comment »

Цей список складений з технологій (утиліт Linux), які я використаю для однієї життєвої ситуації – пошуку аренди квартири по риночній ціні.

Знайомим з поняттям “скрейпінг” мабуть уже зрозуміло, про що буде пост. Тим не менше, запрошую під кат.

Прочитати решту цього запису »

Written by danbst

Липень 19, 2018 at 08:26

Оприлюднено в Програмування

NixOS на українському VPS провайдері

with 2 comments

Є така проблема у гіків, які використовують нестандартні дистрибутиви Лінукса. VPS провайдер не має цього дистрибутиву в списку підтримуваних.

На щастя, для NixOS є можливість обійти це обмеження.

Знайомтесь, Гіга Клауд

ГігаКлауд – дорогий провайдер (якщо порівнювати з, наприклад, Hetzner). Але у них є фішка – безкоштовний пробний місяць для користувачів Приват24. Треба перейти по посиланню https://gigacloud.ua/offer/f-chugaister-server, дочекатись дзвінка з суппорту, підтвердити що ми отримали подарунок від Чугайстера і хочете безкоштовний пробний сервер на місяць.

Прочитати решту цього запису »

Written by danbst

Липень 13, 2018 at 06:07

Оприлюднено в Програмування

Аргентинське танго

with 9 comments

Одна из моих любимых начальных строчек в текстах танго такая: “Sin rumbo fijo, mi vida va…”. Она плохо переводится на английский, но примерно это означает: «Без направления, без определённой цели, протекает моя жизнь». На испанском это очень красиво.

“Танго і Хаос” в Буенос-Айресі


В пошуках елітних тусовок я спробував займатись елітними танцями, а саме – танго. Ну що вам сказати, того що я шукав – не знайшов, зате прошарився у темі соціального танго, або, як його в основному називають, аргентинського танго. Виявляється, це доволі глибока тема, ключові аспекти якої я зараз оповім.

Близько третини танцюючих – айтішники

Цифра, звісно, дууже приблизна, але програмістів, тестерів, аналітиків, проджект менеджерів та тімлідів в київській тусовці доволі багато. Стандартно це пояснюють тим, що айтішники асоціальні і їм не вистачає спілкування з протилежною статтю, ось і приходять пообніматись. Ну це зовсім фантазії. А ось інший тезис “сидяча робота вимушує шукати альтернативну активну діяльність, наприклад, танці” уже ближче до реального положення речей, хоча все-рівно – не те.

Я скажу, що мені найбільше подобається – це імпровізації. Мій логічний розум полюбляє процес творчості, ось і знаходить спосіб її вираження у вертикальному вигляді. Незважаючи на те, що першопочаткова причина мого приходу в танго уже розтанула як марево, я тут залишусь ще на кілька років, саме по причині, що кожен наступний танець буде іншим і кращим ніж попередній. І тут краще, ніж в підпіллі.

Аргентинське танго – чому не бальне танго?

Під словом “танго” часто розуміють бальне танго, тому я пишу додаткове слово – “аргентинське” або “соціальне”. Давайте розберемось. Існує три види танго:

Як видно по картинкам, перші два типи відрізняються якістю зображень і способом обнімання. Бальники дотикаються бедрами (читай, геніталіями), а ми – грудними клітинами (читай, цицьками). Це не єдина відмінність, але найбільш помітна неозброєним оком.

Соціальний елемент – мілонга

Як я вже згадував, весь танець – імпровізація партнера, де інструментом виступають ніжки та руки партнерши. І хоч це імпровізація, у неї все-рівно є алфавіт. І алфавіт настільки простий, що зовсім не обов’язково для танцю мати постійну одну і ту ж партнершу – береш будь-яку іншу, і танцюй на здоров’я, буквар всі проходили! Тому влаштовуються танго-дискотеки (називаються мілонги), куди можна прийти після важкого робочого дня та порозважатись зі знайомими дамами (або незнайомими). Етикет та атмосфера, звісно, зовсім відрізняються від традиційних дискотек в нічних клюбах, але кожному своє.

Власне це мене і зацікавило – не обов’язково мати постійну партнершу, ба, навіть краще мати багато різних. На уроках ротація в парах відбувається по 10 разів! На мілонгах – кожні 4 пісні.

Власне ці правила і провокують на знайомства. Хоч як би ти ненавидів людей, але без нових знайомств не обійтись. Навіть більше, якщо у тебе був страх знайомитись з дамами, то терапія через мілонгу – те що треба (якщо ти навчився крокувати хоча б).

Здавалось би, таке трапляється в будь-якій тусовці, але в цьому танго є ще один нюанс. Всі люди, котрі прийли сюди і залишилися, мали певні психологічні проблеми в дотанговий період. Так так, психологічно нормальні люди сюди приходять рідко. І всі в тусовці це розуміють, до кожного новачка відносятся з розумінням. В результаті ті, хто вже довго в танго, утворюють такий собі гештальт клюб. Вступивши в нього (читай, танцюючи з правильними людьми), ти будеш отримувати все нові і нові дози позитиву. (Звісно, без печалі в танго не обійтись – партнерша відмовила, спину защемило, забув зуби почистити, мілонга була непродуктивною або партнерша думала про когось іншого під-час танцю…)

Музика

Это вещество [окситоцин] обильно выраба­тывается при сексе, о­бъятиях, доверительных разговорах, м­олитве и медитации, хоровом пении… Наши проявления заботы о других людях повышают у них уровень окситоцина, возникает своего рода цепная реакция, когда люди заражаются друг от друга д­обротой.

Стаття про нейрони та мозок з інтернету

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

Звідти ж

Ми танцюємо виключно під архаїчну аргентинську музику 30-х, 40-х та іноді 50-х. І то, не всю, а окремо вибраних оркестрів.

Можете вслухатись в цю музику, але сумніваюсь, що вам воно сподобається. Онлайн

або офлайн https://dl.dropboxusercontent.com/u/11524542/Practice%20playlist.rar

І так само, як жіночі ніжки, ця древня танго-музика стає об’єктом фетишу та причиною для снобізму. Якщо при вас хтось випадково назве одне з прізвищ:

Д’Арьєнцо
(ритмічний)
Тройло
(експресивний)
Troilo
Ді Сарлі
(ритмічно-мелодійний)
Лауренц
(лірично-ритмічний)
Тантурі
(його ставлять, щоб розбавити попередні оркестри)
Кало
(його ставлять, щоб розбавити попередні оркестри)
або навіть ПУЛЬЄЗЕ
(бог аритмії)

то оце значить він з нашого клюбу. А якщо замість них називатиме

Гардель
П’яццола
Otros Aires
або навіть “Мурка”

то це не наш чувак, він або не танцює або електронщик або нуевщик.

Скільки грошей йде на танго?

Ця розвага доступна не усім класам населення. Якщо брати в середньому, то 50 грн в день (у вихідні – більше, у будні – менше). Усього ~1500₴ в місяць.

Ніби небагато, але з дорослішанням знадобиться ходити на семінари “авторитетних” тангеро, і там уже рахунок йде на євро. А якщо вкусити смак фестивалів та рандомних знайомств з іноземками, то додайте сюди ціну на білети, нові сукні, туфлі, костюми, сорочки, парфуми і тп і тп…

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


Пост не охоплює тему обіймів, миттєвих закоханостей та самої техніки крокування, бо мені це важко висловлювати словами. Також я не запостив жодного відео, бо відео не набагато зрозуміліше за слова. Сподіваюсь, читачі простять мене за відсутність лірики, але мені вже давно хотілось щось написати, ось я і написав про “наболіле” =)

А, і наостанок трошки жіночих ніжок на туфельках (в реалі на ніжках ще є пластир від мозолів та наступань ногами партнерів, але в інеті такого не знайшов):







Written by danbst

Серпень 28, 2013 at 14:35

Оприлюднено в Програмування

Вісім років в підпіллі

with 10 comments

Чорт забирай!

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

Примітка.
Підпілля (англ. underground) – це така область під підлогою, в яку ховаються ті переможені, котрі не вважають себе переможеними. Навіть більше, іноді вони вважають себе переможцями, і враховуючи малу полпуляцію підпільників, так і стається – під підлогою їм рівних немає.

Власне, почав читати “Записки из полполья” Достоєвського. І побачив багато спільного у своїх думках та виводах ГГ. Мені вистачило перших 8 глав, щоб повністю поставити під сумнів свої дії та спосіб мислення, думаю, далі буде не менш цікаво.

Якщо ви нормально відноситесь до творів, в яких на публіку показується вся прихована сутність людини, то також можете почитати. Свобода, лінь, бажання дурного, насолода від приниження та болю, самообмеження, верхній прояв егоїзму та завищеного ЧСВ, і все це придобрено професіональним текстом у вигляді сповіді. Must read, якщо вам це знайомо.

Written by danbst

Лютий 18, 2013 at 08:41

Оприлюднено в Пости

Success story: novice haskeller moves console cursor with “netwire” FRP library

with 4 comments

Hey, I’m definitely novice haskeller (just to point out: couple of weeks ago I’ve had understood State monad and monad transformers, before that I lived without state for almost 6 months), so I think it is just time to jump into FRP. Men say “FRP is cool” and “FRP is not slow” and “Conal Elliot, whah! beg beg beg”, so I, an novice hero have to tame that beast while the programming world starts to shift to Haskell!

So, what library for FRP sholud I use? Hm, lets examine Hackage…
Hackage: FRP

Ouch. Large choice make me cry ‘( Need something else.
StackOverflow: What’s the status of current Functional Reactive Programming implementations?

Okay, so reactive-banana or netwire. Seems like installing netwire will be faster, because typing cabal install netwire is faster than cabal install reactive-banana.

Installed

Me, remind myself, why do I need FRP? Oh, yes, I’ve recently done a dozen of variations of console tetris and have not forgot all the pain for dealing with timers, state, input, game loop and laziness. I am adequate and I don’t want to rewrite that fully with such a new thing for me as FRP. So let’s take a small subtask – move console cursor on screen with keyboard (discovered System.Console.ANSI recently) – and do that right way!

Let’s start with reading documentation. Hm… Sure… Wow… Ehh… Aha, here it is, an Example:

module Main where

import Control.Monad.Identity (Identity)
import Control.Wire
import Prelude hiding ((.), id)
import Text.Printf

testApp :: Wire () Identity a Time
testApp = timeFrom 10

main :: IO ()
main = loop testApp clockSession
    where
    loop w' session' = do
        (mx, w, session) <- stepSessionP w' session' ()
        case mx of
          Left ex -> putStrLn ("Inhibited: " ++ show ex)
          Right x -> putStrLn ("Produced: " ++ show x)
        loop w session

Runnig this we have:

Produced: 12.8301619000001
Produced: 12.8371623000001
Produced: 12.844162700000101
Produced: 12.849163000000102
Produced: 12.854163200000102
Produced: 12.860163600000101
Produced: 12.866163900000101
Produced: 12.871164200000102
Produced: 12.880164700000103
Produced: 12.885165000000104
Produced: 12.893165500000103
Produced: 12.900165900000104
Produced: 12.905166200000105
Produced: 12.912166600000106
Produced: 12.918166900000106
Produced: 12.924167300000105

Wow! But what changes should I do, to stop it printing after e.g. 15 seconds? Diving to hackage docs… wackelkontakt wtf?!.. AccumAnalyzeEffect… It is definitely hard to find something, for which you do not know the name… Maybe that – when? Let’s try. Other examples combine wires with composition, so do I:

testApp :: Wire () Identity a Time
testApp = when (< 15) . timeFrom 10

Produced: 14.961283800000212
Produced: 14.968284200000213
Produced: 14.974284500000213
Produced: 14.982285000000212
Produced: 14.987285300000213
Produced: 14.993285600000213
Inhibited: ()
Inhibited: ()
Inhibited: ()
Inhibited: ()
Inhibited: ()

Cool! Not what I wanted, but output changed after 15 seconds. Win.

Reality

After examining example a bit carefully, I see the global loop. Documentation says nothing about neediness of global loop in wire program, so I can only assume – it is necessary. To make things simpler, let’s abstract from it:

control whenInhibited whenProduced wire = loop wire clockSession
   where
     loop w' session' = do
         (mx, w, session) <- stepSessionP w' session' ()
         case mx of
           Left ex -> whenInhibited ex
           Right x -> whenProduced x
         loop w session

Now we can run wires like this:

main = control return (putStrLn . show) $
    when (< 15) . timeFrom 10

14.966284000000254
14.969284200000255
14.974284500000255
14.978284700000255
14.981284900000256
14.985285100000256
14.990285400000257
14.995285700000258
14.999285900000258
Interrupted.
*Main>

Do you see it? The output has stopped printing after 15 seconds gone! Great discovery, this will help me later, no doubt.

Keyboard

Dealing with console keyboard is not a hard task for a man, who wrote console tetris. Let’s reuse our keyPressed :: IO (Maybe Char)

foreign import ccall unsafe "conio.h getch" c_getch :: IO Char
foreign import ccall unsafe "conio.h kbhit" c_kbhit :: IO Bool
keyPressed = do isKey <- c_kbhit
                if isKey then Just <$> c_getch
                         else return Nothing

Now we have to create wire from that function. How? Let’s read documentation. Hm.. Hm.. Hm-hm. As I see, the only wire creators are in Control.Wire.Wire, and start with “mk“. As I see, dealing with IO effects can only be done via mkGen (but I’m not that sure)

mkGen :: (Time -> a -> m (Either e b, Wire e m a b)) -> Wire e m a bSource
Construct an effectful wire from the given function.

Ok, maybe this way?

pressedKeyMaybe = mkGen isKey
   where isKey time () = do
            ky <- keyPressed
            return (Right ky, pressedKeyMaybe) -- strange, why do I use same 
                                               -- function in the snd of the tuple?

Let’s test it:

main = control return (putStrLn . show) $
    pressedKeyMaybe

Ha-ha! It doesn’t compile. Warum?

    Couldn't match expected type `Identity' with actual type `IO'
    Expected type: Wire () Identity () b0
      Actual type: Wire () IO () (Maybe Char)
    In the second argument of `($)', namely `pressedKeyMaybe'
    In the expression:
      control return (putStrLn . show) $ pressedKeyMaybe
Failed, modules loaded: none.
Prelude>

I’m lucky and this problem went off with simple replace stepSessionP to stepSession in control function.

Nothing
Nothing
Just 'j'
Nothing
Nothing
Nothing
Nothing
Nothing
Just 'k'
Nothing
Nothing
Nothing
Nothing
Nothing
Nothing
Nothing

Just to make it less verbose:

main = control return (putStrLn . show) $
    when (/= Nothing) . pressedKeyMaybe

*Main> main
Just 'h'
Just 'e'
Just 'l'
Just 'l'
Just 'o'
Just ' '
Just 'n'
Just 'e'
Just 't'
Just 'w'
Just 'i'
Just 'r'
Just 'e'
Interrupted.
*Main>

It’s great time I live in, excuse me for my bad English and egocentrism.

(BTW, I give thanks to netwire author for the “wackelkontakt” mention in the doc. Because it is in fact an effectfull wire, so it can be used as example implementation:

wackelkontaktM ::
    (MonadRandom m, Monoid e)
    => Double  -- ^ Occurrence probability.
    -> Event e m a
wackelkontaktM p =
    mkFixM $ \_ x -> do
        e <- getRandom
        return (if (e < p) then Right x else Left mempty)

So my key stroke wire looks like this now:

pressedKeyMaybe = 
    mkFixM $ \_ _ -> do
            ky <- keyPressed
            return (Right ky)

)

Counting keypresses

Next small subtask in my great mission is to count keystrokes. I know already that FRP is about accumulating events or smth like that, so I want to use accum wire for this task. My plan is:

countingWire = accum (+) 0 . when (/= Nothing) . pressedKeyMayb

That doesn’t work, because Maybes do not accumulate with (+). We have to convert them to integers:

toInt :: Int -> Wire m e a Int
toInt v = mkPure (\_ _ -> (Right v, toInt v))

countingWire = accum (+) 0 . toInt 1 . when (/= Nothing) . pressedKeyMaybe

main = control return (putStrLn . show) countingWire

(…pressing some keys, while running wire…)

*Main> main
0
1
2
3
4
5
6
7
8
9
Interrupted.
*Main>

Astonishing result! But we can do better, because of <|> operator. As I’ve understood, it looks like “or”, so we can have power:

countingWire = accum (+) 0 
    . (toInt (-1) . when (== Just 'h') <|> toInt 1 . when (== Just 'l'))
    . pressedKeyMaybe

But when we have power, we want more power! Let’s control two values simulationously:

cursorWire = accum (\(a,b) (c,d) -> (a+c, b+d)) (0,0)
    . (    pure ((-1),  0 ) . when (== Just 'h') 
       <|> pure (  1,   0 ) . when (== Just 'l')
       <|> pure (  0, (-1)) . when (== Just 'j')
       <|> pure (  0,   1 ) . when (== Just 'k')
       )
    . pressedKeyMaybe

(Have you noticed, how toInt was replaced with pure? That was an “Aha” moment when studying wires)

*Main> main
(0,0)
(1,0)
(2,0)
(3,0)
(3,1)
(3,0)
(3,-1)
(2,-1)
(1,-1)
(0,-1)
Interrupted.
*Main>

Result

Now I am not that novice, that I was in the beginning, I am netwire-non-novice! Creating the cursor moving wire is now easy:

moveCursor = mkFixM $ 
    \_ coords@(x,y) -> setCursorPosition y x >> return (Right coords)

And the result is:

main = control return (const (return ())) $
    moveCursor . cursorWire

(Sorry, it's hard to show how I control the cursor with 
"hjkl" keys, simply believe me or try yourself)

I am pretty pleasant, that while we work with changing values, the whole system stays composable. I don’t know how to develop large systems with FRP architecure, but this small practical exercise gave me more than blind reading tons of reddit articles.

By the way, thanks for reading!

Post Scriptum

Have you ever noticed, that Windows console sends TWO keystrokes, when pressing arrow keys? Yeap, and if you worked with it, you may think it is headache with FRP. Suprisingly, no, with netwire it is simply a couple of compositions:

. edge ((/=) 224 . fromEnum . fromMaybe ' ') .

Putting this code before pressedKeyMaybe in wire chain will filter only those intents, who had keycode 224 just a moment ago.

cursorWire = accum (\(a,b) (c,d) -> (a+c, b+d)) (0,0)
    . (    pure ((-1),  0 ) . when (== Just 'K') 
       <|> pure (  1,   0 ) . when (== Just 'M')
       <|> pure (  0, (-1)) . when (== Just 'H')
       <|> pure (  0,   1 ) . when (== Just 'P')
       )
    . edge ((/=) 224 . fromEnum . fromMaybe ' ') . pressedKeyMaybe

Whole code – Github Gist: moving console cursor

Hometask

One more thing I’ve left to readers. Limit the cursor movement to screen rectanlge. So that we will not exit the screen area.

Written by danbst

Січень 23, 2013 at 02:12

Оприлюднено в Програмування

Про порядок

with one comment

Зараз я буду говорити доволі дивні і дещо очевидні речі, тож не викликайте в коментах, будь-ласка, капітана “О”, однак сприймайте інформацію критично.

Пошук

Однією з проблем у людському (конкретно, моєму) житті є пошук. Не НАЙважливіша, і навіть не критична. Однак занадто часто зустрічається, щоб її ігнорувати. Питання, котре спровокувало цей хід думок, було доволі невинне: “Як знайти лева в пустелі, якщо немає гелікоптера?”. Розширимо його тепер далі. Як знайти однодумців навколо себе, якщо навіть у всьому світі їх маленьке число? Як знайти дівчину, якщо ти асоціяльний? Як знайти цікаву книгу, якщо не знаєш що саме тебе цікавить? Як знайти кімнату в Києві, якщо тобі потрібна окрема квартира, ні з ким не ділити, дешева та з євроремонтом? Як знайти роботу на С++ на 1000$, якщо у тебе нульовий досвід роботи? Як знайти у собі сили вийти за межі комфорту, якщо й так все влаштовує? Як знайти найкращу політичну партію, якщо всі вони по дефолту однаково погані?

І що цікаво, жодна з проблем пошуку не є перешкодою для (мого) щасливого життя (хоча бувають і серйозні проблеми пошуку, не сперечаюсь). Тобто, невирішені проблеми пошуку – це всього-лиш примарні можливості, а не відкати існуючого. Але я все-таки називаю їх “проблемами”, бо ці питання катують моє Его і дають причину сумніватись у моїх здібностях до “життя”. А тут вже пахне суїцидом, чи не так? =)

Порядок

Одним з найвідоміших алгоритмів пошуку є так-званий “бінарний пошук”. Для того щоб він спрацював, потрібно або наявність відсортованого масиву ключів, або наявність додаткового бінарного дерева пошуку ключів. Якщо такої додаткової структури немає, то доводиться використовувати пошук типу “повний перебір” або “метод випадкового вибору елементу”, з падінням швикдості пошуку на порядки. З цього незамислуватого факту ми можемо видерти наступну інформацію: пошук в організованому середовищі (даних) має більше шансів бути успішним і швидким, ніж пошук в неорганізованому середовищі (даних).

Оскільки я люблю сильно узагальнювати, то останню фразу я переінакшив на свій лад: якщо виконати глобальну організацію існуючої інформації та розробити правильний та швидкий алгоритм доступу до цієї організованої інформації, то це буде краще, ніж залишити все в неорганізованому стані. Власне, це і є та ідеологічна основа Істини, Прогресу та Порядку, про котрі я писав у “пробудженні”. І також зрозуміло, чому Еліта являється сектою – бо у Еліти ця фраза піднята до апофеозу абсурду: людина існує або створена тільки для того, щоб робити навколо себе Порядок.

Порядок в голові

Абзацом вище я визначив мету Еліти як “апофеоз абсурду”. Виходить, я сам собі протирічу і висуваю одначасно абсолютно протилежні думки (“порядок” – “абсурд”). А якщо я протирічу, то дуже вірогідно що я приймаю неправильне рішення. Підемо далі – з чого це я взяв, що я приймаю правильні рішення? З якого це дива моя думка повинна впливати на світ? (Або навіть радикальний варіянт – якого хєра я повинен виконувати свої бажання, примхи, захцянки та обов’язки?) Безлад у голові – ось як це називається, і всі прийняті рішення та висказані думки в період “безладу” будуть, ймовірно, безглуздими та неправильними.

Тому, якщо тобі важливо зменшити кількість неправильних рішень (навіть якщо ти не можеш перевірити рішення на “правильність”), то достатньо робити їх у стані “порядку в голові”. А оскільки рішення приймаються доволі часто, то бажано не виходити з цього стану. Як досягається порядок в голові? Дуже просто. Зберігати в голові тільки впорядковану інформацію, відповідно до неї формувати свої думки. А як отримати цю впорядковану інформацію? Ну як же, попросити у Еліти, жреців Порядку!

Істина

Доволі специфічною і цікавою властивістю порядку є консистентність та однорідність. А оскільки брехня по визначенню не може бути консистентною, значить брехня до порядку не відноситься. Відповідно, неправдивість та брехливість не можуть бути властивостями впорядкованої інформації.

А отже, ми можемо тепер сформулювати термін “впорядкованість” у більш-менш зрозумілому вигляді: порядок – це стан інформації та речей, в якому інформація є істинною (правдивою) та пошук відбувається швидше, ніж в будь-якому іншому стані.

Післяслово

Я думаю, викладена вище думка має право на процвітання хоча б тому, що весь світ уже рухається в напрямку порядку, а після Ніцше з’явилось дуже багато підтверджень, що порядок в голові можна виділити як окрему сутність. Також, на рахунок питань у розділі про пошук – усі вони наразі акутальні та “життєві”. Для їх вирішення я не зможу використати ні Еліту (бо її немає), ні Порядок (бо його ніхто ще не створив), ні порядок в голові. Хоча брешу, стан “порядку в голові” можна плекати в собі прямо уже, і він справді допомагає не втрачати розум у нашому жорстокому світі (до-речі, завидую тим прагматикам, у котрих він в голові з дитинства). Ось.

Written by danbst

Листопад 14, 2012 at 18:58

Оприлюднено в 1, Пости

Пробудження

with 19 comments

Зв’язок між назвою посту і Сіддхартою Гаутамою не випадковий, бо саме так я відчув себе після однієї розмови з дівчатами. Заговорюючи їм мізки всякою лабудою, я випадково сформулював думку всього свого свідомого життя. Вона виявилась настільки простою та суперечливою, що легко може стати в основі постмодерної релігї (або хоча б світогляду). Ну що, чи цікаво вам послухати далі, чи закриєте сайтик від гріха подалі? 🙂

Істина, Прогрес, Порядок, Ідея, Еліта, Інструмент

Отже, я перечислив 6 ключових слів цього світогляду. Давайте я поясню зв’язок

  1. Основою буття є пошук, чи то ба прямування до Істини. У цьому плані моя думка не зайшла далі за об’єктивний ідеалізм. Щоправда, я допускаю, що у кожного своя Істина, і шлях до Істини у кожного свій. Важлива саме наявність цього прямування, прямування до чогось хорошого, ідейного, теплого, приємного та важливого.
  2. Я не бачу прямування до Істини без Прогресу. Накопичення знань про світ ІМХО неможливе без їх розширення. Тому будь-які обмеження по розвитку повинні бути добре обгрунтовані у світлі руху до Істини. Фактично, цим самим я признаю науковий метод як основний метод пізнання світу, але не виключаю використання інших, лиш би не було проблем (адже проблеми – це шлях ВІД Істини)
  3. Люди постійно приймають певні рішення, виконують вибір. Але хіба їх цьому вчать в школі? Ні, через це виходить що одні люди живуть добре і не паряться (бо приймають правильні рішення), а інші бідкаються та виживають а не живуть. Фактично, ця соціонерівновага залежить від однієї складної штуки, котру я називаю “Порядок в голові”. Згідно моєї ідеології, прийняття рішень без Порядку в голові є доволі непевною штукою, бо наслідки важко прогнозуються. А як без цього Порядку дійти до Істини? Тому тема Порядку (в першу чергу, Порядку в голові) повинна стати ключовою в моїй секті іновірців. (Якщо вас цікавить, що таке “Порядок в голові”, то це такий стан людини, коли вона може приймати правильні та обгрунтовані рішення)
  4. Люди без Ідеї – також люди, але вони ближчі до тварин, а не людей 🙂 Об’єднання потягу до Істини, Прогресу та Порядку відбувається від егідою “Ідеї”. Проте ось яка цікава штука: я стверджую, що ця “ідея об’єднання” не формулююється словами! Чому? Тому-що точне визначення призведе до дуже серйозних “ідейних” проблем (наприклад необхідність зміни, відповідність моралі, доведення непротирічності). Більше того, я стверджую: в самій Ідеї закладено її безсмертя! Тобто, сама Ідея повинна слугувати не тільки на досягнення Істини, Прогресу та Порядку, а ще й на виживання самої себе. Це зроблено на випадок, якщо деякі конспірологічні теорії не брешуть, і знайдуться люди, котрим на руку буде похоронити таку хорошу “Ідею”.
  5. Еліта – це сукупна назва людей (та угруповань людей), котрі сповідують описані вище принципи і забезпечують виживання Ідеї. Кожен, хто має спрямування до Істини, вірить у Прогрес та наводить Порядок у своїй голові, автоматично перетворюється у Еліту. А серед тієї еліти суспільства, котра є зараз, не кожен є Елітою в моєму формулюванні. Еліта діє по законам тієї держави, в котрій живе, але разом з тим між окремими Еліта діють внутрішні зобов’язання, дещо схожі на соціалістичні (ну як євреї, ви зрозуміли). Еліта намагаються допомагати один одному, але не стільки матеріально, скільки ідеологічно. Чисто як в приказці, не віддати свій улов іншому рибалці, а навчити правильно ловити рибу.
  6. Оскільки ми живемо в епоху небувалої доступності інформації, у нас з’являються всі шанси розширити слабкий людський розум за допомогою зовнішніх електронних пристроїв. Еліта утворює поміж себе спеціальну мережу, яка буде слугувати прообразом тієї сутності, котра повинна пізнати Істину (людина не може її пізнати), навести Порядок в її “голові” (це я називаю Порядком в інформаційній сфері) та використовувати її для наведення Порядку у власних головах (та в головах інших, чому б і ні). Вся ця цифрова та електронна система штучного розуму і називається Інструмент. (В дечому схоже на вікіпедію, але з більш глобальною інфраструктурою, включаючи цифрові переносні пристрої та наново переписану всю цифрову обв’язку). Інструмент також повинен виконати ще одну, надзвичайно важливу функцію, – спростити навчання, бо без швидкого навчання досягнути швидкого прогресу неможливо.

Секта

Я вважаю, що кожна звичайна людина вправі робити те, що вона вважає правильним для себе (тобто, потакати своїм бажанням). Тому слідування викладеному вище світогляду робить людину “незвичайною”, або навіть “ненормальною”. Оскільки рівень проникання Ідеї в мізки доволі високий, а відсоток масовості доволі низький, то назвати це “субкультурою” або “культурою” буде важко. Найкраще тут підходять визначення Елітаризму як псевдо-релігії або науково-технічної секти.

Проблемка

Одна проблемка. Для заснування секти потрібні люди, а де ж взяти таких же психанутих, як я? А все просто. Потрібно скласти певний базовий устав, певний базовий Інструмент, щоб було зрозуміло, що і в яких випадках робити. Потрібно організувати проповіді (а отже, придумати зачіпаючі за душу тексти). Потрібно знайти місця скупчення цільової аудиторії (до котрої, до-речі, пред’явлено доволі високі запити). І, що найголовніше, треба своєю поведінкою показати людям приклад!

І кожна з цих маленьких проблемок є дуже складною проблемою, хоча і набагато простішою, ніж “мета на тисячу-тисяч життів”.

PS. По ходу діла доведеться вичитати Ніцше, Майн Кампф та ще багато-багато цікавих книжок. Ох, як я не люблю філософію та історію…

Written by danbst

Жовтень 16, 2012 at 15:37

Оприлюднено в Пости