pátek 13. srpna 2010

Windows XP - Restartovat nyní

Windows XP - Restartovat nyní, nebo restartovat později

tato hláška mě nejvíce vytáčí, když se vrátím k počítači od oběda a mám tam prázdný desktop, samozřejmě, že bez uložené práce. Nehledě na to, že i když člověk klikne na restartovat později, tak to otravuje za pět minut znova Restartovat nyní, Restartovat nyní, Restartovat nyní,Restartovat nyní Ughhhhh.

...









Některé Windows XP se dají zkrotit přes registr, ale daleko rychlejší způsob je tenhle primitivní prográmek LeaveMeAlone!



Tento geniální prográmek je ke stažení zde.


středa 3. března 2010

Apache nenačte php.ini (hlasí none)

Tak u toho mě nepomohla kompilace php pomocí konfigurace:

--sysconfdir=/etc --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d

Příkaz php --ini hlásil stále cestu dobře, ale soubor s php.ini nenačetl se vzkazem:

Loaded Configuration File is (none)

Řešení:

Pokud se jedná o cgi, tak je potřeba vložit soubor php.ini do adresáře cgi-bin, kde se nachází spustitelný soubor php.

Tedy pokud je php soubor např v:

/public_html/cgi-bin/php

tak je potřeba vložit php.ini do:

/public_html/cgi-bin/php.ini

Apache - Fatal error: Class 'PDO' not found

Instalace PDO z balíků mě v jednom případě selhala, když jsem instaloval PDO z balíčku, který jsem popsal zde.

Řešení pomocí kompilace php:

Vše vyřešilo stažení zdrojáků php:

mkdir /root/php5
cd /root/php5
wget http://cz.php.net/distributions/php-5.2.13.tar.gz

Rozbalení:
tar -xzf php-5.3.1.tar.gz
cd cd php-5.2.13

Skript test.php s obsahem:
./configure --prefix=/usr/local/ --with-config-file-path=/usr/local/etc/php.ini --with-gmp --with-mysql --with-ldap --with-freetype-dir --with-gd --enable-gd-imgstrttf --enable-gd-native-ttf --with-expat-dir --with-png-dir --with-jpeg-dir --with-tiff-dir --with-ttf-dir --with-xpm-dir --disable-debug --enable-pcntl --enable-bcmath --enable-calendar --enable-discard-path --enable-exif --enable-force-cgi-redirect --enable-inline-optimization --enable-mbstr-enc-trans --enable-mbstring --enable-mbregex --enable-memory-limit --enable-safe-mode --enable-sysvsem --enable-sysvshm --enable-trans-sid --with-kerberos --with-ncurses --with-pdflib --with-readline --with-system-regex --with-bz2 --with-zlib-dir --with-zlib --with-zip --with-pear --enable-pic --enable-exif --enable-ctype --enable-ftp --with-openssl --enable-sockets --enable-track-vars --enable-magic-quotes --with-gettext --with-curl --with-iconv --enable-shmop --with-dom --with-xml --with-mime-magic=/usr/share/file/magic.mime --enable-pdo=shared --with-pdo-mysql=shared --with-pdo-sqlite=shared --with-sqlite=shared

Pokud konfigurace proběhne v pořádku, pak se kompilace spustí:

make
make install

Poté je třeba upravit soubor php.ini a přidat na konec řádky:

extension = pdo.so
extension = pdo_pgsql.so
extension = pgsql.so
extension = pdo_mysql.so

Pak je potřeba restartovat Apache a vše by mělo být ok :)

čtvrtek 25. února 2010

Apache padá

Apache padá

pokud vám také padá apache na windows xp s hláškou, že apache provedl neplatnou operaci.
S dotatečnými informacemi, že jde o:

httpd.exe.mdmp
appcompat.txt

szAppName : httpd.exe szAppVer : 2.2.10.0
szModName : php_xdebug-2.0.4-5.2.8.dll szModVer : 5.2.8.8

apodob.

Měl bych možná řešení, mě fungovalo.

V php ini jsem zakomentoval připojené debug knihovny, v mém případě php_xdebug a nejenom, že mě přestal apache padat, ale najednou pracuje docela svižně.

(Pro rejpače na windows XP: Na tomhle počítači ho musím používat, další firmení software mě k tomu bohužel nutí...)

MySQL errno: 121

MySQL errno: 121

MySQl a jeho záhadné chybové hlášky...

Dle manuálu: MySQL error code 121: Duplicate key on write or update

Tedy duplikovaný klíč, důvodem je, že název cizího klíče není unikátní v rámci celé databáze, stačí klíč přejmenovat a problém je vyřešen.

Pro přehled, kde jsem již ten klíč použil používám tento dotaz, který vypíše všechny cizí klíče v databázi a ve které tabulce se jednotlivé klíče nacházejí.

