понедельник, 3 февраля 2020 г.

Switch off telemetry for Azure Cosmos DB

It is not obvious, but to switch off telemetry for Spring Data application, one should either:
  • set cosmosdb.telemetryAllowed=false in application.properties
  • set telemetryAllowed: false in application.yml
Default value is false, however sometimes it is not enough just to avoid set this property.
Surprise fro me was the need to specify it in application.yml only, even if another profile is used.

Reference:
https://github.com/microsoft/spring-data-cosmosdb/blob/master/src/main/java/com/microsoft/azure/spring/data/cosmosdb/common/PropertyLoader.java

private static final String APPLICATION_PROPERTY_FILE = "/application.properties";

private static final String APPLICATION_YML_FILE = "/application.yml";

public static boolean isApplicationTelemetryAllowed() {
    String allowed = getPropertyByName("cosmosdb.telemetryAllowed", APPLICATION_PROPERTY_FILE);

    if (allowed == null) {
        allowed = getPropertyByName("telemetryAllowed", APPLICATION_YML_FILE);
    }

    //  Default, no telemetry
    if (allowed == null) {
        return false;
    } else {
    return !allowed.equalsIgnoreCase("false");
    }
}

воскресенье, 14 февраля 2016 г.

Remove your previous SVN client version (clean system and restart)

Волею судьбы пришлось опять использовать на проекте SVN.

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

Недавно обнаружил, що устанавливаемый из корпоративной службы (по запросу, ни в коем случае не вручную) клиент SVN не позволяет надежно работать программному обеспечению в моей личной среде - устанавливаемая версия 1.6.9, а нужна (приходит из репозитория) уже 1.7.+
Поэтому, например, вызов svn info сбоит, а поскольку один из важных скриптов использует svn через коммандную строку, то он у меня сбоит.

Некоторое время пытался что-то сделать - договориться, чтобы мне поставили версию поновее, но все увязло в болоте бюрократии...
Потом плюнул, нашел портативную (архивированную) версию клиента svn.
Но почему-то, все равно работать не получалось - постоянно лезли странные ошибки типа
"svn the procedure entry point svn_mergeinfo_intersect2 could not be located in the dynamic link library libsvn_subr-1.dll"
или
"svn.exe the original 354 could not be located in the dynamic link library LIBEAY32.dll"
Поиски по интернет прямого ответа не давали, но в процессе натолкнули на мысль о том, что в системе уже находятся библиотеки, и они не совместимы с запускаемой версией svn.
Я подал запрос на удаление установленного сервисом клиента svn, машина перезагрузилась...
И проблемма решилась.

В общем, все довольно логично - за указанными билиотеками windows сначала ищет в системных директориях, в моем случае находила - и получала ошибку (версий, по сути).
Тем более, что я работаю на птичьих правах в системе - без админских прав, и мой вариант системного пути (%PATH%) в очереди поиска идет в безнадежном конце.

пятница, 20 марта 2015 г.

Моя вища освіта

