Цього літа я шукав, куди б то поїхати на Чорне море з наметом, так, аби було більш-менш дико, без купи людей, парасольок, хачапурів і пахлави. І тут знайомі розказали про Джарилгач. Раптово виявилось, шо крім Зміїного, в Чорному морі є і інші українські острови. Ніколи не перестану дивуватись, скільки в Україні є різноманітної крутизни. Ми почитали про острів в інтернеті, зібрались і поїхали. Тепер теж є шо розказати.
Після закінчення універу можна нарешті написати все, шо я думаю про своїх викладачів, підвести якийсь підсумок. Цікаво зараз порахувати, скільки викладачів в мене було, які були предмети, згадати, шо з цього всього було занудно, шо було корисно, і тд.
За 5 років навчання — 4 роки бакалаврату (кафедра програмування) і 1 рік незакінченої маґістратури (кафедра інформаційних систем) — в мене було 63 предмети (не рахуючи всякі там обчислювальні/навчальні/педагогічні практики) і 49 викладачів (когось міг і загубити).
Це буде дуже довгий запис, нецікавий нікому крім тих, хто вчиться, викладає або ше якось тусується на факультеті прикладної математики та інформатики ЛНУ.
Якось я побачив в інтернеті картинку чувака з табличкою «Will code for food», стало цікаво зробити таке саме, подивитись, як люди будуть реагувати на таку табличку. Крім того хотілось, шоб набундючені пафосні програмісти, які це побачать, трохи опустили свої задерті програмістські носи.
Тому я вдягнув старий потріпаний одяг, трохи повимазувався брудом з ровера, зробив сумне лице і сидів ось так в центрі Львова десь півтори години. Далі якісь висновки.
Як і минулого року, пишу свій список прочитаних за рік книжок з оцінками, коментарями і цитатами. Цей рік в мене вийшов біднішим, ніж 2014, тоді було 23 прочитаних книжки, і 4 з них отримали по 5 балів, а цього року я прочитав тільки 17, і найкрутішу оцінку отримали тільки троє. І з цих 17 чотири такі короткі, шо їх можна навіть не рахувати, коротше, халява :)
Далі список книжок, по кліку на кожну — коментарі, оцінка і декілька цитат.
Десь півроку тому я побачив 10-хвилинну короткометражку «Road Sage» про аллейкет — вуличні перегони на роверах, які ше в 90-их роках почали організовувати велокур’єри. Мене просто капець як вразило, я дуже зацікавився, почав багато читати про аллейкет і все, що з цим пов’язане. Про культуру велокур’єрів в різних містах, про історію аллейкету, різні звіти, і про Лукаса Брюнеля, про якого буде далі.
Останнім часом стали популярними експерименти, коли люди на деякий час відмовляються від якихось речей, обмежують себе, випробовуючи силу волі і тд. Наприклад, на місяць відмовляються від м’яса, солодкого, чи від кави. Але це нітрохи не сурово. Я подумав, шо було би цікаво зробити трохи навпаки, і не відмовитись від чогось одного, а дозволити собі лише шось одне. Лише якусь одну страву. Ось це було б сурово.
Тому від завтра цілий місяць я буду їсти лише гречку :). Ніякого м’яса, риби, овочів, фруктів, ягід, хліба, борщу, солодкого — тільки гречка. Щоб гречка не була сухою, дозволю собі ше масло.
200 км їхав вперше, тому букв буде багато :) Якшо коротко, то все дуже сподобалось, хоч і було трохи сумних моментів. Час в протоколі 9 годин 28 хвилин.
Важко втрачати близьку людину. Це напевно найгірше, що може статись з тобою в житті, гірше навіть ніж твоя смерть, бо твоя смерть тебе ж не хвилює. Ти починаєш згадувати все хороше пов’язане з тією людиною і шкодувати через шось погане, і що його вже не зміниш, це жахливо. Кожного дня ти тільки і думаєш про цю смерть, за маленькими винятками, коли тебе хтось чи шось відволікає. Лягаєш спати і знову повертаєшся до цих думок. В уяві з’являється та людина. Чіткі спогади. Потім сни. Людина продовжує жити в тебе в уяві. Ви розмовляєте.
Ти мучишся через втрату, в таких випадках зазвичай кажуть «час все вилікує». Це правда. І це ше жахливіше.
Це запис не про Водоканал, а про цитату з книжки. В «Мартіні Ідені» Джека Лондона є такий момент:
Брісенден розповів Мартінові, що якось три дні навмисне не пив води, щоб зазнати блаженства від заспокоєння спраги.
Стало цікаво відчути таке блаженство, і взагалі перевірити, чи будуть якісь чудові відчуття, коли я після трьох днів без води нарешті вип’ю горнятко. А ше було цікаво, чи взагалі я протягну три дні без пиття, чи зірвусь і вип’ю всі запаси вдома. Раніше я, здається, більше дня без води не проводив, а тут три.
Хочу тут розказати про свій перший досвід мебельщика :). Виявляється, в Новій лінії (як і в більшості великих будівельних гіпермаркетів) є така штука, як форматно-розкрійна дільниця. Там займаються порізкою ДСП, ДВП, фанери. Шо це означає — можна не купувати готові магазинні меблі, де маленький вибір, і не замовляти меблі в майстрів, а самому щось спроектувати, принести в Нову лінію розміри деталей, вони поріжуть, а далі самому збирати з цього меблі. Можна робити щось чітко під свої потреби, аби воно ідеально вписувалось в кімнату, крім цього зекономити гроші, та ше й потішити себе процесом.
Коротше, якщо вам треба зробити якісь особливі меблі, і ви не мільйонер, і руки у вас не надто криві, і ви любите шось ними робити, то ласкаво просимо, розказую.
Від початку 2014 року я вів список прочитаних книжок. До кінця року ше цілих 12 днів, але я вже не буду нічого читати, сесія, і всяке таке :). Тому можна вже писати свої враження від кожної книжки, і ставити оцінки. Пум-пурурум.
Доходять до кінця 4 тижні практики в рідному фіз-мат ліцеї, тепер я трошки педагог :)
Дуже добре пам’ятаю, як я був в 11 класі, і як до мене в ліцей прийшли проходити практику знайомі з прикладної математики. Я тоді думав, чорт, ці чуваки такі дорослі і круті, невже колись і я стану таким. Минули роки, тепер вже я прийшов на практику в фіз-мат, і шось почуваюсь не сильно дорослішим, ніж діти тут :)
Цікаво так, йдеш коридорами, ти ніби шойно тут вчився, а тепер діти усміхаються до тебе і кажуть «добрий день». І вже не побігаєш, і на підлозі в коридорі не сядеш, статус не дозволяє.
Основне враження від практики: діти смішні. І по-смішному безпорадні. Класична ситуація на практичній з інформатики: ти роздаєш дітям список завдань, вони роблять, потім хтось зробив перше завдання, і він тут же питається: «а що мені робити далі?». Твою наліво, тобі ж дали список завдань, зробив перше, то роби друге. І це не одиничний випадок, так тупо кожен другий питає. А зроблять друге завдання, то питають, шо далі, і треба казати «роби третє, бовдуре». І так далі. Я думаю, боже, як можна бути таким тупим, ну шо може бути простішим ніж просто йти по списку і робити завдання. Але діти тупі, це їх рівень, я просто не звик. Напевно і я в їх віці таким самим був.
Напишу шось трохи про марафон. Якшо коротко, то дуже сподобалось. Проїхав за 3:58 чи 3:59. Точного часу не знаю, бо протоколи ше не опрацювали. На фініші мені сказали, шо ± хвилина до чотирьох годин залишалась. Ше сказали відставання від лідера і час лідера, можна було додати і отримати свій точний час, але я тут же їх забув. А більше відволікати організаторів не хотів, бо вони там мали купу роботи з протоколами і засіканням часу фінішуючих. Можу хіба шо порівнятись з минулорічним протоколом, там чуть менше чотирьох годин — це десь 50-55 місце. Мені якось так і сказали. Дуже чекаю на протокол.Вже є протокол — мій час 3:59:08, відставання від лідера 1:04:00, середня по всьому маршруту 24.96 км/год. Якраз в’їхав у 4 години, а це і було метою. Тобто тим, як проїхав, я задоволений. Ше сподобалась організація. Було прикольно. Це якшо коротко. Якшо довше, то далі є трохи тексту, і не моїх фотографій та відео.
Вирішив 3 травня їхати «Першу сотню», а сьогодні проїхав тим маршрутом, щоб трохи його запам’ятати і під час марафону не тупити з картою. Їхав таку відстань за один раз вперше в житті, тому було цікаво і прикольно. Трек і профіль висот тут, я їхав і постійно підглядав його на телефоні, бо в мене вічне параноїдальне відчуття, шо я заїхав кудись не туди. Деколи питався в місцевих бабусь, чи правильно їду. Вся дорога зайняла майже 6 годин, це з цілою купою зупинок. Крім зупинок в мене ше розтягнене сухожилля на нозі, я як справжній невдаха, розтягнув ногу чи не вперше в житті, і якраз перед марафоном. По дорозі вона постійно боліла. Я планую, шо на марафоні вона не буде боліти, я не буду робити дурних зупинок, тоді вкладусь за 4 години. Буде видно.
Трохи про маршрут. Дуже круто, є мальовничі місця. Я часто зупинявся шось подивитись, шось сфотографувати. Дорога місцями дуже погана, страшно їхати на MTB, а шосерів взагалі шкода. Але хорошої дороги більше.
Машин було дуже мало, деколи хвилин 20 їхав сам, а за весь час мене певно машин з 50 обігнало, а це дуже мало, якшо подумати.
Людей теж мало по селах. Окремі бабці були на вулицях вже о 7 ранку, але десь до 10 села спали, шо вони там собі думають? А хто корову вижене? В нас в селі люди собі такого не дозволяють. Взагалі я за всю дорогу побачив дуже мало людей.
Так на око здалось, шо спусків було більше, ніж підйомів (профіль висот підтверджує, але спусків більше тільки на 15 м). Не знаю, яка в мене була середня швидкість руху, комп’ютер її не показує, але думаю десь 25. Тому якщо по мінімуму зупинятись, то можна спокійно заїхати за 4 години. Але є 1-2 дуже важких підйомів. Зі своєю ногою я ледве виїжджав.
Коліс не пробивав, на щастя. Взагалі велосипед не підвів, все добре. А от я один раз бахнувся з ровера, про це буде далі :)
Колись в універі треба було написати парсер математичних виразів. Писати його мені сподобалось, було цікаво, тепер хочу викласти його для загального користування.
Що це таке взагалі. Такий парсер це незамінна штука, якщо ваша програма має рахувати значення якихось виразів, і ці вирази треба задавати не в коді. А десь в інтерфейсі. Парсер приймає рядок символів типу sin(pi/3.8)*ln(100500)+arctg(2), парсить його і видає вам значення цього виразу. Тобто
:)
Тепер, що вміє конкретно цей парсер:
Рахувати значення числового виразу;
Рахувати значення виразу з довільною кількістю заданих змінних;
Рахувати першу похідну виразу в точці;
Рахувати другу похідну виразу в точці.
Поки що це все :). Завантажити парсер можна в кінці запису. Я час-від-часу шось доробляю, фікшу, тому цей запис постійно оновлюється, там в кінці ше є посилання на репозиторій, де можна завантажити вихідний код останньої версії.
Велодоріжки у Львові класні і зручні (ну майже), але є одне велике але, через яке по них не можна пересуватись так швидко, як по дорогах. Велодоріжками ходять натовпи пішоходів. Тому доводиться постійно пригальмовувати, об’їжджати когось, через що той самий відрізок шляху по велодоріжці проїжджається набагато повільніше, ніж проїхався би по дорозі. Пішоходам в основному чхати на роверистів, дехто просто не задумується, кудою він йде, і не звертає уваги на знаки чи розмітку (чогось всі вважають, що ПДР тільки для водіїв машин). От, і щось треба з цим робити.
Мене тут попросили викласти збірку Mosquito Bloody Mary, на якій працює цей сайт. Mosquito це безкоштовний двигун з відкритим кодом, написаний на PHP. Легкий, відкритий, по-своєму класний. Я трішки допиляв його під свої вимоги, але це було півроку тому, всіх змін вже не пам’ятаю. Те що знайшов — пишу тут.
Приємно писати елегантний код — код, який виконує те, шо має виконувати, який є ефективним, логічним, зрозумілим, чистим, читабельним. Коли він робить тільки те, що треба, і не робить того, чого не треба. Коли там є все необхідне і нічого зайвого. Пишеш такий код, дивишся на нього, і просто отримуєш естетичне задоволення.
Неприємно писати бидлокод. Коли пишеш бидлокод, гризе совість.
Щоб писати елегантний, а не бидлокод, треба просто перед тим, як кодити щось, сісти і трошки подумати. Продумати всякі аспекти, шо має бути, чого не має бути, шо і як має працювати, як краще реалізувати ту чи іншу штуку. Намалювати щось. Тоді в голові з’являється ясність, і ти пишеш шось нормальне. А якщо думати про все по ходу написання програми, переважно виходить туфта. Чому — бо ти спершу думаєш тільки про щось одне, і не думаєш про те, що треба буде писати далі. А коли доходиш до наступного кроку, виявляється, що попередні штуки ти написав не зовсім так, як треба. І щоб не переписувати, ти починаєш бидлокодити, вставляти якісь костилі і тд.
У Львові нарешті випав якийсь більш-меншний сніг, температура опустилась нижче нуля, все як має бути взимку. Я вирішив, що пора вже закривати велосипедний сезон і пересідати на громадський транспорт. Вчора і сьогодні їздив по справах не ровером, а на ГТ і це жах :(. Я користуюсь ровером як засобом пересування півтора року, з них активно — трохи більше, ніж півроку. Тобто за останні 8-9 місяців я їздив громадським транспортом десь до десяти разів, тому дуже від цього всього відвик. Відвик від чекання на зупинці, від запихання в забиті двері, від слухання сварливих бабусь, від нюхання брудних мужиків, від хамства і всяких інших речей, які часто трапляються в громадському транспорті. Відвик від стояння в заторах. Відвик, що не можу точно розрахувати, за скільки часу я доберусь з однієї точки в іншу. Колись я теж завжди їздив містом на громадському транспорті, і це все здавалось для мене щоденною нормою. Ну тобто як нормою. Я розумів, що це ненормально, і так не має бути, але знав, що змінити тут шось важко.
Тепер, провівши стільки часу без маршруток, і знову повернувшись до них, я почуваюсь, ніби був сліпим і прозрів. Шоб я здох, як же ж стільки людей кожного дня їздить в таких страшних умовах, і не бачить, що є дуже простий вихід — пересісти на ровер. Громадський транспорт не конкурент велосипеду ні по швидкості, ні по зручності, ні, напевно, навіть по безпеці. Взагалі для пересування містом, принаймі таким невеликим, як Львів, ровер — це найкращий варіант. Але оскільки великого досвіду їзди по місту на машині в мене нема, порівнювати буду тільки з громадським транспортом.