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

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

Сьогодня я сиджу в чотиризірковому готелі в Австрії і вайфай мені коштує 4 євро дві години і працює тільки в холі готелю.

Помиляється той, хто вважає, що в Україні панує олігархія. Насправді, у нас в країні панує клептократія - влада крадіїв. Не злодіїв у широкому сенсі, а саме крадіїв.

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

І крики, зокрема нашої козюлі, про владу олігархів - не більше, ніж успішний PR-хід клептократів.

Бога нема! Але зібратись сім'єю, наїстись, згідно традиції, дванадцятьма пісними стравами під пару пляшечок білого (так-так, одне з них - Chablis Premier Cru, William Fever, Les Lis) під знову-ж таки традиційні тости "Слава Богу!" і "Христос народився, славімо його!" і пів-вечора рубатись у веселу релігійну дискусію - це прикольно.

А потім, коли всі роз'їхались, а дружина давно спить, дістати індюшачі котлети, відкоркувати пляшку італійського "Мерло" і завершити вечір на мажорній ноті - зовсім чудово.

А ще ось що: релігія - це слабина, яку дає людина перед обличчям смерті, намагаючись за ритуалами сховати свій страх перед вмиранням. Так, мені теж хочеться вірити, що у мене є душа, і що вона не може бути знищена, і що кожна окрема душа - частинка чогось єдиного цілого, і що карма і переродження - це реальність. Але давайте будемо реалістами. Коли моє тіло вийде з ладу і загинуть клітини мозку, то по мені залишиться тільки те, що я встиг зробити: діти, зафіксовані мною знання та думки, можливо якісь матеріальні пам'ятки. Все.

Кожен, хто міняє реальну, нехай і не надприємну, картину світу на психотерапевтичну картинку з антропоморфним персонажем, який може надавати по шапці "за гріхи" (при тому, що він вже 2010 років як всіх без виключення врятував!) - слабак.

Ну от ким треба бути, щоби підсумувати кількагодинний екскурс в природу темної матерії, темної енергії, філософію Окама, антропний принцип та гносеологію Колмогорова фразою, вибачте, "Пи%да Всесвіту!" ???

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

Коли я куплю або побудую собі будинок, то одразу після робочого кабінета та спортзала з татамі та грушами почну збирати бібліотеку з літератури, яку пропонують укладачі курсів з МІТ'а та інших університетів.

P.S.: З 16 книг, які рекомендуються MIT'ом для освоєння курсу Structural Mechanics, п'ять належать Тимошенко Степану Прокоповичу, уродженцю с. Шпотівка Сумської області.

Налипання мокрого снігу - ніфіга не жарти. Прямо під моїм парадним мокрий сніг своєю вагою вивернув з землі велике дерево. На щастя, впало воно не на будинок а на дорогу, де, знову-ж таки на щастя, не було жодної машини. Хоча там майже завжди хтось стоїть. Завтра викладу фотки.

Впевнений, що навіть у Києві не всі провода, що висять на стовбах, доживуть до ранку.

P.S.: а сніг продовжується і на вулиці знову звук дерева, що зламалось.

Заїжджав сьогодня в "Автосоюз" на Петрівці. Передивився все, що стоїть в них в салоні, - від Golf V з 1.9 дизелем до 2-літрового Passat на автоматі з DSG.

Проблема ускладнюється тим, що насправді я хочу трішки іншу машину: BMW 530 xi або трилітрову Audi A6 Quattro, але це одразу біля 60 євро, що майже виключає придбання такої машини у 2010-у році. Тож Фольксваген - це суто практичний вибір, а тому на Sirocco або Golf GTI я не дивлюсь.

Залишаються цивільні Гольфи та Пассати. Ціни на шості Гольфи починаються з 22 кілобаксів, на Пассати - з 27. Але після кумової Skoda Superb мені щось закортіло поїздити на нормальному седані.

Наступні дві картинки в рідері йшли поспіль:

skull.jpg

girl_wow_butt.jpg

Цікава комбінація :-)

Товариш підкинув: СБУ - дітям.

Я ридав крокодилячими сльозами.

Ну це-ж треба було ТАК КРУТО ОБЛАЖАТИСЬ!

В літку цього року в Іраку та Афганістані були виявлені ноутбуки партизан із записами відеопотоків з бойових безпілотних літальних апаратів (БПЛА), запросто називаємих дронами. І хоч ознак того, що повстанці могли керувати дронами, виявлено не було, сама наявність такої оперативної розвідувальної інформації у партизан, очевидно, різко знижувала (чи навіть досі знижує) ефективність найпотужнішої армії планети в цих країнах.

Здавалося-б, буває: війна є війна і розвідка ворога не спить, кидаючи на боротьбу всі сили. Але коли починаєш читати, то нападає відчуття всеохоплюючого подиву: відеопотоки збирались партизанами за допомогою програмки за 26 баксів оскільки дані, що передавались на землю з БПЛА не шифрувались. Сам цей факт б'є в голову. Але стаття абзацом нижче невимушено добиває:

