Nieudany humanista programuje
Obficie padało, gdy obudziłem się dziś rano. Wkrótce nadeszła porządna burza, zapewne by wyzwolić we mnie nieco negatywnych emocji; w całym mieszkaniu było ciemno i ponuro. Moje zdenerwowanie wciąż wzrastało, jako że zamierzałem pojechać gdzieś wyjątkowo daleko na rowerze. Deszcz niczego sobie z mojego trudnego położenia nie robił i wciąż popadywał, dla odmiany momentami zwyczajnie padając. Na domiar złego zużyłem wszystkie książki, jakie ostatnio wypożyczyłem z biblioteki, a jej pracownicy zrobili sobie długie wakacje – wyjechali najpewniej, za swoje tłuste, bibliotekarskie pensje, do ciepłych krajów. Zacząłem rozglądać się bezradnie, próbując znaleźć dla siebie jakieś zajęcie i przypomniałem sobie, jak optymistyczne były moje niedawne plany związane z jQuery.
Za punkt wyjścia obrałem założenie, iż języka programowania najlepiej jest się uczyć, dążąc do zrealizowania jakiegoś praktycznego celu. Już od paru tygodni nie miałem żadnych zleceń z Microsoftu – Steve musiał się ostatnio obrazić, kiedy nie chciałem mu pożyczyć swojego jachtu. W tej sytuacji najbardziej oczywistym celem wydało mi się ulepszenie niniejszej strony internetowej, jednakże trudno było mi wymyślić cokolwiek konkretnego. Źródłem tej trudności okazało się założenie, jakie przyjąłem podczas jej tworzenia, iż ma być ona możliwie prosta. Każdy swój pomysł uznawałem za nadmiernie wydumany. Przypomniałem sobie wreszcie, że lekkiej krytyce został niegdyś poddany formularz wyszukiwania. Spróbowałem napisać skrypt, który dodawał by do niego opis, wyjaśniając jego funkcję.
$(function() {
var input = $("#search").find("input");
var label = $("#search").find("label").text();
input.val(label);
input.css("color", "#aaa");
input.bind('focus', function() {
if (input.val() == label) input.val('');
});
input.bind('blur', function() {
if (input.val() == '') input.val(label);
});
input.bind('focus', function() {
$(this).css("color", "blue");
});
input.bind('blur', function() {
$(this).css("color", "#aaa");
});
});
Koślawy fragment kodu, jaki powyżej zaprezentowałem, spełniał swoje zadanie w sposób idealny. Natrudziłem się przy jego pisaniu, jednak nauczyłem się też paru przydatnych rzeczy. Efekt działania skryptu ostatecznie mi się nie spodobał, postanowiłem zrezygnować z jego użycia. Kolejnym pomysłem było wprowadzenie możliwości rozszerzania pola z treścią komentarza. Użyłem Interface i byłem już bliski osiągnięcia celu, jednak z tego również zrezygnowałem. Na koniec przypomniałem sobie, że wypadałoby rozwiązać wreszcie problem określania miejsca pochodzenia cytatów blokowych, o którym czytałem kiedyś w tekście Łukasza Grabunia.
$(function() {
var blockquote = $("#content").find("blockquote");
var cite = blockquote.attr("cite");
blockquote.after(cite);
});
To zadanie niestety przerosło mnie, choć pozornie mogłoby wydawać się łatwiejszym niż dwa poprzednie. Uzyskałem efekt wyświetlania się adresu URI w formie tekstu, jednak nie zdołałem zmusić skryptu, by dodawał na stronę odnośnik. Przyjąć można, że znalazłem się w połowie drogi, nie mam jednak wcale pomysłu, jak by tu przebyć jej pozostałą część. Wspomnieć jeszcze muszę, że programowanie śmiertelnie mnie nudzi, nie uważam siebie też za osobę uzdolnioną w tym kierunku. Nie posiadam umysłu ścisłego, za typowego humanistę również trudno mnie uznać, przyjąć więc można, że nie nadaję się zupełnie do niczego. Z pewnością lepiej będzie, jeśli zajmę się teraz czymś bardziej sensownym, być może wkrótce rozwiązanie przyjdzie mi do głowy.