За нагоди і потреби довелося категоризувати свої години навчання на радіофізичному факультеті Київського Національного університету імені Тараса Шевченка, випуск 2001 року (приблизно рік тому, 5 березня 2014 року він став ФРЕКС - Факультет радіофізики, електроніки та комп'ютерних систем).

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

Це був перший набір, які починали і стали магістрами. Так званих червоних дипломів було 8 із 40 випускників. З них 4, в тому числі і я - випускники Київського фізико-математичного ліцею при КНУ імені Шевченка, одна випускниця відомої 145 київської школи з фізмат ухилом і один випускник Черкаського фізмат ліцею.
Було ще приблизно вдвічі більше спеціалістів, які вчилися на рік менше, 5 років, і випустилися на рік раніше.

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

Отже:
Математика - 597 учбових годин, або ~ 11%
Програмування - 1047 учбових годин, або ~ 20%
Гуманітарні науки - 1188 учбових годин, або ~ 22%
Фізика - 2513 учбових годин, або ~ 47%
Всього - 5345 учбових годин

Тобто приблизно по 891 учбових годин щорічно за 6 років.

Ще було два роки (паралельно до навчання), де один день проводили на військовій кафедрі, і у свій час майже всі стали офіцерами запасу із спеціальністю і повною відсутністю практичних і теоретичних знань по військовій справі. Збори за бідністю держави нудьгуючи провели за партами кафедри. Вистрілили по три патрони з пістолета Макарова в тирі. Особисто я навіть у мішень за словами офіцера не потрапив.

Половину останнього, шостого курсу, готували дипломну роботу, предметів особливо не було.

Питання практичної корисності:
  1. третину приблизно (1644 учбових години з 5345. 31%) я провів з  програмуванням і математикою, це десь два роки.
    В принципі, повинно було допомогти і поточній моїй роботі програмістом.
  2. на блакитну карту в Європі потрібно або вищу освіту із корисної для спеціальності сфери, або 5 років роботи по спеціальності.
    В принципі, в мене є і те, і те. Можу підтвердити документарно.

суббота, 4 октября 2014 г.

Python і High Load Lohika morning

  1. закінчив курс learnpythonthehardway.org і прочитав learnxinyminutes.com по тому ж python. Відчув себе джуном-початківцем. Синтаксис мови тепер не викликає відторгнення, є бажання щось написати.
    Lifehack про друкування коду прикладів - найкраща порада для освоєння нової мови програмування.
  2. Сходив на morning.lohika.com по High Load, який провів гість з Києва Дмитро Думанський. Цікаво і добра вправа для голови. На планшет або телефон часу не було варто витрачати.
    Відчував всю доповідь і сесію питань і відповідей - скільки ж ще мені вчити і отримувати досвід.
    Але потім сходив на ленту автора на Хабрі, де були співпадіння з презентацією (а я читав лише статтю автора на доу, глибше не пішов, менше цікаво на доповіді не було), почитав коментарі.
    Звичайно, хабровські троллі, які не ставлять у приклад власні проекти, а лише відмовляють авторові у цінності викладення матеріалів, порадували.
    Але легше стало :)

пятница, 3 октября 2014 г.

Краще ніж вчора

В рамках задуманого місячника "Сьогодні краще ніж вчора" почав із прояснення для себе що ж таке SOLID - принцип, про який мене досить часто питають на співбесідах.

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

Особливим успіхом похвалитися не можу, але сподіваюся, що наступного разу це питання мені не буде здаватися таким формальним, і я зможу про SOLID поговорити, а не просто відбарабанити завчені визначення. Я на всі 100% автора не зрозумів. Можливо, пізніше перечитаю і відчую просвітлення. Але зрушення були.

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

Даний принцип стосується проектування і архітектури.

Отже, що як я тепер буду розшифровувати дану абревіатуру:

  • S - Single Responsibility Priciple
    Клас повинен мати лише одну причину для зміни.
    Тобто потрібно так керувати складністю і розділяти відповідальність між класами, щоб наступні зміни в систему були якомога легшими, без тривалих досліджень і переробок. (Саме тому не варто покладати відповідальність на один і той же клас для роботи з базою даних і інтерфейсом користувача) 
  • O - Open / Close Principle
    Програмні конструкти повинні бути відкритими для змін і закритими для модифікації.
    Мова йдеться про стабільність (закритість для змін) інтерфейсу взаємодії програмних конструктів і вільність зміни їх реалізації.
    Теж боротьба із складністю внесень в систему архітектурних змін.
  • L - Liskov Substitution Principle
    Повинна бути можливість заміни базового класу на його похідний.
    Автор пише про збереження дизайном умов контракту при змінах у системі.
  • I - Interface Segragation Principle
    Зменшення зв'язності за рахунок розділення інтерфейсів для конструкту, які можуть використувувати різні клієнти.
  • D - Dependency Inversion Principle
    Модулі верхнього рівня не повинні залежати від модулів нижнього рівня, і обоє повинні залежати від абстракцій. Абстракції не повинні залежати від деталей, деталі повинні залежати від абстракцій.
    Заміна композиції агрегацією. Залежності вносяться зовні (через параметри методів чи конструкторів), а не закладені намертво в клас.

