Firefox Qt

 Bez kategorii  No Responses »
Sty 162011
 

Można powiedzieć, iż jestem zdecydowanie większym fanem Qt aniżeli GTK. Dlatego aplikacje napisane w GTK staram się stopniowo eliminować z życia. Jedną z ostatnich, które zostały na moim dysku jest Firefox. Było już kiedyś parę prób przepisania go na Qt, jednak wszystkie projekty upadały.

Dlatego tym chętniej przetestowałem kolejny port Firefoksa pod Qt, gdy dowiedziałem się, że jest rozwijany przez samą Mozillę. Szybko ściągnąłem najnowszy nightbuild z serwerów mozilli.

I strasznie się zawiodłem. Łatwiej jest wymienić co działa, niż co nie działa. A działa: renderowanie stron. Cała reszta, czyli: okna dialogowe, menu, paski przewijania, instalacja dodatków – nie. Cóż, autorów tego projektu czeka jeszcze sporo pracy nim ten projekt będzie użyteczny. Ale mimo wszystko, będę miał go na oku 😉

 Posted by at 22:27
Sty 122011
 

Czasami może najść nas potrzeba wstawienia formuły matematycznej na stronie. Proste przypadki można załatwić bezproblemowo z klawiatury, jak na przykład y = 3x^2 + 3/4. Jednak co zrobić, jak najdzie nas ochota zaprezentowania podwójnej całki z pierwiastkiem?

Z pomocą przychodzi nam prosta biblioteka MathTex napisana w C. Jej kompilacja jest bardzo prosta i sprowadza się do uruchomienia (uwaga na \” – to jest prawidłowy zapis!)

cc mathtex.c -DLATEX="\"`which latex`\"" -DDVIPNG="\"`which dvipng`\"" -o mathtex.cgi

Wynikowy plik mathtex.cgi wystarczy wrzucić na serwer i jeśli trzeba – ustawić uprawnienia.
Całość można odpalić z przeglądarki podając w GET formułę: http://blog.cyryl.net/cgi/mathtex/mathtex.cgi?x^2
lub umieścić na stronie jako obrazek:

<img src="/cgi/mathtex/mathtex.cgi?f(x)=\int_{-\infty}^xe^{-t^2}dt" alt="" border=0 align="middle"/>

W rezultacie otrzymamy naszą formułę prawidłowo opływającą tekst.

Sama istota jest prosta w działaniu – tworzony jest plik źródłowy z formula, a następnie jest uruchamiany latex do jej skompilowania. Po czym wynikowy plik gif jest zapisywany w cache i przy kolejnym wywołaniu jest już bezpośrednio zwracany.

 Posted by at 21:50
Sty 032011
 

Zawsze myślałem, iż domyślny wygląd kalendarza w KDE jest jakiś taki mało informacyjny. Wszystko szare, jednokolorowe, nawet weekendy wyglądające, tak jak dni robocze.

Dziś całkowicie przypadkiem znalazłem opcję do zaznaczenia w nim wszystkich świąt. I to po tylu latach użytkowania. Dzięki temu w jedną chwilę można otrzymać taki wynik i wiedzieć kiedy jest wolne 🙂

Aby to zmienić wystarczy kliknąć prawym przyciskiem myszy na dacie, wybrać „Ustawienia: Zegar cyfrowy” i na zakładce „Kalendarz” wybrać Polskę. I gotowe – mamy święta.

Mała rzecz, a cieszy 🙂

 Posted by at 20:22
Lis 252010
 

Na blogu Zyxa natrafiłem na post o nowym systemie do tłumaczeń w PHP, klasie MessageFormatter. I przyznaję, że nie zrobiło to na mnie wrażenia. Format zapisu tekstu jest tak skomplikowany, że w ostatnim przykładzie do teraz nie mogę się doliczyć nawiasów 😉 A wygląda on tak niewinnie:

$msg = new MessageFormatter('pl_PL', '{0,plural,one{Masz jedną nową wiadomość}few{Masz {0,number} nowe wiadomości}other{Masz {0,number} nowych wiadomości}}.');
echo $msg->format(array(0 => 103));

I tak zacząłem myśleć co takiego ma MessageFormatter, czego nie ma GetText.
To mnie nakłoniło do przeprowadzenia szybkiego testu wydajności. Do zawodów stanęły:

  • MessageFormatter
  • GetText
  • prosty system napisany w PHP mojego autorstwa

Continue reading »

 Posted by at 23:22
Paź 162010
 

Jest sobie legendarne wręcz polecenie rm -rf /. Mnie się udało uruchomić jego młodszego brata rm -rf *. W katalogu domowym.

Oczywiście nie zrobiłem przez zwykłe wpisanie komendy. Byłem znacznie bardziej wyrafinowany. Chciałem wykasować konfigurację KDevelopa. W tym celu wpisałem:

find . -name '.kdev*' | xargs rm -rf *

Taka tyci literówka.

A z tej lekcji nauczyłem się:

  • pliki są kasowane nieodwracalnie, zgodnie z założeniami systemu plików ext3/4
  • pliki, które uda się przywrócić, to zawsze będą te mało ważne, jak na przykład cache przeglądarki
  • backup
  • backup
  • backup.
 Posted by at 20:12
