PostgreSQL – losowe wartości z podzapytania

UWAGA! Ten wpis ma już 8 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

W PostgreSQL, korzystając z podzapytania używającego funkcji RANDOM() tak, jak np. w MySQL, otrzymamy te same wyniki dla każdego wiersza.

Przykład:

SELECT
    t1.id,
    (SELECT name FROM table2 ORDER BY RANDOM() LIMIT 1) AS random_name
FROM table1 t1

W tym DBMS podzapytanie tego typu wykonuje się raz, więc przy każdym wierszu z tabeli table1 będzie widniała ta sama wartość random_name.

Aby to zmienić, wystarczy sztucznie skorelować podzapytanie z zapytaniem nadrzędnym, np. tak:

SELECT
    t1.id,
    (SELECT name FROM table2 WHERE t1.id = t1.id ORDER BY RANDOM() LIMIT 1) AS random_name
FROM table1 t1

Niby proste, ale jakiś czas temu straciliśmy w pracy na tym trochę czasu (zwłaszcza nie wiedząc, że problem jest związany z podzapytaniami, bo samo zapytanie było bardziej złożone).

Eclipse – ponowne wywołanie informacji kontekstowej

UWAGA! Ten wpis ma już 8 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

Gdy w Eclipsie wywołujemy metodę/funkcję, pojawia się informacja kontekstowa z listą jej parametrów wraz z wyróżnieniem właśnie wpisywanego:

Gdy jednak wciśniemy escape lub utracimy focus na metodzie, informacja ta nie pojawia się ponownie, co zawsze było dla mnie problemem (trzeba było najechać na nazwę metody/funkcji, aby uzyskać informację o parametrach). Okazuje się jednak, że aby ponownie wywołać tę podpowiedź wystarczy wcisnąć CTRL+SHIFT+spacja.

Źródła: [1], [2]

Automatyczne generowanie opisu commita przy git merge

UWAGA! Ten wpis ma już 8 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

Krótko, lecz treściwie: odkryłem przełącznik –log=n  przy git merge.

Będąc na feature branchu opisuję dokładnie zmiany wraz ze znacznikami zagadnienia, co potem jest przetwarzane Redmine’a. Niestety, przy wykonywaniu merge’a do mastera sugerowana jest domyślna treść, którą nadpisywałem skopiowanym opisem któregoś z ostatnich commitów w branchu.

Aż do wczoraj. Kolejny raz przeczytałem manual i doszukałem się w nim ww. przełącznika. W moim przypadku wystarczy więc wykonać merge’a poprzez:

git merge --log=n redmine-XXXXX

Dzięki temu do domyślnej treści merge’owego commita dopisywana jest lista opisów ostatnich n commitów z tego brancha.

3-way merge przy aplikowaniu patcha w git

UWAGA! Ten wpis ma już 8 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

Nigdy nie rozumiałem sensu używania git apply. Kiedyś zastanawiałem się, czy ma jakieś zalety w stosunku do sprawdzonego patcha. Przejrzałem wtedy nawet pobieżnie manuala stwierdzając, że jest tam przecież tylko to, co ma sam patch. W swojej pracy używałem więc sprawdzonego i dobrze znanego patcha.

Dopiero niedawno uświadomiłem sobie, że pominąłem chyba najistotniejszy przełącznik: -3 . Jego użycie powoduje (w przypadku, gdy diff nie aplikuje się wprost) wykonanie 3-way merge’a. W wielu przypadkach samoczynnie rozwiązuje to problem z aplikowaniem diffów, których nie dałoby się zastosować przy użyciu samego patcha.

Firefox – narzędzia dla programistów zamiast Firebuga

UWAGA! Ten wpis ma już 8 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

Dopiero niedawno dowiedziałem się, że popularny dodatek do Firefoksa – Firebug – jest już od jakiegoś czasu martwy. Autorzy zalecają używanie narzędzi dla programistów wbudowanych w Firefoksa.

Mając świadomość, że z czasem pojawią się problemy (a jeden wystąpił już kilka miesięcy temu, gdy chciałem podejrzeć ruch generowany przez websockety), usunąłem Firebuga i zacząłem korzystać z wbudowanych narzędzi. Jak na przesiadkę z narzędzia, którego używam co najmniej od 5 lat, proces przebiegł zaskakująco łatwo.

