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

2016 став переломним роком для мене. І ніби нічого не змінилось, я живу 4-ий рік в гуртожитку, 4-ий рік: навчаюсь на тому ж факультеті, сиджу за тим самим монітором, пробуджаюсь з однаковими думками, більшість часу витрачаю на програмування і Linux.

Я видалив свій старий акаунт в Twitter, і стоврив новий, прив’язавши до того ж “юзернейму” @bogdanvlviv. Ні я не намагаюсь забути, приховати чи втекти від свого минулого, де було багато хорошого, поганого, невизначеності, невпевненості в майбутньому. Все просто, одного дня я вирішив, як кажуть - “почати все з початку”, в прямому сенсі все, включно з акаунтом в Twitter.

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

Все матеріальне, що має для мене цінність, мусить вміщатись в мій рюкзак.

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

Коли я починав вчити програмування мене рухало в перед те що мені це подобається, що потрібно якомога швидше самореалізуватись, забезпечуватись і мати можливість допомагати батькам, а не бути їхнім головним болем, стосовно - “як забезпечувати дитину і дати їй хороше майбутнє”. Я почав працювати за декілька днів до мого 19-ти річчя. В основному я досліджував Ruby, та один з найкращих веб-фреймворків Ruby on Rails. Я подумати не міг, що я зможу зробити щось більше, ніж просто використовувати Rails. В 2016-му мені вдалось зробити мої перші 17 “комітів” (commits) для Rails, які несуть за собою як зміни в коді, так і правки в документації, що є неменш важливим, і завершити цей рік на #265-му місці в рейтенгу людей, які зробили внесок в Rails. Це все дало мені найбільше досвіду за весь час навчання і роботи, і допомогло мені “перестрибнути себе”, побачити правильний шлях в саморозвитку, вийти з деяких систем, які переважно ставлять рамки.

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

rails$ git show f2987ceac08c749320f24fd81b1e3f775f145e81
commit f2987ceac08c749320f24fd81b1e3f775f145e81
Author: Bogdan <bogdanvlviv@gmail.com>
Date:   Sat Mar 26 11:13:17 2016 +0200

    Update compatibility.rb

diff --git a/activerecord/lib/active_record/migration/compatibility.rb b/activerecord/lib/active_record/migration/compatibility.rb
index 09d55ad..a20d7e0 100644
--- a/activerecord/lib/active_record/migration/compatibility.rb
+++ b/activerecord/lib/active_record/migration/compatibility.rb
@@ -57,7 +57,7 @@ def add_timestamps(*, **options)
         def index_exists?(table_name, column_name, options = {})
           column_names = Array(column_name).map(&:to_s)
           options[:name] =
-            if options.key?(:name).present?
+            if options[:name].present?
               options[:name].to_s
             else
               index_name(table_name, column: column_names)

Я дуже сильно розчарувався в освіті в Україні. Зрозумів, що це крок назад і відчув це в 2016-му, як освіта недозволяє мені повноцінно розвиватись. В кінці 3-го курсу були думки залишити навчання, але бажання завершити почату справу взяло своє.

Навчання у вишах для допомоги в чомусь розібратись, а не для пустої трати часу (як очікування із заліковками біля дверей аудиторії), i вирішення бузглуздих проблем.

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

В житті ми вибираємо двічі - жінку і професію.

Я розпочав використовувати текстовий редактор vim, без якого більше не можу уявити себе. Розпочав писати свої конфігураціїні файли для vim - dotvim. В другій половині 2016-го я познайомився із tmux. Якщо про vim, я знав багато часу до повсякденного використання, про tmux я ніколи не чув. Я запитав себе - “Як я раніше без цього був і як я міг не чути про tmux, це ж геніальна, як і vim річ!?”. З початку знайомства з tmux, я використовую його кожного дня, як і vim :). Також для tmux я пишу свої конфігураціїні файли - dottmux. Я багато часу знав про vim, але не використовував? Можливо мені не вистачало сміливості опанувати його, або просто натхнення, яке я почерпнув з історії співробітниці яка розповіла мені, що ніколи не використовувала іншого редактору крім vim. Після почутого я наважився опанувати vim, і став щасливішим. Неможу не згадати емулятор терміналу - xterm, який також почав використовувати в 2016-му. Для xterm також пишу конфігураціїні файли - dotX. Вважаю, що xterm це дуже хороший вибір як vim і tmux.

