Ja nüüd midagi hoopis isesugust

On ajaratas ringi käind ja kasvav põlvkond on taasavastamas eelmisel sajandil laineid löönud asju. Niisiis, StarWars tekstiterminalis. Selle nautimiseks tuleb teha

telnet towel.blinkenlights.nl

Aga see ei ole veel kõik. Tublid inimesed on ASCII art‘i ümber pannud ka Matrixi ja pornofilmi Deep Throat. See tundub olevat küll selle sajandi saavutus…

PS. Lingid on pärit meie firma spämmilistist.

Ja nüüd midagi hoopis isesugust

Abram Tertz, “Jalutuskäigud Puškiniga”

Vähe on raamatuid, mis on suutnud oma autori eluajal mitu korda skandaali tekitada. Abram Tertzi (kodanikunimega Andrei Sinjavski) “Jalutuskäikudel Puškiniga” see õnnestus.

Aastal 1975 Londonis ilmunud esmatrükk tekitas laiades emigrantlikes rahvahulkades vahkviha ja ärritust. Kes tõestas, et Sinjavski vihkab kõike venelikku ja seetõttu mõnitab suurtest poeetidest suurimat. Kes tõestas, et Sinjavski on KGB agent, kes on saadetud läände ülesandega hävitada vene kultuur. Esimese laine literaat Roman Gulj pani ühe oma artikli pealkirjaks “Mõlaka jalutuskäigud Puškiniga” (“Прогулки хама с Пушкиным”).

Kui Sinjavski pidas 1979 aastal New Yorgis Columbia ülikoolis loenguid, toimus samas akende all Abram Tertzi vastane pikett. Muuhulgas olid ka sellised loosungid: “Häbi ja teotus, seltsimees Abram” ja “Teine Dantes”.

Teine skandaal “Jalutuskäikude” ümber puhkes N. Liidus 1989 aastal, mil ajakirjas “Oktjabr” ilmusid sellest katkendid. Jällegi olid laiad rahvahulkad raevus, elanuks Sinjavski endise N. Liidu piirides, siis mine tea, mida tigedad kirjandushuvilised oleks ette võtnud… Skandaalile andis hoogu ka see, et mõned kuud hiljem ilmus samas ajakirjas Vassili Grossmani “Kõik voolab” (eesti keeles “Loomingu raamatukogu” 1990, 16-18). Peale seda hakkasid “erariietes kirjandusuurijad” avalikult rääkima russofoobiast…

Hoolimata oma skandaalsusest ja kirjutamise ajast (1966 – 68 Dubrovlag) on “Jalutuskäigud Puškiniga” Tertzi üks helgemaid teoseid ja mõjub pigem hümnina puhtale kunstile, kui katse tappa vene rahvusmüüt. Või… parem otsustage ise. Järgnev on tõlgitud raamatu päris algusest.

[…]

Kergus on esimene asi, mille me tema teostest kõige üldisema ja hetkelisema tundena kaasa saame. Kergus elu suhtes oli Puškini maailmavaate alus, tema karakteri ja biograafia iseloomulik joon. Alates tema esimestest sammudest sai stiili kergus tema loomingu eeltingimuseks. Vaevalt sai ta välja ilmuda, kui kriitika hakkas rääkima tema luuletuste “erakordsest õhulisusest ja sujuvusest”: ” tundub, et need ei nõudnud mingit tööd”, “tundub, et need voolasid tal iseenesest”. (“Nevski Zritelj”, 1820, No 7; “Sõn Otetšestva”, 1920, tš 64, No 36).

Enne Puškinit õhulisi luuletusi peaaegu et ei olnudki. Noh, oli Batjuškov. Noh, oli Žukovski. Siinkohal komistame. Ja korraga, ei tea kust välja karanud, ei millegiga ja ei kellegiga võrreldavad reveransid ja pöörded, kiirus, surve, hüplevus, oskus traavida, galopeerida, ületada takistusi, visata silda ja kord pingutada ja siis jälle vajadusel lõdvemaks lasta luuletust […]

