Blogbejegyzések

Firebird lassulás - folyamatos update ugyanarra a rekordra

Ebben fórum bejegyzésben található egy alszál, amely arról szól, hogy LMoon kolléga találkozott a Firebird-del kapcsolatban egy olyan megmagyarázhatatlan lassulással, amely miatt át kellett írniuk az egész programot MySQL alapokra.

A lent leírt dolgok sok év FB fejlesztés és viszonylag testes adatbázisokon szerzett tapasztalatok alapján kristályosodtak ki.
Ha kisebb projektekben dolgozunk, akkor is érdemes figyelembe venni őket, hátha egyszer elérjük azt a műveleti és adatmennyiséget, ahol ez már probléma lehet.

Az FB tranzakció kezeléséről bővebben nem kívánnék most értekezni, de azt jó tudni, hogy minden induló tranzakció kap egy szigorúan monoton növekvő sorszámot (ezt tárolja az FB a Transaction Inventory Page-en (TIP)), és minden tranzakció, mindaddig, amíg commit(ez a preferált, erre van kihegyezve a motor)/vagy rollback nem lesz a vége aktív tranzakcióként rekordverziókat generál minden (más) tranzakción keletkező insert/update/delete művelettel kapcsolatban. Ezért javasolt minden olyan tranzakciót, amin csak adatlekérés van READ ONLY (read commited) módban indítani, mert ezek a tranzakciók nem gyártanak rekordverziókat. (A GTT táblák read only tranzakción is írhatóak!) Ha igazán ügyesen akarjuk szervezni a programunkat, akkor egy globális read only read commited tranzakcióra akasztjuk az összes lekérdező jellegű utasításunkat, és ezt a tranzakciót soha nem commitoljuk, ezzel is erőforrást megtakarítva (a tranzakció indítása is erőforrást vesz el szerver oldalon, még ha nem is sokat, ráadásul feleslegesen "pörgetjük" a TIP maximális értékét, ami előbb-utóbb a garbage collector elindítását eredményezi).
Az írási műveleteket végző tranzakciókat pedig a lehető leggyorsabban le kell zárni.
Ha így szervezzük a programunkat, akkor vélhetőleg nem lesz problémánk a rekordverziók miatti lassulással.
(Jó tudni, hogy a rekordverziók három módon szűnhetnek meg. Vagy egy őket olvasó select utasítás érzékelheti, hogy már nincs rájuk szükség, és takaríthatja ki őket (ezért lehet látszólag érthetetlen módon lassú egy select, ami másodszorra már pillanatok alatt lefut), vagy a garbage collector vagy egy gbak mentés fogja ezt megtenni. A gbak alapértelmezetten tehát takarít, ha azt szeretnénk, hogy a mentésünk minél előbb lefusson, akkor -g kapcsolóval indítsuk.)

Elixír

Van ez az Elixis nevű folyadék a Szentkirályi cégtől, valamiért nekem nagyon ízlik. Miután Gergő rendszeresen szokott kéregetni az anyja kóljából, gondoltam, felajnánlom neki helyette a kevésbé koffeinbomba italt. Ízlett is.
Mivel így hirtelen, november után megjött a március, a kis család lement a játszótérre. Botond aludt egy csodálatosat, Gergő csúszdázott, Zita kicsit levegőzött, én meg elmentem, mert a Spárban a másfeles elixis olcsóbb, mint máshol a literes. Este Gergő kért is belőle, majd a következő beszédet vezette be:
-Apa, tudod, hogy ez nagyon ízletes?
-Igen.
-És láttad, hogy anya vett sokat?
-Igen.
-Akkor megosztozunk rajta?
Van egy stílusa a kis fingósnak. :)
Valamit még akartam írni, de nem jut eszembe.
Na mindegy, ezt valentinnapra szeretettel:
BATHORY -Bestial Lust
Manowar - Hatred
Komolyan nem tudom, mi a faszomért kell minden csipcsup dologhoz egyglobális faszverést csinálni. Igazából a Valentin-nappal is ez a fő problém. Mintha nem lennék jó fasz, ha ilyenkor nem érzékenyülnék el egy kicsit. Hát baszd meg, ettől behányok.
Slayer - Alter of Sacrifice
Mayhem - From the Dark Past
Morbid Angel- God of Emptiness
Burzum - Jesus' tod

Ez már a bekockásodás vége...

