Archiwum
Przeglądarka Apple Safari 4
Wczoraj udostępniona została najnowsza wersja przeglądarki internetowej firmy Apple. Na codzień używam Linux’a, nie jest mi dane, doświadczać przyjemności jej używania. Na krótki okres, przesiadłem się więc do pożyczonego laptopa, na którym po chwilli, pojawiło się logo z niebieskim kompasem.
Pierwsze wrażenie jest pozytywne. Prawy górny róg okna przypomina Google Chrome, są tam dwie ikony z wysuwanymi menu, odpowiedzialne za dostęp do podstawowych funkcji programu. Są nimi tworzenie nowych okien, zakładek, dostęp do ustawień, włączenie trybu przeglądania prywatnego (na komputerze nie są zapisywane ciasteczka (cookies), historie przeglądanych stron, hasła itd. Wszystko jest usuwane automatycznie, zaraz po zakończeniu używania aplikacji). Po lewej stronie, znajdują się dwa przyciski. Jeden otwieraja widok zakładek (prezentujący w bardzo efektowny i dynamiczny sposób historię stron, strony z paska zakładek, źródła RSS, oraz zaimportowane zakładki z innych przeglądarek) oraz TopSites (najczęściej odwiedzane strony, które prezentowane są na zaokrąglonym ekranie, porównał bym to z projekcją w dobrym kinie). Wszystko to robi naprawdę świetne wrażenie.
Safari 4 używa silnika WebKit (współny projekt ludzi z Apple, Google, Qt Software, Collabora, Torch Mobile oraz kilku niezależnych ochotników). Używając nowego silnika Nitro (Nitro Engine), skrypty JavaScript wykonywane są prawie 8 razy szybciej niż w Internet Explorer 8 (nie wspominając o IE 7
), 4 razy szybciej niż Firefox 3, oraz nieznacznie szybciej niż Google Chrome (dane te bazują na testach iBench oraz SunSpider)
Nie wiem czy określenie Safari jako najszybszej przeglądarki jest słuszne, ale mimo wszystko zdaje ona swój egzamin. Pracuję na wielu przeglądarkach, na różnych systemach i mogę z czystym sumieniem stwierdzić że działa ona bardzo przyzwoicie.
Poniżej prezentuję kilka faktów:
- Test Acid3 – zdany 100/100 (jako pierwsza przeglądarka, na tą chwilę test przechodzi też Google Chrome)
- W pełni obsługuje standardy – HTML 5, CSS 3 (jako pierwsza przeglądarka na świecie)
- Silnik Nitro JavaScript – zwalający konkurencję z nóg, prześcignął nawet nieznacznie Google Chrome (wspieram się testami Apple, ale gdy zrobiłem test pomiędzy Google Chrome 2 a Safari 4
- Patrz zanim klikniesz (Look before you click) – czyli wspomniany już wcześniej, sposób przeglądania historii, zakładek, najpopularniejszych stron
- Wbudowane narzędzia dla Webmasterów
- Wbudowany czytnik RSS
- Przeglądanie prywatne (na komputerze nie są zapisywane żadne informacje), ponownie Google Chrome ma tryb Incognito
- Safari AdBlock, precz z reklamami (plugin który trzeba zainstalować)
- wiele, wiele innych nowości o których poczytać można na stronie producenta
Z tego wszystkiego , nie rozumiem braku popularności tego wspaniałego produktu. Jako posiadacz Linuxa, żałuję tylko iż nie ma wersji dla tego systemu (Wine mnie nie satysfakcjonuje).
Odnośniki:
- Apple Safari 4 - http://www.apple.com/safari/
- Co nowego w Safari 4 (en) - http://www.apple.com/safari/whats-new.html
- 150 Features (en) - http://www.apple.com/safari/features.html
Zbliża sie 20 rocznica protestów na placu Tian’anmen. Z tej “okazji” Twitter dołączył do grona stron filtrowanych przez The Great Firewall of China
Popularny micro-blog Twitter dołączył, dwa dni przed 20 rocznicą krwawego stłumienia protestów na placu Tian’anmen, do stron filtrowanych przez tzw. The Great Firewall of China. Ogromna liczba chińskich użytkowników Twittera od kilku godziń nie może dostać się na strony portalu. Ci, którym się to udało, grzmią. Zablokowane zostały także usługi Microsoftu takie jak: Hotmail (poczta e-mail), Bing.Com (nowa wyszukiwarka) oraz Windows Live. Niedostępny jest także Flickr, usługa umożliwiająca udostępnianie zdjęc (własność Yahoo).Kilka miesięcy wcześniej odcięty został dostęp do YouTube, po tym jak pojawiły się tam filmy z tłumienia zamieszek w Tybecie. Całe to blokowanie w praktyce wygląda tak, że Ci którzy chcą informacji i potrafią ominąć zaporę, dostają się. Chiny musiały by odciąć kompletnie odciąć się od Internetu i stworzy swój własny, Chiński Intranet.
Czy już tak robią?
Jak powiedział mi chiński student przebywający w Polsce, podczas rozmowy przy piwie dwa dni temu, mają nawet swoje własne porno-portale. Na inne nie wolno im wchodzić.
O blokadzie Twitter’a dowiedziałem się z:
Jak wygląda Twitter, reakcja użytkowników można zobaczyć tutaj:
- http://search.twitter.com/search?q=%23twitterblock ( #twitterblock )
- http://search.twitter.com/search?q=%23gfw (#gfw )
[ad]
Monitorowanie kontrolera RAID firmy LSI Logic zainstalowanego w serwerze Dell PowerEdge 800.
Szukając w Internecie narzędzia, które monitorowało by stan działania dysków w jednym serwerów, natrafiłem na pakiet o nazwie mpt-status. Jest to proste narzędzie, składające się z programu oraz demona, monitorującego działanie kontrolerów RAID firmy LSI, wymienionych poniżej:
- LSI 1030 SCSI RAID
- LSI SAS1064 SCSI RAID
- LSI SAS1068 SCSI RAID
- LSI SAS 3442-R SCSI RAID
Paczka zawarta jest w kilku linuksowych dystrybucjach. W Debianie instaluje się ją poleceniem:
apt-get install mpt-status
Po zainstalowaniu program odpala się poleceniem:
mpt-status
Przy pierwszym uruchomieniu może pojawić się informacja:
open /dev/mptctl: No such file or directory
Try: mknod /dev/mptctl c 10 220
Trzeba więc utworzyć plik reprezentujący urządzenie znakowe
mknod /dev/mptctl c 10 220
Zapomnieć nie można o załadowaniu modułu o nazwie mptctl
modprobe mptctl
Aby moduł ładował się automatycznie podczas startu systemu, dopisujemy linijkę do pliku /etc/modules
#Plik /etc/modules/
loop
mptclt
Jeżeli tego nie zrobimy, program nie będzie działał poprawnie, a demon zostawi komunikat w logach o „nieoptymalnym statusie kontrolerala RAID”.
# /var/log/messages
Jun 2 09:38:47 hepa mpt-statusd: detected non-optimal RAID status
Jun 2 09:48:47 hepa mpt-statusd: detected non-optimal RAID status
Po załadowaniu mptctl i wydaniu polecenia mknod w logach powinny pojawić sie podobne informacje:
#/var/log/messages
Jun 2 11:48:46 hepa kernel: Fusion MPT misc device (ioctl) driver 3.04.06
Jun 2 11:48:46 hepa kernel: mptctl: Registered with Fusion MPT base driver
Jun 2 11:48:46 hepa kernel: mptctl: /dev/mptctl @ (major,minor=10,220)
Przykładowe informacje zwrócone przez polcenie mpt-status:
root@hepa:~# mpt-status
ioc0 vol_id 0 type IM, 2 phy, 231 GB, state OPTIMAL, flags ENABLED
ioc0 phy 1 scsi_id 32 ATA ST3250620NS 3BKH, 232 GB, state ONLINE, flags NONE
ioc0 phy 0 scsi_id 1 ATA ST3250620NS 3BKH, 232 GB, state ONLINE, flags NONE
Kontroler w jednym z naszych serwerów to (Dell PowerEdge 800), według lspci -v, sprzęt prezentujący się następującą treścią:
SCSI storage controller: LSI Logic / Symbios Logic SAS1068 PCI-X Fusion-MPT SAS (rev 01)
Subsystem: Dell SAS 5/iR Adapter RAID Controller
Według autora, program sprawdzony był na następujących maszynach:
Reported working hardware configuration
—————————————
Sun Fire X4100
Sun Fire X4200
Sun Fire V20z
Sun Fire V40z
Dell PE2600
Intel Server with SE7520BD2S boards
HP ProLiant DL320 G4
IBM eServer BladeCenter LS20
Strony autora programu: http://www.drugphish.ch/~ratz/mpt-status/
Google Wave – komunikatory i e-maile przechodzą do lamusa?
Brakuje mi czasu aby bardziej szczegółowo opisać nowy produkt Google. Jest on rozwijany przez twórców Google Maps, braci Larsa i Jensa Rasmussen’ów. Pisząc jednym zdaniem, ma to być technologia komunikacji i współpracy w sieci która połączyć ma e-maile i komunikatory w jedną, zwartą, interaktywną całość. Wszystko z poziomu przeglądarki. Po więcej informacji zapraszam na strony związane z tą nową technologią, którą na pewno się zainteresuję i szczegółowo opiszę. Szczególnie polecam film w którym autorzy prezentują czym jest Google Wave.
Odnośniki:
- Oficjalna strona Google Wave – http://wave.google.com/
- Blog Google – wpis Larsa Rasmussen’a
- http://code.google.com/intl/pl/apis/wave/
- http://www.waveprotocol.org/
[ad]
Reguły z mod_rewrite nie działają modułem userdir (Apache,Debian, Linux)
Parę dni temu znajomy poprosił mnie o pomoc przy uruchomieniu modułu mod_rewrite w Apache’u który dostarczony jest z Debianem. Problem przejawiał się tym, że nie działało przekierowywanie stron ładowanych modułem userdir (przykładowy adres strony: http://localhost/~uzytkownik/). Opiszę kroki jakie trzeba wykonać aby temat rozwiązać:
Najpierw sprawdźmy czy moduły rewrite i userdir są ładowane podczas uruchomienia Apache. Odpalamy funkcję phpinfo() i szukamy sekcji apache2handler, wiersza Loaded Modules. Tam, wśród różnych opcji, powinny znajdować się dwa interesujące nas pozycje (mod_rewrite oraz mod_userdir).
Jeżeli ich tam nie ma, przechodzimy do katalogu /etc/apache2/mods-enabled/, sprawdzając czy zawiera dowiązania symboliczne ładujące odpowiednie rzeczy:
root@venoma:/etc/apache2/mods-enabled# ls -al rewrite* userdir*
lrwxrwxrwx 1 root root 30 06-01 02:09 rewrite.load -> ../mods-available/rewrite.load
lrwxrwxrwx 1 root root 30 05-26 18:14 userdir.conf -> ../mods-available/userdir.conf
lrwxrwxrwx 1 root root 30 05-26 18:14 userdir.load -> ../mods-available/userdir.load
Jeżeli ich tam nie ma, tworzymy je poleceniem:
root@venoma:/etc/apache2/mods-enabled# ln -s ../mods-available/userdir.load
root@venoma:/etc/apache2/mods-enabled# ln -s ../mods-available/userdir.conf
root@venoma:/etc/apache2/mods-enabled# ln -s ../mods-available/rewrite.load
Restartujemy Apache:
/etc/init.d/apache2 restart
i ponownie odpalamy phpinfo(). Moduły powinny być już załadowane (założyłem tutaj, że odpowiednie pliki znajdują się w katalogu /etc/apache2/mods-available/)
Teraz otwieramy plik /etc/apache2/sites-available/default. W tymże pliku szukamy linii z opcją AllowOverride w sekcji <Directory /> , aby rewrite działał poprawnie, powinna ona wyglądać tak
AllowOverride All
Kolej na konfigurację modułu userdir. Otwieramy /etc/apache2/mods-enabled/userdir.conf, w którym nie powinna pojawić się pozycja AllowOverride None. Prawdopodobnie linijka będzie wyglądała tak:
AllowOverride FileInfo AuthConfig Limit Indexes
jest to poprawny wpis.
Ponownie restartujemy Apache:
/etc/init.d/apache2 restart
W tej chwili moduł rewrite będzie działał poprawnie. Problemem może okazać się jego użycie wraz z modułem userdir. Aby wszystko działało poprawnie, trzeba odpowiednio skonstruować plik .htaccess. Musi on zawierać dyrektywę RewriteBase:
Dla adresu np. http://localhost/~felixd/ powinna ona wyglądać tak:
RewriteBase /~felixd/
dla http://localhost/~felixd/projekt2/:
RewriteBase /~felixd/projekt2/
Unia Europejska planuje świeży atak na Microsoft.
Microsoft
Powołując się na The Wall Street Journal, Unia Europejska rozważa możliwość wprowadzenia wyboru przeglądarki internetowej w systemie Windows. Użytkownik miałby wybrać, a poźniej ściągnąć i zainstalować dostępną z listy przeglądarkę. Brukselę rozczarowały wcześniejsze próby zmiany zachowania Microsoftu. Urzędnicy planują nową listę sankcji wobec giganta oprogramowania, które wykraczać będą daleko poza grzywny finansowe. Wysiłki regulatorów skupione są w kierunku bardzo starych skarg dotyczących niepoprawnie powiązanego Internet Explorera z systemem operacyjnym Windows. Zamiast zmuszać Microsoft aby wykluczył przeglądarkę z systemu, ludzie z Komisji Europejskiej będący blisko sprawy, mówią, iż pójdą oni w przeciwnym kierunku: wymuszą dołączenie przeglądarek konkurencji (Google, Opera, Mozilla,Apple itd.). Głównym argumentem przeciw, firmy z Redmond, jest to, że użytkownik ma zawsze możliwość zainstalowania konkurencyjnej przeglądarki. Dla Brukseli to jednak za mało, woleli by oni aby użytkownikowi wyświetliło się okno z listą możliwych do ściągnięcia i uruchomienia przeglądarek, oraz ustawienia jednej jako domyślnej. Wraz z wypuszczeniem Windows 7 Relese Candidate, istnieje możliwość usunięcia IE8 (wersja beta na to nie pozwalała), wraz z innymi komponentami Windowsa, najwidoczniej dla UE nie było to wystarczające.
Źródła:
Przy okazji tej wiadomości, przypomniała mi się akcja z aktulizacją Internet Explorera. Sam osobiście nie przepadam za tą przeglądarką, aczkolwiek powszechnie wiadomo że całe multum użytkowników korzysta z tego produktu. Aby rozwój Internetu nie wpadał w stagnację, a webmasterom pracowało się lepiej zapraszam na stronę www.ie6.pl na której przeczytacie dlaczego warto zaktualizować program z niebieskim logo.
[ad#AdBrite-BlogKonopnickiej-468x60 Banner]
Zend Framework 1.8.2
Dwa dni temu została wypuszczona wersja Zend Framework o numerze 1.8.2. Jest to już druga opublikowana wersja w serii 1.8. Skupiono się w niej nad poprawkami w klasach Zend_Db oraz Zend_Loader_Autoloader (która została pierwszy raz umieszczona w wersji 1.8.0). W tym wydaniu poprawiono ponad 50 zgłoszonych błędów.
Strona: Zend Framework
Lista zmian: http://framework.zend.com/changelog/1.8.2
Włamanie do Avsim.com. Dzieciak wyczyścił 13 lat ciężkiej pracy.
Jak podaje BBC NEWS wczoraj miało miejsce włamanie na serwer Avsim.Com [strona w archive.org]. Avsim jest jedną z największych witryn obsługujących społeczność wirtualnych pilotów. Założyciel strony, Tom Allensworth, powiedział:
“Strona jest całkowicie wyłączona i nie ma pewności kiedy będzie ponownie uruchomiona. Zastanawiam się czy będzie kiedykolwiek z powrotem w Internecie. Sposób ataku sprawia że odzyskanie danych jest bardzo trudne, jeśli nie niemożliwe. Włamanie nastąpiło nie tylko na główny serwer, ale także na maszynę na którą robiona była codziennie kopia bezpieczeństwa”
Z obydwu maszyn usunięto dane. Wygląda to na robotę podnieconego dzieciaka któremu udało dostać się na serwer. W napływie adrenaliny udało mu się wymazać 13 lat pracy. Sam miałem przyjemność korzystać z tej strony w krótkim epizodzie bycia wirtualnym pilotem. Z mojej strony wypada mi tylko pogratulować mu wspaniałego czynu.
[ad]
Rekursywna zmiana praw katalogów lub plików.
Musiałem szybko zmienić prawa dla drzewa katalogów oraz plików w nich się znajdujących, z tym że katalogi miały dostać inne prawa niż pliki w nich się znajdujące. Zwykłe chmod XXX * -R nie było tym czego szukałem. Z pomocą przyszły dwa polecenia, find oraz xargs.
felixd@mx:/sites# find . -type f -print0 | xargs -0 chmod XXX
felixd@mx:/sites# find . -type d -print0 | xargs -0 chmod XXX
Proste i skuteczne.
ImageMagick, mogrify -resize
Szybko potrzebowałem zmienić rozmiar wielu plików na serwerze, ale tylko tych większych niż 700px. Po chwili poszukiwań znalazłem problem udało się rozwiązać:
# apt-get install imagemagick
# mogrify -resize 700> *.jpg
Tutaj mały wyciąg z dokumentacji ImageMagick:
Only Shrink Larger Images (‘
>‘ flag)
Another commonly used option is to restrict IM so that it will only shrink images to fit into the size given. Never enlarge. This is the ‘>‘ resize option. Think of it only applying the resize to images ‘greater than’ the size given (its a little counter intuitive).
Zend Framework 1.8. Zend_Loader::Zend_Loader::registerAutoload is deprecated
![]()
Notice: Zend_Loader::Zend_Loader::registerAutoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in /usr/share/php/Zend/Loader.php on line 207Notice: Zend_Loader::Zend_Loader::autoload is deprecated as of 1.8.0 and will be removed with 2.0.0; use Zend_Loader_Autoloader instead in /usr/share/php/Zend/Loader.php on line 186
A to pierwsze ostrzeżenie które pojawiło sie zaraz po załadowaniu nowego framework’a. Jak już pisałem w poprzednim newsie, w większości wypadków wystarczy podmiana kodu:
// Jeżeli masz: require_once 'Zend/Loader.php'; Zend_Loader::registerAutoload(); // W większości wypadków wystarczy zamiana na: require_once 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance();
Po więcej wiedzy odsyłam ponownie na Devzone Zenda’ oraz do Dokumentacji
Została wydana wersja Zend Framework 1.8.0 Ponad 200 błędów poprawionych, kilka nowych komponentów oraz narzędzi
31 kwietnia 2009 na Zend Developer Blog pojawiła się informacja o wydaniu nowej wersji Zend Framework 1.8.0. Nowe wydanie wnosi sporo zmian, między innymi:
- RAD’a (Rapid Application Development) czyli narzędzia które pomaga w szybkim tworzeniu aplikacji. Jednym poleceniem możemy utworzyć całą strukturę projektu, Kontrolery, Widoki, Akcje.
- Zmianie w działaniu ulega Autoloader Zenda. Jako zależność Zend_Application is Zend_Loader_Autoloader. Zend_Loader_Autoloader jest zamiennikie Zend_Loader::autoload(), który rozwiązuje wiele problemów zgłoszonych przez uzytkowników (więcej informacji o migracji do Zend_Loader_Autoloader).
Najszybszym i najprostrzym sposobem migracji jest poniższa podmiana kodu, aczkolwiek radzę poczytać artykuł na Devzone Zenda
http://devzone.zend.com/article/4525-Developing-a-Comprehensive-Autoloader
// Jeżeli masz: require_once 'Zend/Loader.php'; Zend_Loader::registerAutoload(); // W większości wypadków wystarczy zamiana na: require_once 'Zend/Loader/Autoloader.php'; Zend_Loader_Autoloader::getInstance();
- Wsparcie dla Cloud Computing oferowanego przez Amazon (Zend_Service_Amazon_Ec2, Zend_Service_Amazon_S3)
- Poprawiono ponad 200 błędów
Jeżeli chcesz zobaczyć kompletną listę zmian koniecznie odwiedź Zend Developer Blog. Zmianie uległy także Zend Framework QuickStart oraz świetny tutorial Roba Allana (Akra’s DevNotes).
Google Morsem

Google morsem
No to Google zaszalało
Na początku myślałem że ktoś im podmienił logo a tu proszę, wrzucili takie oto coś na główną stronę.
php_pdo_mysql.dll + apache.exe w XAMPP 1.7
Lokalnie do testowania aplikacji pod Windowsem używam Xampp’a (wersja 1.7). Jednak biblioteka do PHP PDO MySql’a w tym nie funkcjonuje tak jak należy. Udało mi się nawiązać połączenie z baza danych, lecz w momencie wykonywania zapytania “SELECT * FROM `bazadanych`” biblioteka zawiesza Apacha. Problem został już zgłoszony do grupy PHP, jednak na dzień dzisiejszy nie został oficjalnie rozwiązany.
http://bugs.php.net/bug.php?id=47722
Rozwiązanie znalazłem na forum Xamppa. Aby to naprawić należy ściągnąć ten plik,
http://windows.php.net/downloads/snaps/php-5.2-win32-VC6-x86-latest.zip
rozpakować go, znaleść libmysql.dll i podmienić pliki w katalogach xamppapachebin oraz xamppphp.
PDO MySQL i Zend Framework – Unix_Socket
Natknąłem się na mały problem podczas próby łączenia się z bazą danych używając PDO (adapeter do MySQL) + Zend Framework.
Can’t connect to local MySQL server through socket ‘/tmp/mysql5.sock’
Jedną drogą rozwiązania tego problemu jest ustawienie zmiennej unix_socket w pliku php.ini. Jest jednak druga możliwość. Wystarczy podczas przekazywania ustawień połączenia dodać zmienną “unix_socket” i tam wpisać prawidłową wartość
$options = array(
'host' => 'localhost',
'username' => 'user',
'password' => '****',
'dbname' => 'db',
'unix_socket' => '/tmp/mysql5.sock'
);
$db = Zend_Db::factory('Pdo_Mysql', $options);
W moim przypadku używam plików .ini:
[development] db.adapter = PDO_MYSQL db.configuration.host = localhost db.configuration.username = user db.configuration.password = passwd db.configuration.dbname = dbname db.configuration.unix_socket = /var/run/mysql/mysqld.sock
Google: Problemy z wynikami
This site may harm your computer
Ta strona może uszkodzić twój komputer

Takie informacje można było przeczytać w wynikach Google dzisiaj pomiędzy godziną 16 i 17. Google miało pewne problemy z wynikami wyszukiwania. Każda strona pokazana w wynikach była pokazana jako niebezpieczna. Problemem był człowiek. Konkretnie pisząc, osoba z organizacji non-profit StopBadware.org zajmującą się ręczną analizą zgłaszanych, potencjalnie niebezpiecznych stron. Jako że cała analiza wykonywana jest przez ludzi. a nie algorytmy wystąpiła drobna pomyłka. Google w aktualizacji która przyszła od tej organizacji otrzymała omyłkowy wpis “/” łapiący WSZYSTKIE strony które były wyświetlane w wynikach. Cały incydent, wraz z wprowadzeniem odpowiednich “łatek” trwał prawie 40 minut.
Jeżeli chcesz poczytać o tym na oficjalnym blogu Google zapraszam do czytania.
http://googleblog.blogspot.com/2009/01/this-site-may-harm-your-computer-on.html
Aktualizacja: Na stronie StopBadWare jest też informacja o tym
http://blog.stopbadware.org/2009/01/31/google-glitch-causes-confusion










Najnowsze komentarze