Mam ostatnio dosyć uciążliwy problem z wtyczką SyntaxHighlighter Evolved. Działała idealnie aż do momentu aktualizacji do wersji 2.3.0 - wtedy zaczęły dziać się dziwne rzeczy związane z wyglądem pokolorowanego kodu. Każda linia “utyła” w pionie o jakieś 70 pikseli, co powodowało rozciągnięcie niektórych artykułów zawierających dużo tego typu wstawek na kilkadziesiąt ekranów. Przygotowana “na gorąco” modyfikacja arkusza stylów CSS tymczasowo przywróciła wygląd do stanu przypominającego ten poprzedni, nie udało mi się jednak znaleźć na żadnych konkretnych informacji w internecie, które zawierałyby kompletne rozwiązanie.
W momencie zakupu domeny kowalczyk.cc miałem już pewne plany zagospodarowania podlegającej jej “przestrzeni nazw”. Utworzyłem więc potrzebne subdomeny dla bloga, SVNa, oraz innych usług z których sam korzystam lub które udostępniam innym [znajomym, klientom]. Nie miałem jednak początkowo pomysłu na wykorzystanie głównej domeny, tak więc poza umieszczeniem krótkiego skryptu:
“blokującego dostęp” nic się na niej nie działo. Aż do dzisiaj. Stwierdziłem, że skoro nie mam czasu ani chęci programować całkowicie nowej strony, tudzież próbować wdrażania któregoś z opensource’owych CMSów, to po prostu zrobię prostą wizytówkę, na której na razie umieszczę odnośniki do bloga, jako najbardziej aktywnej części domeny, a w miarę rozrastania się “korporacji” o dumnej nazwie “Tomasz Kowalczyk” będę uzupełniał jej [tzn. tej wizytówki] treść o odpowiednie dane.
Genialny przykład wykorzystania właściwości transform: rotate(); w CSS3: http://desandro.com/. Dla tych, którzy są nie w temacie - te dwa okręgi widoczne na stronie głównej to nie są obrazki, tylko czysty HTML + CSS[3] “wyrenderowany” przez JavaScript. Pełen szacunek.
Firefox 1.0 został wydany 9 listopada 2004 roku. Od tamtej chwili minęło równe 5 lat, dlatego dzisiaj mamy okazję świętować kolejne urodziny [no flame, please] najlepszej z przeglądarek. W tym momencie cieszymy się stabilną wersją 3.5[.5] - czekamy cierpliwie na wydania 3.6, 3.7 i w przyszłości 4.0, które wniosą kolejne nowości i usprawnienia. Aż trudno uwierzyć, że w ciągu paru lat produkt fundacji Mozilla zdobył tak znaczącą pozycję na rynku i “gładko” wyprzedził królującego do tej pory Internet Explorera [no flame, please x2 ;]].
Dzisiaj czytałem nieco o klasach zaprzyjaźnionych w języku C++ [ang. friend classes] i podczas lektury jednego z artykułów przypomniało mi się znane z podstawówki powiedzenie “co je twoje, to je moje, a co moje, to nie rusz”. Przez chwilę patrzyłem na przykładowy kod i nagle wpadł mi do głowy pewien pomysł. Wymyśliłem implementację tego powiedzenia w C++. ;] Oznaczenie klasy jako zaprzyjaźnionej z inną oznacza m. in. to, że wszystkie atrybuty tej pierwszej, niezależnie od klasyfikatora dostępu [public, protected, private] stają się dostępne dla drugiej bez żadnych ograniczeń. Pierwsza klasa “przekazuje” wszystkie informacje o sobie tej drugiej tak, jakby kwalifikatorem dostępu dla wszystkich jej elementów [atrybutów i metod] było słowo kluczowe public. Analogia jest, przynajmniej dla mnie, bardzo wyraźna. ;]
Rozbudowana online’owa przeglądarka danych EXIF [Exchangeable Image File Format] plików graficznych: http://regex.info/exif.cgi.
Bonusy: [0] Ciekawa wtyczka “Exif Viewer” do Firefoxa udostępniająca podobną funkcjonalność + przeglądanie danych IPTC [International Press Telecommunications Council]: https://addons.mozilla.org/pl/firefox/addon/3905. [1] Inna wtyczka do Firefoxa pozwalająca na przeglądanie danych EXIF we właściwościach obrazków: http://ted.mielczarek.org/code/mozilla/fxif/.
Zapytanie SQL rozwiązujące łamigłówkę sudoku w różnych dialektach SQL:
Oracle PL/SQL - http://technology.amis.nl/blog/6404/oracle-rdbms-11gr2-solving-a-sudoku-using-recursive-subquery-factoring Microsoft T-SQL - http://www.vsj.co.uk/articles/display.asp?id=540 SQL Server: http://www.celko.com/puzzles.htm + wyjaśnienia http://www.db-innovations.co.uk/sudoku.htm - opis algorytmów Przyznam, że jak zobaczyłem nagłówek pierwszego artykułu, to na mojej twarzy pojawił się bardzo ciekawy grymas zdziwienia połączony z zaskoczeniem. Miłego czytania ;]
Jako uważni czytelnicy mojego bloga na pewno zauważyliście, że w ciągu ostatnich paru dni pojawiły się na nim nowe rzeczy. Niektóre z nich są bardziej widoczne, inne mniej, ważne jest to, że jakość korzystania z niego [notabene jest na to bardzo ładne angielskie określenie - “usability”] powinna wzrosnąć, ale o tym decydujecie już tylko Wy, internauci, tak więc wystawiam się na ogień komentarzy w kwestii tego, co Wam się podoba, a co nie. Zainstalowałem kilka nowych wtyczek, które poniżej postaram się krótko opisać, tak aby każdy miał świadomość istnienia nowych funkcji. Zapraszam do lektury.
Strona internetowa umożliwiająca tworzenie własnych czcionek na podstawie skanu pisma odręcznego: http://www.fontcapture.com/. Wystarczy ściągnąć i wypełnić plik PDF z siatką znaków, zeskanować go, wrzucić z powrotem na stronę i po chwili cieszyć się własnym fontem. Zresztą, instrukcje są na stronie, więc nie będę się specjalnie rozwodził na ten temat. HF!
Ciekawy artykuł o czcionkach przydatnych programistom: http://hivelogic.com/articles/top-10-programming-fonts. Jakich / których z nich sami używacie w codziennej pracy?