Kezdek aggódni az idegállapotom miatt. Napok óta programozom, fejlesztem a programnyelvemet (már egész használható, már külön névtereket is tud kezelni...) és most pihenésképpen ellátogattam egy ismerős fórumra, ami abszolút nem számítástechnikai jellegű. És ott az egyik topiknyitóhoz volt mellékelve valami csatolmány, ami alapból nem volt látható, de ott volt a közelében a link, azzal a névvel, hogy:

"Csatolás megtekintése".

Na és én meg csak néztem ki a fejemből, hogy ez meg mi a fene, mit akarnak ezek itt, hogy a csudába tekinthetnék meg egy castolást?!

napi OSX okosság

mdfind muhhaha, most örül az arcom, hogy a spotlight keresőt lehet hasznosítani command line-ból is ám. Legjobbabb.

Tested: SnoLeo 10.6.8

Néma tanú

Taleb prof kitűnő munkája óta kiemelten figyelek a néma tanú jelenségre, ami azt takarja, hogy következtetéseinket sokszor egyoldalú információk alapján hozzuk, mert a másik oldal nem tudja képviselni magát.

Az elmúlt pár bejegyzésem elég panaszkodó jellegű volt a Win 8-ról és a Jolla-ról. Íme egy ellenbejegyzés, ami elmeséli, hogy minden működik.

Prémium notebook computer-em anyagválasztásával nem vagyok teljesen elégedett, de ez csak esztétika. Ami a driver-eket illeti, minden, amit használok működik és az egész kütyü elég megbízhatóan teszi a dolgát. Néha van valami furcsaság, de hamar eltűnik és tudok foglalkozni a dolgommal.

Kis gyöszök

Mostanában hozzák ezeket a kis netbookokat hozzám használhatóvá tételre. Az elmúlt héten kettőt, először egy Asus 701 Eee PC 4G-t, most egy Acer Aspire One D255E-t.
Az eeepc memóriabővítést kapott 1 Gb-ra, és egy Lubuntu-t, mert az Xp egyfelől nemsoká unsupported, másrészt azon a gépen kissé lassúcska. Egész megtáltosodott a kis gép, akadás nélkül hibátlanul tette a dolgát, némileg még engem is meglepve. Lubuntunál a bejelentkezőablaknál választható netbook felület, ami egyszerű és nagyszerű, így egy megfelelő netezős kis gépecske vált az Asus gyöszéből.
Az Acer szintén memóriabővítést kap, viszont Windows Vista Home Basic(sóhaj) megy rá, 3 okból:

  1. a tulaj azt kérte.
  2. az van neki jogtisztán.
  3. Windows only szoftvert akar használni rajta.

Mindazonáltal amíg a memória beszerzése zajlik, feldobtam erre is egy Lubuntu-t, mert ugye az nem kér sok erőforrást, hogy futkos az Asus gyöszön is, ezen akkor tyuhú, nem?
Nem. Egyáltalán nem gyorsabb érzésre, mint a kis Asus. Tudom, kijelző méret és felbontás sem ugyanaz, de azért jókora különbségek vannak mind chipset, mind cpu, mind ram sebességben.

SELinux sandbox + keyboard layout

Sandbox-ban futtatott app-oknál nem működik alapból az Altgr billentyű funkció. Tehát magyar kiosztással nem lehet például @ vagy & jelet írni. Ez régóta így van, kezdve régebbi Fedoráktól vagy SL / CentOS 6-tól is. Példa:

su -c "yum install policycoreutils-sandbox"
sandbox -t sandbox_web_t -X -- firefox

Érdekes módon egy "setxkbmap hu" parancs futtatása a sandbox-on belül megoldja a problémát (xterm-mel tesztelve). Gyakorlatilag Xephyr-t kellene paraméterezni, de arra meg nem találtam infót sehol neten vagy doksikban, hogy ezt hogy lehetne megmondani a sandbox eszköznek.

Kis érdekes

Rászántam azt a pár percet ha már van a yt-n kereső.

A tegnapi nap sztárja:
http://www.youtube.com/watch?v=U7sEnH6I9Gw

Ugyanez Rambó nélkül:
http://www.youtube.com/watch?v=z7LjlTh_oR4

Latinovits féle:
http://www.youtube.com/watch?v=99sLiUhyyn4

... és végül a költő szájából:
http://www.youtube.com/watch?v=fT4ZAs6Eets

/persze ennél sokkal több van, de mivel azok 99%-a valami szörnyen "megzenésített" tévedés inkább kihagytam őket

Így csinálj két perces munkából fél órásat,

avagy napi sipákolás.

