Wszystko zaczęło się kiedy miałem 12 lat (albo w tych okolicach). Mój pierwszy, wymarzony komputer. Myślałem, że będę giercował całe noce. Myliłem się.
Niestety, okazało się, że z coś było nie tak z moim pierwszym komputerem. Gry, zaraz po odpaleniu, potrafiły się "minimalizować". Dopiero po kilku próbach mogłem zacząć zabijać Niemców w pierwszym Call of Duty albo ścigać się w Need for Speed Underground 2. Było to niewiarygodnie frustrujące. Nigdy nie dowiem się, na czym polegał błąd. Bug w Windowsie XP? Wadliwe sterowniki Nvidii? A może po prostu uszkodzona karta graficzna.
Byłem znudzonym nastolatkiem. Miałem komputer, miałem dostęp do Internetu, ale nie mogłem grać. To nie mogło skończyć się dobrze. Zacząłem programować.
Pisałem pierwsze programy Turbo Pascalu 7.0. Do dzisiaj pamiętam, że na końcu programu, po ostatnim "end" trzeba postawić kropkę. W sumie, to jedyna rzecz, którą pamiętam z Pascala.
Na samym programowaniu się nie skończyło. Poszedłem krok dalej. Odkryłem u siebie zamiłowanie do rzeczy niszowych, indie, off-topowych. Został hipsterem zanim stało to się modne. I zainstalowałem swojego pierwszego Linuksa - Mandrake, chyba w wersji 9.0.
Oczywiście, jak to z Linuksami bywa, coś tam tradycyjnie nie działało. Po kilku dniach poszukiwań w Internecie, na zagranicznych forach, znalazłem rozwiązanie. Musiałem "skompilować jądro"!!! Nie wiedziałem co to znaczy, nie wiedziałem dlaczego dokładnie muszę to zrobić. Wiedziałem tylko, że musiałem skompilować jądro.
Kompilacja jądra nie rozwiązana problemu. Ale to już nie miało znaczenia. Wszedłem na ścieżkę, z której nie było odwrotu. Zacząłem programować na poważnie - najpierw w C, potem w C++. Wreszcie zrozumiałem jaka jest różnica pomiędzy kompilacją a linkowaniem. Dowiedziałem się o innych architekturach niż x86 - ARM, Sparc, etc. Poznałem, co to endianness i przerwania procesora.
Sam Linuks mi już nie wystarczał. Musiałem zainstalować FreeBSD i oczywiście również skompilować jądro. Potem wróciłem na Linuksa, a konkretnie na Gentoo. Gardziłem gotowymi paczkami i uważałem, że wszystko trzeba kompilować ze źródeł.
Marzyłem, żeby dostać się na informatykę. I dostałem się. Ale nie taką zwykłą, tylko na starym Wydziale Elektroniki (W4) na PWr. Tam, dowiedziałem się o jeszcze bardziej niszowych rzeczach - DSP, FPGA. To było jak nieopisane spadanie w studni nieskończonego potencjału. Implementowanie stałoprzecinkowego FFT w VHDL od podstaw. Transformata falkowa jako podstawa mojej pracy inżynierskiej. Eh, wspaniałe czasy. Aż łezka mi się w oku kręci.
Aż w końcu nastał 1 października 2014. Przez czysty przypadek (a może zdecydowali tak starożytni bogowie) trafiłem to fińskiej firmy zajmującej się telekomunikacją bezprzewodową. DSP, FPGA, matematyka, informatyka, elektronika, system engineering. Wszystko w jednym miejscu! Czy może być coś piękniejszego? Ależ oczywiście, że nie!!!
Moje życie pewnie potoczyłoby się zupełnie inaczej, gdyby nie te problemy z pierwszym komputerem. Przypadek? Może... a może po prostu tak miało być? Może to jest moja karma. Może o moim przeznaczeniu zadecydowali starożytni bogowie? Tyle pytań, tak mało odpowiedzi!
Jestem kucem. Jestem pasjonatem. Jestem z tego dumny. Nikt nie jest w stanie mi tego zabrać. Właśnie skompiliwałem sobie kernela Linuksa na RISC-V w wersji 64 bitowej. Dla czystej przyjemności.
#programowanie #programista15k #programista25k #pasjonat15k #pracait