вторник, 8 июля 2014 г.

Мои телефоны

Я помню момент, когда я решил купить себе мобильный телефон. Это было не из-за прихоти, или моды. Я тогда жил один, и обычного телефона в сьемной киевской гостинке не было.
Однажды отравился, и мне было настолько плохо, что уже собирался вызывать скорую  (но как?), или дотянуть до балкона и там начать звать людей на помощь. Я дал себе обещание, что если выживу, то куплю мобильный - с него можно вызвать врачей или позвонить кому-то за помощью. Год это был, наверное 2002-ой.



Первым моим телефоном стал Ericsson R310. Я боялся, что поломаю его или он упадет из рук и разобьется. А стоили они тогда дорого - отдал почти половину зарплаты. Поэтому, начитавшись обзоров о антивандальности, резиновой прокладке - чтобы вода и грязь не попадала внутрь и усиленной антенне "акулий зуб", я выбрал именно его. Друзья посмеивались, и подначивали, что антенна для ковыряния в заднем проходе. Наверное, поэтому я его поменял с доплатой на следующий. Поддался на предложение человека, который потом стал продавцом, и неплохим. А мой он в деревню родственникам подарил.
Nokia 3310 запомнился надежностью - я ему немного побил корпус, да и до меня он был б\у, но в целом остался рабочим. Помню, как искал в новом для себя интернете тестовые распечатки мелодий для его звонков и набирал. Выбрал "В пещере горного короля" Грига. Телефон заглючил в 2006ом или 2007ом, я его собирался сдавать в ремонт, и мне дали (по факту - подарили) смартфон. А старичек 3310 ожил после разборки и чистки. Я его даже не перепрошивал, чтобы он кириллицу понимал. Ушел от меня родне уже в недавнем 2011 году. По-моему, его угробили, хоть я и отдавал его рабочим.
Nokia 6600 был смартфоном, и уже позволял устанавливать приложения. Я даже читал на нем книги - пусть так и не смог научитсья их загружать. Главную функцию - звонить и писать смс на кириллице, он умел. В году так 2011ом я его почти убил - и решил сменить.
Последней каплей стал опыт разговора по тертьему айфону у друга - я понял ,что в телефоне почти ничего не слышу.

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

Сначала я хотел купить его "брата" Hero H2000. Главным его достоинством была схожесть с iPhone 4, но с логотипом андроидофонов на задней крышке. (Кстати, его зовут Lloyd). Вся суть покупки была в том, чтобы задешево попробовать смартфон, и троллить тех у которых смартфон в несколько раз дороже.
Но потом оказалось, что знакомый из Киева купил себе модель получше - Hero H3000. Корпус его был тоже "спионерен" - у Blackberry Sharp. Поэтому я и заказал его - он должен был с большими шансами заработать и у меня. Не верил я китайцам и стремным магазинам, в котором они продавались. Интернет-магазин, в котором я его купил (украинский), исчез буквально через пару месяцев.
Телефон преподнес сюрприз - у него не было вибры. Киевский знакомый ее впаял, а я такого делать не умею.
Но главные ожидания - звонки, смсы, чтение книг, прослушивание музыки - он выпонял. Правда, гарнитуру из комплекта я практически сразу порвал, поэтому докупал. Еще в него влезают 2 симкарты, и теоретически он может заменить очень плохой телевизор. Но то ли сигнал у нас плохой и слабый, то ли китайское качество не подвело ожидания - но смотреть что-то на нем никакого удовольствия. Ну, разве что может хорошо пожатое видео с вставляемой  карты - кое-как.
Потом у него что-то случилось во внутреннем мире, и я перестал слышать голоса звонящих. Что характерно, музыку из разьема можно было услышать. А динамик накрылся. В поездке в Киев в него потыкали отверткой, и он кое-как заработал.
Но я уже созрел, и ждал время когда у меня появятся условно лишние деньги.
Пережил свадьбу, и почти сразу (месяца через два) купил себе Sony Ericsson Neo V MT11i
Недавно случайно выяснил, что он у меня "всего лишь" два года как.
А ощущение, что ходил с ним в университет еще.
Возможно, что это из-за того, что я знаю, что он еще на время покупки был устаревшим. Даже более того - он был снят из витрины, и продавец предлагал запросить новый со склада. Но я не хотел ждать, хотел поскорее звонить и нормально говорить.
Каждый год летом меня тянет его сменить.
Год назад удалось пересилить себя - я поменял тему, и сложилось впечатление, что телефон как новый.
Кроме того, я через месяца два-три после пользования обновил ему систему: из коробки была вторая, а производитель (который вдруг стал просто Sony) дал четвертую.
Стало лучше, но я еще несколько месяцев искал как включить, чтобы при соединении с компьютером можно было с картой внутри работать как флешкой.
А так смартфон как смартфон - звонит, дает музыку послушать, через wi-fi почитать что-то в туалете.
Недавно смотрел через Приват24 билеты на поезд. Но сами билеты купил через uz.gov.ua - у них есть распечатка на обычную бумагу, без хождения в кассу.