Wbudowane narzędzia dla programistów na pierwszy rzut oka są według mnie nieco ładniejsze od Firebuga. Inspektor oraz wyróżnianie nim elementów jest czytelniejsze. Edycja drzewa DOM jest łatwiejsza, zaś zdarzenia JS (które w Firebugu były dość mocno zakamuflowane)  są teraz oznaczone tagiem „ev” przy elemencie, pod który są podpięte.

Na uwagę zasługuje też narzędzie do badania wydajności oraz przebudowany panel „Sieć”, który wyświetla szczegóły żądań w wygodniejszy sposób. Prezentuje on też dane przesyłane przez websockety, czego brakowało Firebugowi.

Narzędzia dla programistów z Firefoksa posiadają też kilka nowych funkcji. Mnie w oczy rzucił się „Brudnopis” otwierany w osobnym oknie (a nie jako część panelu konsoli) oraz wygodny „Próbnik koloru”, automatycznie kopiujący do schowka kod koloru wskazanego piksela. Nie może tu zabraknąć też narzędzia: „Widok trybu responsywnego”, który ułatwia rozwijanie aplikacji z responsywnym layoutem.

Podsumowując – polecam. Przesiadka jest praktycznie bezbolesna, a warto choćby ze względu na wymienione wyżej nowości i usprawnienia.

 

Bitcoin nie daje rady

UWAGA! Ten wpis ma już 11 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

Bitcoin to niewątpliwie waluta przyszłości. Prostota użycia, implementacji, anonimowość i błyskawiczne płatności, a to wszystko niezależnie od rządów i – przy stosowaniu się do kilku reguł – podatków. Właśnie tak myślałem, dopóki nie przyszło mi skorzystać z tej waluty w praktyce. Całe szczęście, że nie do końca do moich celów.

Bitcoin stał się popularny w polskich mediach w zeszłym roku, pewnie ze względu na gwałtownie rosnący kurs BTC do USD (jednak ta bańka pękła prawdopodobnie na początku grudnia). To spowodowało, że zainteresowałem się tematem i postanowiłem przetestować, jak płatności Bitcoin sprawdzają się w praktyce.

I żeby nie przedłużać – nie sprawdzają się. Spostrzeżeń jest kilka:

  1. Bitcoin nie nadaje się do mikropłatności. Jeżeli masz serwis oferujący relatywnie tanie usługi i chcesz wdrożyć płatności w tej walucie, szybko o tym zapomnij – unikniesz wyrzucenia pieniędzy w błoto. Małe transakcje są znaczącym problemem dla sieci i są przez osoby z nią związane wprost nazywane spamem. W efekcie oficjalny klient, dla transakcji niskopriorytetowych – wymusza minimalną opłatę transakcyjną na poziomie 0,0001 BTC, czyli ok. 0,26 zł w dniu i godzinie redagowania tego wpisu. W praktyce jednak opłata ta jest wyższa. Przykładowo – przy wykonaniu pojedynczej, testowej płatności pomiędzy swoimi portfelami na kwotę 0.00006 BTC (~0,16 zł) zapłaciłem 0.00146 BTC (~0,38 zł) prowizji. Słabym pocieszeniem jest brak faktycznej konieczności płacenia prowizji od transakcji powyżej 0,01 BTC (~26 zł). W pozostałych przypadkach, jeżeli nie zapłacisz prowizji, zapomnij o potwierdzeniach transakcji w rozsądnym czasie. Lepiej skorzystaj z ELIXIR.
  2. Zerowa wiarygodność kursu. O ile punkt pierwszy Cię nie dotyczy, przygotuj się na konieczność szybkiego i częstego „przewalutowania” płatności otrzymanych w Bitcoin na coś stabilniejszego, lub na ryzyko utraty sporego odsetku pieniędzy w ciągu długiego weekendu. Zdaję sobie sprawę, że jest to pewnie kwestia młodego wieku tej waluty, jednak niedogodność tę trzeba mieć „z tyłu głowy” przy podejmowaniu decyzji o wdrożeniu płatności w Bitcoinach.
  3. Anonimowość w płatnościach Bitcoin to fikcja. Wszystkie transakcje są dostępne publicznie. Co z tego, że do informacji należy tylko adres portfela źródłowego, docelowego i kwota i że nie ma tam żadnych danych stron transakcji, tytułów, itp.? W praktyce jednak zawsze dojdzie do powiązania adresu portfela z podmiotem gospodarczym. A do tego wystarczy już tylko Google i np. https://blockchain.info/, i już każdy zna nie tylko saldo Twojego portfela, ale też szczegóły wszystkich jego transakcji. Jeżeli chcesz w miarę szybko zacząć przygodę z Bitcoin, prawdopodobnie kupisz pierwsze Bitcoiny w którymś z dużych kantorów. Przyda Ci się więc informacja, że jeden z największych – https://www.mtgox.com/ – przy rejestracji może poprosić Cię nie tylko o skan dokumentu tożsamości, ale też np. wystawionego na Ciebie rachunku za bieżące opłaty.