SELECT
constraint_name,
table_name
FROM
information_schema.table_constraints
WHERE
constraint_type = 'FOREIGN KEY'
AND table_schema = DATABASE()
ORDER BY
constraint_name;

úterý 23. února 2010

Nikon F70 Recenze

Nikon F70 recenze
Nikon F70 Recenze

Nedal jsem na recenze na internetu, které jsou velice rozporuplné a naopak mě toto kontroverzní tělo začalo ještě více zajímat, tak jsem se rozhodnul přidat ho do sbírky.

A zde je moje recenze na zrcadlovku Nikon F70 ekvivaletní na americkém trhu pod názevem Nikon N70.

Když jsem dostal do rukou tuto zdrcadlovku první co mě mile překvapilo jak se velice dobře drží, při focení více ocením masivitu, než drobounké těla, která nutí pořídit si grip.
Dle váhy byl poznat i vysoký podíl kovu, což beru jako další plus.

Druhý den v poledne jsem popadl Fomu 200 založil jí a vydal se testovat.

Stavil jsem se raději pro nové baterky, ouha, 380Kč. Údajně existuje možnost nasadit nabíjecí baterky, které mají ovšem trochu jiné napětí, ale při této ceně, to rozhodně zkusím. (Náklady odhadem 400Kč za dvě dobíjecí baterie + 300Kč nabíječka)

Nastalo první překvapení, ač jsem držel spoustu Nikoních těl v ruce, vrátil jsem se raději pro manuál.
Ovládání je opravdu nezvyklé, na toto téma se nemohu vyjádřit, myslím, že má své klady a zápory. Dle názorů ostatních jsem pochopil, že se nedá hodnotit objetivně a záleží na gustu každého uživatele.

První snímek. Cvak, cvak, cvak, velice tiše, ale původně jsem chtěl udělat pouze jeden. Spoušť je velice citlivá až překvapivě narozdíl od ostatních ovládacích prvků.
Jinak mě přišel velice tichý a autofocus dostatečně rychlí i když bude jistě pozadu před F100, ale to he hold již jiná třída.
Při dalším snímku jsem otestovat i funkci tichého chodu, která je docela zajímavá, rád se snažím být co nejvíce po tichu a pokud je v blízkosti kameraman, tak to jistě ocení i on.

Hledáček krásně svělý, všechny důležité informace obsahuje.

Mimo klasických scénických režimů, které jsou pohotově pod jedním tlačítkem + otočení kolečkem, jsou klasické režimy schované v menu, přes složitější přístup, avšak zajímavé řešení mám tento foťák v uživatelsky nadefinovatelném režimu.
Režimy jsou tři plus "nouzový" reset do programové automatiky se segmetovým měřením. Tyto režimy se dají rychle vyvolat přes tlačítko OUT + otočení kolečkem.
Nezvyklé ale osobně mě to přišlo praktické a nastavil jsem si M + bodové měření, M + středové a pohotové A + segmentové.

Zatím samé klady, ale co bych považoval za mínus je měření, je sice přesné, ale korekce jse schovaná v menu a když jsem se pokusil použít zmrazení expozice AE-Lock, tak pozice tlačítka u pravého kraje těla donutila můj palec, aby přestal držet tělo, takže focení jednou rukou je docela nestabilní.
Narozdíl od jiných Nikoních těl, které mají AE lock pěkně, tak aby nebylo prsty třeba přesunovat.

Nejčastěji používám mód M, tak mě zajímalo při pohledu na jedno jediné kolečko, jak budu nastavovat clonu i čas zároveň. Nastavování přes jedno kolečko s tím, že tlačítkem se přepíná zda nastavuji clonu, či čas nemám radá, takže jsem se z prvu bál.
Ale v tomto je to perfektní, kolečkem jenom čas a clonu pěkně po staru clonovým kolečkem na obějktivu.

Další den jsem vytáhnul ze skříně staré Nikoní pevné oběktivy a otestovat hlaví důvod, proč mě toto tělo příjde dobré. Ač jde o relativně moderní stroj. Umí měřit centrálně i bodově s mechanickými skly. Dokonce i bez oběktivu, takže je možnost hrát si s dírkovou komorou, která umí měřit.

Po západu slunce mě došlo, že toto tělo je stavěné na focení za světla.
Nemá předskoplení zrcátka a ani podsvětlený display. Druhý konkat na blesk také není, ale to se dá nahradit přes sáňky.
A když jsem u té tmy, mrzí mě, že už tohle tělo nemá šroub na klasickou dráťěnku.

Jako poslední mínus bych přidal absenci náhledu hloubky ostrosti.

Toto jsou sice mínusy, ale u nižší řady s tím počítám, než jako mínusy bych to označil jako důvody proč si pořídit vyšší řadu F100.