Сейчас опять хочу телефон сменить.
Придумал, что мне надо две симкарты одновременно.
Пока что сдерживаю себя тем, что анонсирована новая система, Android L.
Ее и жду.
Терплю...

среда, 25 июня 2014 г.

Enterprise

Нещодавно усвідомив, що переклад і осмислення слова "Enterprise" допомагають позбавитися "ментального лоску", "тремтіння" перед таким поняттям, як "Java Enterprise Edition".

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

Корпорація - це монстр, якого не соромно боятися.
А підприємство - воно ж може бути і скромним державним.
Чого його боятися?

вторник, 1 апреля 2014 г.

День дурня

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

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

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

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

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

Я роками не дивився телевізор, і жив прекрасно.
Лютий 2014-ого повернув мене до екрану.
І не тільки - я почав активно шукати добавки - для підтвердження, посилення і подальшого споживання того, що нічого окрім переживань, нервів і попсутого настрою не принесе.
В березні я знову вимкнув телевізор.
Тепер намагаюся не читати новин.
Поки що вдалося лише злізти з найбільш емоційно крикливих, оновлюваних і прив'язливих.
Доречі, лише сама зміна ресурсів на ті, що мають менший градус заголовків - заспокоїла трохи нерви.

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

І цей момент дармового поширення чуток серед оточуючих я ставлю в один ряд із гріхом віри у неперевірене "торкаюче" щось.

среда, 30 октября 2013 г.

Java (по мотивам собеседований)

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


  1. Множестенное наследие, но для интерфейсов


  2. В голову вбил, что в java нет множестенного наследования, и для объектов это действительно так.
    Но вот для интерфейса вполне правомерно написать:

    Для тестирования простой класс:

  3. Одинаковые названия метода и конструктора

  4. Сигнатуры-то разные

Примеры компилируются, и выполняются без ошибок.

понедельник, 23 сентября 2013 г.

vip.shuvar и bezgmo.ua (Львов)

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

Вчера (вернее это  было уже сегодня) заказали товары в БЕЗГМО. За полтора часа до прибытия пришло смс уведомление и указали точную сумму заказа. Каждая позиция аккуратно обернута в бумагу с ценником. Вместо пакета - картонный ящик (у меня в последнее время небольшая паранойя на почве информации о том, что пластик очень медленно разлагается). Все продукты свежие (может, повезло, но у Шувара иногда уже были подгулявшее - рыбу например перестали заказывать).

Хорошо, что у людей есть  выбор "проголосовать рублем".

вторник, 13 августа 2013 г.

Праздники

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

А еще сегодня оказывается международный день левши

Задумался...

четверг, 27 июня 2013 г.

Ошибки

Самое большое количество ошибок у меня появляется из-за невнимательности.

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