Paź 162010
 

I nie tylko ona. Scenarzyści NCIS również :). Do listy informatycznych wpadek, takich jak obowiązkowy na każdym biurku przynajmniej jeden monitor CRT oraz irytujących „komputerowych” dźwięków przy każdym kliknięciu doszła nowa pozycja. Czytanie poczty przez FTP.

Piwo dla tego, który zgadnie co to za program FTP 😉

 Posted by at 17:37
Cze 142010
 

Zostałem poproszony o zrobienie sklepu Internetowego. Pomyślałem, że może być to dobry pretekst do przyjrzenia się, co aktualnie oferuje open source w tej kategorii. Krótki research i na pierwszy ogień poszedł Magento najczęściej polecany. Najnowsza wersja podczas pisania recenzji to 1.4.1.0, jednak testy były wykonywane na starszej wersji 1.4.0.1. Lista zmian nie jest jakaś imponująca, więc nie powinna mieć znaczenia na ocenę końcową.

Strona Internetowa sklepu wygląda profesjonalnie, a sam projekt jest dynamicznie rozwijany. Statystyki jak 1,5 miliona pobrań oraz ponad 2000 dodatków robią wrażenie.

Instalacja

Skopiowałem pliki na serwer i bez zbędnych ceregieli wpisałem adres domenę sklepu. Zgodnie z przewidywaniami uruchomił się instalator.

Szybko zaakceptowałem licencję i przeszedłem dalej, do okna wyboru opcji lokalizacyjnych.

I tu się pojawił pierwszy problem. Zmiana języka lokalizacji na polski powoduje automatyczne przeładowanie strony i powrót do języka angielskiego. Trudno, angielski znam, jakoś przeżyję. Wybieram strefę czasową „Europe/Warsaw”, walutę „Polish Zloty” i przechodzę dalej.

W końcu coś ciekawego. Uzupełniam dane do połączenia z bazą klikam dalej. Instalator tworzy teraz zapewne wszystkie tabelki w bazie wymagane, jednak brak o tym żadnej informacji. Przez około 7 minut nic się nie dzieje. Jest to zdecydowanie za długo, aby pozostawić zwykłemu użytkownikowi wczytującą się stronę z ciągle dostępnym przyciskiem „Continue”. Bardzo prawdopodobne, iż nieniecierpliwiony kliknąłby go ponownie, wysyłając kolejne żądanie do serwera, z niewiadomo jakim rezultatem.

W końcu pojawił mi się kolejny krok, ze zdefiniowaniem domyślnego użytkownika i podobnych opcji.

Szybkie uzupełnienie informacji i już można cieszyć oko informacją o pomyślnej instalacji.

Niestety, ale tak gładko instalacja przeszła dopiero za drugim razem, po przeczytaniu instrukcji instalacji. Przy pierwszej próbie instalator na jednym z kroków nie chciał przejść dalej, jednak nie informując czemu. Dopiero po spojrzeniu w instrukcję doczytałem, iż chodzi o uprawnienia do katalogów. Dlatego, za brak informacji o błędach – duży minus.

Continue reading »

 Posted by at 23:51
Cze 062010
 

Ostatnio Facebook robi istny nalot na Polskę. Każda strona internetowa musi mieć własną grupę na Facebooku, i oczywiście musi się tych chwalić. A chwalić się można poprzez widgety. Im większy widget tym lepiej.

Mówiąc szczerze, jakoś niespecjalnie mnie interesuje, że strona X ma 639 fanów, a Rysiek z Warszawy lubi Y.

Ostatecznie postawiłem wywalić te ramki. Idealnie się do tego nadał AdBlock. Wystarczy dodać do filtra dwa adresy:

|http://static.ak.connect.facebook.com/*

|http://www.facebook.com/extern/login_status.php?*

i życie staje się piękniejsze.

Dodatkowym bonusem jest znaczny wzrost prędkości ładowania stron. Przykładowo, pda.pl z Facebookiem wczytywał się 7-11 sekund. Po zastosowaniu filtru czas zmalał do stabilnych 5-5,5 sekundy.

 Posted by at 14:13

BHP FAIL

 Bez kategorii  No Responses »
Maj 162010
 

Tyle się mówi dookoła o BHP, a tutaj taki mały kwiatek, jaki ostatnio spotkałem 🙂

 Posted by at 18:34
Maj 162010
 

Okazuje się, że dyski Seagate z serii Barracuda 7200.11 posiadają błąd w firmware powodujący ich zawieszenie – tak zwany błąd BSY. Wiedzieli o tym wszyscy poza mną. Ale gdy padła moja Barracuda dowiedziałem się o tym i ja. Okazuje się, że naprawa takiego dysku jest całkiem prosta i po uprzednich przygotowaniach zajmuje jedynie kilka minut.

Jest wiele opisów jak tego dokonać pod systemem Windows. Tutaj przedstawię jak tego dokonać pod Linuksem. Okazuje się to być jeszcze łatwiejsze, bo nie trzeba ręcznie przepisywać komend 🙂

Continue reading »

 Posted by at 17:06