Celkový dojem mám z tohoto kontroverzního stroje perfektní a nějakou tu dobu na světle s ním pobudu. :)

Ještě byc rád dodal, že všeobecně se u totho těla diskutuje o barevném display, hlavně, že je čitelný a má všechny potřebné informace, takže k tomuto nemám co více dodat.

Za pár měsíců přidám pokračování.

pondělí 8. února 2010

Velikost písma HTML díl 3. - CSS Reset

Pro jednotnou velikost písma je dobré ještě zrušit veškeré přednastavení tagů jakou jsou H1,H2,H3.. jelikož se jejich interpretace v různých prohlížečích odlišná.

Proto je dobré použít "CSS reset".

Níže uvedený reset zruší veškeré přednastavení a je pak pouze na mě, abych vzhled písma nastavil ručně a opatrně, tak aby bylo zobrazení pokud možno stejné ve všech prohlížečích.

Ovšem, pokud se člověk rozhodne dodržet veškeré standardy, tak zobrazení bude vždy trochu jiné v Opeře, než v Mozille.

Následující resetující css kód uvádím na začátek svého css, případně ho uložím zvlášť do souboru, přecijenom více css souborů vede k většímu pořádku.

html {
font-size: 62.5%;
}

body {
font: 1.2em Verdana, Arial, Helvetica, sans-serif;
line-height : 140%;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
margin:0;
padding:0;
}

table {
border-collapse:collapse;
border-spacing:0;
}
fieldset,img {
border:0;
}
address,caption,cite,code,dfn,em,strong,th,var {
font-style:normal;
font-weight:normal;
}
ol,ul {
list-style:none;
}
caption,th {
text-align:left;
}
h1,h2,h3,h4,h5,h6 {
font-weight:normal;
}
q:before,q:after {
content:'';
}
abbr,acronym { border:0;
}

středa 27. ledna 2010

Zápisník Zoho Notebook

Tak jsem našel alternativu pro Google notebook.

Jmenuje se Zoho Notebook. K dostání je na adrese: http://notebook.zoho.com

Je to jedna z aplikací kompletní online sady kancelářských aplikací. Umožňuje vytvářet virtuální nástěnky, jak s textem, tak možností vložit video, zvukový klip, rss kanály, tabulky.....

Uvítal jsem možnost propojení s google účtem, jelikož, kdo si má pamatovat tolik hesel.

Nicméně, neubráním se pocitu, že notebook od google byl mohem praktičtější a navíc se mě na rozdíl od Zoho nestalo, že by mě zasekával počítač.

Firefox umožňuje i propojení s touto aplikací pomocí pluginu https://addons.mozilla.org/en-US/firefox/addon/6097

Smutný konec Google Notebook

Jako obrovská škoda, mě příjde ohlášení konce google aplikace Smutný konec Google Notebook.
Který je stále dostupný na adrese: http://www.google.com/notebook
Jak se i píše na oficiálním webu http://googlenotebookblog.blogspot.com/2009/01/stopping-development-on-google-notebook.html

Naštěstí, jak se se dočetl, je zmatek okolo rychlého exportování již uložených dat zbytečný, jelikož google pouze zastavil vývoj a rohodně, jak doufám, neudělá fatální chybu, že by data smazal.

V jednoduchosti je krása a budu doufat, že googlu jen zablokuje ativaci této aplikace pro nové uživatele a pro nás tuto aplikaci zachová.

Jak v google Gmail vložit obrázek do textu

Osobně jsem si Gmail velice oblíbil, nicméně některé naprosto běžné funkce jsou, pro běžného uživatele, dokonale schované jako je standardní záležitost vložení obrázku do textu.

Postup pro gmail v angličtině:
Napravo nahoře klikněte na Settings
Dále na záložku Labs
Vyhledejte v seznamu Inserting images
Přepněte na enable a dole klinětě na uložit.
V textovém editoru se pak objeví ikonka pro vložení obrázku.

Postup pro gmail v češtině:
Napravo nahoře klikněte na Nastavení
Dále na záložku Laboratoř
Vyhledejte v seznamu Vkládání obrázků
Přepněte na Aktivovat a dole klinětě na uložit.
V textovém editoru se pak objeví ikonka pro vložení obrázku.

sobota 23. ledna 2010

MySQL a automatický TIMESTAMP

Narazil jsem na chybovou hlášku:

1293 There can be only one TIMESTAMP column with CURRENT_TIMESTAMP in default

Následovalo koumání proč MySQL umí automaticky vytvářet sloupce s aktuálním časem:
  • Pouze na jednom sloupci
  • Pouze ve formátu timestamp