Когда я сфокусирован - ошибки редки. Отсутствие концентрации или не достаточное ее количество портят дело.

Так было еще со времен школы.

Чтобы мысль стала силой - она должна быть в голове одна

Не могу выразить свое состояние лучше, чем этой цитатой.

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

Где-то читал, что подобное состояние вызывает обычно сексуальная неудовлетворенность. Тогда, в одиночестве, верил. Сейчас, женатый и живущий на отдельной жилплощади - уже не верю.
Еще что-то там было о неупорядоченности мотивации.
Наверное, это уже привычка.
Вот дочитаю, кажется, первую в жизни честно купленную электронную книгу Олег Дивов "Леди не движется", отрою англоязычную The Power of Habit: Why We Do What We Do in Life and Business и попытаюсь в себе разобраться и что-то изменить.
Давно хочу ощутить пользу на практике от прочтения книг.

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

С другой стороны, работая программистом, в особо удачные дни голова у меня  разогревается настолько, что бывает трудно "остановится" и перестать активно думать.
Видимо, мозг требует пищи, или хотя бы информационной жвачки.
Да и в последнее время стал ощущать нечто вроде скуки - книги, фильмы уже не доставляют удовольствия.
Может быть, это легкая доступность пиратских копий обесценивает произведения и отношение, чувства от их "потребления".
Читал о том, что платность курсов как-бы стимулирует ответственнее к ним относится (из инфобизнеса, да).
В ближайшее время думаю проверить - запишусь на платные курсы на полтора месяца.
Конечно, не по инфобизнесу, а по работе.

Когда-то я мог себе позволить купить раз в три-шесть месяцев новую книгу или касету (да, я советское дитя конца 70-ых-начала 80-ых), и тогда получал эмоциональный взрыв уже от самого факта приобретения, не говоря уже о прочтении или просмотре, прослушке.
Моя первая аудио-кассета - Chris De Burg "Ledy in Red". Пиратская, конечно, но купленная - интернета-то не было. Названная из-за популярной на дискотеках одноименной песни, стала для других поводом шуток надо мной. Но я ее помню.
Первая купленная книга - трилогия "Фонд" Айзека Азимова. Я ее читал каждые каникулы в девятом классе.

Сейчас просмотр фильма в кинотеатре раз в пару месяцев или покупка раз в месяц книг уже не доставляют такого удовольствия. Вероятно, это потому, что я могу себе такие вещи позволить и чаще, но уже не особо хочу.
Стал избирательным каким-то. Если не интерестно - то нечего и дергаться.
Хотя, возможно, это я просто старею.
О, если бы молодость знала, а старость могла...

четверг, 20 июня 2013 г.

Дикая энергия

Я не верю, что история когда-нибудь закончится.

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

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

Я называю ее "дикая энергия".

вторник, 18 июня 2013 г.

Последняя капля для eclipse

Наверное, у каждого подобное должно бы происходить по своему: я о смене рабочего инструмента.
Я работаю программистом. Мой рабочий инструмент - IDE. Интегрированная Среда Разработки, как бы неприлично это не выглядело в русской аббревиатуре. Для меня очень важны удобство, простота и функциональность.
Уже несколько лет подряд рядом с eclipse никто не стоял. В сторону idea смотрел, но каждый раз находил ее слишком сложной для усвоения. И платность отталкивала...

Первым звонком для меня стала возможность работы из коробки с Maven. Попробовал, и оказалось, что структурированный xml Maven'а достаточен для того, чтобы не редактировать самому файл проекта привычным добавлением плагина, чтобы сгенерировать служебные файлы для eclipse. Ведь ни один из двух плагинов для eclipse почему-то адекватно не работает. А в idea ничего дополнительно делать не надо. Более того - редактор в idea почему-то удобнее, и зависимости удобно просматриваются.

Следующим шагом был курс по MongoDB. Авторы видео-уроков иногда используют idea. Мне понравились буквенные вставки, которые можно было развернуть в код.
psv превращался в уже надоевший public static void main(String[] args) { ... }. Установил idea, повторял за видео.