Powyższe powody dyskwalifikują dla mnie BTC w obecnym czasie. A szkoda, bo zakochałem się w tym, jak proste jest korzystanie z tej waluty – zarówno w zwykłych transakcjach, jak i samym wdrożeniu płatności w tej walucie w aplikacjach internetowych.

Chyba znalazłem swoją następną dystrybucję Linuksa

UWAGA! Ten wpis ma już 13 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

Od ładnych paru lat korzystam z Mandrivy. Wersja 2007.1 była chyba szczytem formy tej dystrybucji. Korzystałem z niej krótko mimo tego, że nie było z nią większych problemów. Cały sprzęt w moim Acerze był obsługiwany out of the box, nawet tak egzotyczne rzeczy, jak klawisze walutowe czy port IrDA. Diabeł tkwił jednak w szczegółach – Mandriva 2007.1 posiadała kilka drobnych, jednak irytujących błędów. Jednym z nich była totalna zwiecha systemu przy odłączaniu z USB niektórych urządzeń, np. drukarki. Utrudniało to mobilność – chęć przeniesienia laptopa w inne miejsce musiała zostać zabita w zarodku, gdy podłączona była drukarka. Wtedy jednak jakoś sobie z tym radziłem, do czasu, gdy wyszła wersja 2008.0, a potem – 2008.1.

Ta ostatnia na dobre zawitała na moim dysku – instalacja z 2009 roku działa do dziś i to właśnie na niej cały czas pracuję. Jednak od tej wersji następował upadek tej dystrybucji. I nie chodziło jeszcze wtedy o głupie decyzje developerów. Najbardziej widoczne było to w liczbie bugów, które przelewały się przez mandrivowe fora. Wiele z nich dotyczyło również mnie, a konkretniej – mojego sprzętu.

Permanentnie przestało działać wiele rzeczy, zaś niektóre wymagały długiego grzebania w systemie, aby osiągnąć efekt z wersji poprzedniej. Przestało działać sterowanie podświetlaniem z klawiatury, przez co musiałem napisać prosty skrypt korzystający z xbacklighta. Były problemy z WiFi, które zostały częściowo rozwiązane, jednak do tej pory mam problem z łączeniem się z lepiej zabezpieczonymi sieciami. IrDA nie działa, jednak nie poświęcałem jej wiele czasu, bo nie była mi już potrzebna tak, jak wcześniej. Z Bluetooth nie da się zrobić nic poza wyszukiwaniem urządzeń. I chyba najbardziej uciążliwa usterka – przestał działać suspend2ram, przez co byłem skazany co najwyżej na hibernację.

Co rok sprawdzałem kolejne wersje Mandrivy. Było jednak tylko gorzej – z każdą wersją działało coraz mniej. Chciałem to jednak naprawić, bo wersja 2008.1 starzała się coraz szybciej, znikały też kolejne serwery hostujące repozytoria z paczkami RPM. Ściągnąłem i zainstalowałem wersję cooker z nastawieniem na zgłaszanie bugów, które najbardziej mi przeszkadzają. Jak głupi byłem, okazało się dopiero po paru tygodniach.

Developerzy Mandrivy obrali postęp za główną ideę przy tworzeniu systemu. I o ile nie mam nic przeciwko temu, o tyle oni uparcie brnęli w rozwiązania bezsensowne. W 2009.1 nie było już KDE3.5 – został on zastąpiony wczesną wersją KDE4. W ten sposób otworzono puszkę pandory.