Úgy adódott, hogy szükségem volt az egyik laborgépről pár dologra. Nosza, be is kapcsoltam (vizsgaidőszakban általában nem használják a hallgatók, ki vannak kapcsolva). Elkezdett frissíteni. Majd újraindult. Folytatta a frissítést. Nem kérdezte, hogy szeretném-e esetleg használni a gépet.

Windows 7@21. század. :-(

Mi öli meg a kreativitást?

Van valami a levegőben, mert már ötödik helyről linkelik, postolják nekem vagy Ken Robinson TED-en elhangzott beszédét vagy az abból gyártott, feliratozott gif-et (oh, milyen kreatív). A postok, levelek vége általában picsogás, hogy "már tudom, miért nem alkotok semmit", "iskola szívás", "így nem lett belőlem senki", és társai.

Több okból is gyűlölöm ezt. Sir Robinson egy politikus, aki különféle oktatási és egyéb rendszerekben könyökölte, nyalta fel magát a jelenlegi pozíciójába, hogy aztán onnan oszthassa az észt. Kicsit visszás, hogy oktatással foglalkozó szakértőként, az oktatási rendszereket kritizálja, holott a feladata lenne ezek átalakítása és megreformálása. Ha annyira rossz lenne az oktatás, és ő akkora zseni lenne, akkor bizony már a Brit oktatási rendszer nem olyan lenne, amilyen.

Marius a zsiraf

Gondolom mostanra már mindenki hallotta, hogy mi törtét a koppenhágai állatkert fiatal Marius néven ismert zsiráfával. Ha esetleg mégsem, akkor itt van pár cikk a témában:
http://www.cnn.com/2014/02/10/world/europe/denmark-zoo-giraffe/
http://www.euronews.com/2014/02/10/slaughter-of-marius-the-copenhagen-g…
http://www.chicagotribune.com/news/opinion/editorials/ct-marius-giraffe…
http://www.theguardian.com/world/2014/feb/09/marius-giraffe-killed-cope…

tl;dr: A 18 hónapos (más forrás szerint két éves) zsiráfot lelőtték, nyilvánosan felboncolták, majd felszolgálták az állatkert ragadozóinak. A boncolás oktatási jellegű volt és gyerekek is részt vettek rajta. Az állat egészséges volt. Leölését azzal indokolták, hogy a génjei elég elterjedtek voltak a szaporítási programban, így a beltenyészet megakadályozásának érdekében tovább szaporítani nem lehetett.

A Lenovo megveszi az IBM szerver részlegét

Nagyon fontos, hogy az x86-os szerverek eladásáról van szó - a SYSTEM Z és a POWER az marad házon belül.

Részletek:
*** link eltávolítva ***

"A Lenovo számára viszont pont kapóra jött az IBM x86 üzletága. Az IBM-től már régebben megvásárolt PC üzletág stabilan növekszik. Ugyanezen hatékonysággal kívánják a szerver üzletágat is fellendíteni, illetve a maguk javára fordítani."

Mikor megvették a PC-s részt, én azt gondoltam, nem fogják tudni felfuttatni, tévedtem....

Lapozási hiba PIC módra

Azt mondják a PIC programozás olyan mint a biciklizés: Ha egyszer megtanulta az ember, akkor mindig tudni fogja.
Ennek ellenére most sikerült esnem egy szépet, pofára, ahogy kell. Mentségemre legyen mondva, két éve nyúltam utoljára PIC-hez, de akkor is ciki.
Épp egy soros mérés-adatgyűjtőt reszelek, ahol egy trigerre a PIC két ADjének az értékét, nyersen köpködi ki a soros portra. Ez ugye elég alap dolog, nulláról egy óra alatt megírható. Hogy csavar legyen benne kell mind a 10bites felbontás, csak mert egyszer él az ember.
A kód ahogy kell, AD beállítás, AD bekapcsolás, beállási várakozás, GO/-DONE bit ellenőrzés loop, AD felső 8 bitjének másolása regiszterbe, AD alsó 8 bitjének másolása regiszterbe, aztán az adat összetákolása stringé és pofozás kifelé szoftuart-al.
A kód lefordult, elindul, kiküldi a "hello world"-öt, aztán vár a triggerre. Pontosabban, semmit nem csinál.
Elkezdem debugolni a kódot, szépen kilövöm a blokkokat belőle ezzel sikerült leszűkíteni a hibát az AD-re. Arra gyanakodtam, hogy az AD initnél elütöttem valamit a IO beállításoknál, de ezt is sikerült kizárnom. Soronként beszúrok egy karakter küldés függvényt, hátha az AD áll be végtelen ciklusba GO/-DONE ellenőrzésnél. Nem, itt sincs hiba, viszont az AD felső 8 bit másolása után, megáll a kód mint a faék. Mi is történik? Lássuk mit is ír az adatlap példakódja?


   BANKSEL ADRESH ;
   MOVF ADRESH,W ;Read upper 2 bits
   MOVWF RESULTHI ;Store in GPR space
   BANKSEL ADRESL ;
   MOVF ADRESL,W ;Read lower 8 bits
   MOVWF RESULTLO ;Store in GPR space

Fabatka rescue system... megszületett

Megérte hosszú évekig tanulmányozni a Linuxot. Ma már eljutottam oda, hogy forrásból építettem egy működő rendszert. Komplettnek még nem komplett, de már működik. Gondoltam, csinálok egy boot dvd-t, amire felpakolok mindent, ami egy Linux rendszer ellenőrzéséhez, javításához kell. Amit összekovácsoltam:
kernel-3.10.9
glibc 2.18.0
util-linux, coreutils, e2fsprogs, dosfsprogs, ntfsprogs a legújabbak, net-tools, wireless-tools, mc, w3m + a hozzájuk való lib-ek... tar/gz/bz2/xz, zip, arj, rar... meg egy csomó egyéb apróság.
Mindent a ram-imagebe pakoltam, ne kelljen még külön image-eket behúzatni szerencsétlen kernellel. A ram image egyre inkább zavaróan nagy lett, már eleve a kernelmodulok, firmware-k 100M körül voltak... és csak egyre jobban dagadt.
Elérkeztem a 200M-hoz. Nahh, gondoltam, itt reménytelen dolog, hogy ez a cucc bebootol olyan gépen, amiben csak 256M RAM van.
Rájöttem, hogy milyen jó játék a squashfs... és milyen jó, hogy azt belefordítottam a kernel bzImage gyomrába, az összes fájlrendszerrel együtt.
Az RAMdisk image mérete lecsökkent 52Mbyte-ra. Örömmel tapasztaltam, hogy a memóriába betöltődvén sem tömörítődik ki, hanem az úgy ott van tömörítve.
A gond akkor jött, amikor mountoltam volna, aztán az mtab-ot nem tudja írni. Ezt is megoldottam. Az /etc, /var, /mnt, /tmp, /root, /home ment tmpfs-be, természetesen az /etc és a /var tartalmát másolgatással helyére téve.
Egyelőre ennyi... még nem 100%-os, de már ez is megvan, többféle gépen is kipróbáltam. Bebootol, aztán utána már a cd is kivehető... ott lakik a RAM-ban... mintha csak egy memtest volna... jahh, került rá egy memtest is.
Ebből csinálok majd egy installert is... vagy egy live Linuxot.

DOS összehasonlítás

A napokban volt alkalmam arra, hogy kipróbáljam, hogy a(z 1997-es) szakdolgozatomhoz használt AutoCAD R12 melyik DOS-on fut a legjobban. (Egy képernyőkép.)

A botcsinálta "sebességteszt" eredménye az lett, hogy a FreeDOS teljesített a legrosszabbul (ráadásul QEMU alatt nem is hagyta, hogy az A: meghajtóban csereberéljem a (telepítő) floppikat). A (QEMU-beli) MS-DOS (6.22) szépen, gyorsan muzsikált. A legjobban a DOSBox teljesített. Ha őt tekintem 100%-nak, akkor az MS-DOS 90%-os, a FreeDOS pedig 30%-os.

XFCE / Run or Raise

Vissza álltam XFCE-re. Gyors, szép, sokat tud.

Egyetlen dolog hiányzik nekem, amelyet már pont le akartam programozni, de találtam kész megoldást. Azt szeretném, hogy ha egy program ikonjára klikkelek, akkor a már futó program ablakát hozza előtérbe és kapja meg a fókuszt. Ha nem fut, akkor pedig indítsa el. Mint a Unity-nél is az ikon klikk.

Alább találtam megoldást:

http://vickychijwani.github.io/2012/04/15/blazing-fast-application-swit…

Egyetlen csomag kell (van alapból minden disztróban elvileg): wmctrl

Pápá KáDE

Vagy két hét után felszámoltam a KDE- telepítésemet. Nem jött be. egyrészt kicsit lomha volt (nem irreszponzív, csak lassan csinálta a dolgát), másrészt valahogy nem sikerült olyannyira testre szabnom, mint az XFCE-t. Meg valahogy kényelmetlen is volt itt-ott. Szép, szép, de nem nekem való. Na mindegy.