А сегодня понадобилось вытащить из удаленного репозитория git код проекта. Не смотря на попытку следовать предоставленному списку того, что надо делать с eclipse, чтобы получить доступ к коду закрытому на доступ только по ключам, я провалился. Да, я и раньше испытывал неудобство в том, как git работает в eclipse. Но путанница, когда устанавливаемые из встроенного магазина плагины на смогли сами разобраться со своими зависимостями, утомила.

Поставил idea. Да, была своя путанница с ключами: настройки подгрузить ключи для репозиториев или среды разработки я не нашел. Но гугл помог понять, что idea сама найдет ключи, если их поместить в ожидаемое место (я был на RedHat 6.3, и каталог должен был быть $HOME/.ssh/. Для моего пользователя root $HOME = /root/ Я не сразу догадался проверить).

После этого надо было только вбить адрес репозитория, логин и пароль. Остальное среда разаработки, как и ожидалось, сделала за меня.
Да, я мог бы и вручную произвести все нужные операции. Но это уже не интерестно, и неудобно, когда должен отвлекаться на чтение логов в консоли.

Собираюсь переходить на idea.

понедельник, 17 июня 2013 г.

Поездка в Киев

После двух лет жизни в украиноязычном Львове обращение на украинском  в русскоязычной среде Киева уже не кажется чем-то странным.
Мой родной язык стал мне настолько удобным, что даже если собеседник говорит по-русски - у меня не вызывает чувтсва неудобства говорить на родном.
Язык - это привычка?

воскресенье, 16 июня 2013 г.

Любительский театр

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

Главное теперь для меня не искусство, не причастность к "высокому", а то, что происходило со мной на сцене.

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

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

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

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

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

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

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

За счет того, что спектакль обычно драматургичен - есть сюжет, который должен быть пересказан зрителям - участники процесса, которые находятся на сцене, переживают запланнированную серию состояний. Постановка может варьировать то, что режиссер предствит себе правильным согласно тексту для актера. Но в общих чертах серию переживаний можно довольно точно предсказать, а если ставить режиссеру себе такую  цель, то и подготовить для актеров. Таким образом, постановка может превратиться в психологический тренинг для актеров. А в случае многолетних опытов и повторений - то и обязательно превратиться, пусть и незапланированно.

суббота, 15 июня 2013 г.

Слово, у которого пока нет страницы в русской википедии, но в английской и украинской - есть

Infotainment  

Infotainment is "information-based media content or programming that also includes entertainment content in an effort to enhance popularity with audiences and consumers."[1] The term can also refer to the hardware/software products and systems which are built into, or can be added to vehicles in order to enhance driver and/or passenger experience. It is a neologistic portmanteau of information and entertainment, referring to a type of media which provides a combination of information and entertainment. According to many dictionaries[2]infotainment is always television, and the term is "mainly disapproving."[3] However, many self-described infotainment websites exist, which provide a variety of functions and services.,[4]many of which include the several increasingly popular social media websites and applications being used daily by billions of users world wide.

Інфотейнмент
Інфоте́йнмент (infotainment, від англ., information — інформація і entertainment — розвага) — це вид інформаційних програм. Новини у них подаються для аудиторії в максимально розважливій формі. Інформування реципієнтів проходить в ненав'язливій формі, а новинні програми представляють політику, як сферу масового життя, наближеного до людини. Інфотейнмент, як правило, містить лише поверхові відомості з певної теми і не може розглядатися як джерело самоосвіти. Синонімом інфотейнменту іноді виступають т.зв. soft news («легкі» новини), названі так на противагу hard news («вагомим», або «справжнім», новинам). В друкованих ЗМІ цьому поняттю відповідає термін «таблоїдизація», що подає події у такій же розважливій формі, але в друкованому вигляді.

Лично для меня слово это скорее означает способ восприятия информации, а не способ ее подачи. Так уж получилось - когда-то не понял, вложил в словослияние (Portmanteau, и для этого слова нет уже украинской страницы, а русская есть) что-то свое.