Є речі, які не залежать від часу. (Перший реліз vi, був у 1976-ці)

Я оформив конфігурації для vim, tmux, xterm, як окремі репозиторії, для більшої гнучкості в їх підтримці і використанні. Крім цих простих конфігурацій, я вирішив створити проект який буде налаштовувати мою операційну систему (Ubuntu), тобто - інсталяція всіх необхідних мені “інструментів” і їх налаштування (використання dotvim, dottmux, dotX). Так з’явився проект i-vagrant, з яким я економлю багато часу, тому що досить часто доводиться налаштовувати Ubuntu сервери. Також я став більш знайомим з SSH, за допомогою якого проклав “тунелі” між своїм ноутбуком, телефоном, робочим комп’ютером і сервером на DigitalOcean. Я зробив “мережу”, до якої маю доступ тільки я, з будь-якої точки світу, через мережу-інтернет. Цю так звану “мережу” можна порівняти з маленьким світом, де все залежить від мене, а я залежу від неї, тому що це має прямий вплив на мій робочий процес, мою буденну діяльність, думки, знання, мислення… Це все мені вдалось придумати і реалізувати в 2016-му. Вважаю, що це велике досягнення, мені стало простіше жити, працювати, навчатись, я став щасливішим :), це можна зрозуміти тільки використовуючи Linux, tmux, vim…

“Розкласти все по поличках” - це те що потрібно!

2016-ий рік був для мене роком “опен сорсу” (Open Source). Як і в Rails, мені вдалось зробити внесок ще в декілька проектів, включаючи мої особисті:

Протягом 2016-го року, я написав дві статті - “Decorator Pattern in Ruby” і “Design Patterns in Ruby”. Публікування навчальних статей - це не тільки хороша методика засвоїти знання, це хороша справа, ми ділимось своїми знаннями, що в свою чергу допомагає рухати цей світ вперед.

Знання нічого не варті, якщо їх не використовувати і ними не ділитись.

В 2016-му році, я так і не зумів покращити свою англійську, до рівня вільного спілкування. Жодного разу не зібрався в мандрівку “по світу”. В моїй голові присутні негативні думки. Більшість моїх знайомих ненавидять мене, інколи я запитую себе - “чому так?”. Можливо це через те, що в мене щось виходить, що мені 20 і я зміг зробити щось важливе, зміг чогось досягти? Я стараюсь в усьому до чого маю відношення, вижати максимум, це не просто і потребує багато часу. Я прокидаюсь з думками, що мені потрібно працювати над собою, набувати і покращувати навики. Інколи мені доводиться чути - “Ти стільки зробив”, “Мені здається, що ти Бог Рубі”, “Ти стільки всього добився порівняно з іншими”. Це все приємно, але неварто брати до уваги такі слова, це просто слова. Оцінювати свої досягнення стосовно інших - це помилка. З кожним досягненням з’являються нові цілі, тому потрібно ніколи не зупинятись.

Будь-який потік енергії протистоїть застою і завжди програє в цьому протистоянні.

Я втратив друга.

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

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

Гроші це ніщо, їх потрібно якомога швидше використовувати за призначенням.

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

Продукт без тестів не може бути якісним.

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

Коли я ділюсь думками, життям, я стаю сильнішим.

Більшість людей, як і я, є заручниками країни в якій живуть, тому я часто задумуюсь і розмумію, що ми живемо неправильно. Думаю, що країни повинні бути лише для того, щоб мати змогу, так само як континенти, міста, просто вказувати на деякий шматок Землі. Ми будуємо кордони між країнами, конкуруємо. Створення конкуренції для покращення розвитку і продуктивності - це поганий вибір. Кожен з нас є частиною світу, усе є одним цілим. Все просто - потрібно жити, насолоджуватись життям, рухати цей світ вперед, “розширювати бачення” і бути гідною частиною всесвіту. Ми все ускладнюємо…