Python, wrażenia

Michał ‘mina86’ Nazarewicz | 31 stycznia 2010

Niedawno miałem okazję stworzyć trochę kodu w Pythonie. Popisałem sobie w nim kilka dni i muszę przyznać… język jest tragiczny, zastanowię się kilka razy zanim po raz kolejny go użyję.

Wpis ten dedykuję pewnej osobie, która ciągle mi przypomina, abym pisał nowe wpisy. :)

NTP over HTTP

Michał ‘mina86’ Nazarewicz | 16 stycznia 2010

Sitting in a dark office, after swearing for hours at ATI video cards I noticed time on my computer was incorrect. ‘No problem,’ I thought as I started typing ntpdate. That’s where it struck me that our beloved IT department had blocked most of the Internet. Checking the time on a watch or a mobile phone was not an option — I had neither — nor was looking at GKrellM on another PC — that’s just lame.

‘I wish there was a NTP-over-HTTP protocol’ I sighed. And then I realised there was…

Nie szata

Michał ‘mina86’ Nazarewicz | 2 stycznia 2010

Zdjęcie rusztowania przy wieżowcu.

(fot. Kiril Havezov aka walker_M)

Niektórzy mogli zauważyć, iż nastąpiłą mała zmiana w wyglądzie strony. Co prawda poprzedni szablon miał swój urok, ale miałem wrażenie, że jest nieczytelny, więc postanowiłem odświeżyć wygląd tym razem stosując skórkę z jasnym tłem — chyba tak jest bardziej przejrzyście. :)

Oczywiście wszystkie wasze ukochane funkcje takie jak automatyczne dogrywanie kolejnych wpisów, czy dopasowywanie się strony do szerokości przeglądarki nadal działają, a niektóre zostały nawet poprawione. Generalnie mam nadzieję, iż obecny szablon okaże się jeszcze bardziej funkcjonalny od poprzedniego.

Dodam może jeszcze, że przyświecającym mi celem było stworzenie skórki opartej o grafikę wektorową, w której wszelkie wymiary będą podawane względem wielkości czcionki. Okazało się jednak, że grafiki to najpierw trzeba sobie zrobić, a to co stworzyłem niezbyt mi się spodobało, więc ostatecznie stanęło na szablonie z wielkością zdefiniowaną względem rozmiaru czcionki z jednym tylko prostym obrazkiem i to rastrowym. ;)

Total Control Exchange (No Caps Lock)

Michał ‘mina86’ Nazarewicz | 11 października 2009

Have you ever wondered why Caps Lock, a key you press twice a decade (once to turn it on and then to turn it off), is in such a lucrative position on the keyboard? And how about Ctrl? Compared to Caps Lock it seems like miles away. If you think about it old unix keyboards with those keys swapped seem to got it right.

I’ve gone one step further and recommend turning Caps Lock into Ctrl key altogether. In this article I will describe how to do that in various systems and platforms. But lets start with some propaganda.

Rozszerzenie tabbed dla urxvt

Michał ‘mina86’ Nazarewicz | 16 maja 2009

Jakiś czas temu, zmodyfikowałem rozszerzenie tabbed dla rxvt-unicode dodając parę pożytecznych funkcji. Upstream jakoś tego nie chciał, a potem ludzie zaczęli dodawać jeszcze inne zmiany i tak powstał fork o nazwie tabbedex. Kod można przeglądać w repozytorium na GitHubie lub sklonować git://github.com/mina86/urxvt-tabbedex.git

tabbedex ma bardzo dużo zmian, i raczej daremne byłoby wymienianie ich wszystkich tutaj chociażby z racji tego, że lista szybko stałaby się nieaktualna. Z tego powodu, zachęcam do przejrzenia kodu źródłowego, który ma na początku komentarz z listą zmian.

Czcionki a kwestia tłumaczeń

Michał ‘mina86’ Nazarewicz | 10 stycznia 2009

Jakiś czas temu natknąłem się na artykuł opisujący własności wyświetlanego na monitorze tekstu i konsekwencje niskich rozdzielczości. Znalazła się tam również bezmyślna propaganda na rzecz słowa „font”, o której chciałbym pokrótce napisać.

Autor uzasadniał, iż „czcionka” to pojedyncza litera, z której składało się całe strony i ma się nijak do tego czym są obiekty stosowane w komputerze. Zarzucał nieudolność tłumaczom, którzy z braku wiedzy zastosowali złe określenie.

Pragnę jednak wszystkich zachęcić, aby słowa „font” nie używać! Jest ono okropne! Jako ordynarne ściągnięcie z angielskiego brzmi dziwacznie.

Tymczasem zarzucanie, że „czcionka” jest nazwą niewłaściwą, to jak zarzucanie, że nazwa „plik” nie powinna być używana, bo już od dawna dane nie są przechowywane w postaci plików kartek. W kontekście informatycznym istnieje wiele słów, których znaczenie jest odległe od jego znaczenia w innych kontekstach i dlatego nic nie stoi na przeszkodzi, aby stosować nazwę „czcionka”!

Do tego wszystkich Czytelników gorąco zachęcam, a osoby zajmujące się składaniem tekstu niechaj zostawią kwestie językowe językoznawcom.

Treasure Hunt a szybkość D

Michał ‘mina86’ Nazarewicz | 10 stycznia 2009

Zachęcony wpisem GiMa postanowiłem pobawić się w Google Treasure Hunt. Z początku moje wrażenia były negatywne, ale to dlatego, że zacząłem od zadania sieci, które jest co najmniej denne. Archiwum też nie napawało optymizmem, już zacząłem się zastanawiać, czy wszystkie będą tak prymitywne — na szczęście nie były.

Publiczne repozytorium gita

Michał ‘mina86’ Nazarewicz | 12 listopada 2008

W końcu zebrałem się i po wypełnieniu odpowiednich formalności stworzyłem zbiór publicznych repozytoriów gita z różnymi rzeczami napisanymi przeze mnie. W chwili obecnej, najciekawszym jest chyba repozytorium dot-files zawierające różne moje pliki konfiguracyjne — może komuś się na coś przydadzą. :)

x86_64, wrażenia

Michał ‘mina86’ Nazarewicz | 18 lipca 2008

64-bitowe procesory x86_64, x64, amd64, intel64, czy jak je tam chcemy zwać, zdobywają coraz większą popularność. Jest również coraz więcej systemów operacyjnych wykorzystujących ich potencjalne możliwości. Nareszcie pozbyliśmy się problemu przekręcenie licznika w 2038! Nareszcie możemy zaadresować 1 TiB fizycznej pamięci (to, że nasza płyta główna obsługuje 3 GiB, a jak mamy szczęście 3,5 GiB to już szczegół). Nareszcie mamy 48-bitową (tj. 256 TiB) logiczną przestrzeń adresową! Do tego dochodzi lepsza obsługa instrukcji SIMD, więcej rejestrów, 64-bitowa arytmetyka itp.

Rzecz jasna nie ma nic za darmo. Za te udogodnienia musimy płacić i bynajmniej nie chodzi mi o pieniądze, bo to raczej najmniej istotne — istotniejszą kwestią jest większe zużycie pamięci z powodu użycia ośmiobajtowych wskaźników, czy wyrównania stosu do ośmiu bajtów nawet jeżeli zrzucamy na niego liczbę 32-bitową. Do tego dochodzi jeszcze bardziej skomplikowany, a przez to wolniejszy, proces tłumaczenia adresów logicznych na adresy fizyczne.