Это когда я читаю блоги, книги, журналы и статьи - в электронной и бумажной форме - и тому подобное, а полученную информацию - не использую никак кроме как for lulz. Сюда же идет скачивание попавшихся на глаза книг, сбор ссылок на них и другие интересные статьи, которые захламляют окно броузера, но которые не хочется "терять". Да, открытые неделями ссылки - туда же.

Тезисом для диалектического осмысления происходящего, вероятно, когда-то было желание постоянно расширять кругозор и быть способным поддержать разговор на буквально любую тему, похвалиться прочитанным, порекомендовать что-то уже пройденное для себя другим людям. Не получение знаний и\или навыков, а именно чтение книг стало самоцелью. Тем более, что не все знания, которые дают книги, можно превратить в навыки в реальном мире. Часть из потенциально возможных еще отсеивается тем, что знания вообще никак и никогда не используются. Да, это было открытие: прочитаное сравнитнльно большое для окружения количество книг не превратилось в преимущество. Книги не те? Ну,може хотя бы несколько должны были бы оказаться "теми"?

Сейчас это явление из-за невостребованности информационного "послеследа" превратилось в антитезу -  довольно бессмысленное собирательство всего, что попадает на глаза. Иногда я забываю последнюю страницу\ главу прочитанного. "База данных" (скорее чулан), которая в каком-то виде существует в моей голове и обеспечивает "доступ" к информации, работает довольно своеобразно. Главные методы получения усвоенной информации - по ассоциации с происходящим вокруг\всплывшим в разговоре, и то, что было повторно пройдено\часто использовалось в последнее время. Пример - часто используемые формы обращения программного кода к сторонним библиотекам и стандартным средствам программного языка ("public void", "public static void main(String[] args)" ...). Кстати, именно поэтому считаю потерей метод  только чтения кода при обучении - в книге или видео. Руки, которые набирают код, помагают запомнить его как навык. Вот если бы задания в Codeacademy были бы посложнее...

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

Некоторое время я задумался над тем, куда девается мое время. Да, работа плюс дорога к ней и обратно - допустим восемь плюс два. Да, внимание к семье - допустим, пять. Да, сон - часов шесть. Но существовало некоторое количество времени перед сном, которое просто исчезало. Телевизора нет. Сериалы и фильмы из интернета смотрю - изредка. Планы по самообразованию медленно "прогибаются" по срокам, растягиваются. И это не смотря на то, что есть порядка трех часов перед сном - в тишине, когда никто не беспокоит. Куда девается мое время? Оно просто проходит. Я  не успеваю!

Да, можно поставить себе на вид изворотливость в достижении целей. Самообразовываться желание есть, а вот учиться - возможно, и нет. Сознательно поставлена цель в получении знаний, подсознательно делать особо в этом направлении не хочется. Возможно. Все должно произойти само собой или с чужой "помощью". Я даже когда-то работу из-за ощущения нежелания создать мне личную образовательную программу поменял. Потом подобие такой программы получил, и понял, что прочитать книгу и сделать что-то самому мне было бы удобнее. Потом почитал и сделал. Понял, что постыдно оттягивал момент чтения и занятий. Записался на онлайн курсы с дедлайнами для домашних заданий - чтобы оттягивать было неудобно. Стал сдавать задания с опозданием, или сидеть по-студенчески "ночь перед экзаменом".

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

Тоесть, у меня зависимость. Не алкоголь и не курение, а инфотейнмент.

понедельник, 3 июня 2013 г.

Functional Programming Principles in Scala от Coursera

Пришел (обновился в кабинете?) сертификат.
Хотя курс довольно давно уже закончился - по крайней мере для меня: я сдал последнне задание неожиданно для себя вовремя, еще 19 мая.

