Archiv autora: wasek

Vlk a žába

Žába se ptá vlka: „Co to kouříš?“
Vlk: „Trávu.“
Žába: „A jak se to kouří?“
Vlk: „Hele žábo, to si musíš dát toho největšího práska přímo do plic a dlouho to udržet.“
Žába: „A jak dlouho to mám v sobě podržet?“
Vlk odpoví: „Tak dlouho, jako bys plavala pod vodou, na druhou stranu řeky a zpátky.“
Žába si dá práska a skočí do vody. Nevydrží to a na druhém břehu se vynoří a vyfoukne. Tam na ni kouká hroch a hned se ptá: „Žábo, co to tady provádíš??“
Žába: „Ale… učím se kouřit trávu.“
Hroch: „Já chci taky.“
Žába: „Tak to musíš plavat na druhý břeh, tam je vlk a on tě to naučí.“
Hroch plave, plave, vynoří se na druhým břehu. Tam na něj vejrá zhulenej vlk s vypoulenýma očima a křičí: „TY VOLE ŽÁÁÁBO!!!! UŽ VYFOUKNI!!!!“

Koupil jsem sporťák, Hyundai Coupé 1.6 16V

Už bylo na čase. Autem najezdím kvůli práci, sportu a přítelkyni spoustu kilometrů. Musel jsem se zamyslet nad nynějším stavem dopravy na českých silnicích a zvážit především otázku bezpečnosti při případném problému či kolizi s bezohledně jezdícími idioty a jinými anomáliemi. Poslední dva roky jsem vlastnil Škoda Rapid 136, což z hlediska bezpečnosti není příliš dobré auto. Nicméně jsem si jízdy s Matějem (takové měla Škoda 136 Rapid jméno) užíval. Nyní je už prodán a jezdí kdesi u Plzně.

coupe1

Hledal jsem auto do 10ti let stáří za rozumný peníz. Na popud svého švagra jsem nakonec sáhl po červeném Hyundai Coupé 1.6 16V z roku 1998, s dvěma airbagy, ABS. Po Matějovi tedy další třídveřové kupátko. Byla to láska na první svezení. Jen mne trošku mrzí, že mě většina známých a kamarádů kamenovala za mé rozhodnutí jít do „korejce“. Cena náhradních dílů je vysoká, ale prozatím mé zkušenosti a především požitek z jízdy jsou po měsíci velmi dobré.

coupe2

Kupátko je se slabší verzí motoru 1.6 16V, 84 kW. Výkonnější verze se dodávala s dvoulitrovým též bezturbinovým motorem. Při celkové hmotnosti 1600 kg to skutečně není nijak vyjímečný výkon, ovšem po několika divokých jízdách mohu říci, že postačuje. 🙂  Spotřeba se pohybuje dle měření „tankuji do plné“ okolo 7,5 – 8 litru na 100 km, což je velmi slušné, vezmu-li v potaz, že mu dávám často pořádně „napít“.

coupe3

Jak už jsem předeslal, auto mám teprve cca měsíc, takže jsem ve fázi seznamování. Coupé má už od původního majitele laděný výfuk. Nyní plánuji výměnu oleje a rozvodů, barvení brzdičů a instalaci xenonových výbojek H1 6000K.

Problém s rozdílem dvou datumů v javě

Rozdíl mezi dvěma daty se dá v Javě snadno vypočítat tak, že obě data převedeme na číslo v milisekundách (od 1.1.1970 00:00) a poté tyto dvě hodnoty odečteme a výsledek podělíme hodnotou, která reprezentuje den v milisekundách.

Taková myšlenka zapsaná v Javě by mohla vypadat nějak takto:

long DEN_V_MS = (24 * 60 * 60 * 1000L);
Date d1 = ... // napriklad 1.3.2008 00:00
Date d2 = ... // napriklad 1.5.2008 00:00
long vysledek = (d2.getTime() - d1.getTime())/DEN_V_MS;

Řešení se zdá býti primitivní, jednoduché, průhledné a jednoznačné. Ovšem problém nastane tehdy, pokud jedno z datumů je v období zimního času a druhé v období letního času. Jde o to, že Java automaticky odčítá (při přepočtu na milisekundovou reprezentaci) hodinu u druhého data, které je v onom „letním období“. Pak rozdíl dvou těchto dat bude o hodinu kratší. Jelikož se převod na celé dny provádí pomocí celočíselného dělení, vyjde pak rozdíl těchto dvou dat o den méně.

Jedno z řešení tohoto problému:

long DEN_V_MS = (24 * 60 * 60 * 1000L);
long HODINA_V_MS = (60 * 60 * 1000L);
Date d1 = ... // napriklad 1.3.2008 00:00
Date d2 = ... // napriklad 1.5.2008 00:00
long vysledek = (d2.getTime() - d1.getTime() + HODINA_V_MS)/DEN_V_MS;

Principem je přičíst onu Javou odečtenou hodinu při přesunu na letní čas. Můžete namítnout, že odečítám-li dvě data ze stejného období (letního nebo zimního), bude pak výsledek o tu hodinu větší. Ovšem jelikož chceme celé dny, případná hodina navíc se díky celočíselnému dělení (/DEN_V_MS) osekne.

Někdy i jednoduché a trapné chyby dokážou zkušeného programátora pěkně potrápit (chyby typu opomenutý středník a podobně). I problém chybějícího dne v rozdílu byl podobného ražení.