Säärane vabameelsus värsside suhtes, mis olid vabastatud igasugusest kütketest ja kohustustest, ja – isegi! – piinlikust vajadusest nimetada poeesiaks, unistada igavlikulisest, tungida kuulsuseni ( “Lõbusa jõudeaja viljad ei ole surematuseks sündinud” – kinnitas noor autor, mitte niivõrd tagasihoidlikkusest kuivõrd soovist säilitada sõltumatus talle igalt poolt kaela määritavatest raskekaalulistest ülesannetest), eeldas kergendatud loomingulisi tingimusi. Armastatud kirjutamise paigaks sai voodi, mis meelestas mitte tööle, vaid puhkusele, laisale jõudeolekule ja tukkumisele, mille käigus poeet muuhulgas oleskledes ja end liigse vaimse pingutusega vaevamata midagi ka kirja pani.

Puškini jaoks ei ole voodi mitte ainult armas harjumus, vaid tema vaimsusele enim vastav loominguline keskkond, tema stiili ja meetodi töötuba. Sel ajal kui teised ronisid mõõda üleva traditsiooni astmeid pjedestaalile ja riietusid sule külge klammerdudes mõttes mundrisse või toogasse, langes Puškin pikemalt mõtlemata voodile ja seal, “kesk meeldivat unustust, naaldudes peaga padjale”, “veidi unisest peast” visandas midagi, mis ei väärinud tähelepanu ja ei nõudnud vaeva. Nii kujunes välja maneer, mis vapustas mõtte ja sõna kergusega, ja nii saabus meie kirjanduses veel nägemata sõnavabadus.

[…]

PS. “Peenikesed erootilised jalakesed” ja “Puškin kui meie eimidagi” tulevad kunagi hiljem 🙂

Abram Tertz, “Jalutuskäigud Puškiniga”

Reaalsuskontroll: ärisõbraliku tarkvara paigaldamine

Mis see Linuxi all ühe javas tehtud rakenduse paigaldamine ikka ära ei ole. Mõeldud-tehtud. Pilve pealt tagasi maapinnale tõi mind aga järgmine erreur:

The folder /home/xxx/yyy/xxx661 is not a valid YYY XXX installation folder.

Kataloog on iseenesest täiesti olemas ja loetav/kirjutatav kah. Huvitav, milline see valiidne kataloog olema peab, kas roosa ja karvane? Või peaks enne installiga alustamist täiskuuneljapäeva öösel viie tee ristis mõne ärianalüütiku ohverdama?

Tõe huvides olgu märgitud, et strace väljundist ei õnnestunud selle kataloogi näppimise katset tuvastada. Nii et ohverdamise teema tundub täiesti päevakohane olevat. Ei, versiooni 6.6.6 ei paista sellel rakendusel veel olevat.

Reaalsuskontroll: ärisõbraliku tarkvara paigaldamine

Jesus built my flamethrower!

Oo, vanad head ajad, mil vennad Piritad Useneti ee. hierarhias mehetegusid tegid… Arvasin päris pikka aega, et ei tehta maailmas enam sellist arvutite alast fleimi, kuid võta näpust. Sattusin ühes Oracle foorumis lõimele, mis… või mis seal ikka.

Titaanide heitluse Burleson vs muu maailm sisu võtab kokku see Billy Verreynne kommentaar:

> We need the voice of real-world experience here . .

Ah yes.. because in the real world bytes are royal blue. And as we all know, “contrived” test cases use test data and those bytes are a measly yellow.

And I/O on royal blue bytes are very different from I/O on measly yellow bytes. Which means that any test cases that clearly show Oracle’s behaviour, are not applicable as I/O on royal blue bytes are different… because Burleson says so.

<in the background sp009 is holding up a “Burleson 3:16” sign>

<insert picture here of me grabbing my coat>

Jesus built my flamethrower!

Where Goes the Direct IO