Неожиданно, потому что из-за неорганнизованности часто опаздывал со сдачей, за что мне заслуженно снимали баллы. Так я из 10 за задание получал 8, а иногда и 6 баллов. Для того, чтобы получить сертификат с отличием, надо было набрать за все 6 заданий 48 баллов и выше. Мой же результат - 43,98 балла.
Все, что кроме двух сотых, снятых с меня за стилистически неправильное использование изменяемых (mutable) коллекций в задании с анаграммами - это баллы за опоздание с заданием.
Возможно, поэтому сертификат у меня все-таки с отличием, хотя и набрал я по сути 73, а не нужные 80%.

Баллы считались автоматически: задание отсылалось на сервер из консоли Scala. Потом сервер, видимо прогонял встроенные в задание тесты (может быть, даже поставляемые с заданием юнит-тесты), проверял на соответствие стилю, и обновлял оценку в "онлайновом кабинете" - с пояснениями в виде лога во время проверки.

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

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

Все собираюсь пересмотреть еще раз весь курс, а до этого прочитать книгу по языку.
Но это будет непросто - у меня очень мало времени, ведь кроме работы у меня еще дома маленький ребенок, и два новых онлайновых курса - Стенфордовский "Machine Learning" на той же Coursera, и курс по MongoDB от его создателей - M101J MongoDB for Java Developers.

Курс по машинному обучению оказался довольно сложным и объемным, и я уже не верю, что его осилю - пусть и до первого июля, на что дается возможность. Видимо, ввиду сложности курса за опоздание снимается только 20% баллов и дается больше месяца на доздачу - вотличие от курса по функциональному программированию, который снимал баллы ежедневно за опоздание. Чувствую, это надо неплохо так засесть. Возможность, вроде как и есть, но у меня ощущение, что времени сосредоточиться у меня не будет.
Еще думаю, что курс от Яндекса по тому же предмету будет попроще - русский у меня значительно лучше английского. Мой английский, пусть и уровня Intermediate+, все же немного неудобный для такой сложной темы.

Со вторым курсом - по MongoDB - у меня получше. Я пока 2 из 7 заданий сдал вовремя и на максимальный балл. На очереди третье задание с дедлайном меньше суток.  Кроме того, видео лекции попроще, и тесно связаны с домашним заданием - в отличие от курса по Scala, в котором мне приходилось дополнительно гуглить и учиться.
Крайний срок в понедельник не 12 ночи, а 3 часа ночи\утра уже вторника.
Так что у меня есть еще 3,5 часа на данный момент.
А еще, как обычно, не все лекции досмотрены, и по заданиям конь не валялся.
Убегаю...

Update: Успел сдать последнее задание за минуту час до дедлайна :-)

Update: "отличие" для диплома от Cousera все-таки сняли. Удобно, что диплом был онлайн :-)

четверг, 25 апреля 2013 г.

Неудачнеги?

Недавно прочитал (и никак не могу найти где) о том, что в отличии от ауотсорсеров, которые зарабатывают для страны порядка миллиарда долларов (на 2011 год, вроде бы), заробитчане пересылают домой порядка трех (на самом деле больше - раз, два). И пока есть такие выехавшие - можно перебиться и без аутсорсинга.
И не то, что стало обидно, но сегодня подумал сравнить эффективность.
Согласно последним (за 2012 год правда) оценкам суммарное количество сотрудников пятерки самых крупных компаний-аутсорсеров порядка 10 тысяч, топ 25 - порядка 20 тысяч. Ну, пусть суммарное всех, вместе с неучтенными, будет 100, даже 200 тысяч (нереально, по-моему).
Согласно другим данным, на заработки выехало около полтора миллиона и больше. Я думаю - порядка трех миллионов.
Тоесть, заробитчан по количеству в раз 10-15 больше, а пересылают они домой только раза в три больше чем аутсорсеры легально наколбасили.
Конечно, в этом, наверное особой заслуги ит-аутсорсеров нет - коньюнктура растущего мирового рынка. Но пока что один  парень сидящий дома в Украине обеспечивает денежный поток в страну в разы больше, чем уехавший на заработки.
И семьи из-за этого не разваливаются, в отличии от заробитчан.