The U.S. government has known about the flaw since the U.S. campaign in Bosnia in the 1990s, current and former officials said. But the Pentagon assumed local adversaries wouldn't know how to exploit it.
Тобто, американські військові знали про цей факт, але вирішили, що мізки в голові є тільки в них. Зливаємо світло і тушимо воду.


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

... some of the drones would employ a sophisticated new camera system called "Gorgon Stare," which allows a single aerial vehicle to transmit back at least 10 separate video feeds simultaneously.
Тобто, деякі з дронів передавали по 10 потоків одночасно.


Такий собі Mike Wynne з американських ВПС назвав це балансом між прагматичністю та складністю, але я схильний не погодитись: недооцінка суперника часто призводить до дуже веселих сюрпризів.

Дякую Смешу за наводку.

Укрспецекспорт уклав угоду з Іраком на загальну суму в 2.4 мільярда доларів. Це найбільше замовлення з того часу, як ми озброювали Пакістан. До речі, цікаво як там наші Т-80УД себе поводять.

Forbes говорить про 420 БТР-4 та 6 Ан-32Б (сайт у Антонова - нічний кошмар!), "Новая газета" з посиланням на якісь джерела говорить про танки, бронетехніку, літаки та високоточні засоби ураження. Приємно те, що БТР-4 - це не "надлишок", яким Україна торгувала багато років, а нова харківська розробка: модульна багатоцільова машина, для якої ті-ж харків'яни розробили кілька нових бойових частин.

У переважної більшості київських бюро перекладів нема українських версій сайтів.

Сьогодня прибігло одразу три FreeBSD security advisories: на rtld, ssl та freebsd-update. Причому, щодо rtld іще позавчора був лист від Colin Percival, такий собі pre-advisory з драфтом патча.

Здається, день сьогодня пройде під знаком апдейта серверів :-)

Після тренування хочеться їсти. М'яса хочеться. Але м'яса нема, натомість в холодильнику - борщ і червона риба.

Доведеться естетствувати.

To deal with big risks you need big guns.

Давно хотів прикрутити до блога нормальну систему коментування: з блекджеком, шлюхами та поштовими повідомленнями про нові коментарі. Бо без останнього якось спілкування в коментарях швидко припиняється: кому хочеться ходити перевіряти, чи відповіли йому щось?

Майже дозрів до того, щоби купити платний модуль до movable type, але тут трапився мені таки собі disqus.com.

Подивіться, нормально?

Оскільки наша подруга, очевидно, не витримала напруження дискусії щодо Феліши "Снуп" Пірсон доведеться написати сюди. Смеш пише:

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

Ну дик і група "Бутирка" чи "Лєсоповал" теж спочатку були зеками, а стали - популярними співаками. Давайте всі ними захоплюватись? І про актрису - теж краще не треба. Коли вона зіграє в "Моїй прекрасній леді" - тоді я скажу, що вона актриса. А поки, наскільки я зрозумів, вона сильно "з образу" не виходить.

Вчора з друзями незадовго до півночі були біля Свічки Пам'яті, що в парку Слави. Там готувались до промови когось з керівництва, напевно Президента.

Я дивився на свічку і мені спало на думку, що з того Голоду мало зробити тільки висновок про злочинність, ба навіть глибоку хибність, того устрою, який в СРСР намагались видати за комунізм. Це суспільний, глобальний висновок.

Явище такого масштабу легко надає іще один, персональний, висновок: краще загинути від кулі, ніж від голоду.

Дивлячись на деякі приклади вирішення задач на ФМП, мені досі хочеться бігати кругами і кричати: "А-а-а-а-а, свобода!" Наприклад, в наступному рядку визначається функція, що робить з цілого числа список цифр:

let to_digits = let rec go l n = if n = 0 then l else go (n mod 10 :: l) (n / 10) in go []

P.S.: я такий емоційний!

... authors these days often introduce arcane methods that outperform the simpler techniques only when the problem size exceeds the number of protons in the universe.

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

І тільки набагато піздніше я звів разом "Мистецтво програмування", орган вдома, tex.gif та літературне програмування, зрозумів, що це зробила ОДНА людина і прозрів.

Це людина, про яку складають легенди.

Я зазвичай музику гучно не вмикаю, але іноді пробиває.

Короче, не знаю, як там ви, а ми тут з сусідами саундтрек з "300" слухаємо. Зараз буде "Returns a King".

Я трохи переформатував ленту, додавши в неї фіди з Ліги, finance.ua та Економічної правди.

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

А, ще треба задатись бажаною тривалістю власного життя для уточнення розрахунків :-)

Іду на torrents.ru качати повну збірку сонат Бетховена для скрипки.

Забираю торрент-файл, іду дивитись коментарі, а там рівно один запис: "Уже качаю" пише користувач з ніком КАСТЕТ.

Доставляє :-)

(Disclaimer: текст пишеться в першу чергу для того, щоби самому якнайповніше зрозуміти концепцію. Тому якщо для когось надто просто та банально або навпаки надто складно - вибачайте :-)