Każdy, kto miał do czynienia z KDE4 w jego pierwszych wersjach wie, jak fatalne było to środowisko. Niestabilność i restarty były powszechne. Jednak z jakiegoś powodu, developerzy Mandrivy umieścili to środowisko jako wiodące w 2009.1, jednocześnie pozbawiając KDE3.5 w repozytoriach kluczowych do jego działania paczek. Czarę goryczy przelało także PulseAudio i pomysł na przepisanie wszystkich aplikacji z KDE3.5. Dzięki temu otrzymaliśmy Amaroka 2, paskudnego jak noc „iTunes wannabe” bez tak kluczowych opcji, jak powtarzanie utworu, losowanie czy korektor graficzny. Mimo, że 2009.1 była dla mnie nieużywalna, dodawałem na potęgę bugi w Bugzilli Mandrivy. Bez skutku – większość błędów pozostała, niektóre po prostu zostały olane mimo, że problem nie zniknął.

Po tym wydarzeniu okopałem się w wersji, z której korzystałem – 2008.1. Zrobiłem sobie mirror repozytorium na płytach DVD na wszelki wypadek. I korzystam z niej do dzisiaj.

Jednak parę dni temu zainteresowałem się znowu najnowszą wersją Mandrivy. Rozczarowałem się – 2011 jest tak samo beznadziejna. Czytałem tez na temat zawirowań ws. tej dystrybucji i kolejnych przetasowaniach. Jeszcze pod koniec poprzedniego roku obiecywano „odrodzenie” Mandrivy i wydanie wersji 2012 w marcu. Tak, marzec minął, a oficjalne wiki dystrybucji milczy. Jestem prawie pewien, że Mandriva już umarła.

W internecie pojawiały się jednak przebąkiwania o forku Mandrivy o nazwie Mageia. Z nudów postanowiłem ściągnąć LiveCD pierwszej wersji.

Do tej pory nie mogę wyjść z zachwytu. KDE jest używalne, jest Clementine zamiast Amaroka 2. WSZYSTKO działa tak, jak w Mandrivie 2007.1, a nawet lepiej. WiFi poprosiło tylko o ścieżkę do firmware, i zaczęło sygnalizować swoją obecność diodą na obudowie, która nie świeciła od paru ładnych lat, sterowanie podświetleniem działa, IrDA się odzywa, bluetooth działa natychmiast po wtyknięciu adaptera na USB. Działa też suspend2ram. I to wszystko od razu po uruchomieniu systemu z LiveCD.

Zacząłem śledzić rozwój Magei, jako, że za miesiąc ma wyjść druga jej wersja. I jeżeli będzie tak dobra, jak poprzednia, to na pewno na długo u mnie zagości. O ile oczywiście nie wezmą przykładu ze swojego pierwowzoru. :>

Mistrzowie developerki i naprawiania błędów

UWAGA! Ten wpis ma już 16 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

Jakiś czas temu, przeżywając kryzys dystrybucyjny systemu Linux, zacząłem eksperymentować z cookerem systemu Mandriva 2009.1. Wersja rozwojowa, więc zamiast narzekać, zacząłem karmić ichnią Bugzillę zauważonymi błędami i propozycjami ulepszeń. Gdy na początku zaczęli poprawiać drobne niedopatrzenia, byłem pełen nadziei, że zaczną coś robić z pozostałymi, poważniejszymi. Dopiero teraz zdałem sobie sprawę, jaki byłem głupi.

To, że Mandriva 2009.1 jest totalną porażką i krokiem wstecz, jest oczywiste. W dniu premiery nawet najwierniejsi fani na wszystkim znanych mi forach łapali się za głowy, że wydano taki bubel. I pewnie jest to wynikiem wyścigów z Ubuntu, które również wydaje nową wersję w kwietniu. I tak oto w 2009.1 KDE4.2 jest już systemem wiodącym do tego stopnia, że KDE3 w repozytoriach pozbawiono go połowy aplikacji. Nie ma starego Amaroka, nie ma KPowersave, nie ma nawet prostego KMiksa. Nie muszę chyba dodawać, że aplikacje backportowane mulą niemiłosiernie (a szczytem jest już to, że po zmianie głośności za pomocą klawiszy funkcyjnych laptopa muszę czekać 2-3 sekundy na reakcję systemu). Do tego dochodzi masa innych, poważnych błędów: po rekonfiguracji system dobiera zły moduł do obsługi WiFi, pojawiają się śmieci w polach tekstowych aplikacji KDE3, itp. No cóż – „to tylko cooker” – myślałem. Jednak moje błędy nadal wisiały na Bugzilli.

