Takie oto napisy pojawiały się na terminalu mojego najnowszego wynalazku - super-budzika. Tak, na terminalu. Wymyśliłem ostatnio rozwiązanie moich wiecznych porannych bitw - niedzwoniący budzik! Zamiast wydawać jakikolwiek dźwięk, wypisuje jego reprezentację na konsoli. Nie obudzę się i dzięki temu nie będzie mi się ciężko wstawało. Genialne, prawda? Będę musiał jeszcze co prawda rozwiązać taki drobny problem, że w takim razie nikt nie wstanie i nie wyruszy na wojnę, ale Zając "Terminator" Poziomka już został zgłoszony na ochotnika.
wtf> DZZYŃŃŃŃ DRRRRYŃŃŃ - pojawiło się na terminalu. Ha! Działa!wtf> DRYŃDZYŃDZYŃ DRRRRRRRYŃŃŃŃ - rozległo się tym razem w mojej głowie. W panice wyskoczyłem z łóżka wyposażonego w mój prawie-najnowszy wynalazek - Sprężynę do Wyskakiwania z Łóżka. Niestety to jeszcze prototyp, który działa aż za dobrze. Przebiłem się głową przez 5 warstw sufitu odpornego na: wybuch bomby atomowej, Unię Europejską, uderzenie Boeininininga Pierdylion i łaskotanie. Sąsiadka była trochę zdziwiona, ale przygotowała kawę. 2 godziny później byłem gotowy do walki. Okazało się, ze Zając "Terminator" Poziomka tak bardzo nie chciał...znaczy tak bardzo nie był pewny, czy chce przyjąć taką odpowiedzialność, że przekierował wyjście z budzikowego terminala prosto na mnie. Wielkie dzięki.
W pełni swojej przytomności spojrzałem na listę zadań. No nie, znowu Panel Sterowania? Tym razem do mikrofalówki? I cmd.exe - wydać rozkaz panu Exe? Dopiero Zając powiedział mi, że to jest lista zadań pana Stefana Windowsa i ten bardzo chce ją z powrotem. Bo inaczej się zawiesi. No tak...oddałem Windowsowi to, co windowsowe i zacząłem zastanawiać się nad życiem. No dobra, przynajmniej nad tym, co dzisiaj zjem na obiad.
Postanowiłem sprawdzić e-mail. Polega to na przejściu się do skrzynki pocztowej, stwierdzeniu, że jest tylko spam i powiedzeniu "Eee". Na tej samej zasadzie można wyróżnić Oooo-mail (tylko na listy od fanów/fanek). Jest też Butterfly-Mail - trafiają tam rachunki za gaz, do których przypisany jest trigger - powiedzenie "Motyla Noga"!Jednak dzisiejsza poczta kwalifikowała się do innej kategorii - w-mail. Jest przeznaczona dla wiadomości, przy których robię "Wow!". Dostałem list od kogoś, kto podpisał się jako Segmentation Fault. Ha, toż to mój kuzyn, którego nie widziałem od 0x10 lat! Wiadomość brzmiała tak:
.
Bla.
Bla bla.
Bla bla bla.
Bla bla bla bla.
Bla bla bla bla bla.
Bla bla bla bla bla bla.
Bla bla bla bla bla bla bla.
Ładna piramida? Budowałem przez rok. Ale do rzeczy. Astroni ma urodziny. Tak, wiem, że zapomniałeś i teraz będziesz udawał, ze wcale nie. Spotkajmy się w Parku Bez Nazwy 1 (potocznie zwanym Oracle SQL Developerem) w Nibylandii - pogadamy o życzeniach dla Astroni i napijemy się Dębowego Diffie Hellmana! No dobra, najpierw napijemy się Dębowego, potem pomyślimy o życzeniach, a na końcu napijemy się Dębowego. No dobra, na końcu powtórzymy czynność pięciokrotnie. I na początku też. I w środku.
Hello World!
Segmentation Fault
#
Poszedłem za jego radą - od tej pory udawałem, że wcale o tym nie zapomniałem! Wskoczyłem w przebranie super-nerda w przebraniu człowieka i ruszyłem na przystanek obok mojej tajnej bazy. Nawet mam tam bezpośredni autobus do Nibylandii! Prawdopodobnie. W Szczecinie kursuje linia B "Schrödinger". W zależności od humoru kierowcy, strony, w którą akurat świeci pulsar PSR J2144-3933 i tego, jak kandydat na pasażera aktualnie się spieszy, B przyjedzie, albo nie przyjedzie punktualnie, albo niepunktualnie. Kiedy pasażer do niego wsiądzie albo nie wsiądzie, autobus dowiezie albo nie dowiezie go we właściwe albo niewłaściwe miejsce, co skończy się wkurzeniem albo...o, właśnie przyjechał. Przypuszczam, że te drobne nieregularności w jego kursowaniu wynikają właśnie z zatrzymywania się w Nibylandii. Hipotezę tę potwierdza fakt, że kiedyś przyjechał pod postacią banana.
Po chwili mojego gadania kierowca zamknął drzwi i pojechał. Tak, przez opowiadanie o tym wspaniałym autobusie zapomniałem do niego wsiąść. Kilkanaście magicznych zaklęć później przyjechał kolejny. Tak, jak przypuszczałem - jego rozkład jazdy na dziś przedstawiał się następująco:
1 min Gdzieśtam
5 min Nibylandia
kiedyś min Nibylandia 2
rand()%10+15 min Nibylandia Wiadukt
porzuć_wszelką_nadzieję min Nibylandia Park Bez Nazwy
13 min Plac Rodła
14 min żartowałem!
15 min teraz naprawdę Plac Rodła
16 min a może nie?
17 min wstawaj wcześniej!
18 min a nie marudzisz
20 min że tak długo
30 min Os. Słoneczne
31 min Jeszcze tu jesteś?
Ale nie mówcie nikomu, bo będzie smutno. Szybko znalazłem właściwy park - nad wejściem do niego widniał napis "Park Bez Nazwy 1 - Oracle SQL Developer". Przeszedlem przez bramę i zacząłem szukać Segmentationa. Trzeba przyznać, że Oracle się postarał! To już czwarta wersja tego miejsca. Po lewej stronie od wejścia znajdowała się lista koszy na śmieci...znaczy baz danych. Trochę dalej stał pomnik podpisany "porządek w schemacie bazy danych" - wyrzeźbiony domek z kart w momencie rozpadania się. Jednak najbardziej zwracały uwagę drzewa z gatunku Tabelus Bazodanus. Wszystkie idealnie przycięte, równo rozłożone, z liśćmi pomalowanymi na zielono. Kolejne Tabelusy były połączone gałęziami obcymi z poprzednikami. Każdy miał po kilkanaście gałęzi, z których wszystkie posiadały tabliczkę z opisem. I cała ta część parku była w 5 postaci normalnej! Po zebraniu swojej szczęki z chodnika ruszyłem ścieżką między tymi drzewami. Spotkałem nawet jakiegoś gościa, który chodził między nimi i skrupulatnie wszystkie spisywał. Okazało się, że nazywa się Index "Al Crapone" Tabelli. Zapytałem go po ludzku:
- SELECT point FROM nerds WHERE name = "Segmentation" AND surname="Fault" AND IQ=666
- empty set - odpowiedział zmartwiony Index. Ale wyraźnie coś ukrywał. Poznałem to po tym, że w scenariuszu tego wpisu jest napisane, że on coś ukrywa.
- SELECT point FROM nerds WHERE name = "Segmentation" AND surname="Fault" AND IQ=666 - powiedziałem bardziej stanowczo
- empty set i ani rekordu więcej! - odpowiedział
- DROP INDEX Tabelli
- ORA-01031: insufficient privileges - hahaha!
- INSERT beer into Tabelli
- ORA-01234567890: tralala mamma mia...dobra, powiem: część zwana Bazą Developerską. 1 rows fetched.
Pozdrowił mnie jeszcze słowami o wygodnych betonowych butach, ale nie miałem czasu z nim rozmawiać. Ruszyłem w stronę wskazaną przez Tabelliego. Zobaczyłem też drogowskaz DEV - szedłem w dobrą stronę. Po 15 minutach okolica przypominała bardziej las, niż park, do którego wszedłem. Ba, dżunglę! Wśród drzew rozpoznałem Vidocus Complicatus - wisiały na nim lusterka, w których odbijały się inne drzewa. Z jednego Vidocusa wykoczyła małpa z gatunku Cursorus Querius i zniknęła w gąszczu na Tabelus Bałaganus. Po kolejnych 5 minutach usłyszałem:
- Eaoooeae!
Tarzan (Tarzanus Uzytcovnicus) przeskakiwał między drzewami korzystając z triggerów (Kodus Strasznus) zwisających z gałęzi. Niestety jeden z nich rzucił błędem ORA-666 i się urwał, na co Tarzan powiedział:
- Eaeeeaeaeeeaerror!
a za chwilę
- Poddaj sieeeeeaeaeaeaea!
Powiedzmy, że mnie to zdziwiło. W tym momencie zeskoczył z drzewa i zaczął celować do mnie z zapytania. Jednocześnie Al Crapone stanął z tyłu i mierzył do mnie pistoletem na kapiszony. O rety.
- HAH! Tak, postanowiłem skompresować trochę swój diabelski śmiech. I zastanawiasz się, dlaczego występuję jako Tarzan? HA! Po cichu podmieniłem alias TARZAN tak, zeby wskazywał na LORD_ERROR, a na prawdziwego Tarzana wskazuje teraz KROWA.
Faktycznie, po jednym z pobliskich drzew skakała krowa wołając "Muuueueueeeeeeu!"
- Zapłacisz mi za to! I to w jednogroszówkach! - czy zabrzmiało to z mojej strony wystarczająco groźnie?
- Hola hola, nie tak szybko! Rzuć Debugger Guna, albo Al Crapone będzie udawał, że strzela i powie "Pif Paf"!
No to mnie przygwoździł. Rzuciłem Debugger Guna. Lord Error nie wiedział, że i tak nie działa w tej dżungli. No co, Debugger Gun też musi pobierać aktualizacje ze wszystkich internetów! Ale wiedziałem, co zamierza. Error, nie Gun. Jednocześnie powiedzieliśmy:
- A teraz szykuj się na...HAHAHAHAHA - żartowałem z tą kompresją! DELETE from nerds where regexp_count(nick,'o') = 6 - wrzasnął w niebo,
- UPDATE nerds set nick = nick || 'ooooorek'
Na szczęście byłem szybszy. Sam stałem się Artoooooorooooorkiem, a Sami-Wiecie-Kto Lordem Errorooooorkiem. Teraz to on miał 6 'o', nie ja, więc...nakazał usunąć siebie z bazy danych. Jednak Al Crapone wykonał rollback.
- nieźle, ale tego się nie spodziewasz - powiedział Lord Error - DRÓP table nerds HAHAHAHAHA! - a zaraz dodał - nieee, Miało być DROP!
Skończyło się to błędem "ORA-101 naucz się pisać, gamoniu!" Poza tym baza danych zadała Lordowi Errorowi dyktando. W czasie, kiedy ten wykonywał 100 insertów, sam miałem czas, żeby wykonać specjalną misję:
- CREATE TABLE birthday (bla1 varchar2(100 char),bla2 varchar2(100 char),bla3 varchar2(100 char),bla varchar2(666 char));
Niestety zdążyłem zrobic tylko to. Lord Error stwierdził:
- Będę szybszy z życzeniami!
- Wcale nie! INSERT ....
- ...INTO...
- birthday(...
- ...bla1,bla2,bla3...
- ...bla4...no dobra, backspace...) values (...
Nie sposób opisać ludzkim językiem (ani nawet wątrobą) tego, co wydarzyło się po tych słowach. Do dziś krążą o tym legendy. Życzenia latały we wszystkie strony i nikt nie był bezpieczny. Nawet jakiś pan na drugim końcu parku oberwał zbłąkanym odłamkiem "Wszystkiego najlepszego", przez co poczuł się szczęśliwszy - to straszne. Nie mógł narzekać, jak tak można! Kiedy Lord Error zagalopował się i życzył fajnych gości, sam zasłoniłem się "Zdrowia i szczęścia", przez co pomyślność oderwała się z prędkością 1/4 c i eksplodowała w pobliskiej galaktyce. Przez dłuższą chwilę nikt nie odważył się użyć radości, ale to była tylko kwestia czasu. Po godzinie walki KROWA (przypominam: synonim Tarzana w tej bazie danych) dostała życzeniem i spadła prosto na Lorda Errora. Dobiłem go jeszcze spełnieniem marzeń. Al Crapone w międzyczasie uciekł.
Po bitwie tabela birthday wyglądała następująco:
- COMMIT - wypowiedziałem bez pośpiechu
- ROLLBACK - odpowiedział Lord Error,
ale znowu byłem szybszy. Mój przeciwnik został uwięziony w tabeli. Pamiętajcie, nie wykonujcie na niej selecta! Po godzinie znalazłem Segmentation Faulta. I tyle pamiętam. Tak, powiedzmy, że byłem zmęczony.
Dobranoc. Pchły na noc.
*wtf - okrzyk bojowy koczowniczego plemienia Gdzieniegdziestanu. Przywódce...znaczy przywódca podczas wędrówki przez pustynię w Nevadzie trafił do Las Vegas. Zachwycony fontanną przy jednym z hotelo-kasyn zawołał "Wielka To Fontanna!".


Brak komentarzy:
Prześlij komentarz