Archive for January, 2008

“for” cikls ir slikta datu bāžu vadības sistēma

Thursday, January 24th, 2008

Dažreiz lasu un brīnos, kā vispār kaut ko tādu var publicēt, jo MapReduce būtībā ir “for” cikls, kuru viegli izpildīt paralēli. Ja par 2., 3. punktu vēl varētu parunāt (aizmirstot uz mirkli par DBVS), vai vecas un pārbaudītas lietas ir sliktākas jaunām un buzzword-īgām, tad pie 4. un 5. punkta kafija nokļuva uz monitora. “for” cikls ir slikts, jo tam nav bulk loader, indexing, integrity constraints, referential integrity, transactions, data mining tools, database design tools, etc.

Bet no otras puses, atrodas ziņu avoti (Dienas Bizness, piemēram), kas pilnā nopietnībā stāsta par to kā 15 gadīgs jaunietis pārraksta fizikas likumus par mūžīgā dzinēja neiespējamību.

HDD recovery

Thursday, January 24th, 2008

Sliktas lietas notika ar HDD, uz kura glabāju mūziku un filmas. Š oreiz apjuka gan fsck, gan es:

cartman ~ # fsck -c /dev/hdc1
e2fsck 1.40.4 (31-Dec-2007)
/dev/hdc1: Attempt to read block from filesystem resulted in short read while reading block 524
/dev/hdc1: Attempt to read block from filesystem resulted in short read reading journal superblock
e2fsck: Attempt to read block from filesystem resulted in short read while checking ext3 journal for /dev/hdc1

Man paveicās, ka Linux dzīvo un strādā uz cita diska un varēju turpināt izmantot datoru. Nekad iepriekš nav nācies atjaunot Linux (arī Windows) diskus, tāpēc sagrābstīju visādu informāciju internetā un sekojot padomiem, nopirku jaunu, lielāku HDD datu kopijai. Tad uzinstalēju ddrescue programmu, kas esot ātrāka kopējot datus nekā standarta dd. Pieslēdzu jauno disku, piestartēju Linux un pārkopēju datus no vecā diska (/dev/hdc) uz jauno disku (/dev/sdb) :

cartman ~ # ddrescue -r 1 /dev/hdc /dev/sdb recover.log

ddrescue arī pateica, ka problēmas nolasīt datus bija tikai vienā vietā, tāpēc man radās cerība turpināt lietot bojāto disku, vismaz līdz nākošajām problēmām. Pēc tam ar fsck salaboju failu sistēmu jau uz jaunā diska:

cartman ~ # fsck /dev/sdb1

Uz vecā diska tas acīmredzot nebija iespējams dēļ bojātiem HDD sektoriem (badblocks /dev/hdc tos uzrāda). Sliktos blokus “salabot” (atzīmēt kā nelietojamus) var izdarīt ar fsck, kurš jau iepriekš atteicās darboties. Meklējot risinājumu, izveidoju jaunu failu sistēmu uz bojātā diska un tad fsck piekrita to labot:

cartman ~ # mke2fs -j /dev/hdc1
cartman ~ # fsck -c -c /dev/hdc1

“-c -c” komandrindā speciāli tiek norādīts divas reizes, lai veiktu read-write testu read-only vietā.

Nobeigumā datus no jaunā diska pārkopēju atpakaļ uz veco un jaunajam diskam pārtaisīju partīcijas. Tā kā ddrescue kopēja arī partīciju informāciju, jaunais disks priekš Linux likās tikpat liels kā vecais. Tagad viss pr0n ir glābts un iegūts jauns disks jaunam pr0n :)

Blame Canada!

Friday, January 18th, 2008

Politiķu bezadbildīgā rīcības rezultātā šodien esmu kļuvis par gadu vecāks! Un tagad ar lietussargiem uz Doma laukumu, atlaist Saeimu, par ārkārtas vēlēšanām!

zero defects methodology

Wednesday, January 16th, 2008

Vēl viens princips, ko noteikti vajag ieviest savā praksē: “zero defects” meant that at any given time, the highest priority is to eliminate bugs before writing any new code.