Ostatnio jednak zacząłem dostawać optymistycznie zatytułowane maile z ww. systemu, zawierające w sobie „RESOLVED”. Ucieszony zacząłem czytać raporty, jednak mocno tego żałowałem. Otóż zgłoszony przeze mnie bug o tym, iż po instalacji KDE3 z repozytorium, KBluetooth nie wykrywa adaptera BT na USB, został rozwiązany. Tyle, że z etykietą „WONTFIX”. Oto słowa genialnego developera:

we will remove it from cooker, it doesn’t work with bluez4

Cóż to oznacza? Ano to, że KDE3 w Mandriva 2009.1 zostanie praktycznie pozbawiony możliwości korzystania z BT – KBluetooth4 nie działa bowiem na starym KDE. Naprawdę, jestem pełen podziwu dla geniuszu pomysłowych developerów. Tylko życzyć takich innym dystrybucjom.

Dzisiaj dostałem jednak kolejny mail, podobnie zatytułowany do poprzedniego. Tym razem chodzi o Amaroka 1.4.10, czyli ostatnią stabilną wersję „starego” Amaroka. Sprawa zupełnie niekontrowersyjna, ponieważ nie ma chyba osób, które używałyby z powodzeniem Amaroka 2. Paskudny, iTunesowy wygląd, brak takich opcji, jak powtarzanie, losowanie, korektor graficzny (!). Do tego bugi, jak nieprawidłowa obsługa Last.fm, brak obsługi podcastów czy urządzeń muzycznych, brak automatycznego tagowania za pomocą MusicBrainz. Nie da się tego po prostu używać. Ale mimo to, developerzy są pełni wiary w nowy, słuszniejszy produkt i:

We won’t add back amarok 1.4 on cooker.

OK, developerom Amaroka się poprzewracało w dupach, wydając stabilną, nową wersję programu, który nie ma nawet połowy funkcji poprzedniego. Ale to poprzewracanie widocznie się udziela.

Nie wiem, kiedy to się skończy, bo póki co jest coraz gorzej. I wiem, że zaraz zlecą desktopowcy mówiąc, że u nich wszystko działa. OK, ale umówmy się – na desktopie to mi wszystko działało od czasów Auroksa 10. I działa do tej pory, nawet na najtańszych płytach głównych i chińskich kościach do wszystkiego. Tyle, że nie o to tu chodzi, bo pojawia się wyzwanie, jak laptop i kilka funkcji więcej, i już są problemy.

Nie rozumiem też obrzydzenia developerów do poprzednich wersji aplikacji. Co jest złego w KDE3? I dlaczego mam używać KDE4.2, skoro poprzednia wersja działa u mnie dość szybko i bezproblemowo? OK, może i 4.2 jest zoptymalizowany, napisany od nowa, przyspieszony. Tyle, że ja tego zupełnie nie zauważam. Na KDE3 w Firefoksie potrafię mieć otwartych 15 kart z flashami i oglądać płynnie filmy na nich. W KDE4.2 otworzę sobie jeden teledysk + 2 inne karty, niezawierające flasha, i już zamiast filmu mam animację poklatkową.

Developerzy radzą na „starszych” sprzętach instalować jakieś śmieszne i biedne środowiska. OK, ale ja wcale nie mam zegara procesora taktowanego 233 MHz i 64 MB RAM-u. Mam te 1,73 GHz i 512 MB, więc dlaczego nie wystarcza to do swobodnej pracy? Nie da się? Widocznie się da, skoro KDE3 sobie radzi. No ale cóż, z obecnym myśleniem, życzę developerom powodzenia. Bo jeszcze trochę, a nie będzie się dało Mandrivy używać (nie, nie chcę zmieniać dystrybucji, za stary jestem).

Póki co, mam idealnie skonfigurowaną wersję 2008.1 oraz ściągnąłem na dysk repozytorium dla niej. Nagram na płyty i chyba zostanę, dopóki nie zmienię sprzętu (a nie zapowiada się, bo po prostu nie widzę potrzeby). A repozytorium się przyda, gdyby autorom z dnia na dzień przyszło na myśl, że 2008.1 to już wiekowa jest i „deprecated”.

Cursedsnake 0.5

UWAGA! Ten wpis ma już 16 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