Jelikož potřebuji často více sloupců nastavovat na aktuální dobu a navíc dávám přednost formátu datetime, zjistil jsem, že tato automatika je pouze historický pohrobek toho stroje a proto má takové omezení.

Řešení je v Triggeru:

CREATE TRIGGER tabulka BEFORE INSERT ON tabulka FOR EACH ROW

SET NEW.vytvoreno = NOW();
SET NEW.vytvorenodalsisoupec = NOW();


čtvrtek 21. ledna 2010

SVN Server zdarma xp-dev.com

Tak budu mít na chvilku klid od strachu, že mě klekne disk s nezálohovaným projektem.
SVN mě sice lehce zaťežuje komp, ale má to svoje výhody. Jelikož sem neměl čas instalovat vlastní SVN server porozhlédnul jsem se po tom, co je na internetu free a zvolil xp-dev.com.

Časem asi obětuji 5$ měsíčně za plnou funkcionalitu, jelikož zdarma je:
200MB prostoru
to mě bohatě stačí, zrojáky zas tak moc místa nezaberou.
Počet projektů 2
Tak snad více založených účtů to jistí ne? :)
SSL přístup
ve vezi free není
Nejsem paranoidní, že by se někdo pokoušel můj projekt ukrást :)
Bannerová reklama
Tu odstraní můj webový prohlížeč :)
Verze free nemá WebDAV
Nepotřebuji :)
Obsahuje dodatečné záležitosti jako Blog, Wiki atd...
To je sice pěkné, ale mě zajímá hlavně ono SVN

Zatím jediné co mě ve verzi zdarma opravdu chybí je automatické zálohování. Sice xp-dev.com obsahuje import export, takže ruční zálohování možné je, ale na to člověk dokáže lehce zapomenout a je problém na světě. Naštěstí xp-dev.com nabízí za 20$ ročně automatické zálohování na Amazon S3 a to je pakatel. Stačí oželit jednu návštěvu hospody. :)

úterý 19. ledna 2010

Řádkové zabezpeční v MySQL

Nedávno jsem se dočetl že v MySQL nelze realizovat řádkové zabezpečení. Trocha času googlováním mě ubezpečila, že se jedná o všeobecný názor, avšak kde je vůle tam je i cesta. :)

Pro rubustnější, rozsáhlé aplikace bude jistě lepší využít databázi, kde přímo řádkové zabezpečení implemetuje jako je Oracle, ale co dělat, když máme k dispozici jen MySQL?

Nebudu vypisovat své podrobné řešení, to by mohlo být sporné, zda je ideálně navržené, takže zůstanu u tautologie.

To tabulky, kterou jsem chtěl řádkově zabezpečit stačilo přidat sloupec identifikující uživatele s právem přístupu. Tento sloupec je třeba zabezpečit, naštěstí MySQL podporuje sloupcové zabezpečení, případně se to tá ještě pojistit jeho pohledy či triggery.

Při INSERTU či UPDATE známe jméno uživatele, tak můžeme pomocí triggeru uložit do řádku i majitele.

Při chráněném SELECTU pak stačí použít pohled s podmínkou aby přihlášený uživatel byl roven uživateli zapsanému v řádku. Kdo je právě přihlášen nám prozradí funkce User().

Takto se dá vytvořit jak jednoduchý systém řádkového zabezpečení, tak po pár rozšíření této databáze i docela výkoný, je však pravda, že pokud máme možnost upravovat MySQL, zpravidla máme možnost použít "nadupanější" databázi.

Nulový PageRank

Chaos okolo nulového PageRanku je velice zajímavá. Přestože se plno webovým projektům návštěvnost nezměnila, plno webmasterů je vystrašených z nulového pageranku, naprosto zbytečně. Google prostě pouze aktualizoval systém výpočtu a budeme si muset možná i řádově měsíce počkat, až nám ho roboti znovu přidělí.

Navíc je podle mě důležité, že se PageRank stal technicky spíše informací pro uživatele a pro postavení ve vyhledávačích je pouze jeden z mnoha a mnoha faktorů.

Osobně bych řekl, že pro dobrý PageRank s nenulovou hodnotou je nejlepší vytvářet opravdu poctivý obsah a odkazy vyměňovat raději s principem nezáleží na kvantitě, ale na kvalitě, oni ty roboti už hold nejsou tak blbý a poznají, že všechny ty linky jdou z katalogů a takovému webu přidělí nulový PageRank nejen na pár měsíců, ale na trvalo. Kdo tvoří obsah poctivě, může si být jist, že jeho dobré postavení bude nadčasové.

O tom, že okolo PageRanku koluje mnoho mýtů ukazuje i následující článek z Wikipedie. Přestože algoritmus toho koeficientu je přísně utajen a stále se mění, autor článku "zveřejňuje" jeho výpočet. :D

http://cs.wikipedia.org/wiki/PageRank