З прикладної точки зору, монади для функціонального програміста - такий самий design pattern, як для об'єктно-орієнтованого програміста адаптер чи абстрактна фабрика. Вони абсолютно необхідні для розв'язання реальних задач в тих функціональних мовах, які не підтримують поняття змінних та стану обчислень. OCaml в цьому розумінні не такий категоричний: mutable-поля в структурах є. Але чистий функціональний підхід має свої переваги, про які іншим разом.

Згідно з визначенням Філіпа Вадлера (він бородатий! :-) монада це:

Оператор M над типами разом з трійкою функцій


  • map

  • unit

  • join

Оператор над типами (в літературі - функтор) - це абстрактна функція , яка перетворює один тип в інший.

Мушу сказати, що цей момент мене трохи заплутував, коли я тільки перейшов з C++ на OCaml: в літературі по С++ функтором часто називають об'єкт будь-якого класу, для якого визначений operator(), в той час, коли насправді функтор в C++ це те, що виділено жирним в наступних рядках:

std::vector<std::string> vs;
std::list<std::pair<int, string> > lp;

В першому прикладі функтор створює тип вектор рядків з типу рядок. В другому - два функтори вкладені одне в одного: внутрішній функтор з двох простих типів створює тип пара, а зовнішній - з цього типу пара створює тип список пар.

Функція map перетворює значення одного "монадного" типу в значення іншого "монадного" типу. Наприклад, нехай в нас в якості оператора M виступає той самий std::vector. Також в нас є функція, яка перетворює значення цілого в пару: 1 -> (1,"один"), 2 -> (2,"два"), і т.д. Тоді map, прийнявши в якості параметра таку функцію, зможе перетворити для нас вектор цілих у вектор пар; значення одного "монадного" типу у значення іншого. Як на мене - круто :-)

В реальному світі монадою часто називають конкретне значення "монадного" типу, що було отримане в результаті застосування функції unit до значення деякого вихідного, "немонадного", типу. На OCaml це може виглядати так:

# let unit x = [x] ;;
val unit : 'a -> 'a list = <fun>
# let a = unit 5 ;;
val a : int list = [5]
# let b = 1 :: unit 10 ;;
val b : int list = [1; 10]
# let c = "a" :: unit "test" ;;
val c : string list = ["a"; "test"]

Така функція візьме на вхід будь-що і зробить з цього "будь-що" список з одного елемента.

Функція join потрібна для компенсації ефектів, що виникають при композиції кваліфікаторів, в результаті чого вихідний тип x виявляється "загорнутим" в монаду двічі.

Продовження, безумовно, буде...

Останнім часом в ленті надто багато повідомлень пов'язаних з Росією. При чому про неї не тільки пишуть самі росіяни, а й наші. Та ще й друзі дофіга шарять російських новин та постів, пов'язаних з внутрішньоросійськими ситуаціями.

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

Не розумію.

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

З Днем Народження, брате. Всього тобі найкращого!

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

Ми розбили термометр. Ртутний. В кухні на кафелі. Я подзвонив в МЧС по номеру 101. Там мені дали номер 044-430-50-10. На цьому номері мене перенаправили на номер 044-430-37-13.

На останньому номері трубу взяв чоловік і нарешті розказав, що саме треба робити. Короче, коли розбиваєш щось із ртуттю або розливаєш саму ртуть треба робити наступне:


  1. Відкрити вікна та зачинити двері в приміщенні, де розлилась ртуть.

  2. Вологою ганчіркою зібрати ртуть з країв до епіцентру. Якщо по дорозі є тріщини в підлозі - застосувати кисточку. Ми користувались туалетним папером, змоченим в марганцовку.

  3. Зібрати ртуть разом з усіма предметами, що були задіяні в зборі, в скляну банку з герметичною кришкою. Банку тримати в холодному темному місці.

  4. Протерти підлогу сильним розчином "Білизни" чи якоїсь аналогічної речовини з хлором. Тхнути хлором має пару годин.

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

Маячня.

В тій реальності, в якій ми з вами живемо, гроші - це еквівалент енергії. Нагадаю, що у фізиці енергія - це здатність тіла виконувати роботу. Тобто гроші - це міра можливостей суб'єкта, якому ці гроші належать. Ступінь ефемерності нашої реальності - тема дуже довгої окремої розмови. У свою чергу, з концепції "гроші-енергія" випливає дуже багато інших цікавих концепцій типу ефективності, потужності та корисності.

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

Коли грошей мало, рівень енергії занизький, то і можливості невеликі. Дай Бог, щоби вистачало на їжу, одяг та житло. Але коли грошей багато, то з'являється проблема вибору. Різноманітність нашої реальності надає можливість застосувати накопичену енергію безліччю різних шляхів. Один з них - за допомогою накопиченого накопичувати далі. Всі інші - широченний спектр від корисних (для суб'єкта чи середовища) до маніакально-деструктивних.

В будь-якому разі, вибір шляху використання енергії - привілей власника.