Niedawno wpadłem na pomysł napisania jakiejś gry. Dawno niczego „twórczego” nie pisałem, a i pomysł akurat się przyplątał – napisać snake`a pod konsolę, dla treningu.

Żeby maksymalnie uprościć sobie pracę, wybrałem bibliotekę ncurses do obsługi klawiatury i ekranu. Wszystkie metody i pola wrzuciłem w klasę, dla czytelności i prostszych ewentualnych modyfikacji. Jakichś specjalnych rozwiązań brak, bo w końcu temat oklepany, jednak starałem się pisać i wymyślać wszystko od zera. Główna pętla chodzi na liczniku z użyciem clock(), wąż jest reprezentowany w pamięci jako lista jednokierunkowa. Kodziłem sobie we wdzięcznym IDE o nazwie Code::Blocks.

From Snake

Obecna wersja to 0.5, lecz w zasadzie nie mam już pomysłów na jakieś nowe funkcje w tej grze. Różnice w stosunku do poprzednich wersji można śledzić w changelogu. Kod jest w miarę uporządkowany, można się przyczepić do mieszania języków w nazwach zmiennych, ale może to poprawię kiedyś.

Co do licencji, to nie myślałem nad tym dłużej, dlatego nie widzę problemu w wykorzystywaniu źródeł w różnych celach, jeżeli ktoś się będzie bawił w modyfikacje, to proszę tylko o umieszczenie informacji o autorze.

Oto link do pobrania źródeł (jest to paczka z projektem Code::Blocks, plik źródłowy to main.cpp):

CursedSnake 0.5

Z góry dziękuję za wszelkie sugestie w komentarzach. 😉

Google Chrome w oczach ortodoksyjnego firefoksiarza

UWAGA! Ten wpis ma już 16 lat. Pewne stwierdzenia i poglądy w nim zawarte mogą być nieaktualne.

Wczoraj na Joggerze panowała gorączka nowej przeglądarki Google o nazwie Chrome. Jako, iż jest to na razie wersja tylko pod Windows oraz przez to, że oczytałem się na ww. blogach o podobieństwie do Opery, to postanowiłem odpuścić. Jednak dzisiaj znalazłem chwilę czasu, żeby to przetestować. I oto moje spostrzeżenia:

  • nie zauważyłem zwiększenia prędkości w stosunku do Firefox 3 dla Windows (o linuksowym nie mówię, bo tam nadal jest problem z Flashem),
  • brak górnej belki menu oraz paska statusu na pierwszy rzut oka wydaje się być dobrym rozwiązaniem, kończy nim być gdy chcę się dowiedzieć, do czego prowadzi wskazany link oraz gdy chcę jakoś zarządzać zakładkami,
  • podoba mi się sygnalizacja wszelkich ostrzeżeń – np. przekreślone https czy ikony w pasku adresu,
  • imitacja AwesomeBar daje radę, ma też wpisanych wiele popularnych stron (np. po wpisaniu „da” pojawia mi się odnośnik do DeviantArt, chociaż nigdy tej strony nie odwiedzałem),
  • nie ma potwierdzenia zamknięcia przeglądarki przy otwartych wielu kartach (a ja z przyzwyczajenia do TabMix Plus klikam zawsze na ten brzegowy „x”),
  • po przejechaniu rolką na niektórych obiektach Flash (np. odtwarzaczu YouTube) następuje kilkunastosekundowe zatrzymanie przeglądarki,
  • taki sam efekt powoduje czasem przejście z jednej karty na drugą,
  • słownik nie działa poprawnie (np. podkreśla wszystkie wyrazy zakończone na „-em”),
  • gwiazdka zakładek mimo, iż zerżnięta żywcem z Firefoksa, lepiej spisuje się po lewej stronie,
  • brak wtyczek daje o sobie znać, zwłaszcza przy googlowej polityce minimalizmu (dosłownie trzy skromne zakładki w oknie konfiguracji!),
  • SpeedDial nigdy nie wygra u mnie z paskiem zakładek,
  • mam wrażenie, że każdą z opcji Chrome’a już gdzieś widziałem, i chyba nawet mam rację,
  • denerwuje mnie sposób ładowania strony – najpierw szkielet jest zmniejszony, a potem pod wpływem obrazków rozciąga się, a to na boki, a to w dół,

I to by było na tyle, i tak nie będę używał tej przeglądarki na codzień (chyba, że kiedyś na Windows, tak, jak to robię z Google Talkiem).