Small query which displays some details about the direct IO. Basically it adds tablespace and file information to the V$SORT_USAGE view. Since it references X$KTSSO table it must be executed as SYS. Rewriting this query to use only V$ views is left as an exercise for the reader 🙂

select a.event, a.sid, c.sql_hash_value,
  decode(d.ktssocnt, 0, 'PERMANENT', 1, 'TEMPORARY' ) contents,
  decode (d.ktssosegt, 1, 'SORT', 2, 'HASH', 3, 'DATA', 4, 'INDEX',
  5, 'LOB_DATA', 6, 'LOB_INDEX', null) as segment_type,
  b.tablespace_name, b.file_name, d.ktssofno as segfile#,
  d.ktssobno as segblk#, d.ktssoexts as extents, d.ktssoblks as blocks,
  d.ktssorfno as segrfno#
from v$session_wait a, dba_data_files b, v$session c, x$ktsso d
where c.saddr = d.ktssoses(+) and c.serial# = d.ktssosno(+)
and d.inst_id(+) = userenv('instance') and a.sid = c.sid
and a.p1 = b.file_id and a.event like 'direct path%'
union all
select a.event, a.sid, c.sql_hash_value,
  decode(d.ktssocnt, 0, 'PERMANENT', 1, 'TEMPORARY', null ) contents,
  decode (d.ktssosegt, 1, 'SORT', 2, 'HASH', 3, 'DATA', 4, 'INDEX',
  5, 'LOB_DATA', 6, 'LOB_INDEX', null) as segment_type,
  b.tablespace_name, b.file_name, d.ktssofno as segfile#,
  d.ktssobno as segblk#, d.ktssoexts as extents, d.ktssoblks as blocks,
  d.ktssorfno as segrfno#
from v$session_wait a, dba_temp_files b, v$session c, x$ktsso d, v$parameter f
where c.saddr = d.ktssoses(+) and c.serial# = d.ktssosno(+)
and d.inst_id(+) = userenv('instance') and a.sid = c.sid
and b.file_id = a.p1 - f.value and a.event like 'direct path%'
and f.name = 'db_files'
order by 1,2;
Where Goes the Direct IO

A Quest for the V$TEMPSEG_USAGE

Somewhere in Oracle 9.2 timeframe V$SORT_USAGE fixed view become undocumented, and instead of it V$TEMPSEG_USAGE was born. Ever wondered, how V$TEMPSEG_USAGE is defined? This output is from 11g:

SQL> select * from v$fixed_view_definition where view_name='V$TEMPSEG_USAGE';

no rows selected

SQL> select owner, object_type from dba_objects where object_name='V$TEMPSEG_USAGE';

OWNER                          OBJECT_TYPE
------------------------------ -------------------
PUBLIC                         SYNONYM

SQL> select * from dba_synonyms where synonym_name='V$TEMPSEG_USAGE';

OWNER                          SYNONYM_NAME
------------------------------ ------------------------------
TABLE_OWNER                    TABLE_NAME
------------------------------ ------------------------------
DB_LINK
--------------------------------------------------------------------------------

PUBLIC                         V$TEMPSEG_USAGE
SYS                            V_$SORT_USAGE

SQL> select owner, object_type from dba_objects where object_name='V_$SORT_USAGE
';

OWNER                          OBJECT_TYPE
------------------------------ -------------------
SYS                            VIEW

SQL> set long 20000
SQL> select text from dba_views where view_name='V_$SORT_USAGE';

TEXT
--------------------------------------------------------------------------------

select "USERNAME","USER","SESSION_ADDR","SESSION_NUM","SQLADDR","SQLHASH","SQL_I

D","TABLESPACE","CONTENTS","SEGTYPE","SEGFILE#","SEGBLK#","EXTENTS","BLOCKS","SE

GRFNO#" from v$sort_usage

Sure, V$TEMPSEG_USAGE is much better name for that view than V$SORT_USAGE is, since it lists all temporary segments being used, not only sort segments. Introducing new fixed view via this kludge is really amusing.

A Quest for the V$TEMPSEG_USAGE