
Čer 01 2011
Jak O2 nefunguje zahraniční konektivita
Při pokusu otevřít stránky apple.com ve večerních hodinách přes síť Telefonica O2 končím na nemožnosti spojit se se serverem.
$ ping -c 10 e3191.c.akamaiedge.net PING e3191.c.akamaiedge.net (2.21.13.15): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1 64 bytes from 2.21.13.15: icmp_seq=2 ttl=54 time=185.296 ms Request timeout for icmp_seq 3 Request timeout for icmp_seq 4 Request timeout for icmp_seq 5 Request timeout for icmp_seq 6 Request timeout for icmp_seq 7 Request timeout for icmp_seq 8 --- e3191.c.akamaiedge.net ping statistics --- 10 packets transmitted, 1 packets received, 90.0% packet loss round-trip min/avg/max/stddev = 185.296/185.296/185.296/0.000 ms |
Čas změnit lokál, tedy internet providera. BTW, ve stejném čase při pokusu otevřít inkriminované stránky přes 3G od Vodafone vše v pohodě – tedy nebude to chyba na straně poskytovatele obsahu, ale ISP. Že by souvislost se spuštěním VDSL?
Dub 26 2010
Jak databázi nepřidávat práci
Procházel jsem log soubor databáze a díval jsem se na dlouho trvající SQL dotazy. Několik jsem jich našel a většinou se shodovaly v jedné drobnosti – přidávaly databázi zbytečnou práci:
1 2 3 | .... t.datum + '30 days'::INTERVAL > now() .... |
O co v tomto případě jde? Dejme sloupec datum typu TIMESTAMP, od informace uložené v tomto sloupci odečítáme interval 30 dnů. Tím jsme znemožnili využít index nad sloupcem datum a také pro každý řádek znovu vyhodnocujeme výraz now().
Jednoduchou změnou lze dotaz znatelně zrychlit a navíc mu umožníme použít index nad sloupcem datum:
1 2 3 | ... t.datum > 'now'::TIMESTAMP - '30 days'::INTERVAL ... |
Také 'now'::timestamp - '30 days'::interval je vyhodnoceno pouze jednou, není třeba znovu počítat pro každé porovnání.
Led 21 2010
Záhadné ClassCastException
Až Vám bude java poskytovat podobně záhadné výjimky, zkontrolujte, že nemáte některé třídy natažené 2x (například 2x natažená knihovna, jednou v Aplikačním serveru, podruhé ve spouštěné aplikaci):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | java.lang.ClassCastException: org.medoro.util.scheduler.ProcessScheduler cannot be cast to org.medoro.util.scheduler.ProcessScheduler at org.medoro.util.scheduler.LeskJob.getScheduler(LeskJob.java:59) at org.medoro.util.scheduler.LeskJob.contextInitialized(LeskJob.java:90) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:645) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:189) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:978) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:586) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:349) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55) at org.eclipse.jetty.deploy.ContextDeployer.deploy(ContextDeployer.java:341) at org.eclipse.jetty.deploy.ContextDeployer.access$000(ContextDeployer.java:66) at org.eclipse.jetty.deploy.ContextDeployer$ScannerListener.fileAdded(ContextDeployer.java:88) at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:412) at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:326) at org.eclipse.jetty.util.Scanner.scan(Scanner.java:282) at org.eclipse.jetty.util.Scanner$1.run(Scanner.java:234) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) |
Říj 16 2009
KFingerManager and KDMFprintPlugin in KDE svn
Since Wed, 14 Oct 2009 17:40:51 +0800 is source code of KFingerManager and KDMFprintPlugin part of KDE SVN.
I am sick because of this commit was not done by me (I dont backup .ssh from my work laptop and I must change ssh key). My thanks to 潘卫平(Peter Pan) for this commit.
Zář 25 2009
Bartoň Jaroslav, Ing.: Support for Fingerprint Authentication
Diploma thesis should be found at adress http://www.fit.vutbr.cz/study/DP/DP.php.en?id=8264&y=